feat:任务加载配置
This commit is contained in:
66
src/main/java/com/xiang/ApplicationInit.java
Normal file
66
src/main/java/com/xiang/ApplicationInit.java
Normal 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);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -7,6 +7,11 @@ import java.util.List;
|
||||
|
||||
public interface IScheduleOpeningConfigService extends IService<ScheduleOpeningConfigDO> {
|
||||
|
||||
/**
|
||||
* 获取所有未删除的任务
|
||||
* @return
|
||||
*/
|
||||
List<ScheduleOpeningConfigDO> getAll();
|
||||
/**
|
||||
* 根据模块id和任务名称查询
|
||||
* @param moduleCode
|
||||
|
||||
@@ -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<ScheduleOpeningConfigDao, ScheduleOpeningConfigDO> implements IScheduleOpeningConfigService {
|
||||
@Override
|
||||
public List<ScheduleOpeningConfigDO> getAll() {
|
||||
return baseMapper.selectList(Wrappers.lambdaQuery());
|
||||
}
|
||||
|
||||
@Override
|
||||
public ScheduleOpeningConfigDO getConfigByModule(Integer moduleCode, String taskName) {
|
||||
LambdaQueryWrapper<ScheduleOpeningConfigDO> lqw = Wrappers.lambdaQuery();
|
||||
|
||||
@@ -49,6 +49,7 @@ public class ZlbTaskConfig {
|
||||
}
|
||||
|
||||
@Scheduled(cron = "30 30 16 * * ?")
|
||||
@GetMapping("/zlbUserConfig")
|
||||
public void zlbUserConfig() {
|
||||
zlbUserConfigTask.run();
|
||||
}
|
||||
|
||||
@@ -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());
|
||||
|
||||
Reference in New Issue
Block a user