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

Commit b4b86aa7 authored by 张国柄's avatar 张国柄

领取券逻辑调整;

parent b7f2c1a8
...@@ -147,53 +147,6 @@ public class CandyMgtCouponAdminController extends BaseController { ...@@ -147,53 +147,6 @@ public class CandyMgtCouponAdminController extends BaseController {
return prefix + "/detail" + couType; return prefix + "/detail" + couType;
} }
@RequiresPermissions("candy:coupon:mgt:cancel")
@GetMapping("cancel/{mcouponId}")
@ResponseBody
public AjaxResult cancel(@PathVariable("mcouponId") String mcouponId) {
LambdaQueryWrapper<CandyMgtCoupon> mgtCouponLambdaQueryWrapper = Wrappers.lambdaQuery(CandyMgtCoupon.class);
mgtCouponLambdaQueryWrapper.eq(CandyMgtCoupon::getMcouponId, mcouponId);
CandyMgtCoupon mgtCoupon = candyMgtCouponAdminService.getOne(mgtCouponLambdaQueryWrapper);
if (null == mgtCoupon) {
return AjaxResult.warn(String.format("券记录不存在【%s】", mcouponId));
}
if (mgtCoupon.getState() == 1) {
return AjaxResult.warn("券记录已完成发放");
}
if (mgtCoupon.getState() == 9) {
return AjaxResult.warn("券记录已开始发放");
}
if (mgtCoupon.getState() != 0) {
return AjaxResult.warn("券记录不可取消");
}
LocalDateTime now = LocalDateTime.now();
String loginName = ShiroUtils.getLoginName();
LambdaUpdateWrapper<CandyMgtCoupon> mgtCouponLambdaUpdateWrapper = Wrappers.lambdaUpdate(CandyMgtCoupon.class);
mgtCouponLambdaUpdateWrapper.eq(CandyMgtCoupon::getMcouponId, mcouponId);
mgtCouponLambdaUpdateWrapper.eq(CandyMgtCoupon::getState, 0);
mgtCouponLambdaUpdateWrapper.set(CandyMgtCoupon::getState, 3);
mgtCouponLambdaUpdateWrapper.set(CandyMgtCoupon::getUpdatedAt, now);
mgtCouponLambdaUpdateWrapper.set(CandyMgtCoupon::getOperator, loginName);
boolean updateMgtCouponFlg = candyMgtCouponAdminService.update(mgtCouponLambdaUpdateWrapper);
if (!updateMgtCouponFlg) {
return AjaxResult.warn("券记录取消失败,已发放或正在发放中");
}
LambdaUpdateWrapper<CandyCoupon> couponLambdaUpdateWrapper = Wrappers.lambdaUpdate(CandyCoupon.class);
couponLambdaUpdateWrapper.eq(CandyCoupon::getCouponId, mgtCoupon.getCouponId());
couponLambdaUpdateWrapper.set(CandyCoupon::getState, 2);
couponLambdaUpdateWrapper.set(CandyCoupon::getUpdatedAt, now);
couponLambdaUpdateWrapper.set(CandyCoupon::getOperator, loginName);
candyCouponAdminService.update(couponLambdaUpdateWrapper);
LambdaUpdateWrapper<CandyCouponRule> couponRuleLambdaUpdateWrapper = Wrappers.lambdaUpdate(CandyCouponRule.class);
couponRuleLambdaUpdateWrapper.eq(CandyCouponRule::getCouponId, mgtCoupon.getCouponId());
couponRuleLambdaUpdateWrapper.set(CandyCouponRule::getState, 2);
candyCouponRuleAdminService.update(couponRuleLambdaUpdateWrapper);
return toAjax(updateMgtCouponFlg);
}
@GetMapping("add/{couType}") @GetMapping("add/{couType}")
public String add(@PathVariable("couType") String couType, ModelMap mmap) { public String add(@PathVariable("couType") String couType, ModelMap mmap) {
mmap.put("phpMallUrl", phpMallUrl); mmap.put("phpMallUrl", phpMallUrl);
...@@ -290,4 +243,51 @@ public class CandyMgtCouponAdminController extends BaseController { ...@@ -290,4 +243,51 @@ public class CandyMgtCouponAdminController extends BaseController {
} }
return toAjax(candyMgtCouponAdminService.saveMgtCouponForCouponBuild(buildParam)); return toAjax(candyMgtCouponAdminService.saveMgtCouponForCouponBuild(buildParam));
} }
@RequiresPermissions("candy:coupon:mgt:cancel")
@GetMapping("cancel/{mcouponId}")
@ResponseBody
public AjaxResult cancel(@PathVariable("mcouponId") String mcouponId) {
LambdaQueryWrapper<CandyMgtCoupon> mgtCouponLambdaQueryWrapper = Wrappers.lambdaQuery(CandyMgtCoupon.class);
mgtCouponLambdaQueryWrapper.eq(CandyMgtCoupon::getMcouponId, mcouponId);
CandyMgtCoupon mgtCoupon = candyMgtCouponAdminService.getOne(mgtCouponLambdaQueryWrapper);
if (null == mgtCoupon) {
return AjaxResult.warn(String.format("券记录不存在【%s】", mcouponId));
}
if (mgtCoupon.getState() == 1) {
return AjaxResult.warn("券记录已完成发放");
}
if (mgtCoupon.getState() == 9) {
return AjaxResult.warn("券记录已开始发放");
}
if (mgtCoupon.getState() != 0) {
return AjaxResult.warn("券记录不可取消");
}
LocalDateTime now = LocalDateTime.now();
String loginName = ShiroUtils.getLoginName();
LambdaUpdateWrapper<CandyMgtCoupon> mgtCouponLambdaUpdateWrapper = Wrappers.lambdaUpdate(CandyMgtCoupon.class);
mgtCouponLambdaUpdateWrapper.eq(CandyMgtCoupon::getMcouponId, mcouponId);
mgtCouponLambdaUpdateWrapper.eq(CandyMgtCoupon::getState, 0);
mgtCouponLambdaUpdateWrapper.set(CandyMgtCoupon::getState, 3);
mgtCouponLambdaUpdateWrapper.set(CandyMgtCoupon::getUpdatedAt, now);
mgtCouponLambdaUpdateWrapper.set(CandyMgtCoupon::getOperator, loginName);
boolean updateMgtCouponFlg = candyMgtCouponAdminService.update(mgtCouponLambdaUpdateWrapper);
if (!updateMgtCouponFlg) {
return AjaxResult.warn("券记录取消失败,已发放或正在发放中");
}
LambdaUpdateWrapper<CandyCoupon> couponLambdaUpdateWrapper = Wrappers.lambdaUpdate(CandyCoupon.class);
couponLambdaUpdateWrapper.eq(CandyCoupon::getCouponId, mgtCoupon.getCouponId());
couponLambdaUpdateWrapper.set(CandyCoupon::getState, 2);
couponLambdaUpdateWrapper.set(CandyCoupon::getUpdatedAt, now);
couponLambdaUpdateWrapper.set(CandyCoupon::getOperator, loginName);
candyCouponAdminService.update(couponLambdaUpdateWrapper);
LambdaUpdateWrapper<CandyCouponRule> couponRuleLambdaUpdateWrapper = Wrappers.lambdaUpdate(CandyCouponRule.class);
couponRuleLambdaUpdateWrapper.eq(CandyCouponRule::getCouponId, mgtCoupon.getCouponId());
couponRuleLambdaUpdateWrapper.set(CandyCouponRule::getState, 2);
candyCouponRuleAdminService.update(couponRuleLambdaUpdateWrapper);
return toAjax(updateMgtCouponFlg);
}
} }
...@@ -394,7 +394,7 @@ public class CandyCouponServiceImpl implements ICandyCouponService { ...@@ -394,7 +394,7 @@ public class CandyCouponServiceImpl implements ICandyCouponService {
} }
String uCouponId = IDGenerator.get32UUID(); String uCouponId = IDGenerator.get32UUID();
//构建baseDto //构建baseDto
CandyUserCouponBasicDto baseDto = CandyUserCouponBasicDto.getNew().copyToRedisBaseCoupon(uCouponId, uid, ccode, infoDto, now.plusDays(infoDto.getRedeemValidity())); CandyUserCouponBasicDto baseDto = CandyUserCouponBasicDto.getNew().copyToRedisBaseCoupon(uCouponId, uid, ccode, infoDto, infoDto.getExpireAt());
//删除code redis //删除code redis
redisDataUtils.delCouponByCode(ccode); redisDataUtils.delCouponByCode(ccode);
//添加baseDto -> baseDtoList //添加baseDto -> baseDtoList
...@@ -403,7 +403,7 @@ public class CandyCouponServiceImpl implements ICandyCouponService { ...@@ -403,7 +403,7 @@ public class CandyCouponServiceImpl implements ICandyCouponService {
queueUtils.sendMsgByRedis( queueUtils.sendMsgByRedis(
MQConst.CandyQueue.COUPON_RECEIVE.getKey(), MQConst.CandyQueue.COUPON_RECEIVE.getKey(),
SqlMapping.get("candy_coupon.receive", SqlMapping.get("candy_coupon.receive",
uCouponId, uid, 1, infoDto.getCouponId(), ccode, now, now, now.plusDays(infoDto.getRedeemValidity()) uCouponId, uid, 1, infoDto.getCouponId(), ccode, now, now, infoDto.getExpireAt()
) )
); );
return ResponseDto.success(uCouponId); return ResponseDto.success(uCouponId);
......
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