云前置改造-新增补召功能
This commit is contained in:
@@ -1,18 +1,13 @@
|
||||
package com.njcn.csdevice.api;
|
||||
|
||||
import com.njcn.common.pojo.annotation.OperateInfo;
|
||||
import com.njcn.common.pojo.constant.ServerInfo;
|
||||
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.api.fallback.CsLedgerFeignClientFallbackFactory;
|
||||
import com.njcn.csdevice.pojo.dto.DevDetailDTO;
|
||||
import com.njcn.csdevice.pojo.dto.LineParamDTO;
|
||||
import com.njcn.csdevice.pojo.param.CsLedgerParam;
|
||||
import com.njcn.csdevice.pojo.po.CsLedger;
|
||||
import com.njcn.csdevice.pojo.vo.CsLedgerVO;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
package com.njcn.csdevice.api;
|
||||
|
||||
import com.njcn.common.pojo.constant.ServerInfo;
|
||||
import com.njcn.common.pojo.response.HttpResult;
|
||||
import com.njcn.csdevice.api.fallback.CsTerminalLogsClientFallbackFactory;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
|
||||
/**
|
||||
* @author xy
|
||||
*/
|
||||
@FeignClient(value = ServerInfo.CS_DEVICE_BOOT, path = "/csTerminalLogs", fallbackFactory = CsTerminalLogsClientFallbackFactory.class,contextId = "csTerminalLogs")
|
||||
|
||||
public interface IcdFeignClient {
|
||||
|
||||
@PostMapping("/updateLaterData")
|
||||
HttpResult<String> updateLaterData(@RequestParam("id") String id, @RequestParam("code") String code);
|
||||
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
package com.njcn.csdevice.param;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author xy
|
||||
*/
|
||||
@Data
|
||||
public class IcdBzParam implements Serializable {
|
||||
|
||||
@ApiModelProperty("监测点集合")
|
||||
private List<String> lineList;
|
||||
|
||||
@ApiModelProperty("开始时间")
|
||||
private String startTime;
|
||||
|
||||
@ApiModelProperty("结束时间")
|
||||
private String endTime;
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
package com.njcn.csdevice.pojo.vo;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* @author xy
|
||||
* 日志信息
|
||||
*/
|
||||
@Data
|
||||
public class CldLogsVo implements Serializable {
|
||||
|
||||
@ApiModelProperty("工程名称")
|
||||
private String engineeringName;
|
||||
|
||||
@ApiModelProperty("项目名称")
|
||||
private String projectName;
|
||||
|
||||
@ApiModelProperty("设备名称")
|
||||
private String deviceName;
|
||||
|
||||
@ApiModelProperty("监测点名称")
|
||||
private String lineName;
|
||||
|
||||
@ApiModelProperty("日志")
|
||||
private String log;
|
||||
|
||||
@ApiModelProperty("补召时间")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime logTime;
|
||||
|
||||
@ApiModelProperty("状态")
|
||||
private String status;
|
||||
|
||||
}
|
||||
@@ -1,23 +1,24 @@
|
||||
package com.njcn.csdevice.controller.icd;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
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.csdevice.pojo.vo.CldLogsVo;
|
||||
import com.njcn.csdevice.service.ICsTerminalReplyService;
|
||||
import com.njcn.web.controller.BaseController;
|
||||
import com.njcn.web.pojo.param.BaseParam;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
import io.swagger.annotations.ApiImplicitParams;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -62,5 +63,15 @@ public class CsTerminalReplyController extends BaseController {
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
|
||||
}
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@PostMapping("/bzLogs")
|
||||
@ApiOperation("补召日志")
|
||||
@ApiImplicitParam(name = "param", value = "参数", required = true)
|
||||
public HttpResult<Page<CldLogsVo>> bzLogs(@RequestBody @Validated BaseParam param){
|
||||
String methodDescribe = getMethodDescribe("bzLogs");
|
||||
Page<CldLogsVo> list = csTerminalReplyService.getBzLogs(param);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -5,6 +5,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.csdevice.param.IcdBzParam;
|
||||
import com.njcn.csdevice.param.IcdLedgerParam;
|
||||
import com.njcn.csdevice.param.IcdParam;
|
||||
import com.njcn.csdevice.pojo.vo.CldLedgerVo;
|
||||
@@ -13,7 +14,6 @@ import com.njcn.csdevice.service.IcdService;
|
||||
import com.njcn.web.controller.BaseController;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
import io.swagger.annotations.ApiImplicitParams;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@@ -78,28 +78,20 @@ public class IcdController extends BaseController {
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@PostMapping("/bzEvent")
|
||||
@ApiOperation("补召事件")
|
||||
@ApiImplicitParams({
|
||||
@ApiImplicitParam(name = "lineList", value = "监测点id集合"),
|
||||
@ApiImplicitParam(name = "startTime", value = "开始时间"),
|
||||
@ApiImplicitParam(name = "endTime", value = "结束时间")
|
||||
})
|
||||
public HttpResult<String> bzEvent(@RequestParam(required = false) List<String> lineList,@RequestParam String startTime,@RequestParam String endTime){
|
||||
@ApiImplicitParam(name = "param", value = "参数", required = true)
|
||||
public HttpResult<String> bzEvent(@RequestBody @Validated IcdBzParam param){
|
||||
String methodDescribe = getMethodDescribe("bzEvent");
|
||||
icdService.bzEvent(lineList,startTime,endTime);
|
||||
icdService.bzEvent(param);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
|
||||
}
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@PostMapping("/bzFile")
|
||||
@ApiOperation("补召波形")
|
||||
@ApiImplicitParams({
|
||||
@ApiImplicitParam(name = "lineList", value = "监测点id"),
|
||||
@ApiImplicitParam(name = "startTime", value = "开始时间"),
|
||||
@ApiImplicitParam(name = "endTime", value = "结束时间")
|
||||
})
|
||||
public HttpResult<String> bzFile(@RequestParam(required = false) List<String> lineList,@RequestParam String startTime,@RequestParam String endTime){
|
||||
@ApiImplicitParam(name = "param", value = "参数", required = true)
|
||||
public HttpResult<String> bzFile(@RequestBody @Validated IcdBzParam param){
|
||||
String methodDescribe = getMethodDescribe("bzFile");
|
||||
icdService.bzFile(lineList,startTime,endTime);
|
||||
icdService.bzFile(param);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,11 @@
|
||||
package com.njcn.csdevice.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.njcn.csdevice.pojo.po.CsTerminalReply;
|
||||
import com.njcn.user.pojo.vo.RoleVO;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
@@ -13,4 +17,6 @@ import com.njcn.csdevice.pojo.po.CsTerminalReply;
|
||||
*/
|
||||
public interface CsTerminalReplyMapper extends BaseMapper<CsTerminalReply> {
|
||||
|
||||
Page<CsTerminalReply> page(@Param("page")Page<RoleVO> page, @Param("ew") QueryWrapper<CsTerminalReply> queryWrapper);
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.njcn.csdevice.mapper.CsTerminalReplyMapper">
|
||||
|
||||
<!--获取角色分页列表-->
|
||||
<select id="page" resultType="CsTerminalReply">
|
||||
select
|
||||
cs_terminal_reply.*
|
||||
from
|
||||
cs_terminal_reply
|
||||
WHERE ${ew.sqlSegment}
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
@@ -63,4 +63,11 @@ public interface CsLinePOService extends IService<CsLinePO>{
|
||||
void updateCldLineStatus(List<CsLinePO> lineList, Integer status);
|
||||
|
||||
void updateLineDataByList(List<String> list, String id, String setId);
|
||||
|
||||
/**
|
||||
* 根据名称获取监测点
|
||||
* @param lineName
|
||||
* @return
|
||||
*/
|
||||
List<CsLinePO> getLineByName(String lineName);
|
||||
}
|
||||
|
||||
@@ -1,7 +1,10 @@
|
||||
package com.njcn.csdevice.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.njcn.csdevice.pojo.po.CsTerminalReply;
|
||||
import com.njcn.csdevice.pojo.vo.CldLogsVo;
|
||||
import com.njcn.web.pojo.param.BaseParam;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -19,4 +22,8 @@ public interface ICsTerminalReplyService extends IService<CsTerminalReply> {
|
||||
|
||||
void updateReplyData(String id,Integer state,String deviceId);
|
||||
|
||||
List<CsTerminalReply> getBzReplyData(String lineId);
|
||||
|
||||
Page<CldLogsVo> getBzLogs(BaseParam param);
|
||||
|
||||
}
|
||||
|
||||
@@ -1,9 +1,12 @@
|
||||
package com.njcn.csdevice.service;
|
||||
|
||||
import com.njcn.csdevice.param.IcdBzParam;
|
||||
import com.njcn.csdevice.param.IcdLedgerParam;
|
||||
import com.njcn.csdevice.param.IcdParam;
|
||||
import com.njcn.csdevice.pojo.vo.CldLedgerVo;
|
||||
import com.njcn.csdevice.pojo.vo.CldLogsVo;
|
||||
import com.njcn.csdevice.pojo.vo.DeviceInfo;
|
||||
import com.njcn.web.pojo.param.BaseParam;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -17,8 +20,8 @@ public interface IcdService {
|
||||
|
||||
void bzFileByEventId(String eventId);
|
||||
|
||||
void bzEvent(List<String> lineList, String startTime, String endTime);
|
||||
void bzEvent(IcdBzParam param);
|
||||
|
||||
void bzFile(List<String> lineList,String startTime, String endTime);
|
||||
void bzFile(IcdBzParam param);
|
||||
|
||||
}
|
||||
|
||||
@@ -211,6 +211,11 @@ public class CsLinePOServiceImpl extends ServiceImpl<CsLinePOMapper, CsLinePO> i
|
||||
this.update(updateWrapper);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<CsLinePO> getLineByName(String lineName) {
|
||||
return this.lambdaQuery().like(CsLinePO::getName,lineName).list();
|
||||
}
|
||||
|
||||
// /**
|
||||
// * 1.平台端默认配置拓扑图模板,包含拓扑图信息(cs_topology_diagram_template)和拓扑图上监测点的点位信息(cs_line_topology_template)
|
||||
// *
|
||||
|
||||
@@ -1,24 +1,32 @@
|
||||
package com.njcn.csdevice.service.impl;
|
||||
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.njcn.csdevice.api.CsLedgerFeignClient;
|
||||
import com.njcn.csdevice.mapper.CsTerminalReplyMapper;
|
||||
import com.njcn.csdevice.pojo.po.CsEquipmentDeliveryPO;
|
||||
import com.njcn.csdevice.pojo.po.CsTerminalReply;
|
||||
import com.njcn.csdevice.pojo.vo.CldLogsVo;
|
||||
import com.njcn.csdevice.pojo.vo.CsLedgerVO;
|
||||
import com.njcn.csdevice.service.CsEquipmentDeliveryService;
|
||||
import com.njcn.csdevice.service.ICsTerminalLogsService;
|
||||
import com.njcn.csdevice.service.ICsTerminalReplyService;
|
||||
import com.njcn.csdevice.service.INodeService;
|
||||
import com.njcn.redis.utils.RedisUtil;
|
||||
import com.njcn.web.factory.PageFactory;
|
||||
import com.njcn.web.pojo.param.BaseParam;
|
||||
import com.njcn.web.utils.RequestUtil;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.*;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
@@ -38,6 +46,7 @@ public class CsTerminalReplyServiceImpl extends ServiceImpl<CsTerminalReplyMappe
|
||||
private final INodeService nodeService;
|
||||
private final CsEquipmentDeliveryService csEquipmentDeliveryService;
|
||||
private final ICsTerminalLogsService csTerminalLogsService;
|
||||
private final CsLedgerFeignClient csLedgerFeignClient;
|
||||
|
||||
@Override
|
||||
public List<String> queryReplyData() {
|
||||
@@ -100,4 +109,103 @@ public class CsTerminalReplyServiceImpl extends ServiceImpl<CsTerminalReplyMappe
|
||||
.eq(CsTerminalReply::getDeviceId,deviceId);
|
||||
this.update(wrapper);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<CsTerminalReply> getBzReplyData(String lineId) {
|
||||
LambdaQueryWrapper<CsTerminalReply> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.in(CsTerminalReply::getCode,Arrays.asList("allFile","allEvent","oneFile"))
|
||||
.orderByDesc(CsTerminalReply::getCreateTime);
|
||||
if (!Objects.isNull(lineId) && StringUtils.isNotBlank(lineId)) {
|
||||
wrapper.like(CsTerminalReply::getLineId,lineId);
|
||||
}
|
||||
return this.list(wrapper);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Page<CldLogsVo> getBzLogs(BaseParam param) {
|
||||
Page<CldLogsVo> page = new Page<>(PageFactory.getPageNum(param), PageFactory.getPageSize(param));
|
||||
QueryWrapper<CsTerminalReply> queryWrapper = new QueryWrapper<>();
|
||||
if (StrUtil.isNotBlank(param.getSearchValue())) {
|
||||
queryWrapper.like("cs_terminal_reply.line_id", param.getSearchValue());
|
||||
// //获取监测点id
|
||||
// List<CsLinePO> list = csLinePOService.getLineByName(param.getSearchValue());
|
||||
// if (CollectionUtil.isEmpty(list)) {
|
||||
// return page;
|
||||
// } else {
|
||||
// queryWrapper.and(pr -> {
|
||||
// // 获取所有 lineId
|
||||
// List<String> lineIds = list.stream()
|
||||
// .map(CsLinePO::getLineId)
|
||||
// .collect(Collectors.toList());
|
||||
// // 使用 OR 条件连接多个 lineId
|
||||
// for (int i = 0; i < lineIds.size(); i++) {
|
||||
// if (i == 0) {
|
||||
// pr.like("cs_terminal_reply.line_id", lineIds.get(i));
|
||||
// } else {
|
||||
// pr.or().like("cs_terminal_reply.line_id", lineIds.get(i));
|
||||
// }
|
||||
// }
|
||||
// });
|
||||
// }
|
||||
}
|
||||
//排序
|
||||
queryWrapper.orderBy(true, false, "cs_terminal_reply.create_time");
|
||||
queryWrapper.in("cs_terminal_reply.code", Arrays.asList("allFile", "allEvent", "oneFile"));
|
||||
Page<CsTerminalReply> csTerminalReplyPage = this.baseMapper.page(new Page<>(PageFactory.getPageNum(param), PageFactory.getPageSize(param)), queryWrapper);
|
||||
|
||||
List<CsTerminalReply> records = csTerminalReplyPage.getRecords();
|
||||
if (CollectionUtil.isNotEmpty(records)) {
|
||||
List<CsLedgerVO> data = csLedgerFeignClient.getAllLedger().getData();
|
||||
Map<String, CsLedgerVO> ledgerMap = data.stream().collect(Collectors.toMap(CsLedgerVO::getId, Function.identity()));
|
||||
List<CldLogsVo> cldLogsVos = new ArrayList<>();
|
||||
records.forEach(item->{
|
||||
String pids = ledgerMap.get(item.getDeviceId()).getPids();
|
||||
String[] split = pids.split(",");
|
||||
CldLogsVo cldLogsVo = new CldLogsVo();
|
||||
cldLogsVo.setEngineeringName(ledgerMap.get(split[1]).getName());
|
||||
cldLogsVo.setProjectName(ledgerMap.get(split[2]).getName());
|
||||
cldLogsVo.setDeviceName(ledgerMap.get(item.getDeviceId()).getName());
|
||||
// String lineId = item.getLineId();
|
||||
// String[] lineSplit = lineId.split(",");
|
||||
// String result;
|
||||
// if (lineSplit.length == 1) {
|
||||
// result = ledgerMap.get(lineSplit[0]).getName();
|
||||
// } else {
|
||||
// result = Arrays.stream(lineSplit)
|
||||
// .map(ledgerMap::get)
|
||||
// .filter(Objects::nonNull)
|
||||
// .map(CsLedgerVO::getName)
|
||||
// .collect(Collectors.joining(","));
|
||||
// }
|
||||
// cldLogsVo.setLineName(result);
|
||||
cldLogsVo.setLineName(ledgerMap.get(param.getSearchValue()).getName());
|
||||
cldLogsVo.setLog(getLogDescription(item.getCode()));
|
||||
cldLogsVo.setLogTime(item.getCreateTime());
|
||||
cldLogsVo.setStatus(Objects.equals(item.getIsReceived(), 0)?"补召已下发":"补召成功");
|
||||
cldLogsVos.add(cldLogsVo);
|
||||
});
|
||||
page.setRecords(cldLogsVos);
|
||||
}
|
||||
page.setTotal(csTerminalReplyPage.getTotal());
|
||||
page.setPages(csTerminalReplyPage.getPages());
|
||||
return page;
|
||||
}
|
||||
|
||||
public String getLogDescription(String code) {
|
||||
String result;
|
||||
switch (code) {
|
||||
case "allFile":
|
||||
result = "补召缺失波形文件";
|
||||
break;
|
||||
case "allEvent":
|
||||
result = "补召事件";
|
||||
break;
|
||||
case "oneFile":
|
||||
result = "补召单事件波形";
|
||||
break;
|
||||
default:
|
||||
result = "未知";
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,8 +9,10 @@ import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.alibaba.csp.sentinel.util.StringUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.njcn.access.utils.ChannelObjectUtil;
|
||||
import com.njcn.common.pojo.exception.BusinessException;
|
||||
import com.njcn.csdevice.param.IcdBzParam;
|
||||
import com.njcn.csdevice.param.IcdLedgerParam;
|
||||
import com.njcn.csdevice.param.IcdParam;
|
||||
import com.njcn.csdevice.pojo.param.AppProjectAddParm;
|
||||
@@ -18,16 +20,19 @@ import com.njcn.csdevice.pojo.param.CsEquipmentDeliveryAddParm;
|
||||
import com.njcn.csdevice.pojo.param.CsLineParam;
|
||||
import com.njcn.csdevice.pojo.po.*;
|
||||
import com.njcn.csdevice.pojo.vo.CldLedgerVo;
|
||||
import com.njcn.csdevice.pojo.vo.CldLogsVo;
|
||||
import com.njcn.csdevice.pojo.vo.DeviceInfo;
|
||||
import com.njcn.csdevice.service.*;
|
||||
import com.njcn.csharmonic.api.EventFeignClient;
|
||||
import com.njcn.csharmonic.pojo.po.CsEventPO;
|
||||
import com.njcn.csharmonic.pojo.vo.EventDetailVO;
|
||||
import com.njcn.mq.message.BZEventMessage;
|
||||
import com.njcn.mq.template.BZEventMessageTemplate;
|
||||
import com.njcn.redis.pojo.enums.AppRedisKey;
|
||||
import com.njcn.redis.utils.RedisUtil;
|
||||
import com.njcn.system.enums.DicDataEnum;
|
||||
import com.njcn.system.pojo.po.SysDicTreePO;
|
||||
import com.njcn.web.pojo.param.BaseParam;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
@@ -215,16 +220,16 @@ class IcdServiceImpl implements IcdService {
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void bzEvent(List<String> lineList, String startTime, String endTime) {
|
||||
public void bzEvent(IcdBzParam param) {
|
||||
// 参数校验
|
||||
if (StrUtil.isBlank(startTime) || StrUtil.isBlank(endTime)) {
|
||||
if (StrUtil.isBlank(param.getStartTime()) || StrUtil.isBlank(param.getEndTime())) {
|
||||
throw new BusinessException("开始时间和结束时间不能为空");
|
||||
}
|
||||
LocalDateTime startLocalDate;
|
||||
LocalDateTime endLocalDate;
|
||||
try {
|
||||
startLocalDate = LocalDateTimeUtil.parse(startTime, DatePattern.NORM_DATE_PATTERN);
|
||||
endLocalDate = LocalDateTimeUtil.parse(endTime, DatePattern.NORM_DATE_PATTERN);
|
||||
startLocalDate = LocalDateTimeUtil.parse(param.getStartTime(), DatePattern.NORM_DATE_PATTERN);
|
||||
endLocalDate = LocalDateTimeUtil.parse(param.getEndTime(), DatePattern.NORM_DATE_PATTERN);
|
||||
} catch (Exception e) {
|
||||
throw new BusinessException("时间格式不正确,请使用 yyyy-MM-dd 格式");
|
||||
}
|
||||
@@ -236,8 +241,8 @@ class IcdServiceImpl implements IcdService {
|
||||
LocalDateTimeUtil.endOfDay(endLocalDate),
|
||||
DatePattern.NORM_DATETIME_PATTERN
|
||||
);
|
||||
if (CollectionUtil.isNotEmpty(lineList)) {
|
||||
processWithLineIds(lineList, beginDay, endDay);
|
||||
if (CollectionUtil.isNotEmpty(param.getLineList())) {
|
||||
processWithLineIds(param.getLineList(), beginDay, endDay);
|
||||
} else {
|
||||
processWithoutLineIds(beginDay, endDay);
|
||||
}
|
||||
@@ -357,18 +362,18 @@ class IcdServiceImpl implements IcdService {
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void bzFile(List<String> lineList, String startTime, String endTime) {
|
||||
public void bzFile(IcdBzParam param) {
|
||||
String beginDay = LocalDateTimeUtil.format(
|
||||
LocalDateTimeUtil.beginOfDay(LocalDateTimeUtil.parse(startTime, DatePattern.NORM_DATE_PATTERN)),
|
||||
LocalDateTimeUtil.beginOfDay(LocalDateTimeUtil.parse(param.getStartTime(), DatePattern.NORM_DATE_PATTERN)),
|
||||
DatePattern.NORM_DATETIME_PATTERN
|
||||
);
|
||||
String endDay = LocalDateTimeUtil.format(
|
||||
LocalDateTimeUtil.endOfDay(LocalDateTimeUtil.parse(endTime, DatePattern.NORM_DATE_PATTERN)),
|
||||
LocalDateTimeUtil.endOfDay(LocalDateTimeUtil.parse(param.getEndTime(), DatePattern.NORM_DATE_PATTERN)),
|
||||
DatePattern.NORM_DATETIME_PATTERN
|
||||
);
|
||||
|
||||
// 获取监测点没有波形的事件信息
|
||||
List<CsEventPO> eventList = eventFeignClient.getEventByTime(lineList, beginDay, endDay).getData();
|
||||
List<CsEventPO> eventList = eventFeignClient.getEventByTime(param.getLineList(), beginDay, endDay).getData();
|
||||
if (CollUtil.isEmpty(eventList)) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -74,7 +74,7 @@ public class RealDataServiceImpl implements RealDataService {
|
||||
redisUtil.saveByKeyWithExpire("rtDataUserId:"+lineId, RequestUtil.getUserIndex(),600L);
|
||||
}
|
||||
//等待装置响应,获取询问结果
|
||||
Thread.sleep(2000);
|
||||
Thread.sleep(5000);
|
||||
Object object;
|
||||
if (Objects.equals(DicDataEnum.DEV_CLD.getCode(),devModelCode)) {
|
||||
object = redisUtil.getObjectByKey("devResponse:" + lineId);
|
||||
|
||||
Reference in New Issue
Block a user