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

Commit 629b08b9 authored by 张国柄's avatar 张国柄

~API:发放券Task+无效会员及无效券校验;

parent f3340a62
...@@ -165,7 +165,7 @@ public class PlatformCandyCouponService extends ServiceImpl<CandyCouponMapper, C ...@@ -165,7 +165,7 @@ public class PlatformCandyCouponService extends ServiceImpl<CandyCouponMapper, C
commonCoupon.setExclusive(mgtCoupon.getExclusively()); commonCoupon.setExclusive(mgtCoupon.getExclusively());
commonCoupon.setState(1); commonCoupon.setState(1);
commonCoupon.setRanged(mgtCoupon.getEventType()); commonCoupon.setRanged(mgtCoupon.getEventType());
commonCoupon.setOperator("system"); commonCoupon.setOperator(mgtCoupon.getOperator());
commonCoupon.setCreatedAt(now); commonCoupon.setCreatedAt(now);
initCommonCouponList.add(commonCoupon); initCommonCouponList.add(commonCoupon);
...@@ -204,7 +204,7 @@ public class PlatformCandyCouponService extends ServiceImpl<CandyCouponMapper, C ...@@ -204,7 +204,7 @@ public class PlatformCandyCouponService extends ServiceImpl<CandyCouponMapper, C
private void processForAllMember(CandyMgtCoupon mgtCoupon, CandyCoupon coupon, List<CandyCouponRuleDto> couponRuleDtoList) { private void processForAllMember(CandyMgtCoupon mgtCoupon, CandyCoupon coupon, List<CandyCouponRuleDto> couponRuleDtoList) {
List<CandyUserCoupon> initUserCouponList = new ArrayList<>(); List<CandyUserCoupon> initUserCouponList = new ArrayList<>();
LocalDateTime now = LocalDateTime.now(); LocalDateTime now = LocalDateTime.now();
LocalDateTime nowEndTime = now.withHour(23).withMinute(59).withSecond(59); LocalDateTime nowEndTime = now.withHour(23).withMinute(59).withSecond(58);
LambdaQueryWrapper<AdamUserMember> queryWrapper = Wrappers.lambdaQuery(AdamUserMember.class).eq(AdamUserMember::getState, 1) LambdaQueryWrapper<AdamUserMember> queryWrapper = Wrappers.lambdaQuery(AdamUserMember.class).eq(AdamUserMember::getState, 1)
.gt(AdamUserMember::getExpiryAt, nowEndTime); .gt(AdamUserMember::getExpiryAt, nowEndTime);
...@@ -213,6 +213,7 @@ public class PlatformCandyCouponService extends ServiceImpl<CandyCouponMapper, C ...@@ -213,6 +213,7 @@ public class PlatformCandyCouponService extends ServiceImpl<CandyCouponMapper, C
log.info("发放券处理中:目标全体会员[总数:{},发放量:{}]", userMemberCount, eventAmt); log.info("发放券处理中:目标全体会员[总数:{},发放量:{}]", userMemberCount, eventAmt);
String mcouponId = mgtCoupon.getMcouponId(); String mcouponId = mgtCoupon.getMcouponId();
String operator = mgtCoupon.getOperator();
String couponId = coupon.getCouponId(); String couponId = coupon.getCouponId();
LocalDateTime couponEffectAt = coupon.getEffectAt(); LocalDateTime couponEffectAt = coupon.getEffectAt();
LocalDateTime couponExpireAt = coupon.getExpireAt(); LocalDateTime couponExpireAt = coupon.getExpireAt();
...@@ -243,12 +244,17 @@ public class PlatformCandyCouponService extends ServiceImpl<CandyCouponMapper, C ...@@ -243,12 +244,17 @@ public class PlatformCandyCouponService extends ServiceImpl<CandyCouponMapper, C
userCoupon.setState(1); userCoupon.setState(1);
// userCoupon.setBindAt(couponEffectAt); // userCoupon.setBindAt(couponEffectAt);
// userCoupon.setDuedAt(couponExpireAt); // userCoupon.setDuedAt(couponExpireAt);
userCoupon.setBindAt(null == couponEffectAt ? now : couponEffectAt);
if (isMemberRightsCoupon) { if (isMemberRightsCoupon) {
userCoupon.setBindAt(now);
userCoupon.setDuedAt(userMember.getExpiryAt()); userCoupon.setDuedAt(userMember.getExpiryAt());
} else { } else if (null != couponExpireAt && couponExpireAt.isAfter(now)) {
userCoupon.setBindAt(null == couponEffectAt ? now : couponEffectAt);
userCoupon.setDuedAt(couponExpireAt); userCoupon.setDuedAt(couponExpireAt);
} else {
log.warn("发放券处理中:目标全体会员,该券生效日期或失效日期无效[mcouponId:{},couponId:{},effectAt:{},expireAt:{}]", mcouponId, couponId, couponEffectAt, couponExpireAt);
continue;
} }
userCoupon.setOperator(operator);
userCoupon.setCreatedAt(now); userCoupon.setCreatedAt(now);
initUserCouponList.add(userCoupon); initUserCouponList.add(userCoupon);
...@@ -302,6 +308,7 @@ public class PlatformCandyCouponService extends ServiceImpl<CandyCouponMapper, C ...@@ -302,6 +308,7 @@ public class PlatformCandyCouponService extends ServiceImpl<CandyCouponMapper, C
AbstractRedisUtil redisAdamUtil = redisDataSourceUtil.getRedisAdamUtil(); AbstractRedisUtil redisAdamUtil = redisDataSourceUtil.getRedisAdamUtil();
String mcouponId = mgtCoupon.getMcouponId(); String mcouponId = mgtCoupon.getMcouponId();
String operator = mgtCoupon.getOperator();
String couponId = coupon.getCouponId(); String couponId = coupon.getCouponId();
LocalDateTime couponEffectAt = coupon.getEffectAt(); LocalDateTime couponEffectAt = coupon.getEffectAt();
LocalDateTime couponExpireAt = coupon.getExpireAt(); LocalDateTime couponExpireAt = coupon.getExpireAt();
...@@ -322,14 +329,24 @@ public class PlatformCandyCouponService extends ServiceImpl<CandyCouponMapper, C ...@@ -322,14 +329,24 @@ public class PlatformCandyCouponService extends ServiceImpl<CandyCouponMapper, C
userCoupon.setExclusive(exclusively); userCoupon.setExclusive(exclusively);
userCoupon.setState(1); userCoupon.setState(1);
// userCoupon.setBindAt(coupon.getEffectAt()); // userCoupon.setBindAt(couponEffectAt);
userCoupon.setBindAt(null == couponEffectAt ? now : couponEffectAt);
if (isMemberRightsCoupon) { if (isMemberRightsCoupon) {
AdamUserMemberVo vo = (AdamUserMemberVo) redisAdamUtil.get(AdamRedisConst.INFO_USER_MEMBER.concat(uid)); AdamUserMemberVo vo = (AdamUserMemberVo) redisAdamUtil.get(AdamRedisConst.INFO_USER_MEMBER.concat(uid));
userCoupon.setDuedAt(null != vo && vo.isActive() ? vo.getExpiryAt() : couponExpireAt); if (null != vo && vo.isActive()) {
} else { userCoupon.setBindAt(now);
userCoupon.setDuedAt(vo.getExpiryAt());
} else {// 非会员(或无效会员)跳过
log.warn("发放券处理中:目标指定手机号,该用户非会员或会员已过期[mcouponId:{},couponId:{},uid:{}]", mcouponId, couponId, uid);
continue;
}
} else if (null != couponExpireAt && couponExpireAt.isAfter(now)) {
userCoupon.setBindAt(null == couponEffectAt ? now : couponEffectAt);
userCoupon.setDuedAt(couponExpireAt); userCoupon.setDuedAt(couponExpireAt);
} else {
log.warn("发放券处理中:目标指定手机号,该券生效日期或失效日期无效[mcouponId:{},couponId:{},effectAt:{},expireAt:{}]", mcouponId, couponId, couponEffectAt, couponExpireAt);
continue;
} }
userCoupon.setOperator(operator);
userCoupon.setCreatedAt(now); userCoupon.setCreatedAt(now);
initUserCouponList.add(userCoupon); initUserCouponList.add(userCoupon);
......
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