监测点稳态指标越限次数统计
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
package com.njcn.algorithm.executor;
|
||||
|
||||
import com.njcn.algorithm.service.line.IDataCleanService;
|
||||
import com.njcn.algorithm.service.line.IDataCrossingService;
|
||||
import com.njcn.algorithm.service.line.IDayDataService;
|
||||
import com.yomahub.liteflow.annotation.LiteflowComponent;
|
||||
import com.yomahub.liteflow.annotation.LiteflowMethod;
|
||||
@@ -28,8 +29,8 @@ public class MeasurementExecutor extends BaseExecutor {
|
||||
@Resource
|
||||
private IDataCleanService dataCleanService;
|
||||
|
||||
|
||||
|
||||
@Resource
|
||||
private IDataCrossingService dataCrossingService;
|
||||
/**
|
||||
* 数据清洗 电压表
|
||||
* dataV表
|
||||
@@ -289,4 +290,12 @@ public class MeasurementExecutor extends BaseExecutor {
|
||||
|
||||
|
||||
|
||||
@LiteflowMethod(value = LiteFlowMethodEnum.IS_ACCESS, nodeId = "dataLimitRate", nodeType = NodeTypeEnum.COMMON)
|
||||
public boolean dataLimitRateAccess(NodeComponent bindCmp) {
|
||||
return isAccess(bindCmp);
|
||||
}
|
||||
@LiteflowMethod(value = LiteFlowMethodEnum.PROCESS, nodeId = "dataLimitRate", nodeType = NodeTypeEnum.COMMON)
|
||||
public void dataLimitRateProcess(NodeComponent bindCmp) {
|
||||
dataCrossingService.limitRateHandler(bindCmp.getRequestData());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -57,7 +57,8 @@ public class IDataCrossingServiceImpl implements IDataCrossingService {
|
||||
private DataInharmVFeignClient dataInharmVFeignClient;
|
||||
@Resource
|
||||
private DataHarmRateVFeignClient dataHarmRateVFeignClient;
|
||||
|
||||
@Resource
|
||||
private DataLimitRateFeignClient dataLimitRateFeignClient;
|
||||
|
||||
@Override
|
||||
public void limitRateHandler(CalculatedParam calculatedParam) {
|
||||
@@ -204,10 +205,9 @@ public class IDataCrossingServiceImpl implements IDataCrossingService {
|
||||
|
||||
if (CollUtil.isNotEmpty(result)) {
|
||||
//存储数据
|
||||
|
||||
dataLimitRateFeignClient.batchInsertion(result);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
package com.njcn.dataProcess.api;
|
||||
|
||||
import com.njcn.common.pojo.constant.ServerInfo;
|
||||
import com.njcn.common.pojo.response.HttpResult;
|
||||
import com.njcn.dataProcess.api.fallback.DataIFeignClientFallbackFactory;
|
||||
import com.njcn.dataProcess.pojo.dto.DataLimitRateDto;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Description:
|
||||
* @Author: wr
|
||||
* @Date: 2025/3/7 9:30
|
||||
*/
|
||||
@FeignClient(value = ServerInfo.PLATFORM_DATA_PROCESSING_BOOT, path = "/dataLimitRate", fallbackFactory = DataIFeignClientFallbackFactory.class, contextId = "dataLimitRate")
|
||||
public interface DataLimitRateFeignClient {
|
||||
|
||||
@PostMapping("/batchInsertion")
|
||||
HttpResult<String> batchInsertion(@RequestBody List<DataLimitRateDto> dataIDTOList);
|
||||
|
||||
}
|
||||
@@ -0,0 +1,47 @@
|
||||
package com.njcn.dataProcess.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.dataProcess.api.DataLimitRateFeignClient;
|
||||
import com.njcn.dataProcess.pojo.dto.DataLimitRateDto;
|
||||
import com.njcn.dataProcess.util.DataProcessingEnumUtil;
|
||||
import feign.hystrix.FallbackFactory;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Description:
|
||||
* @Author: wr
|
||||
* @Date: 2025/3/7 9:30
|
||||
*/
|
||||
@Slf4j
|
||||
@Component
|
||||
public class DataLimitRateFeignClientFallbackFactory implements FallbackFactory<DataLimitRateFeignClient> {
|
||||
|
||||
|
||||
/**
|
||||
* 输出远程请求接口异常日志
|
||||
* @param cause RPC请求异常
|
||||
*/
|
||||
@Override
|
||||
public DataLimitRateFeignClient create(Throwable cause) {
|
||||
//判断抛出异常是否为解码器抛出的业务异常
|
||||
Enum<?> exceptionEnum = CommonResponseEnum.SERVICE_FALLBACK;
|
||||
if(cause.getCause() instanceof BusinessException){
|
||||
BusinessException businessException = (BusinessException) cause.getCause();
|
||||
exceptionEnum = DataProcessingEnumUtil.getExceptionEnum(businessException.getResult());
|
||||
}
|
||||
Enum<?> finalExceptionEnum = exceptionEnum;
|
||||
return new DataLimitRateFeignClient() {
|
||||
|
||||
@Override
|
||||
public HttpResult<String> batchInsertion(List<DataLimitRateDto> dataIDTOList) {
|
||||
log.error("{}异常,降级处理,异常为:{}","批量插入数据",cause.toString());
|
||||
throw new BusinessException(finalExceptionEnum);
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
@@ -40,7 +40,7 @@ import java.util.Map;
|
||||
@Slf4j
|
||||
@Controller
|
||||
@RestController
|
||||
@RequestMapping("/dataV")
|
||||
@RequestMapping("/dataLimitRate")
|
||||
@Api(tags = "电压类数据获取")
|
||||
public class DataLimitRateController extends BaseController {
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@ public interface ILimitRateService extends IMppService<RStatLimitRateD> {
|
||||
|
||||
/**
|
||||
* 批量插入数据
|
||||
* @param dataVDTOList
|
||||
* @param limitRateList
|
||||
*/
|
||||
void batchInsertion(List<DataLimitRateDto> dataVDTOList);
|
||||
void batchInsertion(List<DataLimitRateDto> limitRateList);
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.njcn.dataProcess.service.impl.influxdb;
|
||||
|
||||
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||
import com.njcn.dataProcess.dao.imapper.DataVMapper;
|
||||
import com.njcn.dataProcess.dao.relation.mapper.RStatLimitRateRelationMapper;
|
||||
import com.njcn.dataProcess.pojo.dto.DataLimitRateDto;
|
||||
import com.njcn.dataProcess.pojo.po.RStatLimitRateD;
|
||||
@@ -17,12 +18,12 @@ import java.util.List;
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
@Service("InfluxdbILimitRateImpl")
|
||||
@Service("InfluxdbLimitRateImpl")
|
||||
@RequiredArgsConstructor
|
||||
public class InfluxdbLimitRateImpl extends MppServiceImpl<RStatLimitRateRelationMapper, RStatLimitRateD> implements ILimitRateService {
|
||||
|
||||
@Override
|
||||
public void batchInsertion(List<DataLimitRateDto> dataVDTOList) {
|
||||
public void batchInsertion(List<DataLimitRateDto> limitRateList) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -15,7 +15,7 @@ import java.util.List;
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
@Service
|
||||
@Service("RelationDataHarmRateVCvtImpl")
|
||||
public class RelationDataHarmRateVCvtImpl implements IDataHarmRateVCvt {
|
||||
@Override
|
||||
public List<DataHarmRateVCvtDto> getRawData(LineCountEvaluateParam lineParam) {
|
||||
|
||||
@@ -3,11 +3,17 @@ package com.njcn.dataProcess.service.impl.relation;
|
||||
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||
import com.njcn.dataProcess.dao.relation.mapper.RStatLimitRateRelationMapper;
|
||||
import com.njcn.dataProcess.pojo.dto.DataLimitRateDto;
|
||||
import com.njcn.dataProcess.pojo.po.RStatDataVD;
|
||||
import com.njcn.dataProcess.pojo.po.RStatLimitRateD;
|
||||
import com.njcn.dataProcess.service.IDataV;
|
||||
import com.njcn.dataProcess.service.ILimitRateService;
|
||||
import com.njcn.dataProcess.util.TimeUtils;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
@@ -16,13 +22,21 @@ import java.util.List;
|
||||
* @version 1.0
|
||||
* @data 2024/11/7 11:02
|
||||
*/
|
||||
@Service("RelationDataVImpl")
|
||||
@Service("RelationLimitRateImpl")
|
||||
@RequiredArgsConstructor
|
||||
public class RelationLimitRateImpl extends MppServiceImpl<RStatLimitRateRelationMapper, RStatLimitRateD> implements ILimitRateService {
|
||||
|
||||
@Resource
|
||||
private ILimitRateService limitRateService;
|
||||
|
||||
@Override
|
||||
public void batchInsertion(List<DataLimitRateDto> dataVDTOList) {
|
||||
|
||||
public void batchInsertion(List<DataLimitRateDto> limitRateList) {
|
||||
List<RStatLimitRateD> result = new ArrayList<>();
|
||||
limitRateList.forEach(item->{
|
||||
RStatLimitRateD limitRate = new RStatLimitRateD();
|
||||
BeanUtils.copyProperties(item, limitRate);
|
||||
result.add(limitRate);
|
||||
});
|
||||
limitRateService.saveOrUpdateBatchByMultiId(result);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user