@Scheduled(cron = "0 0 23 * * ?") // 每天23点执行\npublic void myTask() {\n // 在这里执行你的数据库操作代码\n System.out.println("定时任务执行");\n // 1.查询所有教练\n List coachList = coachService.queryAllCoaches();\n\n List updateTimeList = new ArrayList<>();// 存放新增的修改时间段\n\n for (Coach coach : coachList) {\n List defaultTimes = defaultTimeService.queryDefaultTimeByCoachID(coach.getCoachId());\n\n if (!defaultTimes.isEmpty()) {\n log.info("此教练有默认时间段");\n // 1.从定时时刻计算七天日期\n List sevenDays = RcqtUtils.getNextSevenDaysUn();\n SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");\n for (String s : sevenDays) {\n Date date = null;\n try {\n date = dateFormat.parse(s);\n\n // 2.通过教练id和日期查询修改时间段表是否有数据(把7天都查一遍)\n List updateTimes = updateTimeService.queryUpdateTimeByDate(coach.getCoachId(), date);\n if (updateTimes.isEmpty()) {\n log.info("当前日期:" + date + "没有生成对应数据");\n // 3.没有当前日期的修改时间段数据,生成新数据\n for (DefaultTime defaultTime : defaultTimes) {\n // 4.新增修改时间段\n UpdateTime updateTime = new UpdateTime();\n updateTime.setCoachId(coach.getCoachId());\n updateTime.setProjectType(defaultTime.getProjectType());\n updateTime.setCourseDate(date);\n updateTime.setStartReservationTime(defaultTime.getStartReservationTime());\n updateTime.setEndReservationTime(defaultTime.getEndReservationTime());\n updateTime.setMaxReservation(defaultTime.getMaxReservation());\n updateTime.setCourseStatus(false);// 人数未满\n updateTime.setCurrentReservation(0);// 当前预约人数0\n updateTime.setIsBreakTime(false);// 默认当前时间段不休息\n // 5.查询当前日期是周几,默认时间段里的休息日是否包含当前日期\n String week = RcqtUtils.getDayOfWeek(s);// 得到当前日期对应周几\n updateTime.setIsBreakDate(defaultTime.getRestDay().contains(week));\n updateTimeList.add(updateTime);\n }\n }\n } catch (ParseException e) {\n e.printStackTrace();\n }\n }\n\n }\n }\n\n // 6.批量新增\n boolean success = updateTimeService.saveBatch(updateTimeList);\n if (success) {\n System.out.println("批量新增成功");\n // 返回成功的逻辑处理\n } else {\n System.out.println("批量新增失败");\n // 返回失败的逻辑处理\n }\n}

每天23点自动生成教练时间段定时任务

原文地址: https://www.cveoy.top/t/topic/pwCC 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录