admin
2020-04-13 dd5b15229cb15459fa7c31ccea77dac28cbfafbd
fanli/src/main/java/com/yeshi/fanli/job/UserSystemCouponJob.java
@@ -7,8 +7,11 @@
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import com.yeshi.fanli.entity.bus.user.UserSystemCoupon;
import com.yeshi.fanli.entity.bus.user.UserSystemCouponGiveRecord;
import com.yeshi.fanli.log.LogHelper;
import com.yeshi.fanli.service.inter.user.UserSystemCouponGiveRecordService;
import com.yeshi.fanli.service.inter.user.UserSystemCouponService;
import com.yeshi.fanli.util.Constant;
@Component
@@ -16,29 +19,56 @@
   @Resource
   private UserSystemCouponGiveRecordService userSystemCouponGiveRecordService;
   @Resource
   private UserSystemCouponService userSystemCouponService;
   
   /**
    * 每天00:10  赠送退回已过期淘礼金
    * 每天一个小时更新券
    */
   @Scheduled(cron = "0 10 0 * * ? ")
   public void giveSendBack() {
   @Scheduled(cron = "0 0 0/1 * * ? ")
   public void updateCouponInfo() {
      if (!Constant.IS_TASK)
         return;
      
      for (int i = 0; i < 100; i++) {
         List<UserSystemCouponGiveRecord> overdueList = userSystemCouponGiveRecordService.overdueList(500);
         if (overdueList == null || overdueList.size() == 0) {
            break;
      // 1、赠送退回券
      giveSendBack();
      // 2、券失效
      updateInvalid();
   }
   /**
    * 赠送退回券
    */
   public void giveSendBack() {
      try {
         for (int i = 0; i < 100; i++) {
            List<UserSystemCouponGiveRecord> overdueList = userSystemCouponGiveRecordService.overdueList(500);
            if (overdueList == null || overdueList.size() == 0) {
               break;
            }
            userSystemCouponService.sendBackGiveCoupon(overdueList);
         }
         for (UserSystemCouponGiveRecord record: overdueList) {
            UserSystemCouponGiveRecord updateRecord = new UserSystemCouponGiveRecord();
            updateRecord.setId(record.getId());
            updateRecord.setState(UserSystemCouponGiveRecord.STATE_OVERDUE);
            userSystemCouponGiveRecordService.updateByPrimaryKeySelective(updateRecord);
      } catch (Exception e) {
         LogHelper.errorDetailInfo(e);
      }
   }
   /**
    * 更新券失效
    */
   public void updateInvalid() {
      try {
         for (int i = 0; i < 100; i++) {
            List<UserSystemCoupon> list = userSystemCouponService.getCounponNowInvalid(500);
            if (list == null || list.size() == 0) {
               break;
            }
            userSystemCouponService.updateCounponInvalid(list);
         }
      } catch (Exception e) {
         LogHelper.errorDetailInfo(e);
      }
   }
}