This commit is contained in:
xy
2024-06-20 16:05:26 +08:00
parent c994ada5e7
commit 6316389a68
7 changed files with 113 additions and 12 deletions

View File

@@ -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 "投运":

View File

@@ -138,7 +138,7 @@ public class LineServiceImpl extends ServiceImpl<LineMapper, Line> 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());

View File

@@ -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<String> add();
}

View File

@@ -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<LineWarningFeignClient> {
@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<String> add() {
log.error("{}异常,降级处理,异常为:{}", "新增终端检测数据", throwable.toString());
throw new BusinessException(finalExceptionEnum);
}
};
}
}

View File

@@ -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;
/**
* <p>
@@ -44,6 +45,7 @@ public class LineWarningController extends BaseController {
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/add")
@ApiOperation("新增在线监测数据")
@ApiIgnore
public HttpResult<String> add() {
String methodDescribe = getMethodDescribe("add");
lineWarningService.addLineWarning();

View File

@@ -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<LineWarningMapper, Li
List<String> 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<RStatLimitTargetDPO> limitTarget = limitRateDClient.monitorIdsGetLimitTargetInfo(param).getData();
@@ -119,15 +121,15 @@ public class LineWarningServiceImpl extends MppServiceImpl<LineWarningMapper, Li
public Page<OnlineVo> getLineWarningList(OnlineParam param) {
DeptGetLineParam deptGetLineParam = new DeptGetLineParam();
deptGetLineParam.setDeptId(param.getDeptId());
List<String> lineList = commTerminalGeneralClient.deptGetLineList(deptGetLineParam)
.getData()
.stream()
.flatMap(item -> item.getLineIds().stream())
deptGetLineParam.setServerName(ServerEnum.HARMONIC.getName());
List<DeptGetChildrenMoreDTO> list = commTerminalGeneralClient.deptGetLine(deptGetLineParam).getData();
List<String> lineList = list.stream()
.flatMap(dto -> dto.getLineBaseList().stream().map(LineDevGetDTO::getPointId))
.distinct()
.collect(Collectors.toList());;
.collect(Collectors.toList());
QueryWrapper<LineWarning> 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<LineWarningMapper, Li
@Override
@Transactional(rollbackFor = Exception.class)
public void startReport(OnlineParam.ReportParam param) {
//下发预告警单 todo后期和前端调添加字段
warningLeafletService.createLeaflet(ProblemTypeEnum.ONLINE.getName(), "",IdUtil.fastSimpleUUID(), param.getId(), ProblemTypeEnum.ONLINE.getCode(),param.getType(),param.getIssueDetail(),"");
String dept = this.baseMapper.selectById(param.getId()).getDeptId();
//下发预告警单
warningLeafletService.createLeaflet(ProblemTypeEnum.ONLINE.getName(), dept,IdUtil.fastSimpleUUID(), param.getId(), ProblemTypeEnum.ONLINE.getCode(),param.getType(),param.getIssueDetail(),"");
//更新supervision_line_warning表字段信
LineWarning lineWarning = this.baseMapper.selectById(param.getId());
if (lineWarning.getThresholdResource() == 0) {

View File

@@ -0,0 +1,21 @@
package com.njcn.system.timer.tasks;
import com.njcn.supervision.api.LineWarningFeignClient;
import com.njcn.system.timer.TimerTaskRunner;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Component;
/**
* @author xy
*/
@Component
@RequiredArgsConstructor
public class LineWarningTaskRunner implements TimerTaskRunner {
private final LineWarningFeignClient lineWarningFeignClient;
@Override
public void action(String date) {
lineWarningFeignClient.add();
}
}