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> {
|
public interface IScheduleOpeningConfigService extends IService<ScheduleOpeningConfigDO> {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取所有未删除的任务
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
List<ScheduleOpeningConfigDO> getAll();
|
||||||
/**
|
/**
|
||||||
* 根据模块id和任务名称查询
|
* 根据模块id和任务名称查询
|
||||||
* @param moduleCode
|
* @param moduleCode
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|||||||
@@ -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();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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());
|
||||||
|
|||||||
Reference in New Issue
Block a user