From b86c81d70a6a2f7cf7bf18eef8dc0c9112d4a240 Mon Sep 17 00:00:00 2001 From: xy <748613696@qq.com> Date: Wed, 22 Oct 2025 15:04:46 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BA=91=E5=89=8D=E7=BD=AE=E6=94=B9=E9=80=A0-?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E8=A1=A5=E5=8F=AC=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../csdevice/api/CsLedgerFeignClient.java | 5 - .../com/njcn/csdevice/api/IcdFeignClient.java | 20 +++ .../com/njcn/csdevice/param/IcdBzParam.java | 23 ++++ .../com/njcn/csdevice/pojo/vo/CldLogsVo.java | 39 ++++++ .../icd/CsTerminalReplyController.java | 19 ++- .../controller/icd/IcdController.java | 22 ++-- .../mapper/CsTerminalReplyMapper.java | 6 + .../mapper/mapping/CsTerminalReplyMapper.xml | 14 +++ .../csdevice/service/CsLinePOService.java | 7 ++ .../service/ICsTerminalReplyService.java | 7 ++ .../com/njcn/csdevice/service/IcdService.java | 7 +- .../service/impl/CsLinePOServiceImpl.java | 5 + .../impl/CsTerminalReplyServiceImpl.java | 116 +++++++++++++++++- .../csdevice/service/impl/IcdServiceImpl.java | 25 ++-- .../service/impl/RealDataServiceImpl.java | 2 +- 15 files changed, 276 insertions(+), 41 deletions(-) create mode 100644 cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/IcdFeignClient.java create mode 100644 cs-device/cs-device-api/src/main/java/com/njcn/csdevice/param/IcdBzParam.java create mode 100644 cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/vo/CldLogsVo.java create mode 100644 cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/mapper/mapping/CsTerminalReplyMapper.xml diff --git a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/CsLedgerFeignClient.java b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/CsLedgerFeignClient.java index ff943f5..8ef9d97 100644 --- a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/CsLedgerFeignClient.java +++ b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/CsLedgerFeignClient.java @@ -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; diff --git a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/IcdFeignClient.java b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/IcdFeignClient.java new file mode 100644 index 0000000..99d30c6 --- /dev/null +++ b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/IcdFeignClient.java @@ -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 updateLaterData(@RequestParam("id") String id, @RequestParam("code") String code); + +} diff --git a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/param/IcdBzParam.java b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/param/IcdBzParam.java new file mode 100644 index 0000000..5271ef8 --- /dev/null +++ b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/param/IcdBzParam.java @@ -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 lineList; + + @ApiModelProperty("开始时间") + private String startTime; + + @ApiModelProperty("结束时间") + private String endTime; +} diff --git a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/vo/CldLogsVo.java b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/vo/CldLogsVo.java new file mode 100644 index 0000000..8c42dd8 --- /dev/null +++ b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/vo/CldLogsVo.java @@ -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; + +} \ No newline at end of file diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/controller/icd/CsTerminalReplyController.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/controller/icd/CsTerminalReplyController.java index 46a0bef..d343820 100644 --- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/controller/icd/CsTerminalReplyController.java +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/controller/icd/CsTerminalReplyController.java @@ -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> bzLogs(@RequestBody @Validated BaseParam param){ + String methodDescribe = getMethodDescribe("bzLogs"); + Page list = csTerminalReplyService.getBzLogs(param); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe); + } + } diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/controller/icd/IcdController.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/controller/icd/IcdController.java index 9cfc060..a00e0a0 100644 --- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/controller/icd/IcdController.java +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/controller/icd/IcdController.java @@ -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 bzEvent(@RequestParam(required = false) List lineList,@RequestParam String startTime,@RequestParam String endTime){ + @ApiImplicitParam(name = "param", value = "参数", required = true) + public HttpResult 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 bzFile(@RequestParam(required = false) List lineList,@RequestParam String startTime,@RequestParam String endTime){ + @ApiImplicitParam(name = "param", value = "参数", required = true) + public HttpResult bzFile(@RequestBody @Validated IcdBzParam param){ String methodDescribe = getMethodDescribe("bzFile"); - icdService.bzFile(lineList,startTime,endTime); + icdService.bzFile(param); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe); } diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/mapper/CsTerminalReplyMapper.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/mapper/CsTerminalReplyMapper.java index 2cd164a..1712212 100644 --- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/mapper/CsTerminalReplyMapper.java +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/mapper/CsTerminalReplyMapper.java @@ -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; /** *

@@ -13,4 +17,6 @@ import com.njcn.csdevice.pojo.po.CsTerminalReply; */ public interface CsTerminalReplyMapper extends BaseMapper { + Page page(@Param("page")Page page, @Param("ew") QueryWrapper queryWrapper); + } diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/mapper/mapping/CsTerminalReplyMapper.xml b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/mapper/mapping/CsTerminalReplyMapper.xml new file mode 100644 index 0000000..93d34b3 --- /dev/null +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/mapper/mapping/CsTerminalReplyMapper.xml @@ -0,0 +1,14 @@ + + + + + + + + diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/CsLinePOService.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/CsLinePOService.java index fa8b5e8..e3b4703 100644 --- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/CsLinePOService.java +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/CsLinePOService.java @@ -63,4 +63,11 @@ public interface CsLinePOService extends IService{ void updateCldLineStatus(List lineList, Integer status); void updateLineDataByList(List list, String id, String setId); + + /** + * 根据名称获取监测点 + * @param lineName + * @return + */ + List getLineByName(String lineName); } diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/ICsTerminalReplyService.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/ICsTerminalReplyService.java index 81cf926..1cc7a07 100644 --- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/ICsTerminalReplyService.java +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/ICsTerminalReplyService.java @@ -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 { void updateReplyData(String id,Integer state,String deviceId); + List getBzReplyData(String lineId); + + Page getBzLogs(BaseParam param); + } diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/IcdService.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/IcdService.java index d9fcb6f..608e0f0 100644 --- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/IcdService.java +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/IcdService.java @@ -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 lineList, String startTime, String endTime); + void bzEvent(IcdBzParam param); - void bzFile(List lineList,String startTime, String endTime); + void bzFile(IcdBzParam param); } diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsLinePOServiceImpl.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsLinePOServiceImpl.java index 7963364..7c41cac 100644 --- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsLinePOServiceImpl.java +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsLinePOServiceImpl.java @@ -211,6 +211,11 @@ public class CsLinePOServiceImpl extends ServiceImpl i this.update(updateWrapper); } + @Override + public List getLineByName(String lineName) { + return this.lambdaQuery().like(CsLinePO::getName,lineName).list(); + } + // /** // * 1.平台端默认配置拓扑图模板,包含拓扑图信息(cs_topology_diagram_template)和拓扑图上监测点的点位信息(cs_line_topology_template) // * diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsTerminalReplyServiceImpl.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsTerminalReplyServiceImpl.java index f6414c9..cb0ccfd 100644 --- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsTerminalReplyServiceImpl.java +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsTerminalReplyServiceImpl.java @@ -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 queryReplyData() { @@ -100,4 +109,103 @@ public class CsTerminalReplyServiceImpl extends ServiceImpl getBzReplyData(String lineId) { + LambdaQueryWrapper 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 getBzLogs(BaseParam param) { + Page page = new Page<>(PageFactory.getPageNum(param), PageFactory.getPageSize(param)); + QueryWrapper queryWrapper = new QueryWrapper<>(); + if (StrUtil.isNotBlank(param.getSearchValue())) { + queryWrapper.like("cs_terminal_reply.line_id", param.getSearchValue()); +// //获取监测点id +// List list = csLinePOService.getLineByName(param.getSearchValue()); +// if (CollectionUtil.isEmpty(list)) { +// return page; +// } else { +// queryWrapper.and(pr -> { +// // 获取所有 lineId +// List 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 csTerminalReplyPage = this.baseMapper.page(new Page<>(PageFactory.getPageNum(param), PageFactory.getPageSize(param)), queryWrapper); + + List records = csTerminalReplyPage.getRecords(); + if (CollectionUtil.isNotEmpty(records)) { + List data = csLedgerFeignClient.getAllLedger().getData(); + Map ledgerMap = data.stream().collect(Collectors.toMap(CsLedgerVO::getId, Function.identity())); + List 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; + } } diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/IcdServiceImpl.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/IcdServiceImpl.java index 58e8e93..06aaff1 100644 --- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/IcdServiceImpl.java +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/IcdServiceImpl.java @@ -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 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 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 eventList = eventFeignClient.getEventByTime(lineList, beginDay, endDay).getData(); + List eventList = eventFeignClient.getEventByTime(param.getLineList(), beginDay, endDay).getData(); if (CollUtil.isEmpty(eventList)) { return; } diff --git a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/RealDataServiceImpl.java b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/RealDataServiceImpl.java index 2debfed..73fa5fd 100644 --- a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/RealDataServiceImpl.java +++ b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/RealDataServiceImpl.java @@ -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);