From 67d06a785d5fc4524639ace27651c01ff05a4b58 Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期四, 29 五月 2025 22:31:33 +0800
Subject: [PATCH] 修改bug

---
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/util/task/TaskUtil.java |   38 ++++++++++++++++++--------------------
 1 files changed, 18 insertions(+), 20 deletions(-)

diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/util/task/TaskUtil.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/util/task/TaskUtil.java
index e579cea..af4ac78 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/util/task/TaskUtil.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/util/task/TaskUtil.java
@@ -6,7 +6,9 @@
 import com.ruoyi.chargingPile.api.feignClient.SiteClient;
 import com.ruoyi.chargingPile.api.model.Site;
 import com.ruoyi.order.api.model.TChargingBill;
+import com.ruoyi.order.api.model.TChargingOrder;
 import com.ruoyi.order.service.TChargingBillService;
+import com.ruoyi.order.service.TChargingOrderService;
 import org.apache.logging.log4j.core.util.UuidUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.scheduling.annotation.Scheduled;
@@ -34,21 +36,12 @@
     private TChargingBillService chargingBillService;
     @Resource
     private SiteClient siteClient;
-
-    public static void main(String[] args) {
-        LocalDate firstDayOfLastMonth = LocalDate.now().minusMonths(1).
-                withDayOfMonth(2);
-        String string = firstDayOfLastMonth.toString();
-        // 将-替换为空字符串
-        string = string.replace("-", "");
-        System.err.println(string);
-    }
-    // 每月2号凌晨12点执行的定时任务
-//    @Scheduled(cron = "0 0 0 2 * ?")
-    // 每天凌晨12点执行的定时任务
+    @Resource
+    private TChargingOrderService chargingOrderService;
 
 
-@Scheduled(cron = "0 0 12 1 * ?")
+
+    @Scheduled(cron = "0 0 0 2 * ?")
     public void taskMonth() {
         try {
             // 获取上个月的开始和结束日期
@@ -103,6 +96,11 @@
                         .collect(Collectors.joining()); // 将其连接成一个字符串
                 tChargingBill2.setCode("JSD"+string+randomDigits2+(i+1) );
                 tChargingBill2.setType(2);
+                List<TChargingOrder> list = chargingOrderService.lambdaQuery()
+                        .eq(TChargingOrder::getSiteId, collect.get(i)).list();
+                if (list.isEmpty()){
+                    continue;
+                }
                 tChargingBill2.setSiteId(collect.get(i));
                 tChargingBill2.setBillTime(LocalDateTime.now());
                 tChargingBill2.setBillType(1);
@@ -118,7 +116,7 @@
                 tChargingBill3.setType(2);
                 tChargingBill3.setSiteId(collect.get(i));
                 tChargingBill3.setBillTime(LocalDateTime.now());
-                tChargingBill3.setBillType(1);
+                tChargingBill3.setBillType(2);
                 tChargingBill3.setStatus(1);
                 tChargingBill3.setOrderState(2);
                 tChargingBills1.add(tChargingBill3);
@@ -132,8 +130,8 @@
         }
     }
 
-    // 每天晚上23:59:59执行的定时任务
-    @Scheduled(cron = "0 0 23 1 * ?")
+    // 每个月最后一天23点执行的定时任务
+    @Scheduled(cron = "0 0 23 * * ?")
     public void taskLastDay() {
         try {
             // 获取上个月的开始和结束日期
@@ -146,10 +144,10 @@
             LocalDateTime endDateTime = lastDayOfLastMonth.atTime(23, 59, 59); // 设定到最后一秒
             // 构建查询条件
             LambdaQueryWrapper<TChargingBill> queryWrapper = new LambdaQueryWrapper<>();
-//            queryWrapper.ge(TChargingBill::getBillTime,
-//                            Date.from(startDateTime.atZone(ZoneId.systemDefault()).toInstant()))
-//                    .le(TChargingBill::getBillTime,
-//                            Date.from(endDateTime.atZone(ZoneId.systemDefault()).toInstant())); // 使用 le 包括最后一天的记录
+            queryWrapper.ge(TChargingBill::getBillTime,
+                            Date.from(startDateTime.atZone(ZoneId.systemDefault()).toInstant()))
+                    .le(TChargingBill::getBillTime,
+                            Date.from(endDateTime.atZone(ZoneId.systemDefault()).toInstant())); // 使用 le 包括最后一天的记录
             List<TChargingBill> list = chargingBillService.list(queryWrapper);
             for (TChargingBill tChargingBill : list) {
                 tChargingBill.setStatus(2);

--
Gitblit v1.7.1