瀏覽代碼

重置设备激活

lijin 7 月之前
父節點
當前提交
206e8d6386

+ 7 - 0
device-api-service-merc-mini/src/main/java/com/xy/controller/MercMiniDeviceController.java

@@ -362,6 +362,13 @@ public class MercMiniDeviceController {
         return FactoryUtils.getServiceRoute(DeviceFactory.class, list.get(0).getDeviceType()).active(active);
     }
 
+    @PostMapping("restActive")
+    @ApiOperation("重置设备激活")
+    public R restActive(@RequestBody @Validated MercMiniDeviceDto.RestActive restActive) {
+        DeviceInfo deviceInfo = deviceInfoService.getById(restActive.getDeviceId());
+        return FactoryUtils.getServiceRoute(DeviceFactory.class, deviceInfo.getDeviceType()).restActive(restActive);
+    }
+
     @ApiOperation("运营状态修改")
     @PostMapping("modifyBusyStage")
     public R modifyBusyStage(@RequestBody @Validated MercMiniDeviceDto.BusySate busySate) {

+ 7 - 0
device-api-service/src/main/java/com/xy/service/factory/device/DeviceFactory.java

@@ -27,6 +27,13 @@ public interface DeviceFactory {
      */
     R active(MercMiniDeviceDto.Active2 active);
 
+    /**
+     * 重置激活
+     * @param restActive
+     * @return
+     */
+    R restActive(MercMiniDeviceDto.RestActive restActive);
+
     /**
      * 发送指令
      *

+ 5 - 0
device-api-service/src/main/java/com/xy/service/factory/device/impl/alipay/AliPayOpenDeviceFatoryImpl.java

@@ -115,6 +115,11 @@ public class AliPayOpenDeviceFatoryImpl implements DeviceFactory, SpiDeviceServi
         return result;
     }
 
+    @Override
+    public R restActive(MercMiniDeviceDto.RestActive restActive) {
+        return openDeviceFactoryImpl.restActive(restActive);
+    }
+
     @Override
     public R<List<Tuple.Tuple3<Long, Long, Boolean>>> senCommand(List<CommandMqtt> commandMqtts) {
         commandMqtts.forEach(commandMqtt -> {

+ 15 - 0
device-api-service/src/main/java/com/xy/service/factory/device/impl/open/OpenDeviceFactoryImpl.java

@@ -201,6 +201,21 @@ public class OpenDeviceFactoryImpl implements DeviceFactory {
         return R.ok(result);
     }
 
+    @Override
+    public R restActive(MercMiniDeviceDto.RestActive restActive) {
+        deviceChargingService.removeById(restActive.getDeviceId());
+        deviceAlgorithmChargingService.remove(new LambdaQueryWrapper<DeviceAlgorithmCharging>()
+                .eq(DeviceAlgorithmCharging::getDeviceId, restActive.getDeviceId())
+        );
+        DeviceInfo deviceInfo = new DeviceInfo()
+                .setActiveState(2)
+                .setActiveTime(null);
+        deviceInfoService.update(deviceInfo, new LambdaQueryWrapper<DeviceInfo>()
+                .eq(DeviceInfo::getDeviceId, restActive.getDeviceId())
+        );
+        return R.ok();
+    }
+
     @Override
     public R<List<Tuple.Tuple3<Long, Long, Boolean>>> senCommand(List<CommandMqtt> commandMqtts) {
         //发送指令

+ 10 - 0
device-api/src/main/java/com/xy/dto/MercMiniDeviceDto.java

@@ -80,6 +80,16 @@ public class MercMiniDeviceDto {
         private Boolean isDeviceAlgorithmCharging = true;
     }
 
+    @Data
+    @Accessors(chain = true)
+    public static class RestActive {
+
+        @NotNull(message = "deviceId不能为空")
+        @ApiModelProperty("设备id")
+        private Long deviceId;
+
+    }
+
     @Data
     @Accessors(chain = true)
     public static class ActiveVo {