新增优惠券有限期设置类型
This commit is contained in:
parent
777226dc95
commit
639435ec45
@ -1,4 +1,4 @@
|
|||||||
package cn.lili.timetask.handler.impl.couponActivity;
|
package cn.lili.timetask.handler.impl.coupon;
|
||||||
|
|
||||||
import cn.hutool.core.date.DateTime;
|
import cn.hutool.core.date.DateTime;
|
||||||
import cn.hutool.core.date.DateUtil;
|
import cn.hutool.core.date.DateUtil;
|
@ -0,0 +1,38 @@
|
|||||||
|
package cn.lili.timetask.handler.impl.coupon;
|
||||||
|
|
||||||
|
import cn.hutool.core.date.DateUtil;
|
||||||
|
import cn.lili.modules.promotion.entity.dos.MemberCoupon;
|
||||||
|
import cn.lili.modules.promotion.entity.enums.MemberCouponStatusEnum;
|
||||||
|
import cn.lili.modules.promotion.service.MemberCouponService;
|
||||||
|
import cn.lili.timetask.handler.EveryDayExecute;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 优惠券状态监测
|
||||||
|
*
|
||||||
|
* @author Bulbasaur
|
||||||
|
* @date: 2021/5/24 10:08 上午
|
||||||
|
*/
|
||||||
|
@Component
|
||||||
|
public class CouponExecute implements EveryDayExecute {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private MemberCouponService memberCouponService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 检测优惠券的使用时间,超期未使用则失效
|
||||||
|
* 此方法用于领取*天后失效优惠券使用
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void execute() {
|
||||||
|
LambdaUpdateWrapper<MemberCoupon> updateWrapper = new LambdaUpdateWrapper<MemberCoupon>()
|
||||||
|
.eq(MemberCoupon::getMemberCouponStatus, MemberCouponStatusEnum.NEW.name())
|
||||||
|
.le(MemberCoupon::getEndTime, DateUtil.date())
|
||||||
|
.set(MemberCoupon::getMemberCouponStatus, MemberCouponStatusEnum.EXPIRE.name());
|
||||||
|
this.memberCouponService.update(updateWrapper);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -1,6 +1,10 @@
|
|||||||
package cn.lili.modules.promotion.entity.dos;
|
package cn.lili.modules.promotion.entity.dos;
|
||||||
|
|
||||||
|
import cn.hutool.core.date.DateField;
|
||||||
|
import cn.hutool.core.date.DateTime;
|
||||||
|
import cn.hutool.core.date.DateUtil;
|
||||||
import cn.lili.base.BaseEntity;
|
import cn.lili.base.BaseEntity;
|
||||||
|
import cn.lili.modules.promotion.entity.enums.CouponRangeDayEnum;
|
||||||
import cn.lili.modules.promotion.entity.enums.MemberCouponStatusEnum;
|
import cn.lili.modules.promotion.entity.enums.MemberCouponStatusEnum;
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
@ -114,14 +118,13 @@ public class MemberCoupon extends BaseEntity {
|
|||||||
setScopeId(coupon.getScopeId());
|
setScopeId(coupon.getScopeId());
|
||||||
setCouponType(coupon.getCouponType());
|
setCouponType(coupon.getCouponType());
|
||||||
setStartTime(coupon.getStartTime());
|
setStartTime(coupon.getStartTime());
|
||||||
setEndTime(coupon.getEndTime());
|
|
||||||
setGetType(coupon.getGetType());
|
setGetType(coupon.getGetType());
|
||||||
setStoreCommission(coupon.getStoreCommission());
|
setStoreCommission(coupon.getStoreCommission());
|
||||||
|
if(coupon.getRangeDayType().equals(CouponRangeDayEnum.FIXEDTIME.name())) {
|
||||||
|
setEndTime(coupon.getEndTime());
|
||||||
|
}else {
|
||||||
|
setEndTime(DateUtil.offset(new DateTime(), DateField.DAY_OF_YEAR,coupon.getEffectiveDays()));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean canUse() {
|
|
||||||
return this.getMemberCouponStatus().equals(MemberCouponStatusEnum.NEW.name());
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
@ -130,8 +130,8 @@ public class CouponActivityServiceImpl extends ServiceImpl<CouponActivityMapper,
|
|||||||
if (coupon != null) {
|
if (coupon != null) {
|
||||||
List<MemberCoupon> memberCouponList = new LinkedList<>();
|
List<MemberCoupon> memberCouponList = new LinkedList<>();
|
||||||
//循环会员列表,添加优惠券
|
//循环会员列表,添加优惠券
|
||||||
|
MemberCoupon memberCoupon = new MemberCoupon(coupon);
|
||||||
for (Map<String, Object> map : memberList) {
|
for (Map<String, Object> map : memberList) {
|
||||||
MemberCoupon memberCoupon = new MemberCoupon(coupon);
|
|
||||||
memberCoupon.setMemberId(map.get("id").toString());
|
memberCoupon.setMemberId(map.get("id").toString());
|
||||||
memberCoupon.setMemberName(map.get("nick_name").toString());
|
memberCoupon.setMemberName(map.get("nick_name").toString());
|
||||||
memberCoupon.setMemberCouponStatus(MemberCouponStatusEnum.NEW.name());
|
memberCoupon.setMemberCouponStatus(MemberCouponStatusEnum.NEW.name());
|
||||||
|
@ -285,10 +285,11 @@ public class PromotionServiceImpl implements PromotionService {
|
|||||||
//修改优惠券
|
//修改优惠券
|
||||||
couponVO.setPromotionStatus(promotionMessage.getPromotionStatus());
|
couponVO.setPromotionStatus(promotionMessage.getPromotionStatus());
|
||||||
result = this.couponService.update(promotionMessage.updateWrapper());
|
result = this.couponService.update(promotionMessage.updateWrapper());
|
||||||
//优惠券活动结束,会员已领取的优惠券状态修改为:已过期
|
//优惠券活动结束,会员已领取未使用的优惠券状态修改为:已过期
|
||||||
if(couponVO.getPromotionStatus().equals(PromotionStatusEnum.END)){
|
if(couponVO.getPromotionStatus().equals(PromotionStatusEnum.END)){
|
||||||
LambdaUpdateWrapper<MemberCoupon> updateWrapper = new LambdaUpdateWrapper<MemberCoupon>()
|
LambdaUpdateWrapper<MemberCoupon> updateWrapper = new LambdaUpdateWrapper<MemberCoupon>()
|
||||||
.eq(MemberCoupon::getCouponId, couponVO.getId())
|
.eq(MemberCoupon::getCouponId, couponVO.getId())
|
||||||
|
.eq(MemberCoupon::getMemberCouponStatus, MemberCouponStatusEnum.NEW.name())
|
||||||
.set(MemberCoupon::getMemberCouponStatus, MemberCouponStatusEnum.EXPIRE.name());
|
.set(MemberCoupon::getMemberCouponStatus, MemberCouponStatusEnum.EXPIRE.name());
|
||||||
this.memberCouponService.update(updateWrapper);
|
this.memberCouponService.update(updateWrapper);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user