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

Commit a8147d59 authored by 胡佳晨's avatar 胡佳晨

candy

parent caa29c2a
...@@ -10,7 +10,7 @@ import java.time.LocalDateTime; ...@@ -10,7 +10,7 @@ import java.time.LocalDateTime;
import java.util.List; import java.util.List;
@Data @Data
public class CandyUserCouponBasicDto implements Serializable ,Cloneable{ public class CandyUserCouponBasicDto implements Serializable, Cloneable {
private static final long serialVersionUID = 4073256621782131605L; private static final long serialVersionUID = 4073256621782131605L;
/* com.liquidnet.service.candy.entity.CandyCoupon */ /* com.liquidnet.service.candy.entity.CandyCoupon */
...@@ -106,7 +106,7 @@ public class CandyUserCouponBasicDto implements Serializable ,Cloneable{ ...@@ -106,7 +106,7 @@ public class CandyUserCouponBasicDto implements Serializable ,Cloneable{
return this; return this;
} }
public CandyUserCouponBasicDto copyToRedisBaseCoupon(String uCouponId,String uid,String cCode, CandyCouponInfoDto couponInfoDto) { public CandyUserCouponBasicDto copyToRedisBaseCoupon(String uCouponId, String uid, String cCode, CandyCouponInfoDto couponInfoDto, LocalDateTime duedAt) {
this.setCouponId(couponInfoDto.getCouponId()); this.setCouponId(couponInfoDto.getCouponId());
this.setTitle(couponInfoDto.getTitle()); this.setTitle(couponInfoDto.getTitle());
this.setLabel(couponInfoDto.getLabel()); this.setLabel(couponInfoDto.getLabel());
...@@ -132,14 +132,13 @@ public class CandyUserCouponBasicDto implements Serializable ,Cloneable{ ...@@ -132,14 +132,13 @@ public class CandyUserCouponBasicDto implements Serializable ,Cloneable{
this.setState(1); this.setState(1);
this.setBindAt(LocalDateTime.now()); this.setBindAt(LocalDateTime.now());
// TODO: 2021/9/1 this.setDuedAt(duedAt);
this.setDuedAt(null);
this.setUseRules(couponInfoDto.getUseRules()); this.setUseRules(couponInfoDto.getUseRules());
return this; return this;
} }
public CandyUserCouponBasicDto copyToRedisCommonBaseCoupon(String uCouponId,String uid, CandyCommonCouponBasicDto commonCouponBasicDto) { public CandyUserCouponBasicDto copyToRedisCommonBaseCoupon(String uCouponId, String uid, CandyCommonCouponBasicDto commonCouponBasicDto) {
this.setCouponId(commonCouponBasicDto.getCouponId()); this.setCouponId(commonCouponBasicDto.getCouponId());
this.setTitle(commonCouponBasicDto.getTitle()); this.setTitle(commonCouponBasicDto.getTitle());
this.setLabel(commonCouponBasicDto.getLabel()); this.setLabel(commonCouponBasicDto.getLabel());
...@@ -165,7 +164,8 @@ public class CandyUserCouponBasicDto implements Serializable ,Cloneable{ ...@@ -165,7 +164,8 @@ public class CandyUserCouponBasicDto implements Serializable ,Cloneable{
this.setState(1); this.setState(1);
this.setBindAt(LocalDateTime.now()); this.setBindAt(LocalDateTime.now());
// TODO: 2021/9/1 // TODO: 2021/9/1
this.setDuedAt(null); this.setBindAt(commonCouponBasicDto.getEffectAt());
this.setDuedAt(commonCouponBasicDto.getExpireAt());
this.setUseRules(commonCouponBasicDto.getUseRules()); this.setUseRules(commonCouponBasicDto.getUseRules());
return this; return this;
......
...@@ -164,7 +164,7 @@ public class CandyCouponServiceImpl implements ICandyCouponService { ...@@ -164,7 +164,7 @@ public class CandyCouponServiceImpl implements ICandyCouponService {
continue; continue;
} }
} }
CandyCouponVo baseVo = CouponBaseUtil.getGoodCouponUserVo(dtoItem, priceTotal, goodId,dtoList.size()); CandyCouponVo baseVo = CouponBaseUtil.getGoodCouponUserVo(dtoItem, priceTotal, goodId, dtoList.size());
if (dtoItem.getExclusive().equals(1)) { //会员券 if (dtoItem.getExclusive().equals(1)) { //会员券
memberCoupon.add(baseVo); memberCoupon.add(baseVo);
} else {//非会员券 } else {//非会员券
...@@ -186,7 +186,7 @@ public class CandyCouponServiceImpl implements ICandyCouponService { ...@@ -186,7 +186,7 @@ public class CandyCouponServiceImpl implements ICandyCouponService {
List<CandyUserCouponBasicDto> dtoList = redisDataUtils.getCouponByUid(uid); List<CandyUserCouponBasicDto> dtoList = redisDataUtils.getCouponByUid(uid);
int canUse = 0; int canUse = 0;
for (CandyUserCouponBasicDto dtoItem : dtoList) { for (CandyUserCouponBasicDto dtoItem : dtoList) {
CandyCouponVo baseVo = CouponBaseUtil.getGoodCouponUserVo(dtoItem, priceTotal, goodId,dtoList.size()); CandyCouponVo baseVo = CouponBaseUtil.getGoodCouponUserVo(dtoItem, priceTotal, goodId, dtoList.size());
if (baseVo.getState().equals(1)) { //可用 if (baseVo.getState().equals(1)) { //可用
canUse = 1; canUse = 1;
break; break;
...@@ -267,7 +267,7 @@ public class CandyCouponServiceImpl implements ICandyCouponService { ...@@ -267,7 +267,7 @@ public class CandyCouponServiceImpl implements ICandyCouponService {
} }
Boolean isTarget = false; Boolean isTarget = false;
for (CandyCouponRuleDto ruleItem:dto.getUseRules()) { for (CandyCouponRuleDto ruleItem : dto.getUseRules()) {
switch (ruleItem.getUseScope()) { switch (ruleItem.getUseScope()) {
case 80://商品 case 80://商品
isTarget = CouponBaseUtil.isTargetCoupon(ruleItem.getBusiId(), dto.getCouType(), goodId, new BigDecimal(totalPrice), dto.getValOver()); isTarget = CouponBaseUtil.isTargetCoupon(ruleItem.getBusiId(), dto.getCouType(), goodId, new BigDecimal(totalPrice), dto.getValOver());
...@@ -290,7 +290,7 @@ public class CandyCouponServiceImpl implements ICandyCouponService { ...@@ -290,7 +290,7 @@ public class CandyCouponServiceImpl implements ICandyCouponService {
} }
} }
if(!isTarget){ if (!isTarget) {
vo.setCouType(-1); vo.setCouType(-1);
vo.setValue(BigDecimal.ZERO); vo.setValue(BigDecimal.ZERO);
} }
...@@ -351,6 +351,8 @@ public class CandyCouponServiceImpl implements ICandyCouponService { ...@@ -351,6 +351,8 @@ public class CandyCouponServiceImpl implements ICandyCouponService {
public ResponseDto<Boolean> receiveCoupon(String ccode) { public ResponseDto<Boolean> receiveCoupon(String ccode) {
String uid = CurrentUtil.getCurrentUid(); String uid = CurrentUtil.getCurrentUid();
CandyCouponCodeDto dto = redisDataUtils.getCouponByCode(ccode); CandyCouponCodeDto dto = redisDataUtils.getCouponByCode(ccode);
LocalDateTime now = LocalDateTime.now();
if (dto == null) { if (dto == null) {
return ResponseDto.failure("兑换码有误,请重新输入"); return ResponseDto.failure("兑换码有误,请重新输入");
} else if (dto.getState().equals(0)) {//判断可领 } else if (dto.getState().equals(0)) {//判断可领
...@@ -360,7 +362,7 @@ public class CandyCouponServiceImpl implements ICandyCouponService { ...@@ -360,7 +362,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); CandyUserCouponBasicDto baseDto = CandyUserCouponBasicDto.getNew().copyToRedisBaseCoupon(uCouponId, uid, ccode, infoDto, now.plusDays(infoDto.getRedeemValidity()));
//删除code redis //删除code redis
redisDataUtils.delCouponByCode(ccode); redisDataUtils.delCouponByCode(ccode);
//添加baseDto -> baseDtoList //添加baseDto -> baseDtoList
...@@ -369,7 +371,7 @@ public class CandyCouponServiceImpl implements ICandyCouponService { ...@@ -369,7 +371,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, LocalDateTime.now() uCouponId, uid, 1, infoDto.getCouponId(), ccode, now, now, now.plusDays(infoDto.getRedeemValidity())
) )
); );
} else { } else {
...@@ -391,7 +393,7 @@ public class CandyCouponServiceImpl implements ICandyCouponService { ...@@ -391,7 +393,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); CandyUserCouponBasicDto baseDto = CandyUserCouponBasicDto.getNew().copyToRedisBaseCoupon(uCouponId, uid, ccode, infoDto, null);
return ResponseDto.success(CouponBaseUtil.getBaseCouponUserVo(baseDto)); return ResponseDto.success(CouponBaseUtil.getBaseCouponUserVo(baseDto));
} else { } else {
return ResponseDto.failure("兑换失败,请稍后再试"); return ResponseDto.failure("兑换失败,请稍后再试");
......
...@@ -49,7 +49,7 @@ public class RedisDataUtils { ...@@ -49,7 +49,7 @@ public class RedisDataUtils {
if (userIds.contains(item.getCcouponId())) { if (userIds.contains(item.getCcouponId())) {
continue; continue;
} else { } else {
CandyUserCouponBasicDto userCouponBasicDto = CandyUserCouponBasicDto.getNew().copyToRedisCommonBaseCoupon(IDGenerator.get32UUID(),uid,item); CandyUserCouponBasicDto userCouponBasicDto = CandyUserCouponBasicDto.getNew().copyToRedisCommonBaseCoupon(IDGenerator.get32UUID(), uid, item);
userDto.add(userCouponBasicDto); userDto.add(userCouponBasicDto);
} }
} }
......
...@@ -5,4 +5,4 @@ candy_coupon.use_insert=INSERT INTO candy_user_coupon (ucoupon_id , uid , state ...@@ -5,4 +5,4 @@ candy_coupon.use_insert=INSERT INTO candy_user_coupon (ucoupon_id , uid , state
# -- 回退券 -- # -- 回退券 --
candy_coupon.back=UPDATE candy_user_coupon SET state = 1 WHERE uid = ? AND ucoupon_id = ? candy_coupon.back=UPDATE candy_user_coupon SET state = 1 WHERE uid = ? AND ucoupon_id = ?
# -- 领取券 -- # -- 领取券 --
candy_coupon.receive=INSERT INTO candy_user_coupon (ucoupon_id , uid , state , coupon_id , ccode , bind_at ) VALUE ( ? , ? , ? , ? , ? , ? ) candy_coupon.receive=INSERT INTO candy_user_coupon (ucoupon_id , uid , state , coupon_id , ccode , bind_at , bind_at, dued_at) VALUE ( ? , ? , ? , ? , ? , ? , ? , ?)
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