|
@@ -6,10 +6,11 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.SysDept;
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.SysDept;
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.SysNotice;
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.SysNotice;
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.SysUserRole;
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.SysUserRole;
|
|
|
|
+import com.qunzhixinxi.hnqz.admin.api.entity.WmPackageRedemptionNotice;
|
|
import com.qunzhixinxi.hnqz.admin.service.SysDeptService;
|
|
import com.qunzhixinxi.hnqz.admin.service.SysDeptService;
|
|
import com.qunzhixinxi.hnqz.admin.service.SysNoticeService;
|
|
import com.qunzhixinxi.hnqz.admin.service.SysNoticeService;
|
|
import com.qunzhixinxi.hnqz.admin.service.SysUserRoleService;
|
|
import com.qunzhixinxi.hnqz.admin.service.SysUserRoleService;
|
|
-import com.qunzhixinxi.hnqz.admin.service.SysUserService;
|
|
|
|
|
|
+import com.qunzhixinxi.hnqz.admin.service.WmPackageRedemptionNoticeService;
|
|
import com.qunzhixinxi.hnqz.common.core.constant.CommonConstants;
|
|
import com.qunzhixinxi.hnqz.common.core.constant.CommonConstants;
|
|
import lombok.AllArgsConstructor;
|
|
import lombok.AllArgsConstructor;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
@@ -20,6 +21,7 @@ import org.springframework.scheduling.annotation.Scheduled;
|
|
|
|
|
|
import java.time.LocalDate;
|
|
import java.time.LocalDate;
|
|
import java.time.LocalDateTime;
|
|
import java.time.LocalDateTime;
|
|
|
|
+import java.time.LocalTime;
|
|
import java.time.format.DateTimeFormatter;
|
|
import java.time.format.DateTimeFormatter;
|
|
import java.util.LinkedList;
|
|
import java.util.LinkedList;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
@@ -40,6 +42,7 @@ public class ScheduleConfiguration {
|
|
private final SysDeptService deptService;
|
|
private final SysDeptService deptService;
|
|
private final SysUserRoleService userRoleService;
|
|
private final SysUserRoleService userRoleService;
|
|
private final SysNoticeService noticeService;
|
|
private final SysNoticeService noticeService;
|
|
|
|
+ private final WmPackageRedemptionNoticeService packageRedemptionNoticeService;
|
|
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -112,11 +115,55 @@ public class ScheduleConfiguration {
|
|
|
|
|
|
|
|
|
|
}
|
|
}
|
|
- //
|
|
|
|
- // @Async
|
|
|
|
- // @Scheduled(cron = "0/4 * * * * *")
|
|
|
|
- // public void checkEntExpiryDaily1() {
|
|
|
|
- // log.info("checkEntExpiryDaily1");
|
|
|
|
- //
|
|
|
|
- // }
|
|
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 每天凌晨2点,自动确认执行包兑付通知
|
|
|
|
+ */
|
|
|
|
+ @Async
|
|
|
|
+ @Scheduled(cron = "0 0 2 * * *")
|
|
|
|
+ public void autoConfirmPackageRedemptionNotice() {
|
|
|
|
+
|
|
|
|
+ log.info("=================[autoConfirmPackageRedemptionNotice start ]=================");
|
|
|
|
+
|
|
|
|
+ try {
|
|
|
|
+ LocalDate lastDay = LocalDate.now().minusDays(1);
|
|
|
|
+ LocalDateTime startTime = LocalDateTime.of(lastDay.minusDays(30), LocalTime.MIN);
|
|
|
|
+ LocalDateTime endTime = LocalDateTime.of(lastDay, LocalTime.MAX);
|
|
|
|
+
|
|
|
|
+ // 查询所有审核通过的兑付通知
|
|
|
|
+ List<WmPackageRedemptionNotice> notices = packageRedemptionNoticeService.list(Wrappers.<WmPackageRedemptionNotice>lambdaQuery()
|
|
|
|
+ .eq(WmPackageRedemptionNotice::getCheckState, WmPackageRedemptionNotice.CheckState.PASSED.getState())
|
|
|
|
+ .between(WmPackageRedemptionNotice::getCreateTime, startTime, endTime)
|
|
|
|
+ .isNull(WmPackageRedemptionNotice::getAccept)
|
|
|
|
+ .orderByDesc(WmPackageRedemptionNotice::getCreateTime));
|
|
|
|
+
|
|
|
|
+ if (CollUtil.isEmpty(notices)){
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ String autoConfirmMsg = "兑付通知超过30天未确认,系统默认确认通过";
|
|
|
|
+ List<WmPackageRedemptionNotice> collect = notices.stream().map(n -> {
|
|
|
|
+ WmPackageRedemptionNotice notice = new WmPackageRedemptionNotice();
|
|
|
|
+ notice.setNoticeId(n.getNoticeId());
|
|
|
|
+ notice.setNoticeState(WmPackageRedemptionNotice.NoticeState.CONFIRM.getState());
|
|
|
|
+ notice.setAccept(true);
|
|
|
|
+ notice.setAcceptTime(LocalDateTime.now());
|
|
|
|
+ notice.setAcceptRemarks(autoConfirmMsg);
|
|
|
|
+ notice.setUpdateBy("admin");
|
|
|
|
+ notice.setUpdateTime(LocalDateTime.now());
|
|
|
|
+ return notice;
|
|
|
|
+
|
|
|
|
+ }).collect(Collectors.toList());
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ packageRedemptionNoticeService.updateBatchById(collect);
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ } finally {
|
|
|
|
+ log.info("=================[autoConfirmPackageRedemptionNotice end ]=================");
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ }
|
|
}
|
|
}
|