feat:任务加载配置

This commit is contained in:
Xiang
2026-05-08 14:57:50 +08:00
parent 0a8e853753
commit 04862d861a
5 changed files with 80 additions and 1 deletions

View File

@@ -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<ScheduleOpeningConfigDO> allSchedules = scheduleOpeningConfigService.getAll();
Map<String, ScheduleOpeningConfigDO> 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<ScheduleOpeningConfigDO> 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);
}
}
}

View File

@@ -7,6 +7,11 @@ import java.util.List;
public interface IScheduleOpeningConfigService extends IService<ScheduleOpeningConfigDO> { public interface IScheduleOpeningConfigService extends IService<ScheduleOpeningConfigDO> {
/**
* 获取所有未删除的任务
* @return
*/
List<ScheduleOpeningConfigDO> getAll();
/** /**
* 根据模块id和任务名称查询 * 根据模块id和任务名称查询
* @param moduleCode * @param moduleCode

View File

@@ -7,9 +7,16 @@ import com.xiang.common.mapper.ScheduleOpeningConfigDao;
import com.xiang.common.pojo.schedule.ScheduleOpeningConfigDO; import com.xiang.common.pojo.schedule.ScheduleOpeningConfigDO;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List;
@Service @Service
public class ScheduleOpeningConfigServiceImpl extends ServiceImpl<ScheduleOpeningConfigDao, ScheduleOpeningConfigDO> implements IScheduleOpeningConfigService { public class ScheduleOpeningConfigServiceImpl extends ServiceImpl<ScheduleOpeningConfigDao, ScheduleOpeningConfigDO> implements IScheduleOpeningConfigService {
@Override
public List<ScheduleOpeningConfigDO> getAll() {
return baseMapper.selectList(Wrappers.lambdaQuery());
}
@Override @Override
public ScheduleOpeningConfigDO getConfigByModule(Integer moduleCode, String taskName) { public ScheduleOpeningConfigDO getConfigByModule(Integer moduleCode, String taskName) {
LambdaQueryWrapper<ScheduleOpeningConfigDO> lqw = Wrappers.lambdaQuery(); LambdaQueryWrapper<ScheduleOpeningConfigDO> lqw = Wrappers.lambdaQuery();

View File

@@ -49,6 +49,7 @@ public class ZlbTaskConfig {
} }
@Scheduled(cron = "30 30 16 * * ?") @Scheduled(cron = "30 30 16 * * ?")
@GetMapping("/zlbUserConfig")
public void zlbUserConfig() { public void zlbUserConfig() {
zlbUserConfigTask.run(); zlbUserConfigTask.run();
} }

View File

@@ -101,7 +101,7 @@ public class ZlbUserConfigTask extends BaseScheduleTaskTemplate {
ZlbUserInfo zlbUserInfo = new ZlbUserInfo(); ZlbUserInfo zlbUserInfo = new ZlbUserInfo();
zlbUserInfo.setLoginInfoId(user.getLoginInfoId()); zlbUserInfo.setLoginInfoId(user.getLoginInfoId());
zlbUserInfo.setName(user.getName()); zlbUserInfo.setName(user.getName());
zlbUserInfo.setWeek(DateUtils.getWeekDay(zlbSiteInfo.getBelongDate())); zlbUserInfo.setWeek(DateUtils.getWeekDayTwo(zlbSiteInfo.getBelongDate()));
zlbUserInfo.setType("1"); zlbUserInfo.setType("1");
zlbUserInfo.setPlaceName(zlbSiteInfo.getPlaceName()); zlbUserInfo.setPlaceName(zlbSiteInfo.getPlaceName());
zlbUserInfo.setSiteTimeName(zlbSiteInfo.getDayEffectiveTimes()); zlbUserInfo.setSiteTimeName(zlbSiteInfo.getDayEffectiveTimes());