refactor(data-process): 重构数据处理服务依赖注入和数据获取逻辑
- 将 PqReasonableRangeFeignClient 替换为 IPqReasonableRangeService 接口 - 统一使用本地服务接口替代远程调用,优化性能 - 移除废弃的 WlMinuteData 方法和相关设备线路查询逻辑 - 标准化时间相关的导入包,只保留必要的类 - 清理未使用的资源注入和函数式编程相关导入 - 简化数据获取流程,统一使用 getMinuteData 方法
This commit is contained in:
@@ -0,0 +1,91 @@
|
||||
package com.njcn.algorithm.controller;
|
||||
|
||||
|
||||
import com.njcn.algorithm.pojo.dto.PqReasonableRangeDto;
|
||||
import com.njcn.algorithm.service.line.IPqReasonableRangeService;
|
||||
import com.njcn.common.pojo.annotation.OperateInfo;
|
||||
import com.njcn.common.pojo.constant.OperateType;
|
||||
import com.njcn.common.pojo.enums.common.LogEnum;
|
||||
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
|
||||
import com.njcn.common.pojo.response.HttpResult;
|
||||
import com.njcn.common.utils.HttpResultUtil;
|
||||
import com.njcn.csdevice.enums.DeviceOperate;
|
||||
import com.njcn.dataProcess.param.DataCleanParam;
|
||||
import com.njcn.web.advice.DeviceLog;
|
||||
import com.njcn.web.controller.BaseController;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 前端控制器
|
||||
* </p>
|
||||
*
|
||||
* @author xy
|
||||
* @since 2025-02-13
|
||||
*/
|
||||
@Validated
|
||||
@Slf4j
|
||||
@Controller
|
||||
@RestController
|
||||
@RequestMapping("/pqReasonableRange")
|
||||
@Api(tags = "数据清洗标准库")
|
||||
public class PqReasonableRangeController extends BaseController {
|
||||
|
||||
@Resource
|
||||
private IPqReasonableRangeService pqReasonableRangeService;
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.QUERY)
|
||||
@PostMapping("/getData")
|
||||
@ApiOperation("按条件获取数据合理范围")
|
||||
public HttpResult<List<PqReasonableRangeDto>> getData(@RequestBody DataCleanParam param) {
|
||||
String methodDescribe = getMethodDescribe("getData");
|
||||
List<PqReasonableRangeDto> list = pqReasonableRangeService.getReasonableRangeList(param);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe);
|
||||
}
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.ADD)
|
||||
@PostMapping("/save")
|
||||
@ApiOperation("新增数据合理范围")
|
||||
public HttpResult<String> save(@RequestBody @Validated PqReasonableRangeDto dto) {
|
||||
String methodDescribe = getMethodDescribe("save");
|
||||
boolean result = pqReasonableRangeService.savePqReasonableRange(dto);
|
||||
if (result) {
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, "新增成功", methodDescribe);
|
||||
}
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.FAIL, "新增失败", methodDescribe);
|
||||
}
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.UPDATE)
|
||||
@PostMapping("/update")
|
||||
@ApiOperation("更新数据合理范围")
|
||||
public HttpResult<String> update(@RequestBody @Validated PqReasonableRangeDto dto) {
|
||||
String methodDescribe = getMethodDescribe("update");
|
||||
boolean result = pqReasonableRangeService.updatePqReasonableRange(dto);
|
||||
if (result) {
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, "更新成功", methodDescribe);
|
||||
}
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.FAIL, "更新失败", methodDescribe);
|
||||
}
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@PostMapping("/delete")
|
||||
@ApiOperation("删除数据合理范围")
|
||||
@DeviceLog(operateType = DeviceOperate.DELETE)
|
||||
public HttpResult<String> delete(@RequestParam("id") String id) {
|
||||
String methodDescribe = getMethodDescribe("delete");
|
||||
boolean result = pqReasonableRangeService.deletePqReasonableRange(id);
|
||||
if (result) {
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, "删除成功", methodDescribe);
|
||||
}
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.FAIL, "删除失败", methodDescribe);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
package com.njcn.algorithm.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.njcn.algorithm.pojo.po.PqReasonableRange;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author xy
|
||||
* @since 2025-02-13
|
||||
*/
|
||||
public interface PqReasonableRangeMapper extends BaseMapper<PqReasonableRange> {
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
package com.njcn.algorithm.service.line;
|
||||
|
||||
import com.njcn.algorithm.pojo.bo.CalculatedParam;
|
||||
import com.njcn.dataProcess.pojo.dto.PqReasonableRangeDto;
|
||||
import com.njcn.algorithm.pojo.dto.PqReasonableRangeDto;
|
||||
import com.njcn.device.pq.pojo.vo.LineDetailVO;
|
||||
import com.njcn.system.pojo.po.DictData;
|
||||
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
package com.njcn.algorithm.service.line;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.njcn.algorithm.pojo.dto.PqReasonableRangeDto;
|
||||
import com.njcn.algorithm.pojo.po.PqReasonableRange;
|
||||
import com.njcn.dataProcess.param.DataCleanParam;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author xy
|
||||
* @since 2025-02-13
|
||||
*/
|
||||
public interface IPqReasonableRangeService extends IService<PqReasonableRange> {
|
||||
|
||||
/**
|
||||
* 根据条件获取稳态指标正常范围数据
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
List<PqReasonableRangeDto> getReasonableRangeList(DataCleanParam param);
|
||||
|
||||
boolean savePqReasonableRange(PqReasonableRangeDto dto);
|
||||
|
||||
boolean updatePqReasonableRange(PqReasonableRangeDto dto);
|
||||
|
||||
boolean deletePqReasonableRange(String id);
|
||||
|
||||
}
|
||||
@@ -3,8 +3,10 @@ package com.njcn.algorithm.serviceimpl.line;
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.njcn.algorithm.pojo.bo.CalculatedParam;
|
||||
import com.njcn.algorithm.pojo.dto.PqReasonableRangeDto;
|
||||
import com.njcn.algorithm.service.line.FlowAsyncService;
|
||||
import com.njcn.algorithm.service.line.IDataCleanService;
|
||||
import com.njcn.algorithm.service.line.IPqReasonableRangeService;
|
||||
import com.njcn.algorithm.utils.MemorySizeUtil;
|
||||
import com.njcn.dataProcess.api.*;
|
||||
import com.njcn.dataProcess.dto.RmpEventDetailDTO;
|
||||
@@ -33,7 +35,9 @@ import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.lang.reflect.Method;
|
||||
import java.time.*;
|
||||
import java.time.Instant;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.ZoneId;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.*;
|
||||
import java.util.function.Function;
|
||||
@@ -80,7 +84,7 @@ public class DataCleanServiceImpl implements IDataCleanService {
|
||||
@Resource
|
||||
private PqDataVerifyFeignClient pqDataVerifyFeignClient;
|
||||
@Resource
|
||||
private PqReasonableRangeFeignClient pqReasonableRangeFeignClient;
|
||||
private IPqReasonableRangeService pqReasonableRangeService;
|
||||
@Resource
|
||||
private LineFeignClient lineFeignClient;
|
||||
@Resource
|
||||
@@ -644,7 +648,7 @@ public class DataCleanServiceImpl implements IDataCleanService {
|
||||
DataCleanParam param = new DataCleanParam();
|
||||
param.setSystemType(DataCleanEnum.Pqs.getCode());
|
||||
// param.setDataSource(DataCleanEnum.InfluxDB.getCode());
|
||||
List<PqReasonableRangeDto> list = pqReasonableRangeFeignClient.getData(param).getData();
|
||||
List<PqReasonableRangeDto> list = pqReasonableRangeService.getReasonableRangeList(param);
|
||||
if (CollUtil.isNotEmpty(list)) {
|
||||
pqReasonableRangeDtoMap = list.stream().collect(Collectors.groupingBy(PqReasonableRangeDto::getInfluxdbTableName));
|
||||
}
|
||||
@@ -662,7 +666,7 @@ public class DataCleanServiceImpl implements IDataCleanService {
|
||||
if (ObjectUtil.isNotNull(tableName)) {
|
||||
param.setTableName(tableName);
|
||||
}
|
||||
List<PqReasonableRangeDto> list = pqReasonableRangeFeignClient.getData(param).getData();
|
||||
List<PqReasonableRangeDto> list = pqReasonableRangeService.getReasonableRangeList(param);
|
||||
if (CollUtil.isNotEmpty(list)) {
|
||||
pqReasonableRangeDtoMap = list.stream().collect(Collectors.toMap(PqReasonableRangeDto::getIndexCode, Function.identity()));
|
||||
}
|
||||
|
||||
@@ -7,6 +7,7 @@ import cn.hutool.core.util.CharsetUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.alibaba.nacos.shaded.com.google.gson.Gson;
|
||||
import com.njcn.algorithm.pojo.bo.CalculatedParam;
|
||||
import com.njcn.algorithm.pojo.dto.PqReasonableRangeDto;
|
||||
import com.njcn.algorithm.service.line.FlowAsyncService;
|
||||
import com.njcn.dataProcess.api.*;
|
||||
import com.njcn.dataProcess.dto.DataCleanJsonDTO;
|
||||
@@ -92,7 +93,7 @@ public class FlowAsyncServiceImpl implements FlowAsyncService {
|
||||
|
||||
@Override
|
||||
@Async("asyncExecutor")
|
||||
public void lineDataClean(LineDetailVO.Detail line, Map<String, List<PqReasonableRangeDto>> map, String dataDate,DictData dip,DictData rise,int size,int i) {
|
||||
public void lineDataClean(LineDetailVO.Detail line, Map<String, List<PqReasonableRangeDto>> map, String dataDate, DictData dip, DictData rise, int size, int i) {
|
||||
LineDetailVO.Detail item = line;
|
||||
List<Map<String, Object>> resultData = new ArrayList<>();
|
||||
Set<String> allTimeSet = new HashSet<>();
|
||||
|
||||
@@ -0,0 +1,80 @@
|
||||
package com.njcn.algorithm.serviceimpl.line;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.njcn.algorithm.mapper.PqReasonableRangeMapper;
|
||||
import com.njcn.algorithm.pojo.dto.PqReasonableRangeDto;
|
||||
import com.njcn.algorithm.pojo.po.PqReasonableRange;
|
||||
import com.njcn.algorithm.service.line.IPqReasonableRangeService;
|
||||
import com.njcn.dataProcess.param.DataCleanParam;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author xy
|
||||
* @since 2025-02-13
|
||||
*/
|
||||
@Slf4j
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class PqReasonableRangeServiceImpl extends ServiceImpl<PqReasonableRangeMapper, PqReasonableRange> implements IPqReasonableRangeService {
|
||||
|
||||
@Override
|
||||
public List<PqReasonableRangeDto> getReasonableRangeList(DataCleanParam param) {
|
||||
List<PqReasonableRangeDto> result = new ArrayList<>();
|
||||
LambdaQueryWrapper<PqReasonableRange> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(PqReasonableRange::getBelongingSystem,param.getSystemType());
|
||||
if(StrUtil.isNotBlank(param.getDataSource())){
|
||||
queryWrapper.eq(PqReasonableRange::getDataSource,param.getDataSource());
|
||||
}
|
||||
if(StrUtil.isNotBlank(param.getTableName())){
|
||||
queryWrapper.eq(PqReasonableRange::getInfluxdbTableName,param.getTableName());
|
||||
}
|
||||
queryWrapper.eq(PqReasonableRange::getState,1);
|
||||
List<PqReasonableRange> list = this.list(queryWrapper);
|
||||
if (CollUtil.isNotEmpty(list)) {
|
||||
list.forEach(item->{
|
||||
PqReasonableRangeDto dto = new PqReasonableRangeDto();
|
||||
BeanUtils.copyProperties(item,dto);
|
||||
result.add(dto);
|
||||
});
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean savePqReasonableRange(PqReasonableRangeDto dto) {
|
||||
PqReasonableRange entity = new PqReasonableRange();
|
||||
BeanUtils.copyProperties(dto, entity);
|
||||
entity.setState(1);
|
||||
return this.save(entity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean updatePqReasonableRange(PqReasonableRangeDto dto) {
|
||||
PqReasonableRange entity = new PqReasonableRange();
|
||||
BeanUtils.copyProperties(dto, entity);
|
||||
return this.updateById(entity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean deletePqReasonableRange(String id) {
|
||||
PqReasonableRange entity = this.getById(id);
|
||||
if (entity != null) {
|
||||
entity.setState(0);
|
||||
return this.updateById(entity);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user