Sfoglia il codice sorgente

Merge branch 'master' into test

李进 1 anno fa
parent
commit
8315198706

+ 6 - 0
device-api-service/src/main/java/com/xy/entity/DeviceStatus.java

@@ -182,4 +182,10 @@ public class DeviceStatus {
      * 是否使用电池
      */
     private Boolean isUseBattery;
+
+    /**
+     * 是否可交易
+     */
+    private Boolean isPay;
+
 }

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

@@ -329,6 +329,9 @@ public class DeviceInfoServiceImpl extends ServiceImpl<DeviceInfoMapper, DeviceI
             return R.fail("设备故障");
         }
         check(deviceStatus.getNetState(), 2, "设备已离线");
+        if (!deviceStatus.getIsPay()) {
+            return R.fail("设备不可交易");
+        }
         check(obj.getDoor() != null && obj.getDoor() == 1 ? deviceStatus.getDoorStateR() : deviceStatus.getDoorStateL(), 1, "设备正在使用中,请稍后");
         //质检用户不检查
         SysDictRedis qualitySets = SysDictUtils.get(EnumQualityMercSets.Code.CODE.getCode(), EnumQualityMercSets.MERC_CODE.getCode());

+ 13 - 1
device-api-service/src/main/java/com/xy/service/DeviceQualityServiceImpl.java

@@ -53,6 +53,8 @@ public class DeviceQualityServiceImpl extends ServiceImpl<DeviceQualityMapper, D
 
     private DeviceSysinfoServiceImpl deviceSysinfoService;
 
+    private DeviceStatusServiceImpl deviceStatusService;
+
     private void queryDeviceQualityValue(List<DeviceQualityDto.Vo> list) {
         if (Emptys.check(list)) {
             JList<Integer> qualityIds = new JArrayList<>(list).getProperty(DeviceQualityDto.Vo::getQualityId);
@@ -125,10 +127,12 @@ public class DeviceQualityServiceImpl extends ServiceImpl<DeviceQualityMapper, D
         List<DeviceSysinfo> deviceSysinfos = deviceSysinfoService.list(new LambdaQueryWrapper<DeviceSysinfo>().in(DeviceSysinfo::getDeviceId, new JArrayList<>(vos).getProperty(DeviceQualityDto.Vo::getDeviceId)));
         JMap<Long, DeviceSysinfo> deviceSysinfosJMaps = new JArrayList<>(deviceSysinfos).toMap(DeviceSysinfo::getDeviceId).cover();
         int qualified = SysDictUtils.getValue(EnumDeviceQualityStatus.Code.CODE.getCode(), EnumDeviceQualityStatus.QUALIFIED.getCode(), Integer.class);
+        List<DeviceStatus> deviceStatuses = new ArrayList<>();
         for (DeviceQuality deviceQuality : deviceQualities) {
             if (deviceQuality.getQualityState() != null) {
-                //合格时检查磁盘空间和内存容量
+                //合格
                 if (qualified == deviceQuality.getQualityState()) {
+                    //检查磁盘空间和内存容量
                     DeviceSysinfo deviceSysinfo = deviceSysinfosJMaps.get(deviceQuality.getDeviceId());
                     Integer diskSpace = deviceSysinfo.getDiskSpace();
                     int diskSpaceSize = SysDictUtils.getValue(EnumDeviceQualityThreshold.Code.CODE.getCode(), EnumDeviceQualityThreshold.DISK_SPACE_SIZE.getCode(), Integer.class);
@@ -140,6 +144,11 @@ public class DeviceQualityServiceImpl extends ServiceImpl<DeviceQualityMapper, D
                     if (memerySpace == null || memerySpace < memerySpaceSize) {
                         return R.fail(deviceSysinfo.getDeviceId() + "内存容量不足" + memerySpaceSize + "M");
                     }
+                    //标记机器不可交易
+                    DeviceStatus deviceStatus = new DeviceStatus()
+                            .setDeviceId(deviceQuality.getDeviceId())
+                            .setIsPay(false);
+                    deviceStatuses.add(deviceStatus);
                 }
                 deviceQuality.setQualityAuditUserId(AuthorizeUtils.getLoginId(Long.class));
             }
@@ -149,6 +158,9 @@ public class DeviceQualityServiceImpl extends ServiceImpl<DeviceQualityMapper, D
             deviceQuality.setUpdateTime(now);
         }
         updateBatchById(deviceQualities);
+        if(Emptys.check(deviceStatuses)) {
+            deviceStatusService.updateBatchById(deviceStatuses);
+        }
         return R.ok();
     }
 

+ 3 - 0
device-api/src/main/java/com/xy/dto/DeviceStatusDto.java

@@ -156,6 +156,9 @@ public class DeviceStatusDto {
         @ApiModelProperty("是否使用电池")
         private Boolean isUseBattery;
 
+        @ApiModelProperty("是否可交易")
+        private Boolean isPay;
+
         @ApiModelProperty("更新时间")
         @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
         private LocalDateTime updateTime;