1.调整调度系统代码针对河北现场添加补招功能

This commit is contained in:
2024-03-01 15:51:33 +08:00
parent fb5467e553
commit 3f24e6c276
29 changed files with 80 additions and 39 deletions

View File

@@ -13,6 +13,7 @@ import com.njcn.common.utils.LogUtil;
import com.njcn.system.pojo.param.TimersParam;
import com.njcn.system.pojo.vo.TimersVO;
import com.njcn.system.service.ITimersService;
import com.njcn.web.pojo.annotation.DateTimeStrValid;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
@@ -168,13 +169,14 @@ public class TimersController extends BaseController {
* 执行一次定时任务
*
* @author hongawen
* @param date 需要执行的日期
*/
@OperateInfo(info = LogEnum.SYSTEM_COMMON)
@GetMapping("/run")
@ApiOperation("执行一次定时任务")
public HttpResult<Object> run(String id) throws InterruptedException {
public HttpResult<Object> run(@RequestParam("id") String id,@RequestParam(required = false) @DateTimeStrValid String date) throws InterruptedException {
String methodDescribe = getMethodDescribe("run");
timersService.run(id);
timersService.run(id,date);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
}

View File

@@ -32,5 +32,5 @@ public interface ITimersService extends IService<Timers> {
void stop(String id);
void run(String id) throws InterruptedException;
void run(String id,String date) throws InterruptedException;
}

View File

@@ -136,7 +136,7 @@ public class TimersServiceImpl extends ServiceImpl<TimersMapper, Timers> impleme
}
@Override
public void run(String id) throws InterruptedException {
public void run(String id,String date) throws InterruptedException {
Timers sysTimers = this.queryTimers(id);
String actionClass = sysTimers.getActionClass();
TimerTaskRunner timerTaskRunner;
@@ -145,7 +145,7 @@ public class TimersServiceImpl extends ServiceImpl<TimersMapper, Timers> impleme
} catch (ClassNotFoundException e) {
throw new BusinessException(SystemResponseEnum.TIMER_NO_CLASS);
}
runTaskWithRetryAndDelay(timerTaskRunner);
runTaskWithRetryAndDelay(timerTaskRunner,date);
}
/**
@@ -162,12 +162,12 @@ public class TimersServiceImpl extends ServiceImpl<TimersMapper, Timers> impleme
return timers;
}
public void runTaskWithRetryAndDelay(TimerTaskRunner timerTaskRunner) throws InterruptedException {
public void runTaskWithRetryAndDelay(TimerTaskRunner timerTaskRunner,String date) throws InterruptedException {
int retryCount = 0; // 重试次数计数器
while (retryCount < maxRetryCount) {
try {
System.out.println("重试机制:"+(retryCount+1));
timerTaskRunner.action();
timerTaskRunner.action(date);
System.out.println("成功重试机制:"+(retryCount+1));
return; // 任务执行成功,跳出循环
} catch (Exception e) {

View File

@@ -14,6 +14,9 @@ public interface TimerTaskRunner {
*
* @author hongawen
*/
void action();
void action(String date);
}

View File

@@ -66,7 +66,7 @@ public class HutoolTimerExeServiceImpl implements TimerExeService {
while (retryCount < maxRetryCount) {
try {
System.out.println("重试机制:"+(retryCount+1));
timerTaskRunner.action();
timerTaskRunner.action(null);
return; // 任务执行成功,跳出循环
} catch (Exception e) {
// 处理异常

View File

@@ -2,6 +2,7 @@ package com.njcn.system.timer.tasks;
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
import com.njcn.prepare.harmonic.api.liteflow.LiteFlowFeignClient;
import com.njcn.prepare.harmonic.pojo.bo.BaseParam;
import com.njcn.system.timer.TimerTaskRunner;
@@ -22,11 +23,17 @@ public class DeviceTaskRunner implements TimerTaskRunner {
private final LiteFlowFeignClient liteFlowFeignClient;
@Override
public void action() {
public void action(String date) {
BaseParam baseParam = new BaseParam();
baseParam.setFullChain(true);
baseParam.setRepair(false);
baseParam.setDataDate(DateUtil.yesterday().toString(DatePattern.NORM_DATE_PATTERN));
if(StrUtil.isBlank(date)){
baseParam.setDataDate(DateUtil.yesterday().toString(DatePattern.NORM_DATE_PATTERN));
}else {
baseParam.setDataDate(date);
}
liteFlowFeignClient.deviceExecutor(baseParam);
}
}

View File

@@ -2,6 +2,7 @@ package com.njcn.system.timer.tasks;
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
import com.njcn.prepare.harmonic.api.liteflow.LiteFlowFeignClient;
import com.njcn.prepare.harmonic.pojo.bo.BaseParam;
import com.njcn.system.timer.TimerTaskRunner;
@@ -22,11 +23,17 @@ public class GeneraTrixTaskRunner implements TimerTaskRunner {
private final LiteFlowFeignClient liteFlowFeignClient;
@Override
public void action() {
public void action(String date) {
BaseParam baseParam = new BaseParam();
baseParam.setFullChain(true);
baseParam.setRepair(false);
baseParam.setDataDate(DateUtil.yesterday().toString(DatePattern.NORM_DATE_PATTERN));
if(StrUtil.isBlank(date)){
baseParam.setDataDate(DateUtil.yesterday().toString(DatePattern.NORM_DATE_PATTERN));
}else {
baseParam.setDataDate(date);
}
liteFlowFeignClient.generaTrixExecutor(baseParam);
}
}

View File

@@ -2,6 +2,7 @@ package com.njcn.system.timer.tasks;
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
import com.njcn.prepare.harmonic.api.liteflow.LiteFlowFeignClient;
import com.njcn.prepare.harmonic.pojo.bo.BaseParam;
import com.njcn.system.timer.TimerTaskRunner;
@@ -22,11 +23,17 @@ public class MeasurementTaskRunner implements TimerTaskRunner {
private final LiteFlowFeignClient liteFlowFeignClient;
@Override
public void action() {
public void action(String date) {
BaseParam baseParam = new BaseParam();
baseParam.setFullChain(true);
baseParam.setRepair(false);
baseParam.setDataDate(DateUtil.yesterday().toString(DatePattern.NORM_DATE_PATTERN));
if(StrUtil.isBlank(date)){
baseParam.setDataDate(DateUtil.yesterday().toString(DatePattern.NORM_DATE_PATTERN));
}else {
baseParam.setDataDate(date);
}
liteFlowFeignClient.measurementPointExecutor(baseParam);
}
}

View File

@@ -24,7 +24,7 @@ public class MonitorSendOtherUserTaskRunner implements TimerTaskRunner {
@Override
public void action() {
public void action(String date) {
List<DictTreeVO> dictTreeVOS = sysDicTreePOService.queryByPid("0");
for (DictTreeVO dictTreeVO : dictTreeVOS) {
if(dictTreeVO.getCode().equals("1401")||

View File

@@ -21,7 +21,7 @@ public class MonitorSendPhotovoltaicTaskRunner implements TimerTaskRunner {
@Override
public void action() {
public void action(String date) {
//光伏电站
MonitorParam.Info param1 = new MonitorParam.Info();
param1.setObjType(sysDicTreePOService.queryByCode("1402").getId());

View File

@@ -21,7 +21,7 @@ public class MonitorSendTaskRunner implements TimerTaskRunner {
@Override
public void action() {
public void action(String date) {
//风电场
MonitorParam.Info param = new MonitorParam.Info();
param.setObjType(sysDicTreePOService.queryByCode("1401").getId());

View File

@@ -21,7 +21,7 @@ public class MonitorSendTractionStationTaskRunner implements TimerTaskRunner {
@Override
public void action() {
public void action(String date) {
//牵引站
MonitorParam.Info param3 = new MonitorParam.Info();
param3.setObjType(sysDicTreePOService.queryByCode("1300").getId());

View File

@@ -21,7 +21,7 @@ public class MonitorUserSendTaskRunner implements TimerTaskRunner {
@Override
public void action() {
public void action(String date) {
//重要或敏感用户
MonitorParam.Info param2 = new MonitorParam.Info();
param2.setObjType(sysDicTreePOService.queryByCode("2400").getId());

View File

@@ -2,6 +2,7 @@ package com.njcn.system.timer.tasks;
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
import com.njcn.prepare.harmonic.api.liteflow.LiteFlowFeignClient;
import com.njcn.prepare.harmonic.pojo.bo.BaseParam;
import com.njcn.system.timer.TimerTaskRunner;
@@ -22,11 +23,15 @@ public class OrgTaskRunner implements TimerTaskRunner {
private final LiteFlowFeignClient liteFlowFeignClient;
@Override
public void action() {
public void action(String date) {
BaseParam baseParam = new BaseParam();
baseParam.setFullChain(true);
baseParam.setRepair(false);
baseParam.setDataDate(DateUtil.yesterday().toString(DatePattern.NORM_DATE_PATTERN));
if(StrUtil.isBlank(date)){
baseParam.setDataDate(DateUtil.yesterday().toString(DatePattern.NORM_DATE_PATTERN));
}else {
baseParam.setDataDate(date);
}
liteFlowFeignClient.orgPointExecutor(baseParam);
}
}

View File

@@ -2,6 +2,7 @@ package com.njcn.system.timer.tasks;
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
import com.njcn.prepare.harmonic.api.liteflow.LiteFlowFeignClient;
import com.njcn.prepare.harmonic.pojo.bo.BaseParam;
import com.njcn.system.timer.TimerTaskRunner;
@@ -22,11 +23,15 @@ public class PmsDimTaskRunner implements TimerTaskRunner {
private final LiteFlowFeignClient liteFlowFeignClient;
@Override
public void action() {
public void action(String date) {
BaseParam baseParam = new BaseParam();
baseParam.setFullChain(true);
baseParam.setRepair(false);
baseParam.setDataDate(DateUtil.yesterday().toString(DatePattern.NORM_DATE_PATTERN));
if(StrUtil.isBlank(date)){
baseParam.setDataDate(DateUtil.yesterday().toString(DatePattern.NORM_DATE_PATTERN));
}else {
baseParam.setDataDate(date);
}
liteFlowFeignClient.pmsDimExecutor(baseParam);
}
}

View File

@@ -20,7 +20,7 @@ public class PmsMonitorLimitSendTaskRunner implements TimerTaskRunner {
@Override
public void action() {
public void action(String date) {
String code = gwMonitorPushFeignClient.pushMonitorOverLimit(new ArrayList<>()).getCode();
if(code.equals("A0002")){
throw new BusinessException("失败");

View File

@@ -23,7 +23,7 @@ public class PmsMonitorSendTaskRunner implements TimerTaskRunner {
@Override
public void action() {
public void action(String date) {
String code = gwMonitorPushFeignClient.timeTaskPushMonitor(new ArrayList<>()).getCode();
if(code.equals("A0002")){
throw new BusinessException("失败");

View File

@@ -31,7 +31,7 @@ public class PmsStatisticsSpecialMonitorTaskRunner implements TimerTaskRunner {
private final PmsStatisticsSpecialMonitorFeignClient pmsStatisticsSpecialMonitorFeignClient;
@Override
public void action() {
public void action(String date) {
log.info(LocalDateTime.now()+"专项分析-台账统计调度开始");
LineParam lineParam = new LineParam();
lineParam.setType(Integer.valueOf(BizParamConstant.STAT_BIZ_MONTH));

View File

@@ -22,7 +22,7 @@ public class PqTypicalSourceTaskRunner implements TimerTaskRunner {
@Override
public void action() {
public void action(String date) {
UploadParam param=new UploadParam();
param.setTime(DateUtil.yesterday().toString(DatePattern.NORM_DATE_PATTERN));
String code = pqTypicalSourceFeignClient.send(param).getCode();

View File

@@ -31,7 +31,7 @@ public class RMpEmissionTaskRunner implements TimerTaskRunner {
private final RMpEmissionFeignClient rMpEmissionFeignClient;
@Override
public void action() {
public void action(String date) {
log.info(LocalDateTime.now()+"发射特性调度开始");
LineParam lineParam = new LineParam();
lineParam.setType(Integer.valueOf(BizParamConstant.STAT_BIZ_MONTH));

View File

@@ -31,7 +31,7 @@ public class RMpInfluenceTaskRunner implements TimerTaskRunner {
private final RMpInfluenceFeignClient rMpInfluenceFeignClient;
@Override
public void action() {
public void action(String date) {
log.info(LocalDateTime.now()+"影响特性调度开始");
LineParam lineParam = new LineParam();
lineParam.setType(Integer.valueOf(BizParamConstant.STAT_BIZ_MONTH));

View File

@@ -24,7 +24,7 @@ public class StatisticReportTaskRunner implements TimerTaskRunner {
private final SupvStatisticReportMFeignClient supvStatisticReportMFeignClient;
@Override
public void action() {
public void action(String date) {
log.info(LocalDateTime.now()+"技术监督计划问题月报统计调用成功");
LocalDate yesterday = LocalDate.now().plusDays(-1);
supvStatisticReportMFeignClient.statisticReport(yesterday.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));

View File

@@ -2,6 +2,7 @@ package com.njcn.system.timer.tasks;
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
import com.njcn.prepare.harmonic.api.liteflow.LiteFlowFeignClient;
import com.njcn.prepare.harmonic.pojo.bo.BaseParam;
import com.njcn.system.timer.TimerTaskRunner;
@@ -22,11 +23,15 @@ public class SubstationTaskRunner implements TimerTaskRunner {
private final LiteFlowFeignClient liteFlowFeignClient;
@Override
public void action() {
public void action(String date) {
BaseParam baseParam = new BaseParam();
baseParam.setFullChain(true);
baseParam.setRepair(false);
baseParam.setDataDate(DateUtil.yesterday().toString(DatePattern.NORM_DATE_PATTERN));
if(StrUtil.isBlank(date)){
baseParam.setDataDate(DateUtil.yesterday().toString(DatePattern.NORM_DATE_PATTERN));
}else {
baseParam.setDataDate(date);
}
liteFlowFeignClient.substationExecutor(baseParam);
}
}

View File

@@ -21,7 +21,7 @@ public class UploadGwOrgAllRunner implements TimerTaskRunner {
private final LiteFlowFeignClient liteFlowFeignClient;
@Override
public void action() {
public void action(String date) {
BaseParam baseParam = new BaseParam();
baseParam.setFullChain(true);
baseParam.setRepair(false);

View File

@@ -23,7 +23,7 @@ public class UploadGwTaskEvaluationRunner implements TimerTaskRunner {
private final UploadGwDataFeignClient uploadGwDataFeignClient;
@Override
public void action() {
public void action(String date) {
UploadParam param = new UploadParam();
param.setTime(DateUtil.yesterday().toString(DatePattern.NORM_DATE_PATTERN));
String code = uploadGwDataFeignClient.uploadEvaluationData(param).getCode();

View File

@@ -23,7 +23,7 @@ public class UploadGwTaskRunner implements TimerTaskRunner {
private final UploadGwDataFeignClient uploadGwDataFeignClient;
@Override
public void action() {
public void action(String date) {
UploadParam param = new UploadParam();
param.setTime(DateUtil.yesterday().toString(DatePattern.NORM_DATE_PATTERN));
String code = uploadGwDataFeignClient.uploadPointStatisticalData(param).getCode();

View File

@@ -23,7 +23,7 @@ public class UploadGwTaskSubstationRunner implements TimerTaskRunner {
private final UploadGwDataFeignClient uploadGwDataFeignClient;
@Override
public void action() {
public void action(String date) {
UploadParam param = new UploadParam();
param.setTime(DateUtil.yesterday().toString(DatePattern.NORM_DATE_PATTERN));
String code = uploadGwDataFeignClient.uploadSubstationStatisticalData(param).getCode();

View File

@@ -22,7 +22,7 @@ public class UserLogTaskRunner implements TimerTaskRunner {
private final AuditService auditService;
@Override
public void action() {
public void action(String date) {
auditService.clearHistoryLog();
}
}

View File

@@ -31,7 +31,7 @@ public class specialAnalysisIndexOverviewTaskRunner implements TimerTaskRunner {
private final SpecialAnalysisFeignClient specialAnalysisFeignClient;
@Override
public void action() {
public void action(String date) {
log.info(LocalDateTime.now()+"专项分析-指标总览开始执行");
LineParam lineParam = new LineParam();
lineParam.setType(Integer.valueOf(BizParamConstant.STAT_BIZ_MONTH));