新增优惠券有限期设置类型
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.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;
|
||||
|
||||
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.modules.promotion.entity.enums.CouponRangeDayEnum;
|
||||
import cn.lili.modules.promotion.entity.enums.MemberCouponStatusEnum;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
@ -114,14 +118,13 @@ public class MemberCoupon extends BaseEntity {
|
||||
setScopeId(coupon.getScopeId());
|
||||
setCouponType(coupon.getCouponType());
|
||||
setStartTime(coupon.getStartTime());
|
||||
setEndTime(coupon.getEndTime());
|
||||
|
||||
setGetType(coupon.getGetType());
|
||||
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) {
|
||||
List<MemberCoupon> memberCouponList = new LinkedList<>();
|
||||
//循环会员列表,添加优惠券
|
||||
MemberCoupon memberCoupon = new MemberCoupon(coupon);
|
||||
for (Map<String, Object> map : memberList) {
|
||||
MemberCoupon memberCoupon = new MemberCoupon(coupon);
|
||||
memberCoupon.setMemberId(map.get("id").toString());
|
||||
memberCoupon.setMemberName(map.get("nick_name").toString());
|
||||
memberCoupon.setMemberCouponStatus(MemberCouponStatusEnum.NEW.name());
|
||||
|
@ -285,10 +285,11 @@ public class PromotionServiceImpl implements PromotionService {
|
||||
//修改优惠券
|
||||
couponVO.setPromotionStatus(promotionMessage.getPromotionStatus());
|
||||
result = this.couponService.update(promotionMessage.updateWrapper());
|
||||
//优惠券活动结束,会员已领取的优惠券状态修改为:已过期
|
||||
//优惠券活动结束,会员已领取未使用的优惠券状态修改为:已过期
|
||||
if(couponVO.getPromotionStatus().equals(PromotionStatusEnum.END)){
|
||||
LambdaUpdateWrapper<MemberCoupon> updateWrapper = new LambdaUpdateWrapper<MemberCoupon>()
|
||||
.eq(MemberCoupon::getCouponId, couponVO.getId())
|
||||
.eq(MemberCoupon::getMemberCouponStatus, MemberCouponStatusEnum.NEW.name())
|
||||
.set(MemberCoupon::getMemberCouponStatus, MemberCouponStatusEnum.EXPIRE.name());
|
||||
this.memberCouponService.update(updateWrapper);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user