Browse Source

Merge branch 'master' into prod

hechunping 1 year ago
parent
commit
145e7b2264

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

@@ -591,6 +591,16 @@ public class DeviceInfoServiceImpl extends ServiceImpl<DeviceInfoMapper, DeviceI
         return R.ok(copy(DeviceInfoDto.Vo.class, list));
     }
 
+    @ApiOperation("根据点位ID更新坐标")
+    public R updateLonByPlaceId(@RequestBody @Validated DeviceInfoDto.UpdateLonByPlaceId dto) {
+        LambdaUpdateWrapper<DeviceInfo> luw = new LambdaUpdateWrapper<DeviceInfo>()
+                .eq(DeviceInfo::getPlaceId, dto.getPlaceId())
+                .set(DeviceInfo::getLon, dto.getLon())
+                .set(DeviceInfo::getLat, dto.getLat());
+        update(luw);
+        return R.ok();
+    }
+
     @ApiOperation("修改")
     @PostMapping("update")
     public R update(@RequestBody @Validated DeviceInfoDto.Update update) {
@@ -603,6 +613,9 @@ public class DeviceInfoServiceImpl extends ServiceImpl<DeviceInfoMapper, DeviceI
                     .setPlaceId(update.getPlaceId())
                     .setMercId(deviceInfo.getMercId());
             mercUserBindDeviceService.bindByDeviceUpdate(bindByPlaceIdDTto);
+            //更新坐标为点位的坐标
+            MercPlaceDto.ObjVo place = mercPlaceService.obj(new MercPlaceDto.Obj().setId(update.getPlaceId())).getData();
+            update.setLat(place.getLat()).setLon(place.getLon());
         }
         DeviceInfo deviceSave = copy(DeviceInfo.class, update)
                 .setUpdateTime(LocalDateTime.now());
@@ -1208,12 +1221,16 @@ public class DeviceInfoServiceImpl extends ServiceImpl<DeviceInfoMapper, DeviceI
         //没有管理员的的设置默认值
         deviceInfoList.stream().filter(s -> s.getAdminName() == null).forEach(s -> s.setAdminName("未分配管理员"));
         List<String> adminNameList = deviceInfoList.stream().map(DeviceInfoDto.Vo::getAdminName).distinct().collect(Collectors.toList());
-
+        List<Long> dIds = deviceInfoList.stream().map(DeviceInfoDto.Vo::getDeviceId).distinct().collect(Collectors.toList());
+        List<DeviceSysinfoDto.Vo> deviceSysList = R.feignCheckData(deviceSysinfoService.list(new DeviceSysinfoDto.SelectList().setDeviceIds(dIds)));
+        Map<Long, DeviceSysinfoDto.Vo> deviceSysInfoMap = new HashMap<>();
+        if (CollUtil.isNotEmpty(deviceSysList)) {
+            deviceSysInfoMap = deviceSysList.stream().collect(Collectors.toMap(DeviceSysinfoDto.Vo::getDeviceId, i -> i));
+        }
 
         //根据管理员名字分组
         Map<String, List<DeviceInfoDto.Vo>> deviceMap = deviceInfoList.stream().collect(Collectors.groupingBy(DeviceInfoDto.Vo::getAdminName));
 
-
         DateTime date = DateTime.now();
         DateTime start = DateUtil.beginOfDay(date);
         DateTime end = DateUtil.endOfDay(date);
@@ -1271,7 +1288,13 @@ public class DeviceInfoServiceImpl extends ServiceImpl<DeviceInfoMapper, DeviceI
                         device.setFillNum(goodsDevice.stream().mapToInt(GoodsDeviceDto.Vo::getFillCount).sum());
                     }
                 }
-
+                //温控仪 反显
+                DeviceSysinfoDto.Vo dSysInfo = deviceSysInfoMap.get(dId);
+                if (dSysInfo == null) {
+                    device.setIsHaveTemp(false);
+                } else {
+                    device.setIsHaveTemp(BooleanUtil.isTrue(dSysInfo.getIsHaveTemp()));
+                }
 
                 //算法類型
                 Long algorithmId = device.getAlgorithmId();

+ 22 - 0
device-api/src/main/java/com/xy/dto/DeviceInfoDto.java

@@ -39,6 +39,22 @@ public class DeviceInfoDto {
      */
     public final static String CLEAR = "clear";
 
+
+    @Data
+    @Accessors(chain = true)
+    public static class UpdateLonByPlaceId {
+        @NotNull(message = "点位id 不能为空")
+        @ApiModelProperty("点位id")
+        private Long placeId;
+
+        @ApiModelProperty("经度")
+        private String lon;
+
+        @ApiModelProperty("纬度")
+        private String lat;
+
+    }
+
     @Data
     @Accessors(chain = true)
     public static class SimpleDeviceSearchPageDto {
@@ -1056,6 +1072,12 @@ public class DeviceInfoDto {
     @Accessors(chain = true)
     public static class MercHomeDeviceVo {
 
+        /**
+         * 是否有温控仪
+         */
+        @ApiModelProperty("是否有温控仪")
+        private Boolean isHaveTemp;
+
         @ApiModelProperty("温度值")
         private Integer tempValue;
 

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

@@ -216,6 +216,8 @@ public interface DeviceInfoService {
     @PostMapping("updateBatch")
     R updateBatch(@RequestBody List<DeviceInfoDto.Update> updates);
 
+    @PostMapping("updateLonByPlaceId")
+    R updateLonByPlaceId(@RequestBody @Validated DeviceInfoDto.UpdateLonByPlaceId dto);
     /**
      * 激活数量统计
      *