From dfe3eb2327962d2cace6ca85acd1dea629033886 Mon Sep 17 00:00:00 2001
From: LHN <31457034@qq.com>
Date: 星期一, 17 十月 2022 16:21:22 +0800
Subject: [PATCH] changes

---
 ximon-admin/src/main/java/com/sandu/ximon/admin/controller/RemoteUpdateController.java |   18 ++++++++++++++++--
 1 files changed, 16 insertions(+), 2 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 6714a39..69a0b9e 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
@@ -1,5 +1,6 @@
 package com.sandu.ximon.admin.controller;
 
+import com.alibaba.fastjson.JSON;
 import com.sandu.common.domain.ResponseVO;
 import com.sandu.common.execption.BusinessException;
 import com.sandu.common.util.ResponseUtil;
@@ -9,13 +10,14 @@
 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.security.SecurityUtils;
 import com.sandu.ximon.admin.service.RemoteUpdateService;
+import com.sandu.ximon.admin.utils.RedisUtils;
+import com.sandu.ximon.admin.vo.RemoteUpgradeProgress;
 import com.sandu.ximon.dao.enums.MenuEnum;
 import lombok.AllArgsConstructor;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
-
-import static com.sandu.ximon.admin.manager.iot.rrpc.enums.RemoteUpdateTypeEnum.MQTT_MAIN;
 
 /**
  * 鍥轰欢鍗囩骇Controller
@@ -115,6 +117,10 @@
         //鍚姩杩滅▼鍗囩骇鍛戒护
         boolean startRemoteUpdateFlag = remoteUpdateService.StartRemoteUpdate(orderType, remotePrarm.getMac(), remotePrarm.getHardwareVersion()
                 , remotePrarm.getSoftwareVersion(), remotePrarm.getUpdateFlag());
+        //瀛樺叆鍗囩骇杩涘害
+        RemoteUpgradeProgress progress = new RemoteUpgradeProgress();
+        RedisUtils.getBean().set(remotePrarm.getDeviceType() + ":" + SecurityUtils.getUserId() + remotePrarm.getMac(), JSON.toJSON(progress));
+
         if (startRemoteUpdateFlag) {
             //鏈嶅姟鍣ㄤ笅鍙戝崌绾ф枃浠朵俊鎭�
             //"C:\\Users\\Administrator\\Desktop\\test\\MQTT-杩囨护澶ф皵鐗堟湰1-09-20220310.bin"
@@ -122,14 +128,21 @@
 
             if (remoteFileDto != null) {
                 System.out.println(remoteFileDto.getList().size());
+                progress.setTotalProgress(remoteFileDto.getList().size() + 1);
                 for (int i = 0; i < remoteFileDto.getList().size(); i++) {
                     //鍗囩骇鍖呮暟鎹�
                     remoteUpdateService.UpdateData(orderType, remotePrarm.getMac(), i, remoteFileDto.getList().get(i));
+                    progress.setCurrentProgress(i + 1);
+                    if (i != remoteFileDto.getList().size()) {
+                        RedisUtils.getBean().set(remotePrarm.getDeviceType() + ":" + SecurityUtils.getUserId() + remotePrarm.getMac(), JSON.toJSON(progress));
+                    }
                 }
 
                 //鏈嶅姟鍣ㄤ笅鍙戞煡璇㈡紡鍖呭抚
                 boolean searchLoseDataFlag = remoteUpdateService.SearchLoseData(orderType, remotePrarm.getMac(), remoteFileDto, 0);
                 if (searchLoseDataFlag) {
+                    //鏃犳紡鍖呮儏鍐�  鏇存柊鏈�鍚庤繘搴︿负100%  鍚﹀垯鏈�楂樺崱鍦�99%
+                    RedisUtils.getBean().set(remotePrarm.getDeviceType() + ":" + SecurityUtils.getUserId() + remotePrarm.getMac(), JSON.toJSON(progress));
                     //鏈嶅姟鍣ㄤ笅鍙戠粨鏉熷崌绾у抚
                     boolean finishUpdateFlag = remoteUpdateService.FinishUpdate(orderType, remotePrarm.getMac());
                     UpdateFlag = finishUpdateFlag;
@@ -137,6 +150,7 @@
             }
         }
 
+        RedisUtils.getBean().delete(remotePrarm.getDeviceType() + ":" + SecurityUtils.getUserId() + remotePrarm.getMac());
         if (UpdateFlag) {
             return ResponseUtil.success("鍗囩骇鎴愬姛锛�");
         } else {

--
Gitblit v1.9.3