1.定时任务提交

This commit is contained in:
wr
2024-01-09 10:59:19 +08:00
parent 51c5843cb7
commit 7f7d7cf058
10 changed files with 179 additions and 8 deletions

View File

@@ -0,0 +1,24 @@
package com.njcn.harmonic.api;
import com.njcn.common.pojo.constant.ServerInfo;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.harmonic.api.fallback.PqTypicalSourceFallbackFactory;
import com.njcn.harmonic.pojo.param.UploadParam;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
/**
* @author xuyang
*/
@FeignClient(
value = ServerInfo.HARMONIC,
path = "/pqTypicalSourceCreate",
fallbackFactory = PqTypicalSourceFallbackFactory.class,
contextId = "pqTypicalSourceCreate")
public interface PqTypicalSourceFeignClient {
@PostMapping("/send")
HttpResult<String> send(@RequestBody UploadParam uploadParam);
}

View File

@@ -0,0 +1,39 @@
package com.njcn.harmonic.api.fallback;
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.exception.BusinessException;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.harmonic.api.PqTypicalSourceFeignClient;
import com.njcn.harmonic.pojo.param.UploadParam;
import com.njcn.harmonic.utils.HarmonicEnumUtil;
import feign.hystrix.FallbackFactory;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
/**
* @author xuyang
* @version 1.0.0
* @date 2023年12月15日 13:50
*/
@Slf4j
@Component
public class PqTypicalSourceFallbackFactory implements FallbackFactory<PqTypicalSourceFeignClient> {
@Override
public PqTypicalSourceFeignClient create(Throwable throwable) {
//判断抛出异常是否为解码器抛出的业务异常
Enum<?> exceptionEnum = CommonResponseEnum.SERVICE_FALLBACK;
if (throwable.getCause() instanceof BusinessException) {
BusinessException businessException = (BusinessException) throwable.getCause();
exceptionEnum = HarmonicEnumUtil.getExceptionEnum(businessException.getResult());
}
Enum<?> finalExceptionEnum = exceptionEnum;
return new PqTypicalSourceFeignClient() {
@Override
public HttpResult<String> send(UploadParam uploadParam) {
log.error("{}异常,降级处理,异常为:{}", "国网上送-典型源荷指标统计数据", throwable.toString());
throw new BusinessException(finalExceptionEnum);
}
};
}
}

View File

@@ -61,7 +61,7 @@ public class TimersServiceImpl extends ServiceImpl<TimersMapper, Timers> impleme
//查询参数不为空,进行条件填充 //查询参数不为空,进行条件填充
if (StrUtil.isNotBlank(queryParam.getSearchValue())) { if (StrUtil.isNotBlank(queryParam.getSearchValue())) {
//定时任务,待提供名称、编码模糊查询 todo... //定时任务,待提供名称、编码模糊查询 todo...
queryWrapper.like("timer_name", queryParam.getSearchValue());
} }
} }
if (!Objects.isNull(queryParam.getSearchState())){ if (!Objects.isNull(queryParam.getSearchState())){

View File

@@ -0,0 +1,25 @@
package com.njcn.system.timer.tasks;
import com.njcn.device.pms.api.GwMonitorPushFeignClient;
import com.njcn.system.timer.TimerTaskRunner;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Component;
import java.util.ArrayList;
/**
*
*/
@Component
@RequiredArgsConstructor
public class PmsMonitorLimitSendTaskRunner implements TimerTaskRunner {
private final GwMonitorPushFeignClient gwMonitorPushFeignClient;
@Override
public void action() {
gwMonitorPushFeignClient.pushMonitorOverLimit(new ArrayList<>());
}
}

View File

@@ -23,10 +23,6 @@ public class PmsMonitorSendTaskRunner implements TimerTaskRunner {
@Override @Override
public void action() { public void action() {
gwMonitorPushFeignClient.timeTaskPushMonitor(new ArrayList<>()); gwMonitorPushFeignClient.timeTaskPushMonitor(new ArrayList<>());
gwMonitorPushFeignClient.pushMonitorOverLimit(new ArrayList<>());
} }
} }

View File

@@ -0,0 +1,29 @@
package com.njcn.system.timer.tasks;
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUtil;
import com.njcn.harmonic.api.PqTypicalSourceFeignClient;
import com.njcn.harmonic.pojo.param.UploadParam;
import com.njcn.system.timer.TimerTaskRunner;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Component;
/**
* 典型源荷指标统计数据
*/
@Component
@RequiredArgsConstructor
public class PqTypicalSourceTaskRunner implements TimerTaskRunner {
private final PqTypicalSourceFeignClient pqTypicalSourceFeignClient;
@Override
public void action() {
UploadParam param=new UploadParam();
param.setTime(DateUtil.yesterday().toString(DatePattern.NORM_DATE_PATTERN));
pqTypicalSourceFeignClient.send(param);
}
}

View File

@@ -0,0 +1,30 @@
package com.njcn.system.timer.tasks;
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUtil;
import com.njcn.harmonic.api.UploadGwDataFeignClient;
import com.njcn.harmonic.pojo.param.UploadParam;
import com.njcn.system.timer.TimerTaskRunner;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Component;
/**
* 类的介绍:国网数据每日上送定时任务
*
* @author xuyang
* @version 1.0.0
* @createTime 2023/12/15 13:45
*/
@Component
@RequiredArgsConstructor
public class UploadGwTaskEvaluationRunner implements TimerTaskRunner {
private final UploadGwDataFeignClient uploadGwDataFeignClient;
@Override
public void action() {
UploadParam param = new UploadParam();
param.setTime(DateUtil.yesterday().toString(DatePattern.NORM_DATE_PATTERN));
uploadGwDataFeignClient.uploadEvaluationData(param);
}
}

View File

@@ -26,7 +26,5 @@ public class UploadGwTaskRunner implements TimerTaskRunner {
UploadParam param = new UploadParam(); UploadParam param = new UploadParam();
param.setTime(DateUtil.yesterday().toString(DatePattern.NORM_DATE_PATTERN)); param.setTime(DateUtil.yesterday().toString(DatePattern.NORM_DATE_PATTERN));
uploadGwDataFeignClient.uploadPointStatisticalData(param); uploadGwDataFeignClient.uploadPointStatisticalData(param);
uploadGwDataFeignClient.uploadSubstationStatisticalData(param);
uploadGwDataFeignClient.uploadEvaluationData(param);
} }
} }

View File

@@ -0,0 +1,30 @@
package com.njcn.system.timer.tasks;
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUtil;
import com.njcn.harmonic.api.UploadGwDataFeignClient;
import com.njcn.harmonic.pojo.param.UploadParam;
import com.njcn.system.timer.TimerTaskRunner;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Component;
/**
* 类的介绍:国网数据每日上送定时任务
*
* @author xuyang
* @version 1.0.0
* @createTime 2023/12/15 13:45
*/
@Component
@RequiredArgsConstructor
public class UploadGwTaskSubstationRunner implements TimerTaskRunner {
private final UploadGwDataFeignClient uploadGwDataFeignClient;
@Override
public void action() {
UploadParam param = new UploadParam();
param.setTime(DateUtil.yesterday().toString(DatePattern.NORM_DATE_PATTERN));
uploadGwDataFeignClient.uploadSubstationStatisticalData(param);
}
}

View File

@@ -55,7 +55,7 @@ mybatis-plus:
runTake: runTake:
#最大重试次数 #最大重试次数
maxRetryCount: 5 maxRetryCount: 10
#等待时间(毫秒) #等待时间(毫秒)
delayTime: 5000 delayTime: 5000