嗨森逛服务
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
hai-server/hai-schedule/src/main/java/com/hai/schedule/HighDiscountSchedule.java

58 lines
1.9 KiB

package com.hai.schedule;
import com.hai.entity.HighDiscountAgentCode;
import com.hai.entity.HighDiscountUserRel;
import com.hai.entity.HighOrder;
import com.hai.service.HighDiscountAgentCodeService;
import com.hai.service.HighDiscountUserRelService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.annotation.Scheduled;
import javax.annotation.Resource;
import java.util.List;
/**
* @Auther: 胡锐
* @Description: 优惠券定时任务
* @Date: 2021/4/4 22:43
*/
@Configuration
public class HighDiscountSchedule {
private static Logger log = LoggerFactory.getLogger(HighDiscountSchedule.class);
@Resource
private HighDiscountUserRelService highDiscountUserRelService;
@Resource
private HighDiscountAgentCodeService highDiscountAgentCodeService;
/**
* @Author 胡锐
* @Description 处理过期的优惠券
* @Date 2021/4/4 22:44
**/
@Scheduled(cron = "5 0 0 * * ?") //每日凌晨12点5秒执行一次
public void expiredDiscount() {
List<HighDiscountUserRel> expiredDiscount = highDiscountUserRelService.getExpiredDiscount();
for (HighDiscountUserRel rel : expiredDiscount) {
try {
rel.setStatus(0);
highDiscountUserRelService.updateDiscountUserRel(rel);
// 二维码
HighDiscountAgentCode code = highDiscountAgentCodeService.getCodeById(rel.getDiscountAgentCodeId());
if (code != null) {
code.setStatus(4); // 状态 0:删除 1:待领取 2:待使用 3:已使用 4:已过期
highDiscountAgentCodeService.updateCode(code);
}
} catch (Exception e) {
log.error("HighCouponSchedule --> expiredCoupon() error!", e);
}
}
}
}