diff --git a/pqs-common/common-core/src/main/java/com/njcn/common/utils/PubUtils.java b/pqs-common/common-core/src/main/java/com/njcn/common/utils/PubUtils.java index 2a38f2703..650ea0acb 100644 --- a/pqs-common/common-core/src/main/java/com/njcn/common/utils/PubUtils.java +++ b/pqs-common/common-core/src/main/java/com/njcn/common/utils/PubUtils.java @@ -323,6 +323,24 @@ public class PubUtils { } } + //监测点运行状态(0:投运;1:检修;2:停运;3:调试;4:退运) + public static String lineRunFlag(Integer runFlag) { + switch (runFlag) { + case 0: + return "投运"; + case 1: + return "检修"; + case 2: + return "停运"; + case 3: + return "调试"; + case 4: + return "退运"; + default: + return ""; + } + } + public static Integer getRunFlag(String runFlag) { switch (runFlag) { case "投运": diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/LineServiceImpl.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/LineServiceImpl.java index 54b58330b..87ce357df 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/LineServiceImpl.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/LineServiceImpl.java @@ -138,7 +138,7 @@ public class LineServiceImpl extends ServiceImpl implements Li Device device = deviceMapper.selectById(devId); lineDetailDataVO.setManufacturer(dicDataFeignClient.getDicDataById(device.getManufacturer()).getData().getName()); lineDetailDataVO.setComFlag(PubUtils.comFlag(device.getComFlag())); - lineDetailDataVO.setRunFlag(PubUtils.runFlag(device.getRunFlag())); + lineDetailDataVO.setRunFlag(PubUtils.lineRunFlag(lineDetail.getRunFlag())); lineDetailDataVO.setIp(device.getIp()); lineDetailDataVO.setLoginTime(device.getLoginTime()); lineDetailDataVO.setDevId(device.getId()); diff --git a/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/api/LineWarningFeignClient.java b/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/api/LineWarningFeignClient.java new file mode 100644 index 000000000..c2eac81c1 --- /dev/null +++ b/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/api/LineWarningFeignClient.java @@ -0,0 +1,20 @@ +package com.njcn.supervision.api; + +import com.njcn.common.pojo.constant.ServerInfo; +import com.njcn.common.pojo.response.HttpResult; +import com.njcn.supervision.api.fallback.LineWarningFeignClientFallbackFactory; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PostMapping; + + +/** + * 流程实例 Api 接口 + * @author xy + */ +@FeignClient(value = ServerInfo.SUPERVISION, path = "/onlineMonitor", fallbackFactory = LineWarningFeignClientFallbackFactory.class) +public interface LineWarningFeignClient { + + @PostMapping("/add") + HttpResult add(); + +} diff --git a/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/api/fallback/LineWarningFeignClientFallbackFactory.java b/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/api/fallback/LineWarningFeignClientFallbackFactory.java new file mode 100644 index 000000000..113344c15 --- /dev/null +++ b/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/api/fallback/LineWarningFeignClientFallbackFactory.java @@ -0,0 +1,37 @@ +package com.njcn.supervision.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.supervision.api.LineWarningFeignClient; +import com.njcn.supervision.utils.SupervisionEnumUtil; +import feign.hystrix.FallbackFactory; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +/** + * @author denghuajun + * @version 1.0.0 + * @date 2022/3/16 + */ +@Slf4j +@Component +public class LineWarningFeignClientFallbackFactory implements FallbackFactory { + @Override + public LineWarningFeignClient create(Throwable throwable) { + //判断抛出异常是否为解码器抛出的业务异常 + Enum exceptionEnum = CommonResponseEnum.SERVICE_FALLBACK; + if (throwable.getCause() instanceof BusinessException) { + BusinessException businessException = (BusinessException) throwable.getCause(); + exceptionEnum = SupervisionEnumUtil.getExceptionEnum(businessException.getResult()); + } + Enum finalExceptionEnum = exceptionEnum; + return new LineWarningFeignClient() { + @Override + public HttpResult add() { + log.error("{}异常,降级处理,异常为:{}", "新增终端检测数据", throwable.toString()); + throw new BusinessException(finalExceptionEnum); + } + }; + } +} diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/controller/device/LineWarningController.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/controller/device/LineWarningController.java index 1043b3639..f36843c4a 100644 --- a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/controller/device/LineWarningController.java +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/controller/device/LineWarningController.java @@ -23,6 +23,7 @@ import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import springfox.documentation.annotations.ApiIgnore; /** *

@@ -44,6 +45,7 @@ public class LineWarningController extends BaseController { @OperateInfo(info = LogEnum.BUSINESS_COMMON) @PostMapping("/add") @ApiOperation("新增在线监测数据") + @ApiIgnore public HttpResult add() { String methodDescribe = getMethodDescribe("add"); lineWarningService.addLineWarning(); diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/impl/LineWarningServiceImpl.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/impl/LineWarningServiceImpl.java index 98eef71ba..5740b26c7 100644 --- a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/impl/LineWarningServiceImpl.java +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/impl/LineWarningServiceImpl.java @@ -7,7 +7,10 @@ import cn.hutool.core.util.IdUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.github.jeffreyning.mybatisplus.service.MppServiceImpl; +import com.njcn.common.pojo.enums.common.ServerEnum; import com.njcn.device.biz.commApi.CommTerminalGeneralClient; +import com.njcn.device.biz.pojo.dto.DeptGetChildrenMoreDTO; +import com.njcn.device.biz.pojo.dto.LineDevGetDTO; import com.njcn.device.biz.pojo.param.DeptGetLineParam; import com.njcn.device.pq.api.DeptLineFeignClient; import com.njcn.device.pq.pojo.po.DeptLine; @@ -70,8 +73,7 @@ public class LineWarningServiceImpl extends MppServiceImpl lineList = commTerminalGeneralClient.getRunMonitorIds().getData(); RStatLimitQueryParam param = new RStatLimitQueryParam(); String date = DateUtil.format(LocalDateTime.now().minusDays(1), DatePattern.NORM_DATE_PATTERN); -// param.setDate(date); - param.setDate("2024-01-23"); + param.setDate(date); param.setIds(lineList); //获取监测点越限信息 List limitTarget = limitRateDClient.monitorIdsGetLimitTargetInfo(param).getData(); @@ -119,15 +121,15 @@ public class LineWarningServiceImpl extends MppServiceImpl getLineWarningList(OnlineParam param) { DeptGetLineParam deptGetLineParam = new DeptGetLineParam(); deptGetLineParam.setDeptId(param.getDeptId()); - List lineList = commTerminalGeneralClient.deptGetLineList(deptGetLineParam) - .getData() - .stream() - .flatMap(item -> item.getLineIds().stream()) - .distinct() - .collect(Collectors.toList());; + deptGetLineParam.setServerName(ServerEnum.HARMONIC.getName()); + List list = commTerminalGeneralClient.deptGetLine(deptGetLineParam).getData(); + List lineList = list.stream() + .flatMap(dto -> dto.getLineBaseList().stream().map(LineDevGetDTO::getPointId)) + .distinct() + .collect(Collectors.toList()); QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.between("A.alarm_time", param.getSearchBeginTime(),param.getSearchEndTime()); - queryWrapper.le("A.alert_threshold", param.getAlertThreshold()); + queryWrapper.ge("A.over_limit_day", param.getAlertThreshold()); if (CollUtil.isNotEmpty(lineList)) { queryWrapper.in("A.line_id",lineList); } @@ -140,8 +142,9 @@ public class LineWarningServiceImpl extends MppServiceImpl