root hace 2 años
padre
commit
afc62c70fb

+ 19 - 16
simulation-resource-server/src/main/java/com/css/simulation/resource/scene/ctrl/ScenePackageController.java

@@ -6,7 +6,6 @@ import api.common.pojo.param.scene.ScenePackageParam;
 import api.common.pojo.po.scene.ScenePackagePO;
 import api.common.pojo.vo.scene.ScenePackageSublistVO;
 import api.common.pojo.vo.scene.ScenePackageVO;
-import api.common.util.CollectionUtil;
 import api.common.util.ObjectUtil;
 import api.common.util.TimeUtil;
 import com.css.simulation.resource.common.utils.AuthUtil;
@@ -14,6 +13,7 @@ import com.css.simulation.resource.common.utils.PageUtil;
 import com.css.simulation.resource.scene.mapper.ScenePackageMapper;
 import com.css.simulation.resource.scene.service.ScenePackageService;
 import com.css.simulation.resource.system.service.ParameterService;
+import com.css.simulation.resource.util.ScenePackageUtil;
 import com.github.pagehelper.PageInfo;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.BeanUtils;
@@ -36,11 +36,13 @@ import java.util.Map;
 public class ScenePackageController {
 
     @Resource
-   private  ScenePackageService scenePackageService;
+    private ScenePackageService scenePackageService;
     @Resource
     private ScenePackageMapper scenePackageMapper;
     @Resource
-    private  ParameterService parameterService;
+    private ParameterService parameterService;
+    @Resource
+    private ScenePackageUtil scenePackageUtil;
 
     //查询主表列表
     @PostMapping("/queryScenePackageList")
@@ -61,30 +63,31 @@ public class ScenePackageController {
 
 
     /**
-     * 保存场景测试包
+     * 1. 新增场景测试包
+     * 2. 修改保存
+     * 3. 私有另存为成私有
+     * 4. 公有另存为成私有
      */
     @PostMapping("/saveScenePackage")
     public ResponseBodyVO<String> saveScenePackage(@RequestBody Map<String, List<ScenePackageSublistVO>> map) {
-        ResponseBodyVO<String> result = new ResponseBodyVO<>(ResponseBodyVO.Response.SERVER_FAILURE);
         List<ScenePackageSublistVO> params = map.get("params");
-        if (CollectionUtil.isEmpty(params)) {  // 参数错误
-            result = new ResponseBodyVO<>(ResponseBodyVO.Response.CLIENT_FAILURE, "参数不能为空,请检查");
-        }
-        ScenePackageSublistVO scenePackageSublistVO = params.get(0);
 
+        ScenePackageSublistVO scenePackageSublistVO = params.get(0);
         String packageId = scenePackageSublistVO.getId();
+
+        scenePackageUtil.checkScenePackage(packageId);
         int packageLevel = scenePackageSublistVO.getPackageLevel();
         if ("1".equals(packageId)) {
-            log.info("saveScenePackage() 新增场景测试包(传 id 为 1)");
+            log.info("新增场景测试包(传 id 为 1)");
             params.get(0).setId("");
-            result = scenePackageService.saveScenePackage(scenePackageSublistVO, params.get(0).getPackageLevel());
+            scenePackageService.saveScenePackage(scenePackageSublistVO, params.get(0).getPackageLevel());
         } else if (0 == packageLevel) {
-            log.info("saveScenePackage() 修改保存。");
-            result = scenePackageService.updateScenePackage(params);
+            log.info("修改保存。");
+            scenePackageService.updateScenePackage(params);
         } else if (1 == packageLevel) {
-            log.info("saveScenePackage() 私有另存为成私有 或 公有另存为成私有");
+            log.info("私有另存为成私有 或 公有另存为成私有");
             params.get(0).setId("");
-            result = scenePackageService.saveScenePackage(scenePackageSublistVO, params.get(0).getPackageLevel());
+            scenePackageService.saveScenePackage(scenePackageSublistVO, params.get(0).getPackageLevel());
         }
         // 将场景测试包修改成未禁用
         ScenePackagePO scenePackagePO = new ScenePackagePO();
@@ -92,7 +95,7 @@ public class ScenePackageController {
         scenePackagePO.setModifyTime(TimeUtil.getNowForMysql());
         scenePackagePO.setModifyUserId(AuthUtil.getCurrentUserId());
         scenePackageMapper.updateIsUnavailable2(scenePackagePO);
-        return result;
+        return new ResponseBodyVO<>(ResponseBodyVO.Response.SUCCESS);
     }
 
     //修改

+ 9 - 6
simulation-resource-server/src/main/java/com/css/simulation/resource/scene/service/ScenePackageService.java

@@ -47,8 +47,8 @@ public class ScenePackageService {
      * 测试包数据录入大保存:
      */
     @SneakyThrows
-    public ResponseBodyVO<String> saveScenePackage(ScenePackageSublistVO scenePackageSublistVO, Integer isLcw) {
-        List<ScenePackageSublistVO> listSublistTree = new ArrayList<>();
+    public void saveScenePackage(ScenePackageSublistVO scenePackageSublistVO, Integer isLcw) {
+        List<ScenePackageSublistVO> listSublistTree;
         ScenePackagePO po = new ScenePackagePO();
         po.setPackageName(scenePackageSublistVO.getSublistName());
         po.setCreateUserId(AuthUtil.getCurrentUserId());
@@ -56,7 +56,8 @@ public class ScenePackageService {
         // 查询个人私有唯一
         ScenePackageNewVO scenePackageNewVO = scenePackageMapper.querySelfOnly(scenePackageSublistVO.getSublistName(), AuthUtil.getCurrentUserId());
         if (ObjectUtil.isNotNull(scenePackageNewVO)) {
-            return new ResponseBodyVO<>(ResponseBodyVO.Response.CLIENT_FAILURE, "私有测试包 " + po.getPackageName() + " 已存在,请重新命名。");
+            new ResponseBodyVO<>(ResponseBodyVO.Response.CLIENT_FAILURE, "私有测试包 " + po.getPackageName() + " 已存在,请重新命名。");
+            return;
         }
         po.setWeight(scenePackageSublistVO.getWeight());
         po.setRemarks(scenePackageSublistVO.getRemarks());
@@ -81,7 +82,8 @@ public class ScenePackageService {
         }
         //校验指标名称唯一
         if (treeList == null || treeList.size() < 1) {
-            return new ResponseBodyVO<>(ResponseBodyVO.Response.CLIENT_FAILURE, "指标数据为空,请检查。");
+            new ResponseBodyVO<>(ResponseBodyVO.Response.CLIENT_FAILURE, "指标数据为空,请检查。");
+            return;
         }
         if (treeList.size() > 0) {
             Set<String> set = new HashSet<>();
@@ -95,13 +97,14 @@ public class ScenePackageService {
                 }
             }
             if (ObjectUtil.isNotNull(set)) {
-                return new ResponseBodyVO<>(ResponseBodyVO.Response.CLIENT_FAILURE, "该条数据中指标名称 " + set + "重复,请检查。");
+                new ResponseBodyVO<>(ResponseBodyVO.Response.CLIENT_FAILURE, "该条数据中指标名称 " + set + "重复,请检查。");
+                return;
             }
         }
         scenePackageMapper.saveScenePackage(po);
         scenePackageSublistMapper.saveScenePackageSublistAll(treeList);
         LogUtil.insert();
-        return new ResponseBodyVO<>(ResponseBodyVO.Response.SUCCESS);
+        new ResponseBodyVO<>(ResponseBodyVO.Response.SUCCESS);
     }
 
     //查询测试包主表列表

+ 28 - 0
simulation-resource-server/src/main/java/com/css/simulation/resource/util/ScenePackageUtil.java

@@ -0,0 +1,28 @@
+package com.css.simulation.resource.util;
+
+import api.common.util.CollectionUtil;
+import com.css.simulation.resource.scene.mapper.ScoringRulesMapper;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * 任务结果打分
+ */
+@Component
+@Slf4j
+public class ScenePackageUtil {
+
+    @Resource
+    private ScoringRulesMapper scoringRulesMapper;
+
+    public void checkScenePackage(String packageId){
+        //5 查询评分规则是否被删除
+        final List<String> rules = scoringRulesMapper.selectDeletedRulesByPackageId(packageId);
+        if (CollectionUtil.isNotEmpty(rules)) {
+            throw new RuntimeException("评分规则已被删除:" + rules);
+        }
+    }
+}