记得上下班打卡 | git大法好,push需谨慎

Commit 68e2d263 authored by 张国柄's avatar 张国柄

+API:店铺券:代领券;

parent 6410bdd0
......@@ -16,6 +16,8 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import javax.validation.constraints.NotBlank;
import java.math.BigDecimal;
......@@ -76,24 +78,39 @@ public class GoblinCouponController {
@ApiOperation("领取券")
@ApiResponse(code = 200, message = "接口返回对象参数")
@ApiImplicitParams({
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "storeCouponId", value = "平台券id"),
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "uid", value = "UID"),
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "storeCouponId", value = "平台券ID"),
// @ApiImplicitParam(type = "form", required = true, dataType = "Integer", name = "number", value = "数量"),
})
public ResponseDto<Boolean> receive(@NotBlank(message = "平台券ID不能为空") @RequestParam("storeCouponId") @Valid String storeCouponId,
@NotBlank(message = "UID不能为空") @RequestParam("storeCouponId") @Valid String uid) {
public ResponseDto<Boolean> receive(@NotBlank(message = "平台券ID不能为空") @RequestParam("storeCouponId") String storeCouponId) {
// public ResponseDto<Boolean> checkOrderResult(@RequestParam("storeCouponId") @Valid String storeCouponId,
// @RequestParam("number") @Valid Integer number) {
String currentUid = uid;
String currentUid = CurrentUtil.getCurrentUid();
return this.receiveFetchedProcessing(currentUid, storeCouponId);
}
@PostMapping("fetched")
@ApiOperation("POS机代领券")
@ApiResponse(code = 200, message = "接口返回对象参数")
@ApiImplicitParams({
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "storeCouponId", value = "平台券ID"),
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "uid", value = "UID[POS机代领必传]"),
})
public ResponseDto<Boolean> fetched(@NotBlank(message = "平台券ID不能为空") @RequestParam("storeCouponId") String storeCouponId,
@NotBlank(message = "UID不能为空")@RequestParam("uid") String currentUid) {
// TODO: 2022/3/5 ==zhanggb.UID校验真实性
return receiveFetchedProcessing(currentUid, storeCouponId);
}
private ResponseDto<Boolean> receiveFetchedProcessing(String uid, String storeCouponId) {
GoblinStoreCouponVo storeCouponVo = goblinRedisUtils.getStoreCouponVo(storeCouponId);
if (null == storeCouponVo) {
log.warn("商城:用户领取优惠券:优惠券不存在:[uid={},storeCouponId={}]", currentUid, storeCouponId);
log.warn("商城:用户领取优惠券:优惠券不存在:[uid={},storeCouponId={}]", uid, storeCouponId);
return ResponseDto.failure(ErrorMapping.get("140050"));
}
if (!storeCouponVo.getState().equals("1")) {
return ResponseDto.failure(ErrorMapping.get("140051"));
}
List<GoblinUserCouponVo> userCouponVos = goblinRedisUtils.getUserCouponVos(currentUid);
List<GoblinUserCouponVo> userCouponVos = goblinRedisUtils.getUserCouponVos(uid);
if (!CollectionUtils.isEmpty(userCouponVos)) {
int beforeSize = userCouponVos.size();
userCouponVos.removeIf(vo -> vo.getStoreCouponId().equals(storeCouponId));
......@@ -102,7 +119,7 @@ public class GoblinCouponController {
}
}
if (storeCouponVo.getStock().equals(0) || goblinRedisUtils.getStoreCouponStock(storeCouponId) > 0) {
Boolean resultFlg = goblinCouponService.receiveCoupon(currentUid, userCouponVos, storeCouponVo);
Boolean resultFlg = goblinCouponService.receiveCoupon(uid, userCouponVos, storeCouponVo);
return resultFlg ? ResponseDto.success() : ResponseDto.failure();
}
return ResponseDto.failure(ErrorMapping.get("140053"));
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment