xuhy
2025-01-07 88ac2574d89aed7c28b9c0370b19b8bb2d0364eb
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/util/task/TaskUtil.java
@@ -39,21 +39,9 @@
    @Resource
    private TChargingOrderService chargingOrderService;
    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点执行的定时任务
@Scheduled(cron = "0 0 0 * * ?")
//@Scheduled(fixedRate = 60000)
    @Scheduled(cron = "0 0 0 2 * ?")
    public void taskMonth() {
        try {
            // 获取上个月的开始和结束日期
@@ -142,7 +130,7 @@
        }
    }
    // 每天晚上23:59:59执行的定时任务
    // 每个月最后一天凌晨23点执行的定时任务
    @Scheduled(cron = "0 0 23 * * ?")
    public void taskLastDay() {
        try {
@@ -156,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);