From c8ce26aac0004e249a0cef35fe15b2ddb280ad25 Mon Sep 17 00:00:00 2001
From: liuhaonan <konodioda2333@vip.qq.com>
Date: 星期三, 27 四月 2022 15:51:10 +0800
Subject: [PATCH] 大气数据推送到LED

---
 ximon-admin/src/main/java/com/sandu/ximon/admin/service/LightPoleHeelingService.java |   58 +++++++++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 49 insertions(+), 9 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..347691d 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
@@ -11,13 +11,18 @@
 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.dao.domain.Light;
 import com.sandu.ximon.dao.domain.LightPoleHeeling;
+import com.sandu.ximon.dao.domain.LightPoleHeelingEquipment;
+import com.sandu.ximon.dao.domain.PoleBinding;
 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 +30,41 @@
 @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 LightPoleHeeling getLightPoleHeelingByMac(String mac) {
+        return getOne(Wrappers.lambdaQuery(LightPoleHeeling.class).eq(LightPoleHeeling::getMac, mac));
     }
 
     /**
@@ -131,7 +159,7 @@
         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);
@@ -155,7 +183,7 @@
         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);
@@ -185,12 +213,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