From ef270bd1855b5ce3f398c5df024840a498e33a8f Mon Sep 17 00:00:00 2001
From: MercuryZ <zdmisif@126.com>
Date: 星期四, 31 三月 2022 14:09:17 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ximon-admin/src/main/java/com/sandu/ximon/admin/service/LightPoleHeelingService.java |  210 ++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 184 insertions(+), 26 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 e076b29..9002ac9 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
@@ -2,10 +2,20 @@
 
 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.dao.domain.AirData;
-import com.sandu.ximon.dao.domain.ForHelp;
+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.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.mainboard.MainBoardInvokeSyncService;
+import com.sandu.ximon.admin.param.LightPoleHeelingListParam;
+import com.sandu.ximon.dao.domain.Light;
 import com.sandu.ximon.dao.domain.LightPoleHeeling;
+import com.sandu.ximon.dao.domain.PoleBinding;
 import com.sandu.ximon.dao.mapper.LightPoleHeelingMapper;
 import lombok.AllArgsConstructor;
 import org.springframework.stereotype.Service;
@@ -15,34 +25,182 @@
 @Service
 @AllArgsConstructor
 public class LightPoleHeelingService extends BaseServiceImpl<LightPoleHeelingMapper, LightPoleHeeling> {
-    /**
-     * 鏌ヨ鍏ㄩ儴鐏潌鍊句晶鍛婅
-     */
-    public List<LightPoleHeeling> listLightPoleHeeling() {
-        LambdaQueryWrapper<LightPoleHeeling> wrapper = Wrappers.lambdaQuery(LightPoleHeeling.class);
-        List<LightPoleHeeling> list = list(wrapper);
-
-        return list;
-    }
+    private LightPoleHeelingMapper lightPoleHeelingMapper;
 
     /**
      * 妯$硦鏌ヨ
      */
-    public List<LightPoleHeeling> listLightPoleHeelingByKeyword(String keyword) {
-
-        LambdaQueryWrapper<LightPoleHeeling> wrapper = Wrappers.lambdaQuery(LightPoleHeeling.class);
-        if (keyword != null) {
-            wrapper.like(LightPoleHeeling::getLightPoleName, keyword).or(
-                    lambdaQueryWrapper -> {
-                        lambdaQueryWrapper.like(LightPoleHeeling::getLightPoleId, keyword);
-                    }
-            ).or(
-                    lambdaQueryWrapper -> {
-                        lambdaQueryWrapper.like(LightPoleHeeling::getWarningNumber, keyword);
-                    }
-            );
+    public List<LightPoleHeeling> listLightPoleHeelingByKeyword(BaseConditionVO baseConditionVO, LightPoleHeelingListParam lightPoleHeelingListParam) {
+        PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize());
+        if (lightPoleHeelingListParam == null) {
+            lightPoleHeelingListParam = new LightPoleHeelingListParam();
         }
-        List<LightPoleHeeling> forHelpList = list(wrapper);
-        return forHelpList;
+
+        //鍏抽敭瀛楀幓闄ょ┖鏍�
+        if (lightPoleHeelingListParam.getKeyword() != null) {
+            lightPoleHeelingListParam.setKeyword(lightPoleHeelingListParam.getKeyword().trim());
+        }
+
+        List<LightPoleHeeling> lightPoleHeelings
+                = lightPoleHeelingMapper.listLightPoleHeeling(lightPoleHeelingListParam.getKeyword(), lightPoleHeelingListParam.getProcessingState());
+
+        return lightPoleHeelings;
+    }
+
+    /**
+     * 鐏潌鍊炬枩蹇冭烦鍖�
+     *
+     * @param deviceName
+     */
+    public A5LightPoleHeelingHeartbeatReportInnerFrame.HeartBeatDataPackage LightPoleHeelingHeartbeatPackage(String deviceName) {
+        LightPoleHeelingHeartbeatPackageReqInnerFrame lightPoleHeelingHeartbeatPackageReqInnerFrame = new LightPoleHeelingHeartbeatPackageReqInnerFrame();
+
+        A5Frame a5Frame = new A5Frame(A5OrderEnum.REQUEST_POLE_MONITOR_DATA.getCode(), lightPoleHeelingHeartbeatPackageReqInnerFrame);
+        System.out.println(a5Frame + "            -----a5Frame");
+
+        CommonFrame commonFrame = MainBoardInvokeSyncService.getInstance().sendRRPC(deviceName, a5Frame);
+        System.out.println(commonFrame + "            -----commonFrame");
+
+
+        A5LightPoleHeelingHeartbeatReportInnerFrame heartbeatReportInnerFrame
+                = new A5LightPoleHeelingHeartbeatReportInnerFrame().transformFrame(commonFrame.getPayload());
+
+        if (heartbeatReportInnerFrame.isValidate()) {
+
+            //鐏潌鍊炬枩蹇冭烦鍖呬繚瀛樻暟鎹簱
+            saveLightPoleHeelingHeartbeat(deviceName, heartbeatReportInnerFrame.getHeartBeatDataPackage());
+
+            return heartbeatReportInnerFrame.getHeartBeatDataPackage();
+        } else {
+            throw new BusinessException("鏁版嵁鏍¢獙閿欒锛岃閲嶆柊璇锋眰");
+        }
+    }
+
+    /**
+     * 鏌ヨ蹇冭烦鍖呴棿闅旀椂闂�
+     *
+     * @param deviceName
+     */
+    public String QueryIntervalTime(String deviceName) {
+        LightPoleHeelingQueryIntervalTimeReqInnerFrame queryIntervalTimeReqInnerFrame
+                = new LightPoleHeelingQueryIntervalTimeReqInnerFrame();
+
+        A5Frame a5Frame = new A5Frame(A5OrderEnum.REQUEST_POLE_MONITOR_DATA.getCode(), queryIntervalTimeReqInnerFrame);
+        System.out.println(a5Frame + "            -----a5Frame");
+
+        CommonFrame commonFrame = MainBoardInvokeSyncService.getInstance().sendRRPC(deviceName, a5Frame);
+        System.out.println(commonFrame + "            -----commonFrame");
+
+
+        A5LightPoleHeelingQueryReportInnerFrame queryReportInnerFrame = new A5LightPoleHeelingQueryReportInnerFrame().transformFrame(commonFrame.getPayload());
+        if (queryReportInnerFrame.isValidate()) {
+            return queryReportInnerFrame.getIntervalTime();
+        } else {
+            throw new BusinessException("鏁版嵁鏍¢獙閿欒锛岃閲嶆柊璇锋眰");
+        }
+    }
+
+    /**
+     * 杞噸鍚�
+     *
+     * @param deviceName
+     */
+    public String RestartLightPoleHeeling(String deviceName) {
+        LightPoleHeelingRestartReqInnerFrame restartReqInnerFrame
+                = new LightPoleHeelingRestartReqInnerFrame();
+
+        A5Frame a5Frame = new A5Frame(A5OrderEnum.REQUEST_POLE_MONITOR_DATA.getCode(), restartReqInnerFrame);
+        System.out.println(a5Frame + "            -----a5Frame");
+
+        CommonFrame commonFrame = MainBoardInvokeSyncService.getInstance().sendRRPC(deviceName, a5Frame);
+        System.out.println(commonFrame + "            -----commonFrame");
+
+
+        A5LightPoleHeelingOperationReportInnerFrame operationReportInnerFrame
+                = new A5LightPoleHeelingOperationReportInnerFrame().transformFrame(commonFrame.getPayload());
+        if (operationReportInnerFrame.isValidate()) {
+            return operationReportInnerFrame.getState();
+        } else {
+            throw new BusinessException("鏁版嵁鏍¢獙閿欒锛岃閲嶆柊璇锋眰");
+        }
+    }
+
+    /**
+     * 璁剧疆蹇冭烦鍖呴棿闅旀椂闂�(绉掞級
+     *
+     * @param devicesName
+     * @param setTime
+     * @return
+     */
+    public String SetHeartbeatPacketTime(String devicesName, int setTime) {
+        if (setTime <= 0) {
+            throw new BusinessException("璁剧疆鐨勫績璺冲寘闂撮殧鏃堕棿閿欒锛�");
+        }
+        LightPoleHeelingSetHeartbeatPacketTimeReqInnerFrame setHeartbeatPacketTimeReqInnerFrame =
+                new LightPoleHeelingSetHeartbeatPacketTimeReqInnerFrame(setTime);
+
+        A5Frame a5Frame = new A5Frame(A5OrderEnum.REQUEST_POLE_MONITOR_DATA.getCode(), setHeartbeatPacketTimeReqInnerFrame);
+        System.out.println(a5Frame + "            -----a5Frame");
+
+        CommonFrame commonFrame = MainBoardInvokeSyncService.getInstance().sendRRPC(devicesName, a5Frame);
+        System.out.println(commonFrame + "            -----commonFrame");
+
+        A5LightPoleHeelingOperationReportInnerFrame operationReportInnerFrame
+                = new A5LightPoleHeelingOperationReportInnerFrame().transformFrame(commonFrame.getPayload());
+        if (operationReportInnerFrame.isValidate()) {
+            return operationReportInnerFrame.getState();
+        } else {
+            throw new BusinessException("鏁版嵁鏍¢獙閿欒锛岃閲嶆柊璇锋眰");
+        }
+    }
+
+    /**
+     * 璁剧疆浼犳劅鍣ㄤ负鍒濆鐘舵��
+     *
+     * @return
+     */
+    public String SetSensorState(String devicesName) {
+        LightPoleHeelingSetSensorStateReqInnerFrame setSensorStateReqInnerFrame =
+                new LightPoleHeelingSetSensorStateReqInnerFrame();
+
+        A5Frame a5Frame = new A5Frame(A5OrderEnum.REQUEST_POLE_MONITOR_DATA.getCode(), setSensorStateReqInnerFrame);
+        System.out.println(a5Frame + "            -----a5Frame");
+
+        CommonFrame commonFrame = MainBoardInvokeSyncService.getInstance().sendRRPC(devicesName, a5Frame);
+        System.out.println(commonFrame + "            -----commonFrame");
+
+        A5LightPoleHeelingOperationReportInnerFrame operationReportInnerFrame
+                = new A5LightPoleHeelingOperationReportInnerFrame().transformFrame(commonFrame.getPayload());
+        if (operationReportInnerFrame.isValidate()) {
+            return operationReportInnerFrame.getState();
+        } else {
+            throw new BusinessException("鏁版嵁鏍¢獙閿欒锛岃閲嶆柊璇锋眰");
+        }
+    }
+
+    /**
+     * 淇濆瓨蹇冭烦鍖呮暟鎹�
+     *
+     * @param deviceName
+     * @param heartBeatDataPackage
+     * @return
+     */
+    public boolean saveLightPoleHeelingHeartbeat(String deviceName, A5LightPoleHeelingHeartbeatReportInnerFrame.HeartBeatDataPackage heartBeatDataPackage) {
+
+        LightPoleHeeling lightPoleHeeling = new LightPoleHeeling();
+        lightPoleHeeling.setMac(deviceName);
+        lightPoleHeeling.setTheXAxis(heartBeatDataPackage.getTheXAxis());
+        lightPoleHeeling.setTheYAxis(heartBeatDataPackage.getTheYAxis());
+        lightPoleHeeling.setTheZAxis(heartBeatDataPackage.getTheZAxis());
+        if (Math.abs(heartBeatDataPackage.getTheXAxis()) >= 10 || Math.abs(heartBeatDataPackage.getTheYAxis()) >= 10) {
+            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(2);//浜岀骇璀﹀憡
+        } else {
+            lightPoleHeeling.setWarningLevel(0);//姝e父
+        }
+
+        return save(lightPoleHeeling);
     }
 }

--
Gitblit v1.9.3