Jelajahi Sumber

支付宝设备激活

李进 1 tahun lalu
induk
melakukan
660aba2a3d

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

@@ -190,18 +190,19 @@ public class OpenDeviceFactoryImpl implements DeviceFactory {
         LocalDateTime now = LocalDateTime.now();
         Integer busyState = SysDictUtils.getValue(EnumDeviceBusyStatus.Code.CODE.getCode(), EnumDeviceBusyStatus.N_1.getCode(), Integer.class);
         List<DeviceInfo> activeList = new ArrayList<>();
-        JMap<Long, Long> deviceIdsJMaps = new JArrayList<>(deviceIds).toMap().cover();
+        JMap<Long, MercMiniDeviceDto.ActiveVo> cover = new JArrayList<>(result).toMap(MercMiniDeviceDto.ActiveVo::getDeviceId).cover();
         deviceIds.forEach(deviceId -> {
             //过滤需要付费的设备
-            if (!deviceIdsJMaps.containsKey(deviceId)) {
-                DeviceInfo updateDeviceInfo = new DeviceInfo()
-                        .setDeviceId(deviceId)
-                        .setActiveState(activeState)
-                        .setBusyState(busyState)
-                        .setActiveTime(now)
-                        .setShowStatus(true);
-                activeList.add(updateDeviceInfo);
+            if (cover.containsKey(deviceId)) {
+                return;
             }
+            DeviceInfo updateDeviceInfo = new DeviceInfo()
+                    .setDeviceId(deviceId)
+                    .setActiveState(activeState)
+                    .setBusyState(busyState)
+                    .setActiveTime(now)
+                    .setShowStatus(true);
+            activeList.add(updateDeviceInfo);
         });
         if (Emptys.check(activeList)) {
             deviceInfoService.updateBatchById(activeList);