Explorar o código

Merge remote-tracking branch 'origin/master'

李进 %!s(int64=2) %!d(string=hai) anos
pai
achega
4ef0588379

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

@@ -16,6 +16,7 @@ import com.xy.utils.enums.DictSonEnum;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;
+import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 
@@ -97,4 +98,18 @@ public class MercMiniDeviceController {
         deviceInfoServiceImpl.updateById(updateDeviceInfo);
         return R.ok();
     }
-}
+
+    @PostMapping("modifyBusyStage")
+    @ApiOperation("运营状态修改")
+    public R modifyBusyStage(@RequestBody @Validated MercMiniDeviceDto.BusySate busySate) {
+        Long mercId = MercAuthUtils.getMercId();
+        Long deviceId = busySate.getDeviceId();
+        DeviceInfo updateDeviceInfo = new DeviceInfo()
+                .setDeviceId(deviceId)
+                .setMercId(mercId)
+                .setBusyState(busySate.getBusyState());
+        deviceInfoServiceImpl.updateById(updateDeviceInfo);
+        return R.ok();
+    }
+
+}

+ 13 - 0
device-api-service-merc-mini/src/main/java/com/xy/dto/MercMiniDeviceDto.java

@@ -17,4 +17,17 @@ public class MercMiniDeviceDto {
         private Long deviceId;
     }
 
+    @Data
+    @Accessors(chain = true)
+    public static class BusySate {
+
+        @NotNull(message = "设备运营状态不能为空")
+        @ApiModelProperty("设备运营状态 1 运营中 2 已停运")
+        private Integer busyState;
+        @NotNull(message = "deviceId不能为空")
+        @ApiModelProperty("设备id")
+        private Long deviceId;
+    }
+
+
 }

+ 29 - 16
device-api-service/src/main/java/com/xy/service/DeviceInfoServiceImpl.java

@@ -338,25 +338,38 @@ public class DeviceInfoServiceImpl extends ServiceImpl<DeviceInfoMapper, DeviceI
             deviceInfo.setMercId(mercId).setMercCode(mercCode).setAlgorithmId(algorithmId).setMercName(mercName);
         }
         saveOrUpdateBatch(deviceInfos);
-        //原来存在的设备关系,不在最终设备列表中的移除
-        if (CollUtil.isNotEmpty(devices)) {
-            List<Long> oldIds = new ArrayList<>();
-            List<Long> removeIds = new ArrayList<>();
-            devices.forEach(device -> oldIds.add(device.getDeviceId()));
-            oldIds.forEach(deviceId -> {
-                //不在最终设备列表中的待移除
-                if (!deviceIds.contains(deviceId)) {
-                    removeIds.add(deviceId);
-                }
-            });
-            if (CollUtil.isNotEmpty(removeIds)) {
-                List<DeviceInfo> removeList = this.listByIds(removeIds);
-                removeMerRefDevices(removeList, parentId);
-            }
-        }
+//        //原来存在的设备关系,不在最终设备列表中的移除
+//        if (CollUtil.isNotEmpty(devices)) {
+//            List<Long> oldIds = new ArrayList<>();
+//            List<Long> removeIds = new ArrayList<>();
+//            devices.forEach(device -> oldIds.add(device.getDeviceId()));
+//            oldIds.forEach(deviceId -> {
+//                //不在最终设备列表中的待移除
+//                if (!deviceIds.contains(deviceId)) {
+//                    removeIds.add(deviceId);
+//                }
+//            });
+//            if (CollUtil.isNotEmpty(removeIds)) {
+//                List<DeviceInfo> removeList = this.listByIds(removeIds);
+//                removeMerRefDevices(removeList, parentId);
+//            }
+//        }
         return R.ok(Boolean.TRUE);
     }
 
+    /**
+     * 解绑机器
+     *
+     * @param dto
+     * @return
+     */
+    @Override
+    public R<Boolean> unBindMercDevice(DeviceInfoDto.MercDeviceUnBindDto dto) {
+        Long parentId = dto.getParentId();
+        List<DeviceInfo> deviceInfos = this.listByIds(dto.getDeviceIds());
+        return R.ok(removeMerRefDevices(deviceInfos, parentId));
+    }
+
     /**
      * 批量移除商户设备绑定关系
      *

+ 16 - 1
device-api/src/main/java/com/xy/dto/DeviceInfoDto.java

@@ -442,7 +442,7 @@ public class DeviceInfoDto {
         @ApiModelProperty("商户设备资产编号")
         private String mercDeviceCode;
 
-     
+
         @ExcelProperty(value = "商户编码")
         @ApiModelProperty("商户编码")
         private String mercCode;
@@ -504,6 +504,21 @@ public class DeviceInfoDto {
         private Long algorithmId;
     }
 
+    @Data
+    @Accessors(chain = true)
+    public static class MercDeviceUnBindDto {
+        @ApiModelProperty(value = "对应商户的全量设备ID(传空则取消商户所有机器)", required = false)
+        private List<Long> deviceIds;
+
+        @ApiModelProperty(value = "商户ID", required = true)
+        private Long mercId;
+
+        @ApiModelProperty(value = "父商户ID", hidden = true)
+        private Long parentId;
+
+    }
+
+
     @Data
     @Accessors(chain = true)
     public static class MercAlgorithmIdListDto {

+ 3 - 0
device-api/src/main/java/com/xy/service/DeviceInfoService.java

@@ -58,6 +58,9 @@ public interface DeviceInfoService {
     @PostMapping("mercDeviceAuth")
     R<Boolean> mercDeviceAuth(@RequestBody @Validated DeviceInfoDto.MercDeviceAuthDto auth);
 
+    @PostMapping("unBindMercDevice")
+    R<Boolean> unBindMercDevice(@RequestBody @Validated DeviceInfoDto.MercDeviceUnBindDto dto);
+
 
     /**
      * 集合查询

+ 48 - 0
device-api/src/main/java/com/xy/utils/enums/DeviceBusySateType.java

@@ -0,0 +1,48 @@
+package com.xy.utils.enums;
+
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+import lombok.ToString;
+
+/**
+ * 设备运营状态 1 运营中 2 已停运
+ *
+ * @author 谭斌
+ */
+@Getter
+@ToString
+@AllArgsConstructor
+public enum DeviceBusySateType {
+
+
+    OPERATING(1, "运营中"),
+    SUSPENDED(2, "已停运");
+
+    /**
+     * 编码值
+     */
+    private Integer code;
+
+    /**
+     * 描述
+     */
+    private String description;
+
+
+    /**
+     * 通过code获取enum
+     *
+     * @param code
+     * @return
+     */
+    public static DeviceBusySateType getEnumByCode(Integer code) {
+        DeviceBusySateType[] values = values();
+        for (DeviceBusySateType value : values) {
+            if (value.getCode().equals(code)) {
+                return value;
+            }
+        }
+        return null;
+    }
+}