From e38015e53ac532502679197c5c7f07adce297be1 Mon Sep 17 00:00:00 2001 From: huangfeng Date: Sat, 11 May 2024 16:09:35 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E8=A1=A5=E5=85=85=E5=B1=9E=E6=80=A7?= =?UTF-8?q?=EF=BC=8C=E5=A2=9E=E5=8A=A0=E5=8F=82=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/application-test.yml | 2 +- .../xymanager_common/entity/MntnStatus.java | 123 +++++++++++++++++- .../xymanager_common/vo/TerminalSelectVo.java | 5 + .../impl/ActivitiesServiceImpl.java | 19 ++- .../impl/TerminalExtServiceImpl.java | 33 ++++- .../service/ActivitiesService.java | 3 +- 6 files changed, 165 insertions(+), 20 deletions(-) diff --git a/xymanager_admin/src/main/resources/application-test.yml b/xymanager_admin/src/main/resources/application-test.yml index 161a959..8301067 100644 --- a/xymanager_admin/src/main/resources/application-test.yml +++ b/xymanager_admin/src/main/resources/application-test.yml @@ -61,7 +61,7 @@ server: logging: config: classpath:log4j2.xml level: - com.shxy: trace + com.shxy: info org.springframework: warn diff --git a/xymanager_common/src/main/java/com/shxy/xymanager_common/entity/MntnStatus.java b/xymanager_common/src/main/java/com/shxy/xymanager_common/entity/MntnStatus.java index 03bf7f7..1941161 100644 --- a/xymanager_common/src/main/java/com/shxy/xymanager_common/entity/MntnStatus.java +++ b/xymanager_common/src/main/java/com/shxy/xymanager_common/entity/MntnStatus.java @@ -2,6 +2,7 @@ package com.shxy.xymanager_common.entity; import com.alibaba.excel.util.StringUtils; import com.shxy.xymanager_common.util.JSONUtil; +import com.shxy.xymanager_common.vo.TerminalSelectVo; import lombok.extern.slf4j.Slf4j; import java.util.Date; @@ -297,6 +298,54 @@ public class MntnStatus { map.put("i1Version", vs[1]); } else if (vs[0].equals("yw")) { map.put("maintainVersion", vs[1]); + } else if (vs[0].equals("心跳间隔")) { + map.put("heartbeatDuration", vs[1]); + } else if (vs[0].equals("电池")) { + map.put("battery", vs[1]); + } else if (vs[0].equals("系统重启")) { + map.put("rebootTimes", vs[1]); + } else if (vs[0].equals("重启")) { + map.put("rebootTimes", vs[1]); + } else if (vs[0].equals("i1重启")) { + map.put("i1RebootTimes", vs[1]); + } else if (vs[0].equals("收")) { + map.put("recv", vs[1]); + } else if (vs[0].equals("拍")) { + map.put("photoTimes", vs[1]); + } else if (vs[0].equals("成")) { + map.put("success", vs[1]); + } else if (vs[0].equals("败")) { + map.put("failure", vs[1]); + } else if (vs[0].equals("传")) { + map.put("uploads", vs[1]); + } else if (vs[0].equals("心跳累计")) { + map.put("numberOfHb", vs[1]); + } else if (vs[0].equals("心跳")) { + map.put("numberOfHb", vs[1]); + } else if (vs[0].equals("网络异常")) { + map.put("networkError", vs[1]); + } else if (vs[0].equals("网络")) { + map.put("networkError", vs[1]); + } else if (vs[0].equals("信号1")) { + map.put("signature1", vs[1]); + } else if (vs[0].equals("信号2")) { + map.put("signature2", vs[1]); + } else if (vs[0].equals("卡1")) { + map.put("simcard1", vs[1]); + } else if (vs[0].equals("卡2")) { + map.put("simcard2", vs[1]); + } else if (vs[0].equals("mcu")) { + map.put("mcu", vs[1]); + } else if (vs[0].equals("ai")) { + map.put("aiVersion", vs[1]); + } else if (vs[0].equals("cam")) { + map.put("cameraService", vs[1]); + } else if (vs[0].equals("主板温度")) { + map.put("mainBoardTmp", vs[1]); + } else if (vs[0].equals("电池温度")) { + map.put("batteryTmp", vs[1]); + } else if (vs[0].equals("剩余存储空间")) { + map.put("freeROM", vs[1]); } } } @@ -309,32 +358,92 @@ public class MntnStatus { return null; } - public HashMap match(String version, String cma) { + public HashMap match(TerminalSelectVo vo) { HashMap map = this.makeRawReport(); if (map != null) { - if (StringUtils.isNotBlank(version)) { + if (StringUtils.isNotBlank(vo.getVersion()) && StringUtils.isNotBlank(vo.getCma())) { + int v = 0; + int c = 0; Iterator it = map.keySet().iterator(); while (it.hasNext()) { String key = it.next(); Object value = map.get(key); if (key.toLowerCase().contains("version")) { - if (value.toString().contains(version)) { + if (value.toString().contains(vo.getVersion())) { + v = 1; + } + } + if (key.toLowerCase().contains("cma")) { + if (value.toString().contains(vo.getVersion())) { + c = 1; + } + } + } + if (vo.getVersionExclude()) { + if (vo.getCmaExclude()) { + if (v == 0 && c == 0) { + return map; + } + } else { + if (v == 0 && c == 1) { + return map; + } + } + } else { + if (vo.getCmaExclude()) { + if (v == 1 && c == 0) { + return map; + } + } else { + if (v == 1 && c == 1) { return map; } } } - } - if (StringUtils.isNotBlank(cma)) { + } else if (StringUtils.isNotBlank(vo.getVersion())) { + int v = 0; + Iterator it = map.keySet().iterator(); + while (it.hasNext()) { + String key = it.next(); + Object value = map.get(key); + if (key.toLowerCase().contains("version")) { + if (value.toString().contains(vo.getVersion())) { + v = 1; + break; + } + } + } + if (vo.getVersionExclude()) { + if (v == 0) { + return map; + } + } else { + if (v == 1) { + return map; + } + } + } else if (StringUtils.isNotBlank(vo.getCma())) { + int c = 0; Iterator it = map.keySet().iterator(); while (it.hasNext()) { String key = it.next(); Object value = map.get(key); if (key.toLowerCase().contains("cma")) { - if (value.toString().contains(cma)) { - return map; + if (value.toString().contains(vo.getCma())) { + c = 1; + break; } } } + if (vo.getCmaExclude()) { + if (c == 0) { + return map; + } + } else { + if (c == 1) { + return map; + } + } } } return null; diff --git a/xymanager_common/src/main/java/com/shxy/xymanager_common/vo/TerminalSelectVo.java b/xymanager_common/src/main/java/com/shxy/xymanager_common/vo/TerminalSelectVo.java index 92b2ae2..891901a 100644 --- a/xymanager_common/src/main/java/com/shxy/xymanager_common/vo/TerminalSelectVo.java +++ b/xymanager_common/src/main/java/com/shxy/xymanager_common/vo/TerminalSelectVo.java @@ -43,8 +43,13 @@ public class TerminalSelectVo { private int pagesize; private String cma; + private Boolean cmaExclude; private String cmdid; + private Boolean cmdidExclude; private String version; + private Boolean versionExclude; + private String bsIdentifier; + private Boolean bsIdentifierExclude; private Integer activityId; private Integer mntn; diff --git a/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/ActivitiesServiceImpl.java b/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/ActivitiesServiceImpl.java index 66598fe..1de23a3 100644 --- a/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/ActivitiesServiceImpl.java +++ b/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/ActivitiesServiceImpl.java @@ -5,6 +5,7 @@ import com.shxy.xymanager_common.exception.ApiException; import com.shxy.xymanager_dao.dao.MntnActivityTerminalsMapper; import com.shxy.xymanager_dao.dao.MntnActivitiesMapper; import com.shxy.xymanager_service.service.ActivitiesService; +import com.shxy.xymanager_service.service.NewCacheService; import com.shxy.xymanager_service.service.TerminalExtService; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; @@ -29,6 +30,8 @@ public class ActivitiesServiceImpl implements ActivitiesService { MntnActivityTerminalsMapper terminalsMapper; @Resource TerminalExtService terminalExtService; + @Resource + NewCacheService cacheService; @Override public List listAll() { @@ -122,10 +125,12 @@ public class ActivitiesServiceImpl implements ActivitiesService { } @Override - public MntnActivities detail(Integer id) { - MntnActivities item = mapper.selectByPrimaryKey(id); - this.fillItem(item); - return item; + public List detail(Integer id) { + MntnActivityTerminalsExample example = new MntnActivityTerminalsExample(); + MntnActivityTerminalsExample.Criteria criteria = example.createCriteria(); + criteria.andActivityIdEqualTo(id); + List list = terminalsMapper.selectByExample(example); + return list; } private void fillItem(MntnActivities item) { @@ -135,8 +140,10 @@ public class ActivitiesServiceImpl implements ActivitiesService { List list = terminalsMapper.selectByExample(example); List terms = new ArrayList<>(); for (MntnActivityTerminals r : list) { - Terminals t = terminalExtService.getById(r.getTermId()); - terms.add(t); + Terminals t = cacheService.getTerminal(r.getTermId()); + if (t != null) { + terms.add(t); + } } item.setTerms(terms); } diff --git a/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/TerminalExtServiceImpl.java b/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/TerminalExtServiceImpl.java index d22252c..f551fdb 100644 --- a/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/TerminalExtServiceImpl.java +++ b/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/TerminalExtServiceImpl.java @@ -44,6 +44,18 @@ public class TerminalExtServiceImpl implements TerminalExtService { @Override public List getExtTerminalList(TerminalSelectVo vo) { + if (vo.getCmaExclude() == null) { + vo.setCmaExclude(false); + } + if (vo.getVersionExclude() == null) { + vo.setVersionExclude(false); + } + if (vo.getCmdidExclude() == null) { + vo.setCmdidExclude(false); + } + if (vo.getBsIdentifierExclude() == null) { + vo.setBsIdentifierExclude(false); + } PermissionDetail permit = userService.getPermissionListFull(); View_Dy_Line_Tower_TerminalsExample example = new View_Dy_Line_Tower_TerminalsExample(); @@ -65,7 +77,18 @@ public class TerminalExtServiceImpl implements TerminalExtService { criteria.andLineNameLike("%" + vo.getSearch() + "%"); } if (StringUtils.isNotBlank(vo.getCmdid())) { - criteria.andCmdidLike("%" + vo.getCmdid() + "%"); + if (vo.getCmdidExclude()) { + criteria.andCmdidNotLike("%" + vo.getCmdid() + "%"); + } else { + criteria.andCmdidLike("%" + vo.getCmdid() + "%"); + } + } + if (StringUtils.isNotBlank(vo.getBsIdentifier())) { + if (vo.getBsIdentifierExclude()) { + criteria.andBsIdentifierNotLike("%" + vo.getBsIdentifier() + "%"); + } else { + criteria.andBsIdentifierLike("%" + vo.getBsIdentifier() + "%"); + } } if (vo.getDevType() != null && vo.getDevType() > 0) { criteria.andDevTypeLike("%" + vo.getDevType() + "%"); @@ -87,10 +110,10 @@ public class TerminalExtServiceImpl implements TerminalExtService { } } if (vo.getActivityId() != null && vo.getActivityId() > 0) { - MntnActivities activities = activitiesService.detail(vo.getActivityId()); + List actList = activitiesService.detail(vo.getActivityId()); List idList = new ArrayList<>(); - for (Terminals item : activities.getTerms()) { - idList.add(item.getId()); + for (MntnActivityTerminals item : actList) { + idList.add(item.getTermId()); } criteria.andIdIn(idList); } @@ -106,7 +129,7 @@ public class TerminalExtServiceImpl implements TerminalExtService { MntnStatus status = statusMapper.selectByPrimaryKey(item.getId()); if (vo.needMatch()) { if (status != null) { - HashMap map = status.match(vo.getVersion(), vo.getCma()); + HashMap map = status.match(vo); if (map != null) { item.setRawReport(map); result.add(item); diff --git a/xymanager_service/src/main/java/com/shxy/xymanager_service/service/ActivitiesService.java b/xymanager_service/src/main/java/com/shxy/xymanager_service/service/ActivitiesService.java index 13340de..a7ec8b9 100644 --- a/xymanager_service/src/main/java/com/shxy/xymanager_service/service/ActivitiesService.java +++ b/xymanager_service/src/main/java/com/shxy/xymanager_service/service/ActivitiesService.java @@ -1,6 +1,7 @@ package com.shxy.xymanager_service.service; import com.shxy.xymanager_common.entity.MntnActivities; +import com.shxy.xymanager_common.entity.MntnActivityTerminals; import java.util.List; @@ -14,6 +15,6 @@ public interface ActivitiesService { void delete(Integer id) throws Exception; - MntnActivities detail(Integer id); + List detail(Integer id); }