Ver Fonte

车辆配置恢复未禁用

root há 2 anos atrás
pai
commit
c66ad1b493

+ 2 - 1
api-common/src/main/java/api/common/util/ObjectUtil.java

@@ -21,6 +21,7 @@ public class ObjectUtil {
     /**
      * 空值判断
      */
+    @SuppressWarnings("all")
     public static boolean isNull(Object obj) {
         boolean isNullFlag = true;
         if (obj != null) {
@@ -29,7 +30,7 @@ public class ObjectUtil {
             } else if (obj instanceof Set) {
                 isNullFlag = isNull((Set) obj);
             } else if (obj instanceof Object[]) {
-                isNullFlag = isNull(obj);
+                isNullFlag = isNull((Object[]) ((Object[]) obj));
             } else if (obj instanceof Map) {
                 isNullFlag = isNull((Map) obj);
             } else if (obj instanceof String) {

+ 6 - 13
simulation-resource-server/src/main/java/com/css/simulation/resource/model/controller/ModelConfigController.java

@@ -51,24 +51,22 @@ public class ModelConfigController {
      */
     @RequestMapping("/saveConfig")
     public ResponseBodyVO<ConfigPO> saveConfig(@RequestBody ConfigVO configVO) {
-        if (ObjectUtil.isNull(configVO)) {
-            return new ResponseBodyVO<>(false, 500, "参数必传!", null);
-        }
-        //端口重复校验
+        configVO.setIsUnavailable("0");
+        // 端口重复校验
         Map<String, List<ConfigSensorVO>> configSensors = configVO.getConfigSensors();
         if (ObjectUtil.isNotNull(configSensors)) {
             List<ConfigSensorVO> configSensorVOS = configSensors.get("ogt");//完美传感器
             if (ObjectUtil.isNotNull(configSensorVOS)) {
                 long count = configSensorVOS.stream().mapToInt(ConfigSensorVO::getSensorPort).distinct().count();
                 if (configSensorVOS.size() != count) {
-                    return new ResponseBodyVO<>(false, 500, "端口重复", null);
+                    return new ResponseBodyVO<>(false, 500, "端口重复", null);
                 }
             }
         }
         ResponseBodyVO<ConfigPO> response = new ResponseBodyVO<>(ResponseBodyVO.Response.SUCCESS);
         ConfigPO po = configService.saveConfig(configVO);
         if (ObjectUtil.isNull(po.getId())) {
-            return new ResponseBodyVO<>(false, 500, "配置名称重复", null);
+            return new ResponseBodyVO<>(false, 500, "配置名称重复", null);
         }
         response.setInfo(po);
         return response;
@@ -79,9 +77,7 @@ public class ModelConfigController {
      */
     @RequestMapping("/saveAnotherConfig")
     public ResponseBodyVO<ConfigPO> saveAnotherConfig(@RequestBody ConfigVO configVO) {
-        if (ObjectUtil.isNull(configVO)) {
-            return new ResponseBodyVO<>(false, 500, "参数必传!", null);
-        }
+        configVO.setIsUnavailable("0");
         //端口重复校验
         Map<String, List<ConfigSensorVO>> configSensors = configVO.getConfigSensors();
         if (ObjectUtil.isNotNull(configSensors)) {
@@ -93,7 +89,7 @@ public class ModelConfigController {
                 }
             }
         }
-        ResponseBodyVO<ConfigPO> response = new ResponseBodyVO<ConfigPO>(ResponseBodyVO.Response.SUCCESS);
+        ResponseBodyVO<ConfigPO> response = new ResponseBodyVO<>(ResponseBodyVO.Response.SUCCESS);
         ConfigPO po = configService.saveAnotherConfig(configVO);
         if (ObjectUtil.isNull(po.getId())) {
             return new ResponseBodyVO<>(false, 500, "配置名称重复!", null);
@@ -126,9 +122,6 @@ public class ModelConfigController {
     @RequestMapping("/shareConfigById")
     @PreAuthorize("@AuthorityCheck.admin()")
     public ResponseBodyVO<ConfigPO> shareConfigById(@RequestBody ConfigVO configVO) {
-        if (ObjectUtil.isNull(configVO) || ObjectUtil.isNull(configVO.getId())) {
-            return new ResponseBodyVO<>(false, 500, "参数必传!", null);
-        }
         ResponseBodyVO<ConfigPO> response = new ResponseBodyVO<>(ResponseBodyVO.Response.SUCCESS);
         ConfigPO po = configService.shareConfigById(configVO);
         if (ObjectUtil.isNull(po.getId())) {

+ 14 - 1
simulation-resource-server/src/main/java/com/css/simulation/resource/model/service/ConfigService.java

@@ -8,6 +8,7 @@ import api.common.util.*;
 import com.css.simulation.resource.common.utils.AuthUtil;
 import com.css.simulation.resource.common.utils.PageUtil;
 import com.css.simulation.resource.model.mapper.ConfigMapper;
+import com.css.simulation.resource.model.mapper.ModelConfigMapper;
 import com.css.simulation.resource.model.mapper.RelationConfigSensorMapper;
 import com.css.simulation.resource.model.mapper.VehicleMapper;
 import com.github.pagehelper.PageInfo;
@@ -40,6 +41,8 @@ public class ConfigService {
     private GpsService gpsService;
     @Resource
     private RelationConfigSensorMapper relationConfigSensorMapper;
+    @Resource
+    private ModelConfigMapper modelConfigMapper;
 
     //* -------------------------------- Comment --------------------------------
 
@@ -223,6 +226,11 @@ public class ConfigService {
 
     public ConfigPO shareConfigByInfo(ConfigVO configVO) {
 
+        final String isUnavailable = modelConfigMapper.selectIsUnavailableByModelConfigId(configVO.getId());
+        if (DictConstants.IS_UNAVAILABLE.equals(isUnavailable)) {
+            throw new RuntimeException("车辆配置处于禁用状态,请先保存。");
+        }
+
         // 构建新的车辆配置对象
         ConfigPO configPO = new ConfigPO();
         ObjectUtil.voToPo(configVO, configPO);
@@ -367,7 +375,12 @@ public class ConfigService {
     }
 
     public ConfigPO shareConfigById(ConfigVO configVO) {
-        // 获取配置信息
+        //1 已禁用配置不允许删除
+        final String isUnavailable = modelConfigMapper.selectIsUnavailableByModelConfigId(configVO.getId());
+        if (DictConstants.IS_UNAVAILABLE.equals(isUnavailable)) {
+            throw new RuntimeException("车辆配置处于禁用状态。");
+        }
+        //2 获取配置信息
         configVO = getConfigInfo(configVO);
         ConfigPO configPO = shareConfigByInfo(configVO);
         LogUtil.share();

+ 13 - 18
simulation-resource-server/src/main/java/com/css/simulation/resource/scene/service/ScenePackageService.java

@@ -53,10 +53,7 @@ public class ScenePackageService {
         po.setShare("0");
         // 查询个人私有唯一
         ScenePackageNewVO scenePackageNewVO = scenePackageMapper.querySelfOnly(scenePackageSublistVO.getSublistName(), AuthUtil.getCurrentUserId());
-        if (ObjectUtil.isNotNull(scenePackageNewVO)) {
-            new ResponseBodyVO<>(ResponseBodyVO.Response.CLIENT_FAILURE, "私有测试包 " + po.getPackageName() + " 已存在,请重新命名。");
-            return;
-        }
+        Optional.ofNullable(scenePackageNewVO).orElseThrow(() -> new RuntimeException("私有测试包 " + po.getPackageName() + " 已存在,请重新命名。"));
         po.setWeight(scenePackageSublistVO.getWeight());
         po.setRemarks(scenePackageSublistVO.getRemarks());
         po.setSceneNum(scenePackageSublistVO.getSceneNum());
@@ -83,22 +80,20 @@ public class ScenePackageService {
             new ResponseBodyVO<>(ResponseBodyVO.Response.CLIENT_FAILURE, "指标数据为空,请检查。");
             return;
         }
-        if (treeList.size() > 0) {
-            Set<String> set = new HashSet<>();
-            Map<String, String> map = new HashMap<>();
-            for (ScenePackageSublistPO vo : treeList) {
-                Object sublistName = map.get(vo.getSublistName());
-                if (ObjectUtil.isNull(sublistName)) {
-                    map.put(vo.getSublistName(), vo.getSublistName());
-                } else {
-                    set.add(vo.getSublistName());
-                }
-            }
-            if (ObjectUtil.isNotNull(set)) {
-                new ResponseBodyVO<>(ResponseBodyVO.Response.CLIENT_FAILURE, "该条数据中指标名称 " + set + "重复,请检查。");
-                return;
+        Set<String> set = new HashSet<>();
+        Map<String, String> map = new HashMap<>();
+        for (ScenePackageSublistPO vo : treeList) {
+            Object sublistName = map.get(vo.getSublistName());
+            if (ObjectUtil.isNull(sublistName)) {
+                map.put(vo.getSublistName(), vo.getSublistName());
+            } else {
+                set.add(vo.getSublistName());
             }
         }
+        if (ObjectUtil.isNotNull(set)) {
+            new ResponseBodyVO<>(ResponseBodyVO.Response.CLIENT_FAILURE, "该条数据中指标名称 " + set + "重复,请检查。");
+            return;
+        }
         scenePackageMapper.saveScenePackage(po);
         scenePackageSublistMapper.saveScenePackageSublistAll(treeList);
         LogUtil.insert();