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