添加pq/pms公共接口

This commit is contained in:
2023-09-14 19:51:55 +08:00
parent 404a122fd7
commit ddf54a568e
8 changed files with 117 additions and 13 deletions

View File

@@ -0,0 +1,20 @@
package com.njcn.device.biz.commApi;
import com.njcn.common.pojo.constant.ServerInfo;
import com.njcn.device.biz.commApi.fallback.CommTerminalGeneralClientFallbackFactory;
import org.springframework.cloud.openfeign.FeignClient;
/**
* pqs
*
* @author cdf
* @date 2023/9/14
*/
@FeignClient(
value = ServerInfo.DEVICE,
path = "CommLineClient",
contextId = "CommLineClient",
fallbackFactory = CommTerminalGeneralClientFallbackFactory.class)
public interface CommLineClient {
}

View File

@@ -8,6 +8,7 @@ import com.njcn.common.utils.HttpResultUtil;
import com.njcn.device.biz.commApi.fallback.CommTerminalGeneralClientFallbackFactory;
import com.njcn.device.biz.pojo.dto.*;
import com.njcn.device.biz.pojo.param.DeptGetLineParam;
import com.njcn.device.biz.pojo.po.Overlimit;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
@@ -106,6 +107,15 @@ public interface CommTerminalGeneralClient {
@PostMapping("/deptGetLineIds")
HttpResult<List<DeptGetChildrenDTO>> deptGetLineList(@RequestBody DeptGetLineParam deptGetLineParam);
@PostMapping("/getOverLimitData")
HttpResult<Overlimit> getOverLimitData(@RequestParam("id") String id);
@GetMapping("/getRunMonitorIds")
HttpResult<List<String>> getRunMonitorIds();
/**
* 用于返回pq 还是pms系统
* @author cdf

View File

@@ -6,6 +6,7 @@ import com.njcn.common.pojo.response.HttpResult;
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.utils.DeviceEnumUtil;
import feign.hystrix.FallbackFactory;
import lombok.extern.slf4j.Slf4j;
@@ -79,6 +80,18 @@ public class CommTerminalGeneralClientFallbackFactory implements FallbackFactory
throw new BusinessException(finalExceptionEnum);
}
@Override
public HttpResult<Overlimit> getOverLimitData(String id) {
log.error("{}异常,降级处理,异常为:{}", "获取监测点限值", throwable.toString());
throw new BusinessException(finalExceptionEnum);
}
@Override
public HttpResult<List<String>> getRunMonitorIds() {
log.error("{}异常,降级处理,异常为:{}", "获取投运监测点索引", throwable.toString());
throw new BusinessException(finalExceptionEnum);
}
@Override
public HttpResult<String> isPqOrPms() {
log.error("{}异常,降级处理,异常为:{}", "返回pq还是pms系统", throwable.toString());

View File

@@ -1,11 +1,14 @@
package com.njcn.device.pms.controller.ledgerManger;
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.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.pms.service.ledgerManger.CommTerminalService;
import com.njcn.device.pms.service.majornetwork.IMonitorService;
import com.njcn.web.controller.BaseController;
@@ -206,6 +209,27 @@ public class CommTerminalController extends BaseController {
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, count, methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/getOverLimitData")
@ApiOperation("根据监测点id获取越限数值")
@ApiImplicitParam(name = "id", value = "监测点id", required = true)
public HttpResult<Overlimit> getOverLimitData(@RequestParam("id") String id) {
String methodDescribe = getMethodDescribe("getOverLimitData");
Overlimit result = monitorService.getOverLimitData(id);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@GetMapping("/getRunMonitorIds")
@ApiOperation("获取投运谐波系统所有监测点")
public HttpResult<List<String>> getRunMonitorIds() {
String methodDescribe = getMethodDescribe("getRunMonitorIds");
List<String> result = commTerminalService.getOneMonitorIds();
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
}
/**
* 用于返回pq 还是pms系统
* @author cdf
@@ -218,4 +242,6 @@ public class CommTerminalController extends BaseController {
String methodDescribe = getMethodDescribe("isPqOrPms");
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, "pms", methodDescribe);
}
}

View File

@@ -79,6 +79,13 @@ public interface CommTerminalService {
String updatePmsOverLimit();
/**
* 获取所有I类在运监测点id
* @author cdf
* @date 2023/9/14
*/
List<String> getOneMonitorIds();

View File

@@ -498,4 +498,16 @@ public class CommTerminalServiceImpl implements CommTerminalService {
return "主网监测点限值更新" + count + "个,台区限值更新" + countArea + "个,发电用电用户" + countClient + "";
}
@Override
public List<String> getOneMonitorIds() {
DictData dictData = dicDataFeignClient.getDicDataByNameAndTypeName(DicDataTypeEnum.LINE_STATE.getName(),DicDataEnum.RUN.getName()).getData();
if(Objects.isNull(dictData)){
throw new BusinessException("监测点状态字典为空");
}
LambdaQueryWrapper<Monitor> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.select(Monitor::getId).eq(Monitor::getMonitorState,dictData.getId());
List<Monitor> monitorList = monitorMapper.selectList(lambdaQueryWrapper);
return monitorList.stream().map(Monitor::getId).collect(Collectors.toList());
}
}

View File

@@ -2,12 +2,17 @@ package com.njcn.device.pq.controller;
import cn.hutool.core.date.TimeInterval;
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.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.pq.mapper.LineMapper;
import com.njcn.device.pq.service.CommTerminalService;
import com.njcn.device.pq.service.LineService;
import com.njcn.web.controller.BaseController;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
@@ -35,6 +40,10 @@ public class CommTerminalController extends BaseController {
private final CommTerminalService commTerminalService;
private final LineService lineService;
private final LineMapper lineMapper;
/**
* 通过部门获取所有子集部门所拥有的监测点
@@ -200,4 +209,24 @@ public class CommTerminalController extends BaseController {
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, "pq", methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/getOverLimitData")
@ApiOperation("根据监测点id获取越限数值")
@ApiImplicitParam(name = "id", value = "监测点id", required = true)
public HttpResult<Overlimit> getOverLimitData(@RequestParam("id") String id) {
String methodDescribe = getMethodDescribe("getOverLimitData");
Overlimit result = lineService.getOverLimitData(id);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@GetMapping("/getRunMonitorIds")
@ApiOperation("获取投运谐波系统所有监测点")
public HttpResult<List<String>> getRunMonitorIds() {
String methodDescribe = getMethodDescribe("getRunMonitorIds");
List<String> result = lineMapper.getLineList();
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
}
}

View File

@@ -43,19 +43,6 @@ public class EventDetailServiceImpl extends ServiceImpl<EventDetailMapper, RmpEv
.le(StrUtil.isNotBlank(endTime), RmpEventDetailPO::getStartTime, DateUtil.endOfDay(DateUtil.parse(endTime)))
);
return BeanUtil.copyToList(info, EventDetail.class);
// //组装sql语句
// StringBuilder stringBuilder = new StringBuilder();
// stringBuilder.append("time >= '").append(DateUtil.beginOfDay(DateUtil.parse(startTime))).append("' and ").append("time <= '").append(DateUtil.endOfDay(DateUtil.parse(endTime))).append("' and ");
// //sql语句
// stringBuilder.append("line_id ='").append(id).append("'").append(" tz('Asia/Shanghai')");
//
// String sql = "select * from pqs_eventdetail where " + stringBuilder;
// //获取暂降事件
// QueryResult result = influxDbUtils.query(sql);
// InfluxDBResultMapper influxDBResultMapper = new InfluxDBResultMapper();
// List<EventDetail> eventDetailList = influxDBResultMapper.toPOJO(result, EventDetail.class);
// return eventDetailList;
}
@Override