瀏覽代碼

refactor:重构OTA升级管理

荭琪枫 2 年之前
父節點
當前提交
822b04eb03

+ 10 - 0
iot-common/iot-common-core/src/main/java/cc/iotkit/common/constant/Constants.java

@@ -227,6 +227,16 @@ public interface Constants {
          */
         String INVOKE_SERVICE_PROPERTY_GET = "/{deviceId}/service/property/get";
 
+        /**
+         * OTA升级
+         */
+        String OTA_UPGRADE_PACKAGE = "{deviceId}/ota/upgrade/package/";
+
+        /**
+         * OTA升级进度上报
+         */
+        String OTA_UPGRADE_INFORM = "{deviceId}/ota/upgrade/inform/";
+
     }
 
     interface API_SPACE {

+ 1 - 1
iot-components/iot-component-oss/pom.xml

@@ -10,7 +10,7 @@
     <modelVersion>4.0.0</modelVersion>
 
     <properties>
-        <hutool.version>5.8.15</hutool.version>
+        <hutool.version>5.8.18</hutool.version>
     </properties>
 
     <artifactId>iot-component-oss</artifactId>

+ 4 - 2
iot-module/iot-manager/src/main/java/cc/iotkit/manager/controller/OtaController.java

@@ -4,12 +4,14 @@ import cc.iotkit.common.api.PageRequest;
 import cc.iotkit.common.api.Paging;
 import cc.iotkit.common.api.Request;
 import cc.iotkit.manager.service.OtaService;
+import cc.iotkit.model.alert.AlertConfig;
 import cc.iotkit.model.ota.DeviceOta;
 import cc.iotkit.model.ota.OtaPackage;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
+import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -60,8 +62,8 @@ public class OtaController {
 
     @ApiOperation("升级包列表")
     @PostMapping("/package/getList")
-    public Paging<OtaPackage> packageList(@RequestBody @Valid PageRequest<Void> request) {
-        return null;
+    public Paging<OtaPackage> packageList(@RequestBody @Validated PageRequest<OtaPackage> request) {
+        return otaService.getOtaPackagePageList(request);
     }
 
     @ApiOperation("设备获取升级包")

+ 6 - 0
iot-module/iot-manager/src/main/java/cc/iotkit/manager/service/DeviceService.java

@@ -13,6 +13,7 @@ import cc.iotkit.common.exception.BizException;
 import cc.iotkit.common.thing.ThingService;
 import cc.iotkit.common.utils.JsonUtils;
 import cc.iotkit.common.utils.UniqueIdUtil;
+import cc.iotkit.comps.ApiTool;
 import cc.iotkit.comps.DeviceComponentManager;
 import cc.iotkit.data.manager.IDeviceConfigData;
 import cc.iotkit.data.manager.IDeviceInfoData;
@@ -21,6 +22,7 @@ import cc.iotkit.model.device.DeviceInfo;
 import cc.iotkit.model.device.message.ThingModelMessage;
 import cc.iotkit.temporal.IThingModelMessageData;
 import cc.iotkit.virtualdevice.VirtualManager;
+import io.vertx.core.http.HttpMethod;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Qualifier;
@@ -71,6 +73,10 @@ public class DeviceService {
                 args, ThingModelMessage.TYPE_SERVICE, service);
     }
 
+    public String otaUpgrade(String token, boolean checkOwner) {
+        return null;
+    }
+
     /**
      * 设备属性获取
      */

+ 17 - 0
iot-module/iot-manager/src/main/java/cc/iotkit/manager/service/OtaService.java

@@ -1,7 +1,11 @@
 package cc.iotkit.manager.service;
 
+import cc.iotkit.common.api.PageRequest;
+import cc.iotkit.common.api.Paging;
+import cc.iotkit.comps.ApiTool;
 import cc.iotkit.data.manager.IOtaDeviceData;
 import cc.iotkit.data.manager.IOtaPackageData;
+import cc.iotkit.model.alert.AlertConfig;
 import cc.iotkit.model.ota.OtaPackage;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
@@ -23,6 +27,7 @@ public class OtaService {
 
     private final IOtaPackageData iOtaPackageData;
     private final IOtaDeviceData iOtaDeviceData;
+    private final DeviceService deviceService;
 
 
     @Value("${oss.region}")
@@ -48,7 +53,19 @@ public class OtaService {
         iOtaPackageData.findByVersionGreaterThan(version);
     }
 
+    public Paging<OtaPackage> getOtaPackagePageList(PageRequest<OtaPackage> request) {
+        return iOtaPackageData.findAll(request);
+    }
+
     public void batchOta() {
     }
 
+    /**
+     * 开始升级
+     */
+    public void startUpgrade() {
+        //构建升级包
+        deviceService.otaUpgrade("", true);
+    }
+
 }