Merge remote-tracking branch 'origin/master' into master-jb

This commit is contained in:
hzj
2026-06-09 16:22:19 +08:00
9 changed files with 97 additions and 7 deletions

View File

@@ -0,0 +1,36 @@
package com.njcn.algorithm.pojo.api;
/**
* Description:
* Date: 2026/05/21 下午 2:41【需求编号】
*
* @author clam
* @version V1.0.0
*/
import com.njcn.algorithm.pojo.api.fallback.PqReasonableRangeFeignClientFallbackFactory;
import com.njcn.algorithm.pojo.dto.PqReasonableRangeDto;
import com.njcn.algorithm.pojo.param.DataCleanParam;
import com.njcn.common.pojo.constant.ServerInfo;
import com.njcn.common.pojo.response.HttpResult;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.List;
/**
* @author xy
* @version 1.0.0
* @date 2025年02月13日 20:11
*/
@FeignClient(value = ServerInfo.ALGORITHM_BOOT, path = "/pqReasonableRange", fallbackFactory = PqReasonableRangeFeignClientFallbackFactory.class, contextId = "pqReasonableRange")
public interface PqReasonableRangeFeignClient {
@PostMapping("/getData")
@ApiOperation("按条件获取数据合理范围")
HttpResult<List<PqReasonableRangeDto>> getData(@RequestBody DataCleanParam param);
}

View File

@@ -0,0 +1,50 @@
package com.njcn.algorithm.pojo.api.fallback;
import com.njcn.algorithm.pojo.api.PqReasonableRangeFeignClient;
import com.njcn.algorithm.pojo.dto.PqReasonableRangeDto;
import com.njcn.algorithm.pojo.param.DataCleanParam;
import com.njcn.algorithm.pojo.util.PrepareEnumUtil;
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.exception.BusinessException;
import com.njcn.common.pojo.response.HttpResult;
import feign.hystrix.FallbackFactory;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* Description:
* Date: 2026/05/21 下午 2:42【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Slf4j
@Component
public class PqReasonableRangeFeignClientFallbackFactory implements FallbackFactory<PqReasonableRangeFeignClient> {
/**
* 输出远程请求接口异常日志
* @param cause RPC请求异常
*/
@Override
public PqReasonableRangeFeignClient create(Throwable cause) {
//判断抛出异常是否为解码器抛出的业务异常
Enum<?> exceptionEnum = CommonResponseEnum.SERVICE_FALLBACK;
if(cause.getCause() instanceof BusinessException){
BusinessException businessException = (BusinessException) cause.getCause();
exceptionEnum = PrepareEnumUtil.getExceptionEnum(businessException.getResult());
}
Enum<?> finalExceptionEnum = exceptionEnum;
return new PqReasonableRangeFeignClient() {
@Override
public HttpResult<List<PqReasonableRangeDto>> getData(DataCleanParam param) {
log.error("{}异常,降级处理,异常为:{}","按条件获取数据合理范围",cause.toString());
throw new BusinessException(finalExceptionEnum);
}
};
}
}

View File

@@ -1,4 +1,4 @@
package com.njcn.dataProcess.param; package com.njcn.algorithm.pojo.param;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;

View File

@@ -2,6 +2,7 @@ package com.njcn.algorithm.controller;
import com.njcn.algorithm.pojo.dto.PqReasonableRangeDto; import com.njcn.algorithm.pojo.dto.PqReasonableRangeDto;
import com.njcn.algorithm.pojo.param.DataCleanParam;
import com.njcn.algorithm.service.line.IPqReasonableRangeService; import com.njcn.algorithm.service.line.IPqReasonableRangeService;
import com.njcn.common.pojo.annotation.OperateInfo; import com.njcn.common.pojo.annotation.OperateInfo;
import com.njcn.common.pojo.constant.OperateType; import com.njcn.common.pojo.constant.OperateType;
@@ -10,7 +11,6 @@ import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.response.HttpResult; import com.njcn.common.pojo.response.HttpResult;
import com.njcn.common.utils.HttpResultUtil; import com.njcn.common.utils.HttpResultUtil;
import com.njcn.csdevice.enums.DeviceOperate; import com.njcn.csdevice.enums.DeviceOperate;
import com.njcn.dataProcess.param.DataCleanParam;
import com.njcn.web.advice.DeviceLog; import com.njcn.web.advice.DeviceLog;
import com.njcn.web.controller.BaseController; import com.njcn.web.controller.BaseController;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;

View File

@@ -2,8 +2,8 @@ package com.njcn.algorithm.service.line;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.njcn.algorithm.pojo.dto.PqReasonableRangeDto; import com.njcn.algorithm.pojo.dto.PqReasonableRangeDto;
import com.njcn.algorithm.pojo.param.DataCleanParam;
import com.njcn.algorithm.pojo.po.PqReasonableRange; import com.njcn.algorithm.pojo.po.PqReasonableRange;
import com.njcn.dataProcess.param.DataCleanParam;
import java.util.List; import java.util.List;

View File

@@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.njcn.algorithm.pojo.bo.CalculatedParam; import com.njcn.algorithm.pojo.bo.CalculatedParam;
import com.njcn.algorithm.pojo.dto.PqReasonableRangeDto; import com.njcn.algorithm.pojo.dto.PqReasonableRangeDto;
import com.njcn.algorithm.pojo.param.DataCleanParam;
import com.njcn.algorithm.service.line.FlowAsyncService; import com.njcn.algorithm.service.line.FlowAsyncService;
import com.njcn.algorithm.service.line.IDataCleanService; import com.njcn.algorithm.service.line.IDataCleanService;
import com.njcn.algorithm.service.line.IPqReasonableRangeService; import com.njcn.algorithm.service.line.IPqReasonableRangeService;
@@ -11,7 +12,6 @@ import com.njcn.algorithm.utils.MemorySizeUtil;
import com.njcn.dataProcess.api.*; import com.njcn.dataProcess.api.*;
import com.njcn.dataProcess.dto.RmpEventDetailDTO; import com.njcn.dataProcess.dto.RmpEventDetailDTO;
import com.njcn.dataProcess.enums.DataCleanEnum; import com.njcn.dataProcess.enums.DataCleanEnum;
import com.njcn.dataProcess.param.DataCleanParam;
import com.njcn.dataProcess.param.LineCountEvaluateParam; import com.njcn.dataProcess.param.LineCountEvaluateParam;
import com.njcn.dataProcess.pojo.dto.*; import com.njcn.dataProcess.pojo.dto.*;
import com.njcn.dataProcess.pojo.po.PqDataVerify; import com.njcn.dataProcess.pojo.po.PqDataVerify;

View File

@@ -247,6 +247,8 @@ public class IDataOnlineRateServiceImpl implements IDataOnlineRateService {
long differ = DateUtil.between(date, newDate, DateUnit.MINUTE); long differ = DateUtil.between(date, newDate, DateUnit.MINUTE);
if (online.equals(type)) { if (online.equals(type)) {
minute = InfluxDBPublicParam.DAY_MINUTE - (int) differ; minute = InfluxDBPublicParam.DAY_MINUTE - (int) differ;
}else{
minute = (int) differ;
} }
} else { } else {
List<PqsCommunicateDto> communicateDataOld = communicateFeignClient.getRawDataEnd(lineParam).getData(); List<PqsCommunicateDto> communicateDataOld = communicateFeignClient.getRawDataEnd(lineParam).getData();

View File

@@ -101,7 +101,7 @@ public class PollutionServiceImpl implements IPollutionService {
Map<String, DataPollutionD> interHarmonicVoltageList = getInterharmonicVoltage(lineCountEvaluateParam, limitMap); Map<String, DataPollutionD> interHarmonicVoltageList = getInterharmonicVoltage(lineCountEvaluateParam, limitMap);
Map<String, DataPollutionD> voltageFlickerList = getVoltageFlicker(lineCountEvaluateParam, limitMap); Map<String, DataPollutionD> voltageFlickerList = getVoltageFlicker(lineCountEvaluateParam, limitMap);
List<DataPollutionD> pollutionList = processPollutionList(local, idList, dictData, harmonicVoltageList, harmonicCurrentList, frequencyDeviationList, voltageDeviationList, List<DataPollutionD> pollutionList = processPollutionList(local, list, dictData, harmonicVoltageList, harmonicCurrentList, frequencyDeviationList, voltageDeviationList,
threePhaseVoltageList, negativeSequenceList, interHarmonicVoltageList, voltageFlickerList); threePhaseVoltageList, negativeSequenceList, interHarmonicVoltageList, voltageFlickerList);
if (CollUtil.isNotEmpty(pollutionList)) { if (CollUtil.isNotEmpty(pollutionList)) {

View File

@@ -6,9 +6,9 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.njcn.algorithm.mapper.PqReasonableRangeMapper; import com.njcn.algorithm.mapper.PqReasonableRangeMapper;
import com.njcn.algorithm.pojo.dto.PqReasonableRangeDto; import com.njcn.algorithm.pojo.dto.PqReasonableRangeDto;
import com.njcn.algorithm.pojo.param.DataCleanParam;
import com.njcn.algorithm.pojo.po.PqReasonableRange; import com.njcn.algorithm.pojo.po.PqReasonableRange;
import com.njcn.algorithm.service.line.IPqReasonableRangeService; import com.njcn.algorithm.service.line.IPqReasonableRangeService;
import com.njcn.dataProcess.param.DataCleanParam;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
@@ -34,7 +34,9 @@ public class PqReasonableRangeServiceImpl extends ServiceImpl<PqReasonableRangeM
public List<PqReasonableRangeDto> getReasonableRangeList(DataCleanParam param) { public List<PqReasonableRangeDto> getReasonableRangeList(DataCleanParam param) {
List<PqReasonableRangeDto> result = new ArrayList<>(); List<PqReasonableRangeDto> result = new ArrayList<>();
LambdaQueryWrapper<PqReasonableRange> queryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<PqReasonableRange> queryWrapper = new LambdaQueryWrapper<>();
if (StrUtil.isNotBlank(param.getSystemType())) {
queryWrapper.eq(PqReasonableRange::getBelongingSystem,param.getSystemType()); queryWrapper.eq(PqReasonableRange::getBelongingSystem,param.getSystemType());
}
if(StrUtil.isNotBlank(param.getDataSource())){ if(StrUtil.isNotBlank(param.getDataSource())){
queryWrapper.eq(PqReasonableRange::getDataSource,param.getDataSource()); queryWrapper.eq(PqReasonableRange::getDataSource,param.getDataSource());
} }