From 3075910e10bb60fa2775afb4dbad8d5dba488abb Mon Sep 17 00:00:00 2001
From: zhanzhiqin <895896009@qq.com>
Date: 星期五, 22 七月 2022 09:56:36 +0800
Subject: [PATCH] fix

---
 ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleService.java |  120 +++++++++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 87 insertions(+), 33 deletions(-)

diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleService.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleService.java
index 770f415..1a0cc11 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleService.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleService.java
@@ -25,7 +25,6 @@
 import com.sandu.ximon.admin.manager.iot.frame.inner.response.A1DeviceMacRespInnerFrame;
 import com.sandu.ximon.admin.manager.iot.frame.inner.response.A1TernaryCodeRespInnerFrame;
 import com.sandu.ximon.admin.manager.iot.rrpc.dto.CommonFrame;
-import com.sandu.ximon.admin.manager.iot.rrpc.dto.WrapResponseCommonFrame;
 import com.sandu.ximon.admin.manager.iot.rrpc.enums.*;
 import com.sandu.ximon.admin.manager.iot.rrpc.mainboard.MainBoardInvokeSyncService;
 import com.sandu.ximon.admin.param.*;
@@ -39,6 +38,7 @@
 import com.sandu.ximon.admin.vo.PoleBindVO;
 import com.sandu.ximon.dao.bo.*;
 import com.sandu.ximon.dao.domain.*;
+import com.sandu.ximon.dao.enums.OrderByEnums;
 import com.sandu.ximon.dao.mapper.PoleMapper;
 import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
@@ -140,7 +140,7 @@
         StringBuilder sb = new StringBuilder();
         String date = new SimpleDateFormat("yyMMdd").format(new Date());
         sb.append(date);
-        String key = LightKey.POLE_SN.key(null);
+        String key = LightKey.POLE_SN.key(date);
         Long increment = redisService.incr(key, 1);
         String incrementStr = increment.toString();
         if (incrementStr.length() <= 4) {
@@ -174,7 +174,7 @@
         result.put("poleTotalCount", list.size());
 
         //璇虹摝
-        List<LedPlayerEntity> ledPlayerEntities = SpringContextHolder.getBean(LedPlayerEntityService.class).ledPlayerEntityList(null, null);
+        List<LedPlayerEntity> ledPlayerEntities = SpringContextHolder.getBean(LedPlayerEntityService.class).ledPlayerEntityList(null, null, null, null);
         int number = 0;
         for (LedPlayerEntity bean : ledPlayerEntities) {
             if (bean.getOnlineStatus() == 1) {
@@ -189,9 +189,9 @@
         BroadcastTerminalV2Param broadcastTerminalV2Param = new BroadcastTerminalV2Param();
         broadcastTerminalV2Param.setBindingState(2);
         broadcastTerminalV2Param.setWorkState(2);
-        List<BroadcastTerminalV2EntityBo> broadcastTerminalList = SpringContextHolder.getBean(IpVolumeService.class).getBroadcastTerminalList(null, broadcastTerminalV2Param);
+        List<BroadcastTerminalV2EntityBo> broadcastTerminalList = SpringContextHolder.getBean(IpVolumeService.class).getBroadcastTerminalList(null, null, null, broadcastTerminalV2Param);
         for (BroadcastTerminalV2EntityBo bean : broadcastTerminalList) {
-            if (bean.getStatus() == 1 || bean.getStatus() == 0) {
+            if (bean.getStatus() != 0) {
                 number++;
             }
         }
@@ -203,9 +203,9 @@
         MonitorParam monitorParam = new MonitorParam();
         monitorParam.setEquipmentState(2);
         monitorParam.setBindingState(2);
-        List<MonitorBo> monitorBos = SpringContextHolder.getBean(MonitorService.class).listMonitorByKeyword(null, monitorParam).getList();
+        List<MonitorBo> monitorBos = SpringContextHolder.getBean(MonitorService.class).listMonitorByKeyword(null, null, null, monitorParam).getList();
         monitorParam.setEquipmentState(1);
-        List<MonitorBo> online = SpringContextHolder.getBean(MonitorService.class).listMonitorByKeyword(null, monitorParam).getList();
+        List<MonitorBo> online = SpringContextHolder.getBean(MonitorService.class).listMonitorByKeyword(null, null, null, monitorParam).getList();
         result.put("monitorOnlineCount", online.size());
         result.put("monitorTotalCount", monitorBos.size());
 
@@ -277,8 +277,8 @@
         result.put("LightPoleHeelingTotalCount", lightPoleHeelings.size());
 
         //鐔欒
-        List<PoleLightemitEntity> poleLightemitEntities = SpringContextHolder.getBean(PoleLightemitService.class).listLed(null, false);
-        List<PoleLightemitEntity> poleLightemitEntityOnlineList = SpringContextHolder.getBean(PoleLightemitService.class).listLed(null, true);
+        List<PoleLightemitEntity> poleLightemitEntities = SpringContextHolder.getBean(PoleLightemitService.class).listLed(null, null, null, false);
+        List<PoleLightemitEntity> poleLightemitEntityOnlineList = SpringContextHolder.getBean(PoleLightemitService.class).listLed(null, null, null, true);
 
         result.put("XiXunOnlineCount", poleLightemitEntityOnlineList.size());
         result.put("XiXunTotalCount", poleLightemitEntities.size());
@@ -286,16 +286,51 @@
         return result;
     }
 
-    public CommonPage queryAllStatesAndList(Integer pageNo, Integer pageSize, PoleStatesParam param) {
+    public CommonPage queryAllStatesAndList(Integer pageNo, Integer pageSize, PoleStatesParam param, Integer order, Integer seq) {
         if (param == null) {
             param = new PoleStatesParam();
         }
-        System.out.println(param);
+
+        //鎺掑簭瀛楁
+        String orderByResult = OrderByEnums.POLE_ID.getCode();
+        //姝e簭銆佸�掑彊
+        String orderBySeq = OrderByEnums.ASC.getCode();
+        if (order != null) {
+            switch (order) {
+                case 1:
+                    orderByResult = OrderByEnums.POLE_NAME.getCode();
+                    break;
+                case 2:
+                    orderByResult = OrderByEnums.POLE_ID.getCode();
+                    break;
+                case 3:
+                    orderByResult = OrderByEnums.POLE_CREATE_TIME.getCode();
+                    break;
+                default:
+            }
+        }
+        if (seq != null) {
+            switch (seq) {
+                case 1:
+                    orderBySeq = OrderByEnums.ASC.getCode();
+                    break;
+                case 2:
+                    orderBySeq = OrderByEnums.DESC.getCode();
+                    break;
+                default:
+                    break;
+            }
+        }
+        //鎺掑簭鏂瑰紡
+        String orderBy = "t1." + orderByResult + " " + orderBySeq;
+
         List<Pole> poleList;
         if (SecurityUtils.getClientId() == null) {
-            poleList = poleMapper.queryPoleOnLineStatesList(null, param.getIsTrue(), param.getBingStates(), param.getGroupid(), param.getKeyword());
+            poleList = poleMapper.queryPoleOnLineStatesList(null, param.getIsTrue(),
+                    param.getBingStates(), param.getGroupid(), param.getKeyword(), orderBy);
         } else {
-            poleList = poleMapper.queryPoleOnLineStatesList(SecurityUtils.getUserId(), param.getIsTrue(), param.getBingStates(), param.getGroupid(), param.getKeyword());
+            poleList = poleMapper.queryPoleOnLineStatesList(SecurityUtils.getUserId(),
+                    param.getIsTrue(), param.getBingStates(), param.getGroupid(), param.getKeyword(), orderBy);
         }
 
         List<Pole> PoleResult = isOnLine(poleList, param);
@@ -542,11 +577,12 @@
         }
         IRequestFrame build = FrameBuilder.builderA5().orderType(A5OrderEnum.REQUEST_LIGHT_DATA.getCode()).innerFrame(new A5LightResetReqInnerFrame()).build();
         CommonFrame commonFrame = MainBoardInvokeSyncService.getInstance().sendRRPC(deviceName, build);
+        StoreOperationRecordsUtils.storeInnerFrameData(deviceName, "鐏潌鎭㈠鍑哄巶璁剧疆", build, commonFrame);
 
         System.out.println(commonFrame.toString());
-
-        CommonFrame rebootFrame = MainBoardInvokeSyncService.getInstance().sendRRPC(deviceName, FrameBuilder.builderA2().innerFrame(new EmptyRequestInnerFrame()).orderType(A2OrderEnum.REQUEST_MAIN_BOARD_RESET.getCode()).build());
-
+        IRequestFrame iRequestFrame = FrameBuilder.builderA2().innerFrame(new EmptyRequestInnerFrame()).orderType(A2OrderEnum.REQUEST_MAIN_BOARD_RESET.getCode()).build();
+        CommonFrame rebootFrame = MainBoardInvokeSyncService.getInstance().sendRRPC(deviceName, iRequestFrame);
+        StoreOperationRecordsUtils.storeInnerFrameData(deviceName, "鐏潌閲嶅惎", iRequestFrame, commonFrame);
 
         boolean b = false;
         if ("00".equals(rebootFrame.getPayload())) {
@@ -569,17 +605,12 @@
     /**
      * 缁欑伅鏉嗘敞鍐屼笁鍏冪爜
      */
-    public boolean setMac(String baseMac) {
-        // public boolean setMac() {
-        //Pole pole = getById(poleId);
-       /* if (pole == null) {
-            throw new BusinessException("鏈壘鍒拌鐏潌");
-        }*/
+    public Map setMac(String baseMac) {
 
-        boolean setMac = false;
-        //String baseMac = "baseDevice";
         A1Frame a1Frame = new A1Frame(A1OrderEnum.REQUEST_READ_DEVICE_UNIQUE_MAC.getCode(), new EmptyRequestInnerFrame());
         CommonFrame commonFrame = MainBoardInvokeSyncService.getInstance().sendRRPC(baseMac, a1Frame);
+        //瀛樺偍鎸褰�
+        StoreOperationRecordsUtils.storeInnerFrameData(baseMac, "娉ㄥ唽涓夊厓鐮�", a1Frame, commonFrame);
         if (commonFrame == null) {
             throw new BusinessException("璇诲彇璁惧鍞竴ID澶辫触");
         }
@@ -604,29 +635,46 @@
         log.info(deviceDetail.toString());
 
         // 4   閰嶇疆Mac鈶�
-        WrapResponseCommonFrame<A1TernaryCodeRespInnerFrame> productKeyResp = MainBoardInvokeSyncService.getInstance().sendRRPC(baseMac, FrameBuilder.builderA1().innerFrame(new A1TernaryCodeReqInnerFrame(MainBoardInvokeSyncService.getInstance().getProductKey())).orderType(A1OrderEnum.REQUEST_SET_PRODUCT_KEY.getCode()).build(), A1TernaryCodeRespInnerFrame.class);
-        A1TernaryCodeRespInnerFrame responseInnerFrame = productKeyResp.getResponseInnerFrame();
+        IRequestFrame build1 = FrameBuilder.builderA1().innerFrame(new A1TernaryCodeReqInnerFrame(MainBoardInvokeSyncService.getInstance().getProductKey())).orderType(A1OrderEnum.REQUEST_SET_PRODUCT_KEY.getCode()).build();
+        CommonFrame commonFrame1 = MainBoardInvokeSyncService.getInstance().sendRRPC(baseMac, build1);
+        //瀛樺偍鎸褰�
+        StoreOperationRecordsUtils.storeInnerFrameData(baseMac, "璁惧閰嶇疆ProductKey", build1, commonFrame1);
+
+        A1TernaryCodeRespInnerFrame responseInnerFrame = new A1TernaryCodeRespInnerFrame().transformFrame(commonFrame1.getPayload());
         if (!MainBoardInvokeSyncService.getInstance().getProductKey().equals(responseInnerFrame.getTernaryCode())) {
             throw new BusinessException("璁惧閰嶇疆ProductKey澶辫触");
         }
 
         // 5   閰嶇疆Mac鈶�
-        WrapResponseCommonFrame<A1TernaryCodeRespInnerFrame> responseCommonFrame = MainBoardInvokeSyncService.getInstance().sendRRPC(baseMac, FrameBuilder.builderA1().innerFrame(new A1TernaryCodeReqInnerFrame(uniqueMac)).orderType(A1OrderEnum.REQUEST_SET_DEVICE_NAME.getCode()).build(), A1TernaryCodeRespInnerFrame.class);
-        A1TernaryCodeRespInnerFrame deviceNameFrame = responseCommonFrame.getResponseInnerFrame();
-        if (!uniqueMac.equals(deviceNameFrame.getTernaryCode())) {
+        IRequestFrame build2 = FrameBuilder.builderA1().innerFrame(new A1TernaryCodeReqInnerFrame(uniqueMac)).orderType(A1OrderEnum.REQUEST_SET_DEVICE_NAME.getCode()).build();
+        CommonFrame commonFrame2 = MainBoardInvokeSyncService.getInstance().sendRRPC(baseMac, build2);
+        //瀛樺偍鎸褰�
+        StoreOperationRecordsUtils.storeInnerFrameData(baseMac, "璁惧閰嶇疆鍚�", build2, commonFrame2);
+
+        A1TernaryCodeRespInnerFrame a1TernaryCodeRespInnerFrame = new A1TernaryCodeRespInnerFrame().transformFrame(commonFrame2.getPayload());
+        if (!uniqueMac.equals(a1TernaryCodeRespInnerFrame.getTernaryCode())) {
             throw new BusinessException("璁惧閰嶇疆鍚嶅け璐�");
         }
 
         // 6  閰嶇疆Mac鈶�
-        WrapResponseCommonFrame<A1TernaryCodeRespInnerFrame> wrapResponseCommonFrame = MainBoardInvokeSyncService.getInstance().sendRRPC(baseMac, FrameBuilder.builderA1().innerFrame(new A1TernaryCodeReqInnerFrame(deviceDetail.getDeviceSecret())).orderType(A1OrderEnum.REQUEST_SET_DEVICE_SECRET.getCode()).build(), A1TernaryCodeRespInnerFrame.class);
-        A1TernaryCodeRespInnerFrame deviceSecretFrame = wrapResponseCommonFrame.getResponseInnerFrame();
+        IRequestFrame build3 = FrameBuilder.builderA1().innerFrame(new A1TernaryCodeReqInnerFrame(deviceDetail.getDeviceSecret())).orderType(A1OrderEnum.REQUEST_SET_DEVICE_SECRET.getCode()).build();
+        CommonFrame commonFrame3 = MainBoardInvokeSyncService.getInstance().sendRRPC(baseMac, build3);
+        //瀛樺偍鎸褰�
+        StoreOperationRecordsUtils.storeInnerFrameData(baseMac, "璁惧瀵嗛挜", build3, commonFrame3);
+
+        A1TernaryCodeRespInnerFrame deviceSecretFrame = new A1TernaryCodeRespInnerFrame().transformFrame(commonFrame3.getPayload());
+
         if (!deviceDetail.getDeviceSecret().equals(deviceSecretFrame.getTernaryCode())) {
             throw new BusinessException("璁惧瀵嗛挜澶辫触");
         }
 
 
         // 7  閲嶅惎璁惧  骞朵娇鐢ㄦ柊鐨凪ac
-        CommonFrame rebootFrame = MainBoardInvokeSyncService.getInstance().sendRRPC(baseMac, FrameBuilder.builderA2().innerFrame(new EmptyRequestInnerFrame()).orderType(A2OrderEnum.REQUEST_MAIN_BOARD_RESET.getCode()).build());
+        IRequestFrame build4 = FrameBuilder.builderA2().innerFrame(new EmptyRequestInnerFrame()).orderType(A2OrderEnum.REQUEST_MAIN_BOARD_RESET.getCode()).build();
+        CommonFrame rebootFrame = MainBoardInvokeSyncService.getInstance().sendRRPC(baseMac, build4);
+        //瀛樺偍鎸褰�
+        StoreOperationRecordsUtils.storeInnerFrameData(baseMac, "閲嶅惎璁惧", build4, rebootFrame);
+
         if ("00".equals(rebootFrame.getPayload())) {
             //  pole.setDeviceCode(uniqueMac);
 
@@ -664,8 +712,14 @@
         /**
          * 瀹炰綋鐏潌娉ㄥ唽鏃ュ織璁板綍缁撴潫
          */
+        Map map = new HashMap();
+        if (result) {
+            map.put("mac", uniqueMac);
+        } else {
+            map.put("mac", -1);
+        }
 
-        return result;
+        return map;
     }
 
     public List<String> listDeviceCodeByIds(List<Long> poleIdList) {

--
Gitblit v1.9.3