From 0a46052a92d5685a47c786ebe85c6901bb848e32 Mon Sep 17 00:00:00 2001
From: zhanzhiqin <895896009@qq.com>
Date: 星期五, 14 十月 2022 18:49:24 +0800
Subject: [PATCH] 固件升级

---
 ximon-admin/src/main/java/com/sandu/ximon/admin/controller/RemoteUpdateController.java |   91 ++++++++++++++++++++++++++++++++-------------
 1 files changed, 64 insertions(+), 27 deletions(-)

diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/RemoteUpdateController.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/RemoteUpdateController.java
index 674d261..6714a39 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/RemoteUpdateController.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/RemoteUpdateController.java
@@ -2,21 +2,20 @@
 
 import com.sandu.common.domain.ResponseVO;
 import com.sandu.common.execption.BusinessException;
-import com.sandu.common.security.annotation.AnonymousAccess;
 import com.sandu.common.util.ResponseUtil;
 import com.sandu.ximon.admin.dto.RemoteFileDto;
 import com.sandu.ximon.admin.manager.iot.rrpc.enums.A5OrderEnum;
+import com.sandu.ximon.admin.manager.iot.rrpc.enums.RemoteUpdateTypeEnum;
 import com.sandu.ximon.admin.param.RemotePrarm;
 import com.sandu.ximon.admin.param.RemoteUpdateParam;
+import com.sandu.ximon.admin.security.PermissionConfig;
 import com.sandu.ximon.admin.service.RemoteUpdateService;
-import com.sandu.ximon.admin.utils.HexUtils;
-import com.sandu.ximon.admin.utils.StringUtil;
+import com.sandu.ximon.dao.enums.MenuEnum;
 import lombok.AllArgsConstructor;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
-import java.util.Arrays;
-import java.util.List;
+import static com.sandu.ximon.admin.manager.iot.rrpc.enums.RemoteUpdateTypeEnum.MQTT_MAIN;
 
 /**
  * 鍥轰欢鍗囩骇Controller
@@ -29,23 +28,49 @@
 @RequestMapping("/v1/remoteupdate")
 public class RemoteUpdateController {
     private RemoteUpdateService remoteUpdateService;
+    private PermissionConfig permissionConfig;
 
-    @AnonymousAccess
+
     @PostMapping("/add")
     public ResponseVO<Object> addRemoteUpdateFile(@RequestBody @Validated RemoteUpdateParam param) {
+        if (!permissionConfig.check(MenuEnum.REMOTE_UPDATE_FILE_ADD.getCode())) {
+            return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
+        }
         boolean flag = remoteUpdateService.addRemoteUpdateFile(param.getFilename(), param.getFileType()
                 , param.getSoftwareVersion(), param.getHardwareVersion(), param.getAliAddress(), param.getFileLength());
         return ResponseUtil.success(flag);
     }
 
-    @AnonymousAccess
+    /**
+     * 淇敼鍥轰欢鍗囩骇鏂囦欢鍚嶇О
+     *
+     * @param remoteFileId
+     * @param remoteFileName
+     * @return
+     */
+    @GetMapping("/updateRemoteFileName")
+    public ResponseVO<Object> updateRemoteFileName(@RequestParam(required = false, value = "remoteFileId") String remoteFileId,
+                                                   @RequestParam(required = false, value = "remoteFileName") String remoteFileName) {
+        if (!permissionConfig.check(MenuEnum.REMOTE_UPDATE_FILE_UPDATE.getCode())) {
+            return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
+        }
+        String result = remoteUpdateService.updateRemoteFileName(remoteFileId, remoteFileName);
+        return ResponseUtil.success(result);
+    }
+
     @GetMapping("/getRemoteFileList")
     public ResponseVO<Object> getRemoteFileList() {
+        if (!permissionConfig.check(MenuEnum.REMOTE_UPDATE_FILE_LIST.getCode())) {
+            return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
+        }
         return ResponseUtil.success(remoteUpdateService.getRemoteFileList());
     }
 
     @GetMapping("/getRemoteUpdateTypeList")
     public ResponseVO<Object> getRemoteUpdateTypeList() {
+        if (!permissionConfig.check(MenuEnum.REMOTE_UPDATE_TYPE_LIST.getCode())) {
+            return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
+        }
         return ResponseUtil.success(remoteUpdateService.getRemoteUpdateTypeList());
     }
 
@@ -54,29 +79,37 @@
      *
      * @return
      */
-    //TODO
-    @AnonymousAccess
     @PostMapping("/StartRemoteUpdate")
     public ResponseVO<Object> startRemoteUpdate(@RequestBody @Validated RemotePrarm remotePrarm) {
+        if (!permissionConfig.check(MenuEnum.REMOTE_UPDATE_START.getCode())) {
+            return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
+        }
         String orderType;
         boolean UpdateFlag = false;
 
-        switch (remotePrarm.getDeviceType()) {
-            case "MQTT涓插彛":
-            case "CAT1":
-                orderType = A5OrderEnum.REQUEST_LIGHT_DATA.getCode();
-                break;
-            case "澶ф皵":
-                orderType = A5OrderEnum.REQUEST_ATMOSPHERE_DATA.getCode();
-                break;
-            case "C3鍏呯數妗�":
-                orderType = A5OrderEnum.REQUEST_C3_DATA.getCode();
-                break;
-            case "鏉嗕綋鍊炬枩":
-                orderType = A5OrderEnum.REQUEST_POLE_MONITOR_DATA.getCode();
-                break;
-            default:
-                throw new BusinessException("鍗囩骇纭欢璁惧绫诲瀷鎸囦护鏈夎锛岃纭锛�");
+        if (RemoteUpdateTypeEnum.MQTT_MAIN.equals(remotePrarm.getDeviceType())) {
+            //MQTT涓绘澘
+            orderType = A5OrderEnum.REQUEST_LIGHT_DATA.getCode();
+        } else if (RemoteUpdateTypeEnum.MQTT_CORE.equals(remotePrarm.getDeviceType())) {
+            //MQTT鏍稿績鏉�
+            orderType = A5OrderEnum.REQUEST_LIGHT_DATA.getCode();
+        } else if (RemoteUpdateTypeEnum.LIGHT.equals(remotePrarm.getDeviceType())) {
+            //鍗曠伅妯″潡
+            orderType = A5OrderEnum.REQUEST_LIGHT_DATA.getCode();
+        } else if (RemoteUpdateTypeEnum.C3_CHARGING.equals(remotePrarm.getDeviceType())) {
+            //C3鍏呯數妗╂ā鍧�
+            orderType = A5OrderEnum.REQUEST_C3_DATA.getCode();
+        } else if (RemoteUpdateTypeEnum.CAT1_MAIN.equals(remotePrarm.getDeviceType())) {
+            //Cat.1涓绘澘
+            orderType = A5OrderEnum.REQUEST_LIGHT_DATA.getCode();
+        } else if (RemoteUpdateTypeEnum.LIGHT_POLE_HELING.equals(remotePrarm.getDeviceType())) {
+            //鐏潌鍊炬枩妯″潡
+            orderType = A5OrderEnum.REQUEST_POLE_MONITOR_DATA.getCode();
+        } else if (RemoteUpdateTypeEnum.AIR_EQUIPMENT.equals(remotePrarm.getDeviceType())) {
+            //澶ф皵璁惧妯″潡
+            orderType = A5OrderEnum.REQUEST_ATMOSPHERE_DATA.getCode();
+        } else {
+            throw new BusinessException("鍗囩骇纭欢璁惧绫诲瀷鎸囦护鏈夎锛岃纭锛�");
         }
 
         //鍚姩杩滅▼鍗囩骇鍛戒护
@@ -118,9 +151,11 @@
      * @param remotePrarm
      * @return
      */
-    @AnonymousAccess
     @PostMapping("/searchUpdateResult")
     public ResponseVO<Object> searchUpdateResult(@RequestBody RemotePrarm remotePrarm) {
+        if (!permissionConfig.check(MenuEnum.REMOTE_UPDATE_VERSION.getCode())) {
+            return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
+        }
         if (remotePrarm.getMac() == null || remotePrarm.getDeviceType() == null) {
             throw new BusinessException("缂哄皯鐩稿叧鍙傛暟锛�");
         }
@@ -154,9 +189,11 @@
      * @param remotePrarm
      * @return
      */
-    @AnonymousAccess
     @PostMapping("/stopUpdate")
     public ResponseVO<Object> stopUpdate(@RequestBody RemotePrarm remotePrarm) {
+        if (!permissionConfig.check(MenuEnum.REMOTE_UPDATE_STOP.getCode())) {
+            return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
+        }
         if (remotePrarm.getMac() == null || remotePrarm.getDeviceType() == null) {
             throw new BusinessException("缂哄皯鐩稿叧鍙傛暟锛�");
         }

--
Gitblit v1.9.3