Browse Source

#FIX 设备详情,温度反显

谭斌 2 years ago
parent
commit
7a62d1a720

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

@@ -19,10 +19,7 @@ import com.xy.dto.common.MercPlaceDto;
 import com.xy.dto.mini.MiniMercRegionDto;
 import com.xy.entity.*;
 import com.xy.enums.MercStatus;
-import com.xy.service.DeviceBluetoothAuthServiceImpl;
-import com.xy.service.DeviceChargingServiceImpl;
-import com.xy.service.DeviceInfoServiceImpl;
-import com.xy.service.DeviceSysinfoServiceImpl;
+import com.xy.service.*;
 import com.xy.service.be.MercFeignService;
 import com.xy.service.common.MercLineService;
 import com.xy.service.common.MercPlaceService;
@@ -75,6 +72,8 @@ public class MercMiniDeviceController {
 
     private final DeviceChargingServiceImpl deviceChargingService;
 
+    private final DeviceTempRecordsServiceImpl deviceTempRecordsService;
+
     @ApiOperation("商户设备首页统计")
     @PostMapping("mercHomeStatistical")
     public R<DeviceInfoDto.MercHomeStatisticalVO> mercHomeStatistical(@RequestBody @Valid DeviceInfoDto.MercHomeQueryDTO dto) {
@@ -100,6 +99,7 @@ public class MercMiniDeviceController {
         R<DeviceInfoDto.Vo> r = deviceInfoService.obj(obj);
         DeviceInfoDto.Vo vo = r.getData();
         if (vo != null) {
+
             //点位
             Long placeId = vo.getPlaceId();
             List<MercPlaceDto.Vo> merPlaceList = R.feignCheckData(mercPlaceService.list(new MercPlaceDto.ListDto().setIds(CollUtil.newArrayList(placeId))));
@@ -116,6 +116,17 @@ public class MercMiniDeviceController {
             DeviceStatusDto.Vo deviceStatus = vo.getDeviceStatus();
             vo.setNetStateName(deviceStatus == null ? StrUtil.EMPTY : DeviceNetSateType.getEnumByCode(deviceStatus.getNetState()).getDescription());
             if (deviceStatus != null) {
+                Integer tempValue = deviceStatus.getTempValue();
+                if(tempValue==null){
+                    List<DeviceTempRecords> deviceTempRecords = deviceTempRecordsService
+                            .list(Wrappers.<DeviceTempRecords>lambdaQuery()
+                                    .eq(DeviceTempRecords::getDeviceId, vo.getDeviceId()).orderByDesc(DeviceTempRecords::getCreateTime).last("limit 1")
+                            );
+                    if(CollUtil.isNotEmpty(deviceTempRecords)){
+                        deviceStatus.setTempValue(deviceTempRecords.get(0).getTempValue());
+                    }
+                }
+
                 Integer deviceStateL = deviceStatus.getLockStateL();
                 Integer deviceStateR = deviceStatus.getLockStateR();
                 vo.setDeviceStateL(deviceStateL);