预处理兼容pq/pms处理

This commit is contained in:
2023-09-21 15:34:38 +08:00
parent 511924fd75
commit 4e7da3a056
29 changed files with 280 additions and 55 deletions

View File

@@ -9,6 +9,7 @@ import com.njcn.device.biz.commApi.fallback.CommTerminalGeneralClientFallbackFac
import com.njcn.device.biz.pojo.dto.*;
import com.njcn.device.biz.pojo.param.DeptGetLineParam;
import com.njcn.device.biz.pojo.po.Overlimit;
import com.njcn.device.biz.pojo.po.PqsDeviceUnit;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
@@ -119,6 +120,14 @@ public interface CommTerminalGeneralClient {
@PostMapping("/getMonitorDetailList")
HttpResult<List<LineDevGetDTO>> getMonitorDetailList(@RequestBody List<String> list);
@GetMapping("/lineUnitDetail")
HttpResult<PqsDeviceUnit> lineUnitDetail(@RequestParam("lineId") String lineId);
@GetMapping("/getMonitorDetail")
HttpResult<LineDevGetDTO> getMonitorDetail(@RequestParam("lineId") String lineId);
/**
* 用于返回pq 还是pms系统
* @author cdf

View File

@@ -0,0 +1,39 @@
package com.njcn.device.biz.commApi.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.device.biz.commApi.CommLedgerDeptClient;
import com.njcn.device.biz.commApi.CommLineClient;
import com.njcn.device.biz.utils.DeviceEnumUtil;
import com.njcn.user.pojo.po.Dept;
import feign.hystrix.FallbackFactory;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
/**
* 公共
* @author cdf
* @date 2023/5/17
*/
@Slf4j
@Component
public class CommLineClientFallbackFactory implements FallbackFactory<CommLineClient> {
@Override
public CommLineClient create(Throwable throwable) {
//判断抛出异常是否为解码器抛出的业务异常
Enum<?> exceptionEnum = CommonResponseEnum.SERVICE_FALLBACK;
if (throwable.getCause() instanceof BusinessException) {
BusinessException businessException = (BusinessException) throwable.getCause();
exceptionEnum = DeviceEnumUtil.getExceptionEnum(businessException.getResult());
}
Enum<?> finalExceptionEnum = exceptionEnum;
return new CommLineClient() {
};
}
}

View File

@@ -7,6 +7,7 @@ import com.njcn.device.biz.commApi.CommTerminalGeneralClient;
import com.njcn.device.biz.pojo.dto.*;
import com.njcn.device.biz.pojo.param.DeptGetLineParam;
import com.njcn.device.biz.pojo.po.Overlimit;
import com.njcn.device.biz.pojo.po.PqsDeviceUnit;
import com.njcn.device.biz.utils.DeviceEnumUtil;
import feign.hystrix.FallbackFactory;
import lombok.extern.slf4j.Slf4j;
@@ -98,6 +99,18 @@ public class CommTerminalGeneralClientFallbackFactory implements FallbackFactory
throw new BusinessException(finalExceptionEnum);
}
@Override
public HttpResult<PqsDeviceUnit> lineUnitDetail(String lineId) {
log.error("{}异常,降级处理,异常为:{}", "获取监测点详细信息集合", throwable.toString());
throw new BusinessException(finalExceptionEnum);
}
@Override
public HttpResult<LineDevGetDTO> getMonitorDetail(String lineId) {
log.error("{}异常,降级处理,异常为:{}", "获取监测点详细信息集合", throwable.toString());
throw new BusinessException(finalExceptionEnum);
}
@Override
public HttpResult<String> isPqOrPms() {
log.error("{}异常,降级处理,异常为:{}", "返回pq还是pms系统", throwable.toString());

View File

@@ -23,6 +23,8 @@ public class LineDevGetDTO {
*/
private String pointId;
private String pointName;
/**
* 装置监测点索引集合
*/

View File

@@ -1,4 +1,4 @@
package com.njcn.device.pq.pojo.po;
package com.njcn.device.biz.pojo.po;
import com.baomidou.mybatisplus.annotation.TableField;

View File

@@ -4,11 +4,14 @@ import cn.hutool.core.date.TimeInterval;
import com.njcn.common.pojo.annotation.OperateInfo;
import com.njcn.common.pojo.enums.common.LogEnum;
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.common.utils.HttpResultUtil;
import com.njcn.device.biz.pojo.dto.*;
import com.njcn.device.biz.pojo.param.DeptGetLineParam;
import com.njcn.device.biz.pojo.po.Overlimit;
import com.njcn.device.biz.pojo.po.PqsDeviceUnit;
import com.njcn.device.pms.pojo.po.Monitor;
import com.njcn.device.pms.service.ledgerManger.CommTerminalService;
import com.njcn.device.pms.service.majornetwork.IMonitorService;
import com.njcn.web.controller.BaseController;
@@ -21,7 +24,9 @@ import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import springfox.documentation.annotations.ApiIgnore;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
/**
* @author wr
@@ -244,6 +249,68 @@ public class CommTerminalController extends BaseController {
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
}
/**
* 根据监测点集合获取监测点详情
* @author cdf
* @date 2023/9/21
*/
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/getMonitorDetailList")
@ApiOperation("根据监测点集合获取监测点详情")
@ApiImplicitParam(name = "list", value = "监测点集合")
public HttpResult<List<LineDevGetDTO>> getMonitorDetailList(@RequestBody List<String> list) {
String methodDescribe = getMethodDescribe("getMonitorDetailList");
List<LineDevGetDTO> result = new ArrayList<>();
List<Monitor> monitorList = monitorService.getMonitorList(list);
monitorList.forEach(item->{
LineDevGetDTO lineDevGetDTO = new LineDevGetDTO();
lineDevGetDTO.setPointId(item.getId());
lineDevGetDTO.setDevId(item.getTerminalId());
lineDevGetDTO.setInterval(item.getStatisticalInterval());
result.add(lineDevGetDTO);
});
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS,result, methodDescribe);
}
/**
* 通过监测点获取监测点数据单位
* @author cdf
* @date 2023/9/21
*/
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@GetMapping("/lineUnitDetail")
@ApiOperation("根据监测点id获取数据单位")
@ApiImplicitParam(name = "lineID", value = "实体", required = true)
public HttpResult<PqsDeviceUnit> lineUnitDetail(@RequestParam("lineId") String lineId) {
String methodDescribe = getMethodDescribe("lineUnitDetail");
PqsDeviceUnit pqsDeviceUnit = new PqsDeviceUnit();
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, pqsDeviceUnit, methodDescribe);
}
/**
* 通过监测点获取监测点数据单位
* @author cdf
* @date 2023/9/21
*/
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@GetMapping("/getMonitorDetail")
@ApiOperation("根据监测点id获取数据单位")
@ApiImplicitParam(name = "lineID", value = "实体", required = true)
public HttpResult<LineDevGetDTO> getMonitorDetail(@RequestParam("lineId") String lineId) {
String methodDescribe = getMethodDescribe("getMonitorDetail");
Monitor monitor = monitorService.getById(lineId);
if(Objects.isNull(monitor)){
throw new BusinessException("未查询到监测点信息");
}
LineDevGetDTO lineDevGetDTO = new LineDevGetDTO();
lineDevGetDTO.setPointName(monitor.getName());
lineDevGetDTO.setInterval(monitor.getStatisticalInterval());
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, lineDevGetDTO, methodDescribe);
}
/**
* 用于返回pq 还是pms系统
* @author cdf

View File

@@ -3,15 +3,11 @@ package com.njcn.device.pq.api;
import com.njcn.common.pojo.constant.ServerInfo;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.device.pq.api.fallback.LineIntegrityClientFallbackFactory;
import com.njcn.device.pq.pojo.po.PqsDeviceUnit;
import com.njcn.device.pq.pojo.po.RStatIntegrityD;
import com.njcn.device.biz.pojo.po.PqsDeviceUnit;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.List;
/**
* 监测点数据完整性
* @author cdf
@@ -26,7 +22,7 @@ public interface DeviceUnitClient {
/**
* @Description: 根据监测点id获取数据单位
* @param lineID
* @return: com.njcn.common.pojo.response.HttpResult<com.njcn.device.pq.pojo.po.PqsDeviceUnit>
* @return: com.njcn.common.pojo.response.HttpResult<com.njcn.device.biz.pojo.po.PqsDeviceUnit>
* @Author: wr
* @Date: 2023/8/22 16:21
*/

View File

@@ -5,7 +5,7 @@ import com.njcn.common.pojo.exception.BusinessException;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.device.biz.utils.DeviceEnumUtil;
import com.njcn.device.pq.api.DeviceUnitClient;
import com.njcn.device.pq.pojo.po.PqsDeviceUnit;
import com.njcn.device.biz.pojo.po.PqsDeviceUnit;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;

View File

@@ -1,7 +1,6 @@
package com.njcn.device.pq.pojo.vo;
import com.baomidou.mybatisplus.annotation.TableField;
import com.njcn.device.pq.pojo.po.PqsDeviceUnit;
import com.njcn.device.biz.pojo.po.PqsDeviceUnit;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

View File

@@ -5,16 +5,20 @@ import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.njcn.common.pojo.annotation.OperateInfo;
import com.njcn.common.pojo.enums.common.LogEnum;
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.common.utils.HttpResultUtil;
import com.njcn.common.utils.LogUtil;
import com.njcn.device.biz.pojo.dto.*;
import com.njcn.device.biz.pojo.param.DeptGetLineParam;
import com.njcn.device.biz.pojo.po.Overlimit;
import com.njcn.device.biz.pojo.po.PqsDeviceUnit;
import com.njcn.device.pq.mapper.LineDetailMapper;
import com.njcn.device.pq.mapper.LineMapper;
import com.njcn.device.pq.pojo.po.Line;
import com.njcn.device.pq.pojo.po.LineDetail;
import com.njcn.device.pq.service.CommTerminalService;
import com.njcn.device.pq.service.IPqsDeviceUnitService;
import com.njcn.device.pq.service.LineService;
import com.njcn.web.controller.BaseController;
import io.swagger.annotations.Api;
@@ -27,6 +31,7 @@ import org.springframework.web.bind.annotation.*;
import springfox.documentation.annotations.ApiIgnore;
import java.util.List;
import java.util.Objects;
/**
* pqs
@@ -47,6 +52,10 @@ public class CommTerminalController extends BaseController {
private final LineMapper lineMapper;
private final LineDetailMapper lineDetailMapper;
private final IPqsDeviceUnitService iPqsDeviceUnitService;
/**
@@ -260,4 +269,33 @@ public class CommTerminalController extends BaseController {
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@GetMapping("/lineUnitDetail")
@ApiOperation("根据监测点id获取数据单位")
@ApiImplicitParam(name = "lineID", value = "实体", required = true)
public HttpResult<PqsDeviceUnit> lineUnitDetail(@RequestParam("lineID") String lineId) {
String methodDescribe = getMethodDescribe("lineUnitDetail");
PqsDeviceUnit pqsDeviceUnit = iPqsDeviceUnitService.lineUnitDetail(lineId);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, pqsDeviceUnit, methodDescribe);
}
/**
* 通过监测点获取监测点数据单位
* @author cdf
* @date 2023/9/21
*/
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@GetMapping("/getMonitorDetail")
@ApiOperation("根据监测点id获取数据单位")
@ApiImplicitParam(name = "lineID", value = "实体", required = true)
public HttpResult<LineDevGetDTO> getMonitorDetail(@RequestParam("lineId") String lineId) {
String methodDescribe = getMethodDescribe("getMonitorDetail");
LineDevGetDTO monitor = lineDetailMapper.getMonitorDetail(lineId);
if(Objects.isNull(monitor)){
throw new BusinessException("未查询到监测点信息");
}
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, monitor, methodDescribe);
}
}

View File

@@ -6,7 +6,7 @@ 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.device.pq.pojo.po.PqsDeviceUnit;
import com.njcn.device.biz.pojo.po.PqsDeviceUnit;
import com.njcn.device.pq.pojo.vo.PqsDeviceUnitVo;
import com.njcn.device.pq.service.IPqsDeviceUnitService;
import io.swagger.annotations.Api;

View File

@@ -2,6 +2,7 @@ package com.njcn.device.pq.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.njcn.device.biz.pojo.dto.LineDevGetDTO;
import com.njcn.device.pq.pojo.po.LineDetail;
import com.njcn.device.pq.pojo.vo.LineDetailDataVO;
import org.apache.ibatis.annotations.Param;
@@ -47,4 +48,7 @@ public interface LineDetailMapper extends BaseMapper<LineDetail> {
@Select ("select count(1) from pq_line a where a.`Level`=6 and SUBSTRING_INDEX(SUBSTRING_INDEX(a.Pids, ',', 4),',',-1)=#{subIndex}")
Integer getLineCountBySubstation(@Param("subIndex")String subIndex);
LineDevGetDTO getMonitorDetail(@Param("monitorId")String monitorId);
}

View File

@@ -1,12 +1,11 @@
package com.njcn.device.pq.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.njcn.device.pq.pojo.po.PqsDeviceUnit;
import com.njcn.device.biz.pojo.po.PqsDeviceUnit;
import com.njcn.device.pq.pojo.vo.PqsDeviceUnitVo;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
/**
* <p>
@@ -30,7 +29,7 @@ public interface PqsDeviceUnitMapper extends BaseMapper<PqsDeviceUnit> {
/**
* @Description: 根据监测点信息查询
* @param ids
* @return: java.util.List<com.njcn.device.pq.pojo.po.PqsDeviceUnit>
* @return: java.util.List<com.njcn.device.biz.pojo.po.PqsDeviceUnit>
* @Author: wr
* @Date: 2023/8/21 14:17
*/

View File

@@ -52,4 +52,12 @@
#{item}
</foreach>
</select>
<select id="getMonitorDetail" resultType="LineDevGetDTO">
select a.id pointId,a.name pointName,b.Time_Interval interval
from pq_line a
inner join pq_line_detail b on a.id=b.id
where a.id = #{monitorId}
</select>
</mapper>

View File

@@ -19,7 +19,7 @@
</if>
</where>
</select>
<select id="deviceUnitByID" resultType="com.njcn.device.pq.pojo.po.PqsDeviceUnit">
<select id="deviceUnitByID" resultType="com.njcn.device.biz.pojo.po.PqsDeviceUnit">
SELECT
unit.*
FROM

View File

@@ -1,7 +1,7 @@
package com.njcn.device.pq.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.njcn.device.pq.pojo.po.PqsDeviceUnit;
import com.njcn.device.biz.pojo.po.PqsDeviceUnit;
import com.njcn.device.pq.pojo.vo.PqsDeviceUnitVo;
import java.util.List;
@@ -37,7 +37,7 @@ public interface IPqsDeviceUnitService extends IService<PqsDeviceUnit> {
/**
* @param lineID
* @Description: 根据监测点id查询数据单位
* @return: com.njcn.device.pq.pojo.po.PqsDeviceUnit
* @return: com.njcn.device.biz.pojo.po.PqsDeviceUnit
* @Author: wr
* @Date: 2023/8/21 14:02
*/
@@ -46,7 +46,7 @@ public interface IPqsDeviceUnitService extends IService<PqsDeviceUnit> {
/**
* @param devID
* @Description: 根据终端id查询数据单位
* @return: com.njcn.device.pq.pojo.po.PqsDeviceUnit
* @return: com.njcn.device.biz.pojo.po.PqsDeviceUnit
* @Author: wr
* @Date: 2023/8/21 14:02
*/

View File

@@ -6,7 +6,7 @@ import com.njcn.device.pq.enums.LineBaseEnum;
import com.njcn.device.pq.mapper.LineMapper;
import com.njcn.device.pq.mapper.PqsDeviceUnitMapper;
import com.njcn.device.pq.pojo.po.Line;
import com.njcn.device.pq.pojo.po.PqsDeviceUnit;
import com.njcn.device.biz.pojo.po.PqsDeviceUnit;
import com.njcn.device.pq.pojo.vo.PqsDeviceUnitVo;
import com.njcn.device.pq.pojo.vo.TerminalTree;
import com.njcn.device.pq.service.IPqsDeviceUnitService;