Explorar o código

Merge remote-tracking branch 'origin/tb-0404' into test

谭斌 %!s(int64=2) %!d(string=hai) anos
pai
achega
ee229b955a

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

@@ -23,10 +23,7 @@ import com.xy.service.be.MercFeignService;
 import com.xy.service.common.MercLineService;
 import com.xy.service.common.MercPlaceService;
 import com.xy.utils.*;
-import com.xy.utils.enums.DeviceActiveStateEnum;
-import com.xy.utils.enums.DeviceAuthCodeUseStatus;
-import com.xy.utils.enums.DeviceNetSateType;
-import com.xy.utils.enums.DictSonEnum;
+import com.xy.utils.enums.*;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;
@@ -106,6 +103,16 @@ public class MercMiniDeviceController {
             vo.setDistrictName(CollUtil.isEmpty(districtMap) ? StrUtil.EMPTY : districtMap.get(districtId));
             DeviceStatusDto.Vo deviceStatus = vo.getDeviceStatus();
             vo.setNetStateName(deviceStatus == null ? StrUtil.EMPTY : DeviceNetSateType.getEnumByCode(deviceStatus.getNetState()).getDescription());
+
+            Integer deviceStateL = deviceStatus.getDeviceStateL();
+            Integer deviceStateR = deviceStatus.getDeviceStateR();
+            vo.setDeviceStateL(deviceStateL);
+            vo.setDeviceStateR(deviceStateR);
+            DeviceLockState deviceLockStateL = DeviceLockState.getEnumByCode(deviceStateL);
+            DeviceLockState deviceLockStateR = DeviceLockState.getEnumByCode(deviceStateR);
+            vo.setDeviceStateRName(deviceLockStateR == null ? "未知" : deviceLockStateR.getDescription());
+            vo.setDeviceStateLName(deviceLockStateL == null ? "未知" : deviceLockStateL.getDescription());
+
         }
         return R.ok(vo);
     }
@@ -117,7 +124,7 @@ public class MercMiniDeviceController {
         return deviceInfoService.dataCount(dto);
     }
 
-    private R checkDeviceByMerc(DeviceInfo deviceInfo){
+    private R checkDeviceByMerc(DeviceInfo deviceInfo) {
         Long mercId = MercAuthUtils.getMercId();
         //商户是否已通过审核
         MercDto.Vo mercInfo = mercFeignService.obj(new MercDto.ListDTO().setId(mercId)).getData();
@@ -125,7 +132,7 @@ public class MercMiniDeviceController {
             return R.fail("商户未通过审核");
         }
         //设备是否存在
-        if(!Emptys.check(deviceInfo)){
+        if (!Emptys.check(deviceInfo)) {
             return R.fail("机器不存在");
         }
         //机器是否已授权给该商户
@@ -141,7 +148,7 @@ public class MercMiniDeviceController {
 
     @PostMapping("isMerc")
     @ApiOperation("判断设备是否归属商户")
-    public R isMerc(@RequestBody MercMiniDeviceDto.Active active){
+    public R isMerc(@RequestBody MercMiniDeviceDto.Active active) {
         DeviceInfo deviceInfo = deviceInfoService.getById(active.getDeviceId());
         R checkR = this.checkDeviceByMerc(deviceInfo);
         if (checkR.getCode() == R.Enum.SUCCESS.getCode()) {
@@ -171,7 +178,7 @@ public class MercMiniDeviceController {
     @ApiOperation("激活设备")
     public R active(@RequestBody MercMiniDeviceDto.Active active) {
         R activeInfo = this.getActiveInfo(active);
-        if(activeInfo.getCode() == R.Enum.SUCCESS.getCode()){
+        if (activeInfo.getCode() == R.Enum.SUCCESS.getCode()) {
             //激活设备
             DeviceInfo updateDeviceInfo = new DeviceInfo()
                     .setDeviceId(active.getDeviceId())
@@ -181,7 +188,7 @@ public class MercMiniDeviceController {
                     .setShowStatus(true);
             deviceInfoService.updateById(updateDeviceInfo);
             return R.ok();
-        }else{
+        } else {
             return activeInfo;
         }
     }

+ 9 - 13
device-api-service/src/main/java/com/xy/service/DeviceInfoServiceImpl.java

@@ -529,20 +529,16 @@ public class DeviceInfoServiceImpl extends ServiceImpl<DeviceInfoMapper, DeviceI
         mercHomeStatisticalVO.setOnlineNum(onlineNum);
         mercHomeStatisticalVO.setOfflineNum(offlineNum);
 
-
-        //运营、停业
-        Map<Integer, Long> countBusyStateMap = mercDevices.stream().collect(Collectors
-                .groupingBy(DeviceInfo::getBusyState, Collectors.counting()));
-        Integer busyState1 = SysDictUtils.getValue(DictEnum.DEVICE_BUSY_STATUS.getKey(), DictSonEnum.DEVICE_BUSY_STATUS1.getKey(), Integer.class);
-        Integer busyState2 = SysDictUtils.getValue(DictEnum.DEVICE_BUSY_STATUS.getKey(), DictSonEnum.DEVICE_BUSY_STATUS2.getKey(), Integer.class);
-        int operatingNum = countBusyStateMap.get(busyState1) == null ? 0 : countBusyStateMap.get(busyState1).intValue();
-        int closedNum = countBusyStateMap.get(busyState2) == null ? 0 : countBusyStateMap.get(busyState2).intValue();
-        mercHomeStatisticalVO.setOperatingNum(operatingNum);
-        mercHomeStatisticalVO.setClosedNum(closedNum);
-
+        //锁机、未锁机
+        Map<Integer, Long> countLockLstateMap = deviceStatuses.stream().collect(Collectors
+                .groupingBy(DeviceStatus::getLockStateL, Collectors.counting()));
+        int lockLStateNum = countLockLstateMap.get(DeviceLockState.LOCK.getCode()).intValue();
+        int unLockLStateNum = countLockLstateMap.get(DeviceLockState.UN_LOCK.getCode()).intValue();
+        mercHomeStatisticalVO.setOperatingNum(unLockLStateNum);
+        mercHomeStatisticalVO.setClosedNum(lockLStateNum);
         //待补货
-        //TODO: 此逻辑需要确认
-
+        Integer deviceNum = R.feignCheckData(goodsDeviceService.countOutOfStockDevice(new GoodsDeviceDto.CountOutOfStockDevice().setMercId(mercId)));
+        mercHomeStatisticalVO.setNeedToFillNum(deviceNum);
         return R.ok(mercHomeStatisticalVO);
     }
 

+ 18 - 5
device-api/src/main/java/com/xy/dto/DeviceInfoDto.java

@@ -238,6 +238,18 @@ public class DeviceInfoDto {
     @Accessors(chain = true)
     public static class Vo {
 
+        @ApiModelProperty("左门锁机状态名称")
+        private String deviceStateLName;
+
+        @ApiModelProperty("右门锁机状态名称")
+        private String deviceStateRName;
+
+        @ApiModelProperty("左门锁机状态,字典类型:devcie_lock_status")
+        private Integer deviceStateL;
+
+
+        @ApiModelProperty("右门锁机状态,字典类型:devcie_lock_status")
+        private Integer deviceStateR;
 
         @ApiModelProperty("设备id")
         private Long deviceId;
@@ -403,13 +415,14 @@ public class DeviceInfoDto {
         @ApiModelProperty("左门锁机状态,字典类型:devcie_lock_status")
         private Integer deviceStateL;
 
-        @ApiModelProperty("左门锁机状态名称")
-        private String deviceStateLName;
-
 
         @ApiModelProperty("右门锁机状态,字典类型:devcie_lock_status")
         private Integer deviceStateR;
 
+
+        @ApiModelProperty("左门锁机状态名称")
+        private String deviceStateLName;
+
         @ApiModelProperty("右门锁机状态名称")
         private String deviceStateRName;
 
@@ -570,10 +583,10 @@ public class DeviceInfoDto {
         @ApiModelProperty(value = "离线设备数")
         private Integer offlineNum;
 
-        @ApiModelProperty(value = "运营设备数")
+        @ApiModelProperty(value = "锁机设备数")
         private Integer operatingNum;
 
-        @ApiModelProperty(value = "停业设备数")
+        @ApiModelProperty(value = "未锁机设备数")
         private Integer closedNum;
 
         @ApiModelProperty(value = "待补货设备数")

+ 2 - 2
device-api/src/main/java/com/xy/utils/enums/DeviceLockState.java

@@ -16,8 +16,8 @@ import lombok.ToString;
 public enum DeviceLockState {
 
 
-    LOCK(1, "未锁机"),
-    UN_LOCK(2, "已锁机");
+    UN_LOCK(1, "未锁机"),
+    LOCK(2, "已锁机");
 
     /**
      * 编码值