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

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

+用户券到期时间字段;

parent 3cdd5002
......@@ -33,8 +33,8 @@ public class CandyUserCouponBasicDto implements Serializable ,Cloneable{
private Integer redeemValidity;
private LocalDateTime redeemStart;
private LocalDateTime redeemStop;
private LocalDateTime effectAt;
private LocalDateTime expireAt;
//private LocalDateTime effectAt;
//private LocalDateTime expireAt;
//private String operator;
//private Date createdAt;
//private Date updatedAt;
......@@ -48,6 +48,7 @@ public class CandyUserCouponBasicDto implements Serializable ,Cloneable{
private Integer state;
private String ccode;
private LocalDateTime bindAt;
private LocalDateTime duedAt;
private LocalDateTime usedAt;
private String usedFor;
//private String comment;
......@@ -90,8 +91,6 @@ public class CandyUserCouponBasicDto implements Serializable ,Cloneable{
this.setRedeemValidity(coupon.getRedeemValidity());
this.setRedeemStart(coupon.getRedeemStart());
this.setRedeemStop(coupon.getRedeemStop());
this.setEffectAt(coupon.getEffectAt());
this.setExpireAt(coupon.getExpireAt());
this.setUcouponId(userCoupon.getUcouponId());
this.setMcouponId(userCoupon.getMcouponId());
......@@ -99,6 +98,7 @@ public class CandyUserCouponBasicDto implements Serializable ,Cloneable{
this.setState(userCoupon.getState());
this.setCcode(userCoupon.getCcode());
this.setBindAt(userCoupon.getBindAt());
this.setDuedAt(userCoupon.getDuedAt());
this.setUsedAt(userCoupon.getUsedAt());
this.setUsedFor(userCoupon.getUsedFor());
......@@ -125,8 +125,6 @@ public class CandyUserCouponBasicDto implements Serializable ,Cloneable{
this.setRedeemValidity(couponInfoDto.getRedeemValidity());
this.setRedeemStart(couponInfoDto.getRedeemStart());
this.setRedeemStop(couponInfoDto.getRedeemStop());
this.setEffectAt(couponInfoDto.getEffectAt());
this.setExpireAt(couponInfoDto.getExpireAt());
this.setUcouponId(uCouponId);
this.setUid(uid);
......@@ -134,6 +132,8 @@ public class CandyUserCouponBasicDto implements Serializable ,Cloneable{
this.setState(1);
this.setBindAt(LocalDateTime.now());
// TODO: 2021/9/1
this.setDuedAt(null);
this.setUseRules(couponInfoDto.getUseRules());
return this;
......@@ -158,14 +158,14 @@ public class CandyUserCouponBasicDto implements Serializable ,Cloneable{
this.setRedeemValidity(commonCouponBasicDto.getRedeemValidity());
this.setRedeemStart(commonCouponBasicDto.getRedeemStart());
this.setRedeemStop(commonCouponBasicDto.getRedeemStop());
this.setEffectAt(commonCouponBasicDto.getEffectAt());
this.setExpireAt(commonCouponBasicDto.getExpireAt());
this.setUcouponId(uCouponId);
this.setUid(uid);
this.setState(1);
this.setBindAt(LocalDateTime.now());
// TODO: 2021/9/1
this.setDuedAt(null);
this.setUseRules(commonCouponBasicDto.getUseRules());
return this;
......
......@@ -58,6 +58,11 @@ public class CandyUserCoupon implements Serializable,Cloneable {
*/
private LocalDateTime bindAt;
/**
* 到期时间
*/
private LocalDateTime duedAt;
/**
* 使用时间
*/
......@@ -68,6 +73,10 @@ public class CandyUserCoupon implements Serializable,Cloneable {
*/
private String usedFor;
private LocalDateTime createdAt;
private LocalDateTime updatedAt;
private String comment;
......
......@@ -15,6 +15,6 @@ import org.springframework.web.bind.annotation.PutMapping;
)
public interface FeignPlatformCandyTaskClient {
@PutMapping("/candy/task/issue/coupons")
@PutMapping("/ccoupon/mgt/task/issue/coupons")
ResponseDto<String> issueCoupons();
}
......@@ -115,8 +115,13 @@ create table candy_user_coupon
ccode varchar(64) comment '券码~candy_coupon_code.ccode',
bind_at datetime(3) comment '激活时间',
dued_at datetime(3) comment '到期时间',
used_at datetime(3) comment '使用时间',
used_for varchar(255) comment '用于记录购买的内容',
created_at datetime(3) not null,
updated_at datetime(3),
comment varchar(255)
) engine = InnoDB comment '用户券信息';
create unique index uidx_candy_user_coupon_id on candy_user_coupon (ucoupon_id);
......
......@@ -224,7 +224,7 @@ public class CandyCouponServiceImpl implements ICandyCouponService {
if (dto == 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
......
package com.liquidnet.service.candy.util;
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.CandyCouponRuleDto;
import com.liquidnet.service.candy.dto.CandyUserCouponBasicDto;
......@@ -29,7 +27,7 @@ public class CouponBaseUtil {
CandyCouponVo vo = CandyCouponVo.getNew();
List<CandyCouponRulesVo> rulesVoList = ObjectUtil.getCandyCouponRulesVos();
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.setBusiType(dtoItem.getBusiType());
vo.setValOver(dtoItem.getValOver());
......@@ -54,7 +52,7 @@ public class CouponBaseUtil {
} else {
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);
return vo;
}
......@@ -75,7 +73,7 @@ public class CouponBaseUtil {
CandyCouponVo vo = CandyCouponVo.getNew();
List<CandyCouponRulesVo> rulesVoList = ObjectUtil.getCandyCouponRulesVos();
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.setValOver(dtoItem.getValOver());
vo.setValMinus(dtoItem.getValMinus());
......@@ -120,7 +118,7 @@ public class CouponBaseUtil {
} else {
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) {
vo.setState(state);
} else {
......@@ -145,7 +143,7 @@ public class CouponBaseUtil {
CandyCouponVo vo = CandyCouponVo.getNew();
List<CandyCouponRulesVo> rulesVoList = ObjectUtil.getCandyCouponRulesVos();
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.setValOver(dtoItem.getValOver());
vo.setValMinus(dtoItem.getValMinus());
......@@ -187,7 +185,7 @@ public class CouponBaseUtil {
} else {
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) {
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;
@Slf4j
@RestController
@RequestMapping("candy/task")
@RequestMapping("ccoupon/mgt/task")
public class CandyMgtCouponTaskController {
@Autowired
private PlatformCandyMgtCouponService platformCandyMgtCouponService;
......
......@@ -201,6 +201,7 @@ public class PlatformCandyCouponService extends ServiceImpl<CandyCouponMapper, C
userCoupon.setCouponId(coupon.getCouponId());
userCoupon.setState(1);
userCoupon.setBindAt(now);
userCoupon.setDuedAt(coupon.getExpireAt());
initUserCouponList.add(userCoupon);
}
......@@ -261,6 +262,7 @@ public class PlatformCandyCouponService extends ServiceImpl<CandyCouponMapper, C
userCoupon.setCouponId(coupon.getCouponId());
userCoupon.setState(1);
userCoupon.setBindAt(now);
userCoupon.setDuedAt(coupon.getExpireAt());
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