ソースを参照

修改设备点位信息时更新管理员

hechunping 1 年間 前
コミット
02b918503f

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

@@ -112,6 +112,8 @@ public class DeviceInfoServiceImpl extends ServiceImpl<DeviceInfoMapper, DeviceI
 
     private final MercPlaceService mercPlaceService;
 
+    private final MercUserBindDeviceService mercUserBindDeviceService;
+
 
     @Override
     @ApiOperation("设备列表-管理员")
@@ -591,10 +593,19 @@ public class DeviceInfoServiceImpl extends ServiceImpl<DeviceInfoMapper, DeviceI
     @ApiOperation("修改")
     @PostMapping("update")
     public R update(@RequestBody @Validated DeviceInfoDto.Update update) {
-        DeviceInfo deviceInfo = copy(DeviceInfo.class, update)
+        DeviceInfo deviceInfo = getById(update.getDeviceId());
+        //判断是否更新了点位
+        if(Emptys.check(update.getPlaceId()) && !Objects.equals(deviceInfo.getPlaceId(),update.getPlaceId())){
+            //把设备绑定给点位管理员
+            MercUserBindDeviceDto.BindByPlaceId bindByPlaceIdDTto = new MercUserBindDeviceDto.BindByPlaceId();
+            mercUserBindDeviceService.bindByPlaceId(bindByPlaceIdDTto);
+        }
+        DeviceInfo deviceSave = copy(DeviceInfo.class, update)
                 .setUpdateTime(LocalDateTime.now());
-        updateById(deviceInfo);
-        Long deviceId = deviceInfo.getDeviceId();
+        updateById(deviceSave);
+
+
+        Long deviceId = deviceSave.getDeviceId();
         DeviceInfoDto.Vo device = R.feignCheckData(this.obj(new DeviceInfoDto.Obj().setDeviceId(deviceId).setIsSysinfo(true)));
         Long algorithmId = update.getAlgorithmId();
         if (algorithmId != null && AlgorithmTypeEnum.CLOUD.getId() == algorithmId) {