From 0461576d53511d699c1f0d7e079d8011b86efe97 Mon Sep 17 00:00:00 2001
From: zhanzhiqin <895896009@qq.com>
Date: 星期二, 17 五月 2022 14:42:56 +0800
Subject: [PATCH] fix

---
 ximon-admin/src/main/java/com/sandu/ximon/admin/controller/AirDataController.java |   53 ++++++++++++++++++++++++++++++-----------------------
 1 files changed, 30 insertions(+), 23 deletions(-)

diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/AirDataController.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/AirDataController.java
index 60a3952..c2b38e2 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/AirDataController.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/AirDataController.java
@@ -2,18 +2,25 @@
 
 import com.sandu.common.domain.ResponseVO;
 import com.sandu.common.object.BaseConditionVO;
-import com.sandu.common.security.annotation.AnonymousAccess;
 import com.sandu.common.util.ResponseUtil;
+import com.sandu.common.util.SpringContextHolder;
 import com.sandu.ximon.admin.manager.iot.amqp.processor.AirDataProcessor;
 import com.sandu.ximon.admin.manager.iot.frame.A5Frame;
 import com.sandu.ximon.admin.manager.iot.frame.inner.request.AirDataReqInnerFrame;
 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.AtmoFunctionCode;
 import com.sandu.ximon.admin.manager.iot.rrpc.mainboard.MainBoardInvokeSyncService;
 import com.sandu.ximon.admin.security.PermissionConfig;
 import com.sandu.ximon.admin.service.AirDataService;
+import com.sandu.ximon.admin.service.PoleBindingService;
+import com.sandu.ximon.admin.utils.RedisUtils;
+import com.sandu.ximon.admin.utils.StoreOperationRecordsUtils;
 import com.sandu.ximon.dao.bo.AirDataBo;
+import com.sandu.ximon.dao.domain.Pole;
 import com.sandu.ximon.dao.enums.MenuEnum;
+import com.sandu.ximon.dao.enums.PoleBindingEnums;
+import com.sandu.ximon.dao.mapper.PoleBindingMapper;
 import lombok.AllArgsConstructor;
 import org.springframework.web.bind.annotation.*;
 
@@ -31,6 +38,7 @@
 public class AirDataController {
     private final AirDataService airDataService;
     private PermissionConfig permissionConfig;
+    private RedisUtils redisUtils;
 
     /**
      * 鏌ヨ澶ф皵鏁版嵁妯$硦鏌ヨ
@@ -47,30 +55,11 @@
         return ResponseUtil.successPage(list);
     }
 
-    /**
-     * 鏌ヨ澶ф皵璁惧MAC鍦板潃
-     *
-     * @return
-     */
-    @GetMapping("/listAirEquipmentMAC")
-    public ResponseVO<Object> listAirEquipmentMAC() {
-        List<String> list = airDataService.listAirEquipmentMAC();
-        return ResponseUtil.success(list);
-    }
-
-    /**
-     * 鏍规嵁鐏潌鏌ヨ澶ф皵鏁版嵁
-     * @param
-     * @return
-     */
-    @AnonymousAccess
-    @GetMapping("/listAirDataByLamp")
-    public ResponseVO<Object> listAirDataByLamp(@RequestParam Long lampId) {
-        return ResponseUtil.success(airDataService.getDataByPoleid(lampId));
-    }
-
     @PostMapping("/updateAirEquipmentInfo")
     public ResponseVO<Object> updataAirEquipmentInfo(@RequestBody List<String> listMac) {
+        if (!permissionConfig.check(MenuEnum.AIR_DATA_UPDATE.getCode())) {
+            return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
+        }
         AirDataReqInnerFrame airDataReqInnerFrame = new AirDataReqInnerFrame();
         A5Frame a5Frame = new A5Frame(A5OrderEnum.REQUEST_ATMOSPHERE_DATA.getCode(), airDataReqInnerFrame);
         System.out.println(a5Frame + "          --------a5Frame");
@@ -81,9 +70,16 @@
         listMac.parallelStream().forEach(macStr -> {
             try {
                 CommonFrame commonFrame = MainBoardInvokeSyncService.getInstance().sendRRPC(macStr, a5Frame);
+                StoreOperationRecordsUtils.storeInnerFrameData(macStr, "澶ф皵璁惧-蹇冭烦鍖�", a5Frame, commonFrame);
                 System.out.println(commonFrame + "         -----------commonFrame");
                 AirDataProcessor.getInstance().process("a1JsfPG4iKW", macStr, commonFrame);
                 if (commonFrame != null) {
+
+                    //瀛樼紦瀛樺績璺冲寘
+                    RedisUtils.getBean().set(AtmoFunctionCode.AIR_HEARTBEAT.getCode() + macStr, commonFrame);
+                    //瀛樼紦瀛樼姸鎬�
+                    RedisUtils.getBean().set(AtmoFunctionCode.AIR_HEARTBEAT_STATE.getCode() + macStr, commonFrame, 300L);
+
                     success.add(macStr);
                 } else {
                     failed.add(macStr);
@@ -97,6 +93,17 @@
         resultMap.put("success", success);
         resultMap.put("failed", failed);
 
+        /**
+         * 鏈嶅姟绔洿鏂板ぇ姘旀暟鎹棩蹇楄褰曞紑濮�
+         */
+        String content = "鏇存柊缁撴灉锛�" + resultMap.toString();
+
+
+        StoreOperationRecordsUtils.storeOperationData(listMac, null, "鏈嶅姟绔洿鏂板ぇ姘旀暟鎹�", content);
+        /**
+         * 鏈嶅姟绔洿鏂板ぇ姘旀暟鎹棩蹇楄褰曠粨鏉�
+         */
+
         return ResponseUtil.success(resultMap);
     }
 

--
Gitblit v1.9.3