From bc940795faa161a988a7df3f27072bb426f17fdb Mon Sep 17 00:00:00 2001
From: LHN <31457034@qq.com>
Date: 星期三, 19 十月 2022 16:34:09 +0800
Subject: [PATCH] changes

---
 ximon-admin/src/main/java/com/sandu/ximon/admin/service/LightPoleHeelingService.java |   88 ++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 77 insertions(+), 11 deletions(-)

diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/LightPoleHeelingService.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/LightPoleHeelingService.java
index a6c5139..19b713c 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/LightPoleHeelingService.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/LightPoleHeelingService.java
@@ -1,23 +1,29 @@
 package com.sandu.ximon.admin.service;
 
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.github.pagehelper.PageHelper;
 import com.sandu.common.execption.BusinessException;
 import com.sandu.common.object.BaseConditionVO;
 import com.sandu.common.service.impl.BaseServiceImpl;
 import com.sandu.ximon.admin.manager.iot.frame.A5Frame;
-import com.sandu.ximon.admin.manager.iot.frame.inner.report.*;
+import com.sandu.ximon.admin.manager.iot.frame.inner.report.A5LightPoleHeelingHeartbeatReportInnerFrame;
+import com.sandu.ximon.admin.manager.iot.frame.inner.report.A5LightPoleHeelingOperationReportInnerFrame;
+import com.sandu.ximon.admin.manager.iot.frame.inner.report.A5LightPoleHeelingQueryReportInnerFrame;
 import com.sandu.ximon.admin.manager.iot.frame.inner.request.*;
 import com.sandu.ximon.admin.manager.iot.rrpc.dto.CommonFrame;
 import com.sandu.ximon.admin.manager.iot.rrpc.enums.A5OrderEnum;
+import com.sandu.ximon.admin.manager.iot.rrpc.enums.LightPoleHeelingEnum;
 import com.sandu.ximon.admin.manager.iot.rrpc.mainboard.MainBoardInvokeSyncService;
 import com.sandu.ximon.admin.param.LightPoleHeelingListParam;
+import com.sandu.ximon.admin.security.SecurityUtils;
+import com.sandu.ximon.admin.utils.RedisUtils;
+import com.sandu.ximon.admin.utils.StoreOperationRecordsUtils;
+import com.sandu.ximon.admin.vo.EquipmentInfomation;
 import com.sandu.ximon.dao.domain.LightPoleHeeling;
+import com.sandu.ximon.dao.domain.LightPoleHeelingEquipment;
 import com.sandu.ximon.dao.mapper.LightPoleHeelingMapper;
 import lombok.AllArgsConstructor;
 import org.springframework.stereotype.Service;
-import org.springframework.web.bind.annotation.RequestParam;
 
 import java.util.List;
 
@@ -25,18 +31,60 @@
 @AllArgsConstructor
 public class LightPoleHeelingService extends BaseServiceImpl<LightPoleHeelingMapper, LightPoleHeeling> {
     private LightPoleHeelingMapper lightPoleHeelingMapper;
+    private LightPoleHeelingEquipmentService lightPoleHeelingEquipmentService;
 
     /**
      * 妯$硦鏌ヨ
      */
     public List<LightPoleHeeling> listLightPoleHeelingByKeyword(BaseConditionVO baseConditionVO, LightPoleHeelingListParam lightPoleHeelingListParam) {
-        PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize());
+        if (baseConditionVO != null) {
+            PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize());
+        }
         if (lightPoleHeelingListParam == null) {
             lightPoleHeelingListParam = new LightPoleHeelingListParam();
         }
-        List<LightPoleHeeling> lightPoleHeelings
-                = lightPoleHeelingMapper.listLightPoleHeeling(lightPoleHeelingListParam.getKeyword().trim(), lightPoleHeelingListParam.getProcessingState());
+
+        //鍏抽敭瀛楀幓闄ょ┖鏍�
+        if (lightPoleHeelingListParam.getKeyword() != null) {
+            lightPoleHeelingListParam.setKeyword(lightPoleHeelingListParam.getKeyword().trim());
+        }
+
+        List<LightPoleHeeling> lightPoleHeelings;
+        if (SecurityUtils.getClientId() == null) {
+            lightPoleHeelings = lightPoleHeelingMapper.listLightPoleHeeling(lightPoleHeelingListParam.getKeyword()
+                    , lightPoleHeelingListParam.getProcessingState(), null);
+        } else {
+            lightPoleHeelings = lightPoleHeelingMapper.listLightPoleHeeling(lightPoleHeelingListParam.getKeyword()
+                    , lightPoleHeelingListParam.getProcessingState(), SecurityUtils.getUserId());
+        }
+
         return lightPoleHeelings;
+    }
+
+    /**
+     * 鏍规嵁Mac鑾峰彇鏈�鏂版暟鎹�
+     */
+    public EquipmentInfomation getLightPoleHeelingByMac(String mac) {
+        EquipmentInfomation equipmentInfo = new EquipmentInfomation();
+        equipmentInfo.setEquipmentType("鏉嗕綋鍊炬祴");
+        if (mac == null || mac.trim().length() == 0) {
+            return equipmentInfo;
+        }
+
+        LightPoleHeeling one = getOne(Wrappers.lambdaQuery(LightPoleHeeling.class).eq(LightPoleHeeling::getMac, mac));
+        if (one != null) {
+            equipmentInfo.setEquipmentCreateTime(one.getCreateTime());
+            equipmentInfo.setEquipmentMac(one.getMac());
+
+        }
+        //瀛樺偍璁惧鐘舵�佸埌缂撳瓨
+        String s = RedisUtils.getBean().get(LightPoleHeelingEnum.LIGHT_POLE_HEELING_STATE.getCode() + mac);
+        if (s == null) {
+            equipmentInfo.setEquipmentState("绂荤嚎");
+        } else {
+            equipmentInfo.setEquipmentState("鍦ㄧ嚎");
+        }
+        return equipmentInfo;
     }
 
     /**
@@ -51,6 +99,7 @@
         System.out.println(a5Frame + "            -----a5Frame");
 
         CommonFrame commonFrame = MainBoardInvokeSyncService.getInstance().sendRRPC(deviceName, a5Frame);
+        StoreOperationRecordsUtils.storeInnerFrameData(deviceName, "鏉嗕綋鍊炬枩-蹇冭烦鍖�", a5Frame, commonFrame);
         System.out.println(commonFrame + "            -----commonFrame");
 
 
@@ -81,6 +130,7 @@
         System.out.println(a5Frame + "            -----a5Frame");
 
         CommonFrame commonFrame = MainBoardInvokeSyncService.getInstance().sendRRPC(deviceName, a5Frame);
+        StoreOperationRecordsUtils.storeInnerFrameData(deviceName, "鏉嗕綋鍊炬枩-鏌ヨ蹇冭烦鍖呴棿闅旀椂闂�", a5Frame, commonFrame);
         System.out.println(commonFrame + "            -----commonFrame");
 
 
@@ -105,6 +155,7 @@
         System.out.println(a5Frame + "            -----a5Frame");
 
         CommonFrame commonFrame = MainBoardInvokeSyncService.getInstance().sendRRPC(deviceName, a5Frame);
+        StoreOperationRecordsUtils.storeInnerFrameData(deviceName, "鏉嗕綋鍊炬枩-杞噸鍚�", a5Frame, commonFrame);
         System.out.println(commonFrame + "            -----commonFrame");
 
 
@@ -131,10 +182,11 @@
         LightPoleHeelingSetHeartbeatPacketTimeReqInnerFrame setHeartbeatPacketTimeReqInnerFrame =
                 new LightPoleHeelingSetHeartbeatPacketTimeReqInnerFrame(setTime);
 
-        A5Frame a5Frame = new A5Frame(A5OrderEnum.REQUEST_C3_DATA.getCode(), setHeartbeatPacketTimeReqInnerFrame);
+        A5Frame a5Frame = new A5Frame(A5OrderEnum.REQUEST_POLE_MONITOR_DATA.getCode(), setHeartbeatPacketTimeReqInnerFrame);
         System.out.println(a5Frame + "            -----a5Frame");
 
         CommonFrame commonFrame = MainBoardInvokeSyncService.getInstance().sendRRPC(devicesName, a5Frame);
+        StoreOperationRecordsUtils.storeInnerFrameData(devicesName, "鏉嗕綋鍊炬枩-璁剧疆蹇冭烦鍖呴棿闅旀椂闂�", a5Frame, commonFrame);
         System.out.println(commonFrame + "            -----commonFrame");
 
         A5LightPoleHeelingOperationReportInnerFrame operationReportInnerFrame
@@ -155,10 +207,12 @@
         LightPoleHeelingSetSensorStateReqInnerFrame setSensorStateReqInnerFrame =
                 new LightPoleHeelingSetSensorStateReqInnerFrame();
 
-        A5Frame a5Frame = new A5Frame(A5OrderEnum.REQUEST_C3_DATA.getCode(), setSensorStateReqInnerFrame);
+        A5Frame a5Frame = new A5Frame(A5OrderEnum.REQUEST_POLE_MONITOR_DATA.getCode(), setSensorStateReqInnerFrame);
         System.out.println(a5Frame + "            -----a5Frame");
 
         CommonFrame commonFrame = MainBoardInvokeSyncService.getInstance().sendRRPC(devicesName, a5Frame);
+        StoreOperationRecordsUtils.storeInnerFrameData(devicesName, "鏉嗕綋鍊炬枩-璁剧疆浼犳劅鍣ㄤ负鍒濆鐘舵��", a5Frame, commonFrame);
+
         System.out.println(commonFrame + "            -----commonFrame");
 
         A5LightPoleHeelingOperationReportInnerFrame operationReportInnerFrame
@@ -185,12 +239,24 @@
         lightPoleHeeling.setTheYAxis(heartBeatDataPackage.getTheYAxis());
         lightPoleHeeling.setTheZAxis(heartBeatDataPackage.getTheZAxis());
         if (Math.abs(heartBeatDataPackage.getTheXAxis()) >= 10 || Math.abs(heartBeatDataPackage.getTheYAxis()) >= 10) {
-            lightPoleHeeling.setWarningLevel("涓�绾ц鍛�");
+            lightPoleHeeling.setWarningLevel(1);//涓�绾ц鍛�
         } else if ((Math.abs(heartBeatDataPackage.getTheXAxis()) >= 5 && Math.abs(heartBeatDataPackage.getTheXAxis()) < 10)
                 || (Math.abs(heartBeatDataPackage.getTheYAxis()) >= 5 && Math.abs(heartBeatDataPackage.getTheYAxis()) < 10)) {
-            lightPoleHeeling.setWarningLevel("浜岀骇璀﹀憡");
+            lightPoleHeeling.setWarningLevel(2);//浜岀骇璀﹀憡
         } else {
-            lightPoleHeeling.setWarningLevel("姝e父");
+            lightPoleHeeling.setWarningLevel(0);//姝e父
+        }
+
+        //瀛樺偍璁惧鐘舵�佸埌缂撳瓨
+        RedisUtils.getBean().set(LightPoleHeelingEnum.LIGHT_POLE_HEELING_STATE.getCode() + deviceName
+                , heartBeatDataPackage, 300L);
+        /**
+         * 灏嗙伅鏉嗗�炬枩纭欢娣诲姞鍒扮‖浠惰〃
+         */
+        LightPoleHeelingEquipment one = lightPoleHeelingEquipmentService.getOne(Wrappers.lambdaQuery(LightPoleHeelingEquipment.class).eq(LightPoleHeelingEquipment::getMac, deviceName));
+        if (one == null) {
+            LightPoleHeelingEquipment equipment = new LightPoleHeelingEquipment();
+            equipment.setMac(deviceName);
         }
 
         return save(lightPoleHeeling);

--
Gitblit v1.9.3