| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138 |
- package com.ydtech.modules.order.timer;
- import com.xxl.job.core.handler.annotation.XxlJob;
- import com.ydtech.modules.admin.utils.SliceUpDateUtil;
- import com.ydtech.modules.order.service.InsOrderPayDateRecordService;
- import com.ydtech.utils.DateUtil;
- import lombok.extern.slf4j.Slf4j;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.scheduling.annotation.Async;
- import org.springframework.scheduling.annotation.EnableAsync;
- import org.springframework.scheduling.annotation.Scheduled;
- import org.springframework.stereotype.Component;
- import java.text.SimpleDateFormat;
- import java.util.Date;
- /**
- * @version
- * @author: hxl
- * @Date: 2024/10/22 10:45
- * @Description: 定时订单的缴费时间和签单时间
- */
- @Slf4j
- @Component
- @EnableAsync
- public class UpdateOrderTimer {
- @Autowired
- private InsOrderPayDateRecordService insOrderPayDateRecordService;
- /**
- * @version
- * @author: hxl
- * @Date: 2024/12/27 17:26
- * @Description: 每10分钟执行下更新订单时间
- */
- // @Async
- // @Scheduled(cron = "0 0/30 * * * ?")
- @XxlJob("updateOrderDateMinite")
- public void updateOrderDateMinite() {
- String benginDate = DateUtil.getDateFormat(new Date(), "yyyy-MM-dd")+" 00:00:00";
- String endDate = DateUtil.getDateFormat(new Date(), "yyyy-MM-dd")+" 23:59:59";
- updateOrderDate(benginDate,endDate);
- }
- /**
- * @version
- * @author: hxl
- * @Date: 2024/10/22 10:47
- * @Description:
- * 中午一点
- * 凌晨一点
- */
- @Async
- @Scheduled(cron = "0 0 13 * * ?")
- public void updateOrderDateNoon() {
- //更新前一周的数据
- String benginDate = SliceUpDateUtil.getBeforeDay(new Date(), 1) + " 00:00:00";
- String endDate = SliceUpDateUtil.getBeforeDay(new Date(), 0) + " 23:59:59";
- updateOrderDate(benginDate,endDate);
- }
- @Async
- @Scheduled(cron = "0 0 1 * * ?")
- public void updateOrderDateBeforeDawn() {
- String benginDate = SliceUpDateUtil.getBeforeDay(new Date(), 1) + " 00:00:00";
- String endDate = SliceUpDateUtil.getBeforeDay(new Date(), 0) + " 23:59:59";
- updateOrderDate(benginDate,endDate);
- }
- private void updateOrderDate(String benginDate,String endDate) {
- log.info("定时更新订单的签单时间和缴费日期,启动时间:{}", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"));
- //中午1点到凌晨1点
- // String benginDate = DateUtil.getDateFormat(new Date(), "yyyy-MM-dd")+" 00:00:00";
- // String endDate = DateUtil.getDateFormat(new Date(), "yyyy-MM-dd")+" 23:59:59";
- try {
- insOrderPayDateRecordService.batchOrderDate(benginDate,endDate);
- log.info("定时更新订单的签单时间和缴费日期成功");
- } catch (Exception e) {
- e.printStackTrace();
- log.error("定时更新订单的签单时间和缴费日期失败:{}", e.getMessage());
- }
- }
- /**
- * @version
- * @author: hxl
- * @Date: 2024/12/30 9:59
- * @Description: 自动更新结算表中签单日期为空的数据
- */
- // @Async
- // @Scheduled(cron = "0 0/30 * * * ?")
- @XxlJob("updateOrderPlyDateMinite")
- public void updateOrderPlyDateMinite() {
- String benginDate = DateUtil.getDateFormat(new Date(), "yyyy-MM-dd")+" 00:00:00";
- String endDate = DateUtil.getDateFormat(new Date(), "yyyy-MM-dd")+" 23:59:59";
- updatePlyDate(benginDate,endDate);
- }
- /**
- * @version
- * @author: hxl
- * @Date: 2024/12/30 9:59
- * @Description: 晚上一点执行上周数据
- */
- @Async
- @Scheduled(cron = "0 0 1 * * ?")
- public void updateOrderPlyDateBeforeDawn() {
- String benginDate = SliceUpDateUtil.getBeforeDay(new Date(), 1) + " 00:00:00";
- String endDate = SliceUpDateUtil.getBeforeDay(new Date(), 0) + " 23:59:59";
- updatePlyDate(benginDate,endDate);
- }
- /**
- * @version
- * @author: hxl
- * @Date: 2024/12/30 9:59
- * @Description: 中午一点更新上周数据
- */
- @Async
- @Scheduled(cron = "0 0 13 * * ?")
- public void updateOrderPlyDateNoon() {
- String benginDate = SliceUpDateUtil.getBeforeDay(new Date(), 1) + " 00:00:00";
- String endDate = SliceUpDateUtil.getBeforeDay(new Date(), 0) + " 23:59:59";
- updatePlyDate(benginDate,endDate);
- }
- private void updatePlyDate(String benginDate,String endDate) {
- try {
- insOrderPayDateRecordService.batchOrderPlyOrderDate(benginDate,endDate);
- log.info("定时更新结算表的签单时间和缴费日期成功"+new Date().toString());
- } catch (Exception e) {
- e.printStackTrace();
- log.error("定时更新结算表的签单时间和缴费日期失败:{}", e.getMessage());
- }
- }
- }
|