李进 пре 2 година
родитељ
комит
9520ca5e6f

+ 4 - 16
device-api-service/src/main/java/com/xy/entity/DeviceQualityValue.java

@@ -34,23 +34,11 @@ public class DeviceQualityValue implements Serializable {
     @ApiModelProperty(value = "质检id")
     private Integer qualityId;
 
-    @ApiModelProperty(value = "交易测试值")
-    private String tradeStateValue;
+    @ApiModelProperty(value = "")
+    private String qualityType;
 
-    @ApiModelProperty(value = "门锁测试值")
-    private String lockerStateValue;
-
-    @ApiModelProperty(value = "温度检测值")
-    private String temperatureStateValue;
-
-    @ApiModelProperty(value = "模拟批量测试值")
-    private String imitateTestStateValue;
-
-    @ApiModelProperty(value = "软件硬系统值")
-    private String systemStateValue;
-
-    @ApiModelProperty(value = "参数设置值")
-    private String settingStateValue;
+    @ApiModelProperty(value = "值")
+    private String qualityValue;
 
     @ApiModelProperty(value = "更新时间")
     private LocalDateTime updateTime;

+ 10 - 14
device-api-service/src/main/java/com/xy/service/DeviceQualityServiceImpl.java

@@ -159,11 +159,11 @@ public class DeviceQualityServiceImpl extends ServiceImpl<DeviceQualityMapper, D
                         .set(StringTools.humpToLine(LambdaUtils.getProperty(DeviceQuality::getUpdateTime)), now)
                         .eq(StringTools.humpToLine(LambdaUtils.getProperty(DeviceQuality::getQualityId)), rest.getQualityId());
                 update(updateWrapper);
-                //修改质检属性
-                DeviceQualityValueDto.Update update = new DeviceQualityValueDto.Update()
-                        .setCode(type);
-                update.setQualityId(rest.getQualityId());
-                deviceQualityValueService.update(update);
+                //删除质检属性
+                DeviceQualityValueDto.Vo del = new DeviceQualityValueDto.Vo()
+                        .setQualityId(rest.getQualityId())
+                        .setQualityType(type);
+                deviceQualityValueService.del(del);
             }
             //发送mqtt指令
             CommandMqtt commandMqtt = new CommandMqtt()
@@ -227,10 +227,6 @@ public class DeviceQualityServiceImpl extends ServiceImpl<DeviceQualityMapper, D
         }
         //添加
         saveBatch(saves);
-        //添加质检属性
-        List<DeviceQualityValueDto.Vo> deviceQualityValueDtoVos = new ArrayList<>(saves.size());
-        saves.forEach(deviceQuality -> deviceQualityValueDtoVos.add(new DeviceQualityValueDto.Vo().setQualityId(deviceQuality.getQualityId())));
-        deviceQualityValueService.save(deviceQualityValueDtoVos);
         //发送mqtt指令
         List<CommandMqtt> commandMqtts = new ArrayList<>(deviceQualitySaves.size());
         deviceQualitySaves.forEach(save -> {
@@ -289,11 +285,11 @@ public class DeviceQualityServiceImpl extends ServiceImpl<DeviceQualityMapper, D
                 .eq(StringTools.humpToLine(LambdaUtils.getProperty(DeviceQuality::getShowStatus)), true);
         update(updateWrapper);
         //修改质检值
-        DeviceQualityValueDto.Update update = new DeviceQualityValueDto.Update()
-                .setCode(type)
-                .setValue(data);
-        update.setQualityId(deviceQuality.getQualityId());
-        deviceQualityValueService.update(update);
+        DeviceQualityValueDto.Vo saveOrUpdate = new DeviceQualityValueDto.Vo()
+                .setQualityType(type)
+                .setQualityValue(data.toString());
+        saveOrUpdate.setQualityId(deviceQuality.getQualityId());
+        deviceQualityValueService.saveOrUpdate(saveOrUpdate);
         return R.ok();
     }
 

+ 36 - 23
device-api-service/src/main/java/com/xy/service/DeviceQualityValueServiceImpl.java

@@ -1,13 +1,13 @@
 package com.xy.service;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.xy.dto.DeviceQualityValueDto;
 import com.xy.entity.DeviceQualityValue;
 import com.xy.mapper.DeviceQualityValueMapper;
-import com.xy.utils.*;
-import com.xy.utils.enums.QualityEnum;
+import com.xy.utils.Emptys;
+import com.xy.utils.MybatisPlusQuery;
+import com.xy.utils.R;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;
@@ -45,31 +45,44 @@ public class DeviceQualityValueServiceImpl extends ServiceImpl<DeviceQualityValu
         return R.ok();
     }
 
-    @PostMapping("save")
-    @ApiOperation("添加")
-    public R save(@RequestBody List<DeviceQualityValueDto.Vo> vos) {
+    @PostMapping("saveOrUpdate")
+    @ApiOperation("添加/修改")
+    public R saveOrUpdate(@RequestBody DeviceQualityValueDto.Vo vo) {
+        DeviceQualityValue deviceQualityValue = getOne(new LambdaQueryWrapper<DeviceQualityValue>()
+                .eq(DeviceQualityValue::getQualityId, vo.getQualityId())
+                .eq(DeviceQualityValue::getQualityType, vo.getQualityType())
+        );
+        //修改
+        if (deviceQualityValue != null) {
+            copy(deviceQualityValue, vo);
+            updateById(deviceQualityValue);
+            return R.ok();
+        }
+        //添加
         LocalDateTime now = LocalDateTime.now();
-        List<DeviceQualityValue> list = copy(DeviceQualityValue.class, vos);
-        list.forEach(deviceQualityValue -> deviceQualityValue.setCreateTime(now).setUpdateTime(now));
-        saveBatch(list);
+        DeviceQualityValue deviceQualityValue2 = copy(DeviceQualityValue.class, vo)
+                .setCreateTime(now)
+                .setUpdateTime(now);
+        save(deviceQualityValue2);
         return R.ok();
     }
 
-    @PostMapping("update")
-    @ApiOperation("修改")
-    public R update(@RequestBody DeviceQualityValueDto.Update update) {
-        if (Emptys.check(update.getCode())) {
-            UpdateWrapper<DeviceQualityValue> updateWrapper = new UpdateWrapper<DeviceQualityValue>()
-                    .set(QualityEnum.getQualityEnum(update.getCode()).getValue(), update.getValue() == null ? null : update.getValue().toString())
-                    .set(StringTools.humpToLine(LambdaUtils.getProperty(DeviceQualityValue::getUpdateTime)), LocalDateTime.now())
-                    .eq(StringTools.humpToLine(LambdaUtils.getProperty(DeviceQualityValue::getQualityId)), update.getQualityId());
-            update(updateWrapper);
-        } else {
-            DeviceQualityValue deviceQualityValue = copy(DeviceQualityValue.class, update)
-                    .setUpdateTime(LocalDateTime.now());
-            updateById(deviceQualityValue);
+    @PostMapping("del")
+    @ApiOperation("删除")
+    public R del(@RequestBody DeviceQualityValueDto.Vo vo) {
+        DeviceQualityValue deviceQualityValue = null;
+        if (Emptys.check(vo.getId())) {
+            deviceQualityValue = getById(vo.getId());
+        }
+        if (Emptys.check(vo.getQualityId()) && Emptys.check(vo.getQualityType())) {
+            deviceQualityValue = getOne(new LambdaQueryWrapper<DeviceQualityValue>()
+                    .eq(DeviceQualityValue::getQualityId, vo.getQualityId())
+                    .eq(DeviceQualityValue::getQualityType, vo.getQualityType())
+            );
+        }
+        if (deviceQualityValue != null) {
+            removeById(deviceQualityValue.getId());
         }
         return R.ok();
     }
-
 }

+ 6 - 11
device-api-service/src/main/java/com/xy/utils/enums/QualityEnum.java

@@ -13,32 +13,32 @@ public enum QualityEnum {
     /**
      * 软件硬系统检查
      */
-    CHECK_SYSTEM("check_system", "system_state", "system_state_begin_time", "system_state_end_time", "system_state_value"),
+    CHECK_SYSTEM("check_system", "system_state", "system_state_begin_time", "system_state_end_time"),
 
     /**
      * 交易测试检查
      */
-    CHECK_TRADE("check_trade", "trade_state", "trade_state_begin_time", "trade_state_end_time", "trade_state_value"),
+    CHECK_TRADE("check_trade", "trade_state", "trade_state_begin_time", "trade_state_end_time"),
 
     /**
      * 门锁检查
      */
-    CHECK_LOCKER("check_locker", "locker_state", "locker_state_begin_time", "locker_state_end_time", "locker_state_value"),
+    CHECK_LOCKER("check_locker", "locker_state", "locker_state_begin_time", "locker_state_end_time"),
 
     /**
      * 温度检查
      */
-    CHECK_TEMPERATURE("check_temperature", "temperature_state", "temperature_state_begin_time", "temperature_state_end_time", "temperature_state_value"),
+    CHECK_TEMPERATURE("check_temperature", "temperature_state", "temperature_state_begin_time", "temperature_state_end_time"),
 
     /**
      * 模拟批量测试
      */
-    CHECK_IMITATE_TEST("check_imitate_test", "imitate_test_state", "imitate_test_state_begin_time", "imitate_test_state_end_time", "imitate_test_state_value"),
+    CHECK_IMITATE_TEST("check_imitate_test", "imitate_test_state", "imitate_test_state_begin_time", "imitate_test_state_end_time"),
 
     /**
      * 参数设置检查
      */
-    CHECK_SETTING("check_setting", "setting_state", "setting_state_begin_time", "setting_state_end_time", "setting_state_value"),
+    CHECK_SETTING("check_setting", "setting_state", "setting_state_begin_time", "setting_state_end_time"),
 
     ;
 
@@ -62,11 +62,6 @@ public enum QualityEnum {
      */
     private String endTime;
 
-    /**
-     * 质检结果参数值列名
-     */
-    private String value;
-
     public static QualityEnum getQualityEnum(String type) {
         QualityEnum[] values = QualityEnum.values();
         for (QualityEnum qualityEnum : values) {

+ 4 - 28
device-api/src/main/java/com/xy/dto/DeviceQualityValueDto.java

@@ -1,6 +1,5 @@
 package com.xy.dto;
 
-import cn.hutool.json.JSONObject;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -18,17 +17,6 @@ import java.time.LocalDateTime;
  */
 public class DeviceQualityValueDto {
 
-    @Data
-    @Accessors(chain = true)
-    public static class Update extends Vo {
-
-        @ApiModelProperty("模板编码")
-        private String code;
-
-        @ApiModelProperty("值")
-        private JSONObject value;
-    }
-
     @Data
     @Accessors(chain = true)
     public static class Vo {
@@ -39,23 +27,11 @@ public class DeviceQualityValueDto {
         @ApiModelProperty(value = "质检id")
         private Integer qualityId;
 
-        @ApiModelProperty(value = "交易测试值")
-        private String tradeStateValue;
-
-        @ApiModelProperty(value = "门锁测试值")
-        private String lockerStateValue;
-
-        @ApiModelProperty(value = "温度检测值")
-        private String temperatureStateValue;
-
-        @ApiModelProperty(value = "模拟批量测试值")
-        private String imitateTestStateValue;
-
-        @ApiModelProperty(value = "软件硬系统值")
-        private String systemStateValue;
+        @ApiModelProperty(value = "键")
+        private String qualityType;
 
-        @ApiModelProperty(value = "参数设置值")
-        private String settingStateValue;
+        @ApiModelProperty(value = "值")
+        private String qualityValue;
 
         @ApiModelProperty(value = "更新时间")
         @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")