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

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

+用户券到期时间字段;

parent 3cdd5002
...@@ -33,8 +33,8 @@ public class CandyUserCouponBasicDto implements Serializable ,Cloneable{ ...@@ -33,8 +33,8 @@ public class CandyUserCouponBasicDto implements Serializable ,Cloneable{
private Integer redeemValidity; private Integer redeemValidity;
private LocalDateTime redeemStart; private LocalDateTime redeemStart;
private LocalDateTime redeemStop; private LocalDateTime redeemStop;
private LocalDateTime effectAt; //private LocalDateTime effectAt;
private LocalDateTime expireAt; //private LocalDateTime expireAt;
//private String operator; //private String operator;
//private Date createdAt; //private Date createdAt;
//private Date updatedAt; //private Date updatedAt;
...@@ -48,6 +48,7 @@ public class CandyUserCouponBasicDto implements Serializable ,Cloneable{ ...@@ -48,6 +48,7 @@ public class CandyUserCouponBasicDto implements Serializable ,Cloneable{
private Integer state; private Integer state;
private String ccode; private String ccode;
private LocalDateTime bindAt; private LocalDateTime bindAt;
private LocalDateTime duedAt;
private LocalDateTime usedAt; private LocalDateTime usedAt;
private String usedFor; private String usedFor;
//private String comment; //private String comment;
...@@ -90,8 +91,6 @@ public class CandyUserCouponBasicDto implements Serializable ,Cloneable{ ...@@ -90,8 +91,6 @@ public class CandyUserCouponBasicDto implements Serializable ,Cloneable{
this.setRedeemValidity(coupon.getRedeemValidity()); this.setRedeemValidity(coupon.getRedeemValidity());
this.setRedeemStart(coupon.getRedeemStart()); this.setRedeemStart(coupon.getRedeemStart());
this.setRedeemStop(coupon.getRedeemStop()); this.setRedeemStop(coupon.getRedeemStop());
this.setEffectAt(coupon.getEffectAt());
this.setExpireAt(coupon.getExpireAt());
this.setUcouponId(userCoupon.getUcouponId()); this.setUcouponId(userCoupon.getUcouponId());
this.setMcouponId(userCoupon.getMcouponId()); this.setMcouponId(userCoupon.getMcouponId());
...@@ -99,6 +98,7 @@ public class CandyUserCouponBasicDto implements Serializable ,Cloneable{ ...@@ -99,6 +98,7 @@ public class CandyUserCouponBasicDto implements Serializable ,Cloneable{
this.setState(userCoupon.getState()); this.setState(userCoupon.getState());
this.setCcode(userCoupon.getCcode()); this.setCcode(userCoupon.getCcode());
this.setBindAt(userCoupon.getBindAt()); this.setBindAt(userCoupon.getBindAt());
this.setDuedAt(userCoupon.getDuedAt());
this.setUsedAt(userCoupon.getUsedAt()); this.setUsedAt(userCoupon.getUsedAt());
this.setUsedFor(userCoupon.getUsedFor()); this.setUsedFor(userCoupon.getUsedFor());
...@@ -125,8 +125,6 @@ public class CandyUserCouponBasicDto implements Serializable ,Cloneable{ ...@@ -125,8 +125,6 @@ public class CandyUserCouponBasicDto implements Serializable ,Cloneable{
this.setRedeemValidity(couponInfoDto.getRedeemValidity()); this.setRedeemValidity(couponInfoDto.getRedeemValidity());
this.setRedeemStart(couponInfoDto.getRedeemStart()); this.setRedeemStart(couponInfoDto.getRedeemStart());
this.setRedeemStop(couponInfoDto.getRedeemStop()); this.setRedeemStop(couponInfoDto.getRedeemStop());
this.setEffectAt(couponInfoDto.getEffectAt());
this.setExpireAt(couponInfoDto.getExpireAt());
this.setUcouponId(uCouponId); this.setUcouponId(uCouponId);
this.setUid(uid); this.setUid(uid);
...@@ -134,6 +132,8 @@ public class CandyUserCouponBasicDto implements Serializable ,Cloneable{ ...@@ -134,6 +132,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
this.setDuedAt(null);
this.setUseRules(couponInfoDto.getUseRules()); this.setUseRules(couponInfoDto.getUseRules());
return this; return this;
...@@ -158,14 +158,14 @@ public class CandyUserCouponBasicDto implements Serializable ,Cloneable{ ...@@ -158,14 +158,14 @@ public class CandyUserCouponBasicDto implements Serializable ,Cloneable{
this.setRedeemValidity(commonCouponBasicDto.getRedeemValidity()); this.setRedeemValidity(commonCouponBasicDto.getRedeemValidity());
this.setRedeemStart(commonCouponBasicDto.getRedeemStart()); this.setRedeemStart(commonCouponBasicDto.getRedeemStart());
this.setRedeemStop(commonCouponBasicDto.getRedeemStop()); this.setRedeemStop(commonCouponBasicDto.getRedeemStop());
this.setEffectAt(commonCouponBasicDto.getEffectAt());
this.setExpireAt(commonCouponBasicDto.getExpireAt());
this.setUcouponId(uCouponId); this.setUcouponId(uCouponId);
this.setUid(uid); this.setUid(uid);
this.setState(1); this.setState(1);
this.setBindAt(LocalDateTime.now()); this.setBindAt(LocalDateTime.now());
// TODO: 2021/9/1
this.setDuedAt(null);
this.setUseRules(commonCouponBasicDto.getUseRules()); this.setUseRules(commonCouponBasicDto.getUseRules());
return this; return this;
......
...@@ -58,6 +58,11 @@ public class CandyUserCoupon implements Serializable,Cloneable { ...@@ -58,6 +58,11 @@ public class CandyUserCoupon implements Serializable,Cloneable {
*/ */
private LocalDateTime bindAt; private LocalDateTime bindAt;
/**
* 到期时间
*/
private LocalDateTime duedAt;
/** /**
* 使用时间 * 使用时间
*/ */
...@@ -68,6 +73,10 @@ public class CandyUserCoupon implements Serializable,Cloneable { ...@@ -68,6 +73,10 @@ public class CandyUserCoupon implements Serializable,Cloneable {
*/ */
private String usedFor; private String usedFor;
private LocalDateTime createdAt;
private LocalDateTime updatedAt;
private String comment; private String comment;
......
...@@ -15,6 +15,6 @@ import org.springframework.web.bind.annotation.PutMapping; ...@@ -15,6 +15,6 @@ import org.springframework.web.bind.annotation.PutMapping;
) )
public interface FeignPlatformCandyTaskClient { public interface FeignPlatformCandyTaskClient {
@PutMapping("/candy/task/issue/coupons") @PutMapping("/ccoupon/mgt/task/issue/coupons")
ResponseDto<String> issueCoupons(); ResponseDto<String> issueCoupons();
} }
...@@ -115,8 +115,13 @@ create table candy_user_coupon ...@@ -115,8 +115,13 @@ create table candy_user_coupon
ccode varchar(64) comment '券码~candy_coupon_code.ccode', ccode varchar(64) comment '券码~candy_coupon_code.ccode',
bind_at datetime(3) comment '激活时间', bind_at datetime(3) comment '激活时间',
dued_at datetime(3) comment '到期时间',
used_at datetime(3) comment '使用时间', used_at datetime(3) comment '使用时间',
used_for varchar(255) comment '用于记录购买的内容', used_for varchar(255) comment '用于记录购买的内容',
created_at datetime(3) not null,
updated_at datetime(3),
comment varchar(255) comment varchar(255)
) engine = InnoDB comment '用户券信息'; ) engine = InnoDB comment '用户券信息';
create unique index uidx_candy_user_coupon_id on candy_user_coupon (ucoupon_id); create unique index uidx_candy_user_coupon_id on candy_user_coupon (ucoupon_id);
......
...@@ -224,7 +224,7 @@ public class CandyCouponServiceImpl implements ICandyCouponService { ...@@ -224,7 +224,7 @@ public class CandyCouponServiceImpl implements ICandyCouponService {
if (dto == null) { if (dto == null) {
return null;//券不存在 return null;//券不存在
} }
return CouponBaseUtil.getCouponState(LocalDateTime.now(), dto.getExpireAt(), dto.getEffectAt(), dto.getState()); return CouponBaseUtil.getCouponState(LocalDateTime.now(), dto.getDuedAt(), dto.getBindAt(), dto.getState());
} }
@Override @Override
......
package com.liquidnet.service.candy.util; package com.liquidnet.service.candy.util;
import com.liquidnet.commons.lang.util.DateUtil; import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.candy.dto.CandyCouponCodeDto;
import com.liquidnet.service.candy.dto.CandyCouponInfoDto; import com.liquidnet.service.candy.dto.CandyCouponInfoDto;
import com.liquidnet.service.candy.dto.CandyCouponRuleDto; import com.liquidnet.service.candy.dto.CandyCouponRuleDto;
import com.liquidnet.service.candy.dto.CandyUserCouponBasicDto; import com.liquidnet.service.candy.dto.CandyUserCouponBasicDto;
...@@ -29,7 +27,7 @@ public class CouponBaseUtil { ...@@ -29,7 +27,7 @@ public class CouponBaseUtil {
CandyCouponVo vo = CandyCouponVo.getNew(); CandyCouponVo vo = CandyCouponVo.getNew();
List<CandyCouponRulesVo> rulesVoList = ObjectUtil.getCandyCouponRulesVos(); List<CandyCouponRulesVo> rulesVoList = ObjectUtil.getCandyCouponRulesVos();
vo.setTitle(dtoItem.getTitle()); vo.setTitle(dtoItem.getTitle());
vo.setExpireAt(DateUtil.format(dtoItem.getExpireAt(), DateUtil.Formatter.yyyy_MM_dd)); vo.setExpireAt(DateUtil.format(dtoItem.getDuedAt(), DateUtil.Formatter.yyyy_MM_dd));
vo.setValFace(dtoItem.getValFace()); vo.setValFace(dtoItem.getValFace());
vo.setBusiType(dtoItem.getBusiType()); vo.setBusiType(dtoItem.getBusiType());
vo.setValOver(dtoItem.getValOver()); vo.setValOver(dtoItem.getValOver());
...@@ -54,7 +52,7 @@ public class CouponBaseUtil { ...@@ -54,7 +52,7 @@ public class CouponBaseUtil {
} else { } else {
vo.setCouType(dtoItem.getCouType()); vo.setCouType(dtoItem.getCouType());
} }
vo.setState(getCouponState(now, dtoItem.getExpireAt(), dtoItem.getEffectAt(), dtoItem.getState())); vo.setState(getCouponState(now, dtoItem.getDuedAt(), dtoItem.getBindAt(), dtoItem.getState()));
vo.setUseRules(rulesVoList); vo.setUseRules(rulesVoList);
return vo; return vo;
} }
...@@ -75,7 +73,7 @@ public class CouponBaseUtil { ...@@ -75,7 +73,7 @@ public class CouponBaseUtil {
CandyCouponVo vo = CandyCouponVo.getNew(); CandyCouponVo vo = CandyCouponVo.getNew();
List<CandyCouponRulesVo> rulesVoList = ObjectUtil.getCandyCouponRulesVos(); List<CandyCouponRulesVo> rulesVoList = ObjectUtil.getCandyCouponRulesVos();
vo.setTitle(dtoItem.getTitle()); vo.setTitle(dtoItem.getTitle());
vo.setExpireAt(DateUtil.format(dtoItem.getExpireAt(), DateUtil.Formatter.yyyy_MM_dd)); vo.setExpireAt(DateUtil.format(dtoItem.getDuedAt(), DateUtil.Formatter.yyyy_MM_dd));
vo.setValFace(dtoItem.getValFace()); vo.setValFace(dtoItem.getValFace());
vo.setValOver(dtoItem.getValOver()); vo.setValOver(dtoItem.getValOver());
vo.setValMinus(dtoItem.getValMinus()); vo.setValMinus(dtoItem.getValMinus());
...@@ -120,7 +118,7 @@ public class CouponBaseUtil { ...@@ -120,7 +118,7 @@ public class CouponBaseUtil {
} else { } else {
vo.setCouType(dtoItem.getCouType()); vo.setCouType(dtoItem.getCouType());
} }
int state = getCouponState(now, dtoItem.getExpireAt(), dtoItem.getEffectAt(), dtoItem.getState()); int state = getCouponState(now, dtoItem.getDuedAt(), dtoItem.getBindAt(), dtoItem.getState());
if (isTarget) { if (isTarget) {
vo.setState(state); vo.setState(state);
} else { } else {
...@@ -145,7 +143,7 @@ public class CouponBaseUtil { ...@@ -145,7 +143,7 @@ public class CouponBaseUtil {
CandyCouponVo vo = CandyCouponVo.getNew(); CandyCouponVo vo = CandyCouponVo.getNew();
List<CandyCouponRulesVo> rulesVoList = ObjectUtil.getCandyCouponRulesVos(); List<CandyCouponRulesVo> rulesVoList = ObjectUtil.getCandyCouponRulesVos();
vo.setTitle(dtoItem.getTitle()); vo.setTitle(dtoItem.getTitle());
vo.setExpireAt(DateUtil.format(dtoItem.getExpireAt(), DateUtil.Formatter.yyyy_MM_dd)); vo.setExpireAt(DateUtil.format(dtoItem.getDuedAt(), DateUtil.Formatter.yyyy_MM_dd));
vo.setValFace(dtoItem.getValFace()); vo.setValFace(dtoItem.getValFace());
vo.setValOver(dtoItem.getValOver()); vo.setValOver(dtoItem.getValOver());
vo.setValMinus(dtoItem.getValMinus()); vo.setValMinus(dtoItem.getValMinus());
...@@ -187,7 +185,7 @@ public class CouponBaseUtil { ...@@ -187,7 +185,7 @@ public class CouponBaseUtil {
} else { } else {
vo.setCouType(dtoItem.getCouType()); vo.setCouType(dtoItem.getCouType());
} }
int state = getCouponState(now, dtoItem.getExpireAt(), dtoItem.getEffectAt(), dtoItem.getState()); int state = getCouponState(now, dtoItem.getDuedAt(), dtoItem.getBindAt(), dtoItem.getState());
if (isTarget) { if (isTarget) {
vo.setState(state); vo.setState(state);
......
package com.liquidnet.service.platform.controller.candy.task;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.candy.entity.CandyCoupon;
import com.liquidnet.service.platform.service.impl.candy.PlatformCandyCouponService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.time.LocalDateTime;
@Slf4j
@RestController
@RequestMapping("ccoupon/task")
public class CandyCouponTaskController {
@Autowired
private PlatformCandyCouponService platformCandyCouponService;
@PutMapping("due/validity_check")
public ResponseDto<String> dueCheck() {
LocalDateTime now = LocalDateTime.now();
LambdaQueryWrapper<CandyCoupon> queryWrapper = Wrappers.lambdaQuery(CandyCoupon.class);
queryWrapper.eq(CandyCoupon::getState, 1);
queryWrapper.eq(CandyCoupon::getExclusive, 0);
queryWrapper.le(CandyCoupon::getExpireAt, now);
int totalCount = platformCandyCouponService.count(queryWrapper);
log.info("券到期检查总记录数:{} >>> BEGIN BEGIN BEGIN", totalCount);
return ResponseDto.success();
}
}
...@@ -18,7 +18,7 @@ import java.util.List; ...@@ -18,7 +18,7 @@ import java.util.List;
@Slf4j @Slf4j
@RestController @RestController
@RequestMapping("candy/task") @RequestMapping("ccoupon/mgt/task")
public class CandyMgtCouponTaskController { public class CandyMgtCouponTaskController {
@Autowired @Autowired
private PlatformCandyMgtCouponService platformCandyMgtCouponService; private PlatformCandyMgtCouponService platformCandyMgtCouponService;
......
...@@ -201,6 +201,7 @@ public class PlatformCandyCouponService extends ServiceImpl<CandyCouponMapper, C ...@@ -201,6 +201,7 @@ public class PlatformCandyCouponService extends ServiceImpl<CandyCouponMapper, C
userCoupon.setCouponId(coupon.getCouponId()); userCoupon.setCouponId(coupon.getCouponId());
userCoupon.setState(1); userCoupon.setState(1);
userCoupon.setBindAt(now); userCoupon.setBindAt(now);
userCoupon.setDuedAt(coupon.getExpireAt());
initUserCouponList.add(userCoupon); initUserCouponList.add(userCoupon);
} }
...@@ -261,6 +262,7 @@ public class PlatformCandyCouponService extends ServiceImpl<CandyCouponMapper, C ...@@ -261,6 +262,7 @@ public class PlatformCandyCouponService extends ServiceImpl<CandyCouponMapper, C
userCoupon.setCouponId(coupon.getCouponId()); userCoupon.setCouponId(coupon.getCouponId());
userCoupon.setState(1); userCoupon.setState(1);
userCoupon.setBindAt(now); userCoupon.setBindAt(now);
userCoupon.setDuedAt(coupon.getExpireAt());
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