From 04862d861af0e84d194bee33f20b5323f3716106 Mon Sep 17 00:00:00 2001 From: Xiang Date: Fri, 8 May 2026 14:57:50 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E4=BB=BB=E5=8A=A1=E5=8A=A0=E8=BD=BD?= =?UTF-8?q?=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/xiang/ApplicationInit.java | 66 +++++++++++++++++++ .../IScheduleOpeningConfigService.java | 5 ++ .../ScheduleOpeningConfigServiceImpl.java | 7 ++ .../jntyzx/zlb/schedule/ZlbTaskConfig.java | 1 + .../zlb/schedule/ZlbUserConfigTask.java | 2 +- 5 files changed, 80 insertions(+), 1 deletion(-) create mode 100644 src/main/java/com/xiang/ApplicationInit.java diff --git a/src/main/java/com/xiang/ApplicationInit.java b/src/main/java/com/xiang/ApplicationInit.java new file mode 100644 index 0000000..ca65b5b --- /dev/null +++ b/src/main/java/com/xiang/ApplicationInit.java @@ -0,0 +1,66 @@ +package com.xiang; + +import com.google.common.collect.Lists; +import com.google.common.collect.Maps; +import com.xiang.common.enums.ScheduleEnums; +import com.xiang.common.pojo.schedule.ScheduleOpeningConfigDO; +import com.xiang.common.service.IScheduleOpeningConfigService; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.ArrayUtils; +import org.springframework.boot.ApplicationArguments; +import org.springframework.boot.ApplicationRunner; +import org.springframework.stereotype.Component; + +import java.util.List; +import java.util.Map; +import java.util.function.Function; +import java.util.stream.Collectors; + +/** + * @Author: xiang + * @Date: 2026-05-08 14:32 + */ +@Slf4j +@Component +@RequiredArgsConstructor +public class ApplicationInit implements ApplicationRunner { + + private final IScheduleOpeningConfigService scheduleOpeningConfigService; + + @Override + public void run(ApplicationArguments args) throws Exception { + + log.info("开始加载任务配置!"); + loadScheduleTask(); + log.info("任务配置加载完成!"); + } + + private void loadScheduleTask() { + List allSchedules = scheduleOpeningConfigService.getAll(); + Map map = Maps.newHashMap(); + if (CollectionUtils.isNotEmpty(allSchedules)) { + map.putAll(allSchedules.stream().collect(Collectors.toMap(ScheduleOpeningConfigDO::getBeanName, Function.identity(), (a, b) -> a))); + } + ScheduleEnums[] enums = ScheduleEnums.values(); + if (ArrayUtils.isEmpty(enums)) { + log.info("暂无需要配置的"); + return; + } + List list = Lists.newArrayList(); + for (ScheduleEnums scheduleEnum : enums) { + if (map.containsKey(scheduleEnum.getTaskName())) { + continue; + } + ScheduleOpeningConfigDO scheduleOpeningConfigDO = new ScheduleOpeningConfigDO(); + scheduleOpeningConfigDO.setModule(scheduleEnum.getModeleCode()); + scheduleOpeningConfigDO.setBeanName(scheduleEnum.getTaskName()); + scheduleOpeningConfigDO.setStatus(1); + list.add(scheduleOpeningConfigDO); + } + if (CollectionUtils.isNotEmpty(list)) { + scheduleOpeningConfigService.saveBatch(list); + } + } +} diff --git a/src/main/java/com/xiang/common/service/IScheduleOpeningConfigService.java b/src/main/java/com/xiang/common/service/IScheduleOpeningConfigService.java index 597bd24..95ad703 100644 --- a/src/main/java/com/xiang/common/service/IScheduleOpeningConfigService.java +++ b/src/main/java/com/xiang/common/service/IScheduleOpeningConfigService.java @@ -7,6 +7,11 @@ import java.util.List; public interface IScheduleOpeningConfigService extends IService { + /** + * 获取所有未删除的任务 + * @return + */ + List getAll(); /** * 根据模块id和任务名称查询 * @param moduleCode diff --git a/src/main/java/com/xiang/common/service/ScheduleOpeningConfigServiceImpl.java b/src/main/java/com/xiang/common/service/ScheduleOpeningConfigServiceImpl.java index 69816e3..7b3df46 100644 --- a/src/main/java/com/xiang/common/service/ScheduleOpeningConfigServiceImpl.java +++ b/src/main/java/com/xiang/common/service/ScheduleOpeningConfigServiceImpl.java @@ -7,9 +7,16 @@ import com.xiang.common.mapper.ScheduleOpeningConfigDao; import com.xiang.common.pojo.schedule.ScheduleOpeningConfigDO; import org.springframework.stereotype.Service; +import java.util.List; + @Service public class ScheduleOpeningConfigServiceImpl extends ServiceImpl implements IScheduleOpeningConfigService { + @Override + public List getAll() { + return baseMapper.selectList(Wrappers.lambdaQuery()); + } + @Override public ScheduleOpeningConfigDO getConfigByModule(Integer moduleCode, String taskName) { LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); diff --git a/src/main/java/com/xiang/service/module/jntyzx/zlb/schedule/ZlbTaskConfig.java b/src/main/java/com/xiang/service/module/jntyzx/zlb/schedule/ZlbTaskConfig.java index d9edb9a..a267f4a 100644 --- a/src/main/java/com/xiang/service/module/jntyzx/zlb/schedule/ZlbTaskConfig.java +++ b/src/main/java/com/xiang/service/module/jntyzx/zlb/schedule/ZlbTaskConfig.java @@ -49,6 +49,7 @@ public class ZlbTaskConfig { } @Scheduled(cron = "30 30 16 * * ?") + @GetMapping("/zlbUserConfig") public void zlbUserConfig() { zlbUserConfigTask.run(); } diff --git a/src/main/java/com/xiang/service/module/jntyzx/zlb/schedule/ZlbUserConfigTask.java b/src/main/java/com/xiang/service/module/jntyzx/zlb/schedule/ZlbUserConfigTask.java index 06db0b5..7f10448 100644 --- a/src/main/java/com/xiang/service/module/jntyzx/zlb/schedule/ZlbUserConfigTask.java +++ b/src/main/java/com/xiang/service/module/jntyzx/zlb/schedule/ZlbUserConfigTask.java @@ -101,7 +101,7 @@ public class ZlbUserConfigTask extends BaseScheduleTaskTemplate { ZlbUserInfo zlbUserInfo = new ZlbUserInfo(); zlbUserInfo.setLoginInfoId(user.getLoginInfoId()); zlbUserInfo.setName(user.getName()); - zlbUserInfo.setWeek(DateUtils.getWeekDay(zlbSiteInfo.getBelongDate())); + zlbUserInfo.setWeek(DateUtils.getWeekDayTwo(zlbSiteInfo.getBelongDate())); zlbUserInfo.setType("1"); zlbUserInfo.setPlaceName(zlbSiteInfo.getPlaceName()); zlbUserInfo.setSiteTimeName(zlbSiteInfo.getDayEffectiveTimes());