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

Commit 1eed0c2f authored by 张国柄's avatar 张国柄

~发放券调整;

parent 8580615c
......@@ -11,14 +11,16 @@ import com.liquidnet.service.adam.constant.AdamRedisConst;
import com.liquidnet.service.adam.dto.vo.AdamUserMemberVo;
import com.liquidnet.service.adam.entity.AdamUserMember;
import com.liquidnet.service.candy.constant.CandyRedisConst;
import com.liquidnet.service.candy.dto.*;
import com.liquidnet.service.candy.dto.CandyCommonCouponBasicDto;
import com.liquidnet.service.candy.dto.CandyCouponCodeDto;
import com.liquidnet.service.candy.dto.CandyCouponRuleDto;
import com.liquidnet.service.candy.dto.CandyUserCouponBasicDto;
import com.liquidnet.service.candy.entity.*;
import com.liquidnet.service.candy.mapper.CandyCouponMapper;
import com.liquidnet.service.platform.service.impl.adam.PlatformAdamUserMemberService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.RandomStringUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
......@@ -56,7 +58,7 @@ public class PlatformCandyCouponService extends ServiceImpl<CandyCouponMapper, C
// String couponInfoDtoKey = CandyRedisConst.BASIC_COUPON_INFO.concat(couponInfoDto.getCouponId());
// redisDataSourceUtil.getRedisCandyUtil().set(couponInfoDtoKey, couponInfoDto);
switch (coupon.getBindType()) {// 领取方式[0-用户输入兑换|1-发放至用户|2-积分兑换|3-发放需领取|4-会员专属]
switch (coupon.getBindType()) {// 领取方式[0-用户输入兑换|1-发放至用户|2-积分商品|3-发放需领取|4-会员专属]
case 0:
this.processingCouponCode(mgtCoupon, coupon);
break;
......@@ -205,7 +207,7 @@ public class PlatformCandyCouponService extends ServiceImpl<CandyCouponMapper, C
private void processForAllMember(CandyMgtCoupon mgtCoupon, CandyCoupon coupon, List<CandyCouponRuleDto> couponRuleDtoList) {
List<CandyUserCoupon> initUserCouponList = new ArrayList<>();
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)
.gt(AdamUserMember::getExpiryAt, nowEndTime);
......@@ -247,8 +249,11 @@ public class PlatformCandyCouponService extends ServiceImpl<CandyCouponMapper, C
userCoupon.setBindAt(null == couponEffectAt ? now : couponEffectAt);
if (isMemberRightsCoupon) {
userCoupon.setDuedAt(userMember.getExpiryAt());
} else {
} else if (null != couponExpireAt && couponExpireAt.isAfter(now)) {
userCoupon.setDuedAt(couponExpireAt);
} else {
log.warn("发放券处理中:目标全体会员,该券生效日期或失效日期无效[mcouponId:{},couponId:{},effectAt:{},expireAt:{}]", mcouponId, couponId, couponEffectAt, couponExpireAt);
continue;
}
userCoupon.setCreatedAt(now);
......@@ -330,17 +335,16 @@ public class PlatformCandyCouponService extends ServiceImpl<CandyCouponMapper, C
userCoupon.setState(1);
// userCoupon.setBindAt(couponEffectAt);
userCoupon.setBindAt(null == couponEffectAt ? now : couponEffectAt);
if (isMemberRightsCoupon) {
AdamUserMemberVo vo = (AdamUserMemberVo) redisAdamUtil.get(AdamRedisConst.INFO_USER_MEMBER.concat(uid));
if (null != vo && vo.isActive()) {
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);
} else {
log.warn("发放券处理中:目标指定手机号,该券生效日期或失效日期无效[mcouponId:{},couponId:{},effectAt:{},expireAt:{}]", mcouponId, couponId, couponEffectAt, couponExpireAt);
......
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