Преглед на файлове

设备温度告警设置

谭斌 преди 2 години
родител
ревизия
3444702080

+ 20 - 3
device-api-service/src/main/java/com/xy/service/DeviceConfigServiceImpl.java

@@ -1,5 +1,6 @@
 package com.xy.service;
 
+import cn.hutool.core.collection.CollUtil;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.xy.dto.DeviceConfigDto;
 import com.xy.entity.DeviceConfig;
@@ -15,6 +16,7 @@ import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 
 import java.time.LocalDateTime;
+import java.util.List;
 
 
 /**
@@ -27,15 +29,30 @@ import java.time.LocalDateTime;
  */
 @Service
 @AllArgsConstructor
-@Api(tags = "设备配置表")
+@Api(tags = "设备温度告警设置")
 public class DeviceConfigServiceImpl extends ServiceImpl<DeviceConfigMapper, DeviceConfig> implements DeviceConfigService {
 
     @PostMapping("update")
-    @ApiOperation("修改")
+    @ApiOperation("设备温度告警阈值设置")
     public R update(@RequestBody @Validated DeviceConfigDto.Update update) {
         DeviceConfig deviceConfig = Beans.copy(DeviceConfig.class, update)
                 .setUpdateTime(LocalDateTime.now());
         updateById(deviceConfig);
         return R.ok();
     }
-}
+
+    @PostMapping("batchUpdate")
+    @ApiOperation("设备温度告警阈值批量设置")
+    public R batchUpdate(@RequestBody @Validated DeviceConfigDto.BatchUpdate batchUpdate) {
+        List<Long> deviceIds = batchUpdate.getDeviceIds();
+        List<DeviceConfig> deviceConfigs = this.listByIds(deviceIds);
+        if (CollUtil.isNotEmpty(deviceConfigs)) {
+            deviceConfigs.forEach(d -> {
+                d.setTempMin(batchUpdate.getTempMin());
+                d.setTempMax(batchUpdate.getTempMax());
+            });
+            this.saveOrUpdateBatch(deviceConfigs);
+        }
+        return R.ok();
+    }
+}

+ 31 - 1
device-api/src/main/java/com/xy/dto/DeviceConfigDto.java

@@ -5,8 +5,10 @@ import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.experimental.Accessors;
 
+import javax.validation.constraints.NotEmpty;
 import javax.validation.constraints.NotNull;
 import java.time.LocalDateTime;
+import java.util.List;
 
 /**
  * <p>
@@ -20,13 +22,41 @@ public class DeviceConfigDto {
 
     @Data
     @Accessors(chain = true)
-    public static class Update extends Vo {
+    public static class Update {
 
         @NotNull(message = "deviceId不能为空")
         @ApiModelProperty(value = "设备id")
         private Long deviceId;
+
+        @NotNull(message = "最大温度告警值不能为空")
+        @ApiModelProperty(value = "最大温度告警值")
+        private Integer tempMax;
+
+        @NotNull(message = "最小温度告警值不能为空")
+        @ApiModelProperty(value = "最小温度告警值")
+        private Integer tempMin;
+
     }
 
+    @Data
+    @Accessors(chain = true)
+    public static class BatchUpdate {
+
+        @NotEmpty(message = "deviceId不能为空")
+        @ApiModelProperty(value = "设备id")
+        private List<Long> deviceIds;
+
+        @NotNull(message = "最大温度告警值不能为空")
+        @ApiModelProperty(value = "最大温度告警值")
+        private Integer tempMax;
+
+        @NotNull(message = "最小温度告警值不能为空")
+        @ApiModelProperty(value = "最小温度告警值")
+        private Integer tempMin;
+
+    }
+
+
     @Data
     @Accessors(chain = true)
     public static class Vo {