李春阳 1 tahun lalu
induk
melakukan
4b8d041a1d

+ 47 - 0
api-common/src/main/java/api/common/pojo/enums/SceneEvaluationEnum.java

@@ -0,0 +1,47 @@
+package api.common.pojo.enums;
+
+import lombok.Getter;
+
+import java.util.Objects;
+
+@Getter
+public enum SceneEvaluationEnum {
+
+    S_LEVEL("S", "90"),
+    A_LEVEL("A", "80"),
+    B_LEVEL("B", "70"),
+    C_LEVEL("C", "60");
+
+    private String level;
+
+    private String levelValue;
+
+    SceneEvaluationEnum(String level, String levelValue) {
+        this.level = level;
+        this.levelValue = levelValue;
+    }
+
+    public static SceneEvaluationEnum matchLevelEnumByLevelValue(String levelValue) {
+        if (Objects.isNull(levelValue)) {
+            return null;
+        }
+        for (SceneEvaluationEnum enums : SceneEvaluationEnum.values()) {
+            if (enums.getLevelValue().equals(levelValue)) {
+                return enums;
+            }
+        }
+        return null;
+    }
+
+    public static SceneEvaluationEnum matchLevelEnumByLevel(String level) {
+        if (Objects.isNull(level)) {
+            return null;
+        }
+        for (SceneEvaluationEnum enums : SceneEvaluationEnum.values()) {
+            if (enums.getLevel().equals(level)) {
+                return enums;
+            }
+        }
+        return null;
+    }
+}

+ 7 - 3
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/domain/service/TaskDomainService.java

@@ -1,6 +1,7 @@
 package com.css.simulation.resource.scheduler.domain.service;
 
 import api.common.pojo.constants.DictConstants;
+import api.common.pojo.enums.SceneEvaluationEnum;
 import api.common.pojo.param.scene.SceneEvaluationComputeParam;
 import api.common.pojo.param.scene.SceneImportParam;
 import api.common.pojo.po.scene.SceneComplexityPO;
@@ -9,7 +10,6 @@ import api.common.pojo.po.scene.SceneRiskPO;
 import api.common.util.*;
 import com.alibaba.druid.util.StringUtils;
 import com.css.simulation.resource.scheduler.app.repository.TaskIndexRepository;
-import com.css.simulation.resource.scheduler.app.service.ProjectApplicationService;
 import com.css.simulation.resource.scheduler.infra.configuration.custom.CustomConfiguration;
 import com.css.simulation.resource.scheduler.infra.db.entity.ScoringRuleEntity;
 import com.css.simulation.resource.scheduler.infra.db.mysql.mapper.*;
@@ -37,6 +37,8 @@ import java.util.concurrent.TimeUnit;
 import java.util.function.Function;
 import java.util.stream.Collectors;
 
+import static api.common.pojo.enums.SceneEvaluationEnum.matchLevelEnumByLevel;
+
 @Component
 @Slf4j
 public class TaskDomainService {
@@ -550,6 +552,7 @@ public class TaskDomainService {
         if (StringUtils.equals(sceneEvaluationComputeParam.getComputeType(), DictConstants.COMPLEXITY)) {
             String complexity = rootNode.path("复杂度").asText();
             String complexityLevel = rootNode.path("复杂度等级").asText();
+            SceneEvaluationEnum sceneEvaluationEnum = matchLevelEnumByLevel(complexityLevel);
             SceneComplexityPO sceneComplexityPO = new SceneComplexityPO();
             sceneComplexityPO.setSceneId(sceneEvaluationComputeParam.getSceneId());
             sceneComplexityPO.setComplexityId(StringUtil.getRandomUUID());
@@ -557,7 +560,7 @@ public class TaskDomainService {
             sceneComplexityPO.setRuleId(ruleId);
             sceneComplexityPO.setTaskId(sceneEvaluationComputeParam.getTaskId());
             sceneComplexityPO.setComplexity(complexity);
-            sceneComplexityPO.setComplexityLevel(complexityLevel);
+            sceneComplexityPO.setComplexityLevel(sceneEvaluationEnum.getLevelValue());
             sceneComplexityPO.setIsDeleted(DictConstants.IS_NOT_DELETED);
             sceneComplexityPO.setCreateUserId(null);
             sceneComplexityPO.setCreateTime(TimeUtil.getNowForMysql());
@@ -565,6 +568,7 @@ public class TaskDomainService {
         } else {
             String risk = rootNode.path("危险度").asText();
             String riskLevel = rootNode.path("危险度等级").asText();
+            SceneEvaluationEnum sceneEvaluationEnum = matchLevelEnumByLevel(riskLevel);
             SceneRiskPO sceneRiskPO = new SceneRiskPO();
             sceneRiskPO.setSceneId(sceneEvaluationComputeParam.getSceneId());
             sceneRiskPO.setRuleId(StringUtil.getRandomUUID());
@@ -572,7 +576,7 @@ public class TaskDomainService {
             sceneRiskPO.setRuleId(ruleId);
             sceneRiskPO.setTaskId(sceneEvaluationComputeParam.getTaskId());
             sceneRiskPO.setRisk(risk);
-            sceneRiskPO.setRiskLevel(riskLevel);
+            sceneRiskPO.setRiskLevel(sceneEvaluationEnum.getLevelValue());
             sceneRiskPO.setIsDeleted(DictConstants.IS_NOT_DELETED);
             sceneRiskPO.setCreateUserId(null);
             sceneRiskPO.setCreateTime(TimeUtil.getNowForMysql());

+ 0 - 2
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infra/db/mysql/mapper/SceneEvaluationRuleMapper.java

@@ -4,11 +4,9 @@ import api.common.pojo.po.scene.SceneEvaluationRulePO;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Select;
-import org.springframework.stereotype.Repository;
 
 
 @Mapper
-@Repository
 public interface SceneEvaluationRuleMapper {
 
     @Select("select rule_id, rule_name, rule_type,script_name, script_path\n" +

+ 17 - 0
simulation-resource-server/src/main/java/com/css/simulation/resource/server/adapter/controller/scene_library/score_rule/ScoreRuleController.java

@@ -3,6 +3,7 @@ package com.css.simulation.resource.server.adapter.controller.scene_library.scor
 import api.common.pojo.common.ResponseBodyVO;
 import api.common.pojo.constants.DictConstants;
 import api.common.pojo.constants.LogConstants;
+import api.common.pojo.enums.SceneEvaluationEnum;
 import api.common.pojo.param.scene.SceneEvaluationDetailParam;
 import api.common.pojo.param.scene.SceneEvaluationRuleParam;
 import api.common.pojo.param.scene.SceneEvaluationScriptParam;
@@ -260,6 +261,10 @@ public class ScoreRuleController {
         }
         PageUtil.setPageInfo(params);
         List<SceneRiskPO> list = sceneEvaluationRuleService.querySceneEvaluationRiskDetail(params);
+        list.forEach(po -> {
+            SceneEvaluationEnum sceneEvaluationEnum = SceneEvaluationEnum.matchLevelEnumByLevelValue(po.getRiskLevel());
+            po.setRiskLevel(sceneEvaluationEnum.getLevel());
+        });
         PageInfo<SceneRiskPO> sceneRiskPOPageInfo = new PageInfo<>(list);
         List<SceneRiskVO> list1 = new ArrayList<>();
         // po 转 vo
@@ -283,6 +288,10 @@ public class ScoreRuleController {
         }
         PageUtil.setPageInfo(params);
         List<SceneComplexityPO> list = sceneEvaluationRuleService.querySceneEvaluationComplexityDetail(params);
+        list.forEach(po -> {
+            SceneEvaluationEnum sceneEvaluationEnum = SceneEvaluationEnum.matchLevelEnumByLevelValue(po.getComplexityLevel());
+            po.setComplexityLevel(sceneEvaluationEnum.getLevel());
+        });
         PageInfo<SceneComplexityPO> sceneComplexityPOPageInfo = new PageInfo<>(list);
         List<SceneComplexityVO> list1 = new ArrayList<>();
         // po 转 vo
@@ -305,6 +314,10 @@ public class ScoreRuleController {
             return new ResponseBodyVO<>(ResponseBodyVO.Response.CLIENT_FAILURE, "请输入 sceneId");
         }
         List<SceneRiskPO> list = sceneEvaluationRuleService.querySceneEvaluationRiskDetail(params);
+        list.forEach(po -> {
+            SceneEvaluationEnum sceneEvaluationEnum = SceneEvaluationEnum.matchLevelEnumByLevelValue(po.getRiskLevel());
+            po.setRiskLevel(sceneEvaluationEnum.getLevel());
+        });
         List<SceneRiskVO> list1 = new ArrayList<>();
         // po 转 vo
         for (SceneRiskPO po : list) {
@@ -324,6 +337,10 @@ public class ScoreRuleController {
             return new ResponseBodyVO<>(ResponseBodyVO.Response.CLIENT_FAILURE, "请输入 sceneId");
         }
         List<SceneComplexityPO> list = sceneEvaluationRuleService.querySceneEvaluationComplexityDetail(params);
+        list.forEach(po -> {
+            SceneEvaluationEnum sceneEvaluationEnum = SceneEvaluationEnum.matchLevelEnumByLevelValue(po.getComplexityLevel());
+            po.setComplexityLevel(sceneEvaluationEnum.getLevel());
+        });
         List<SceneComplexityVO> list1 = new ArrayList<>();
         // po 转 vo
         for (SceneComplexityPO po : list) {

+ 9 - 0
simulation-resource-server/src/main/java/com/css/simulation/resource/server/app/impl/SimulationProjectServiceImpl.java

@@ -5,6 +5,7 @@ import api.common.pojo.common.ResponseBodyVO;
 import api.common.pojo.constants.DictConstants;
 import api.common.pojo.constants.ProjectConstants;
 import api.common.pojo.constants.StateConstant;
+import api.common.pojo.enums.SceneEvaluationEnum;
 import api.common.pojo.param.KafkaParameter;
 import api.common.pojo.param.MinioParameter;
 import api.common.pojo.param.algorithm.AlgorithmParameter;
@@ -3171,7 +3172,15 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
                 List<String> sceneIds = sceneScoreLi.stream().map(SceneScListVo::getSceneId).collect(Collectors.toList());
                 // 查询复杂度和危险度
                 List<SceneComplexityPO> sceneComplexityPOS = sceneComplexityMapper.selectSceneComplexityEvaluationForExport(param.getProjectId(), sceneIds);
+                sceneComplexityPOS.forEach(sceneComplexityPO -> {
+                    SceneEvaluationEnum sceneEvaluationEnum = SceneEvaluationEnum.matchLevelEnumByLevelValue(sceneComplexityPO.getComplexityLevel());
+                    sceneComplexityPO.setComplexityLevel(sceneEvaluationEnum.getLevel());
+                });
                 List<SceneRiskPO> sceneRiskPOS = sceneRiskMapper.selectSceneRiskEvaluationForExport(param.getProjectId(), sceneIds);
+                sceneRiskPOS.forEach(sceneRiskPO -> {
+                    SceneEvaluationEnum sceneEvaluationEnum = SceneEvaluationEnum.matchLevelEnumByLevelValue(sceneRiskPO.getRiskLevel());
+                    sceneRiskPO.setRiskLevel(sceneEvaluationEnum.getLevel());
+                });
                 if (CollectionUtil.isNotEmpty(sceneComplexityPOS) || CollectionUtil.isNotEmpty(sceneRiskPOS)) {
                     addElement(document, "场景评价", null, bf3, 15, false, 30, true);
                     addElement(document, "       场景测试包共包含" + totalSceneNum + "个场景.", null, bf3, 15, false, 30, false);

+ 20 - 4
simulation-resource-server/src/main/java/com/css/simulation/resource/server/app/service/SceneEvaluationRuleService.java

@@ -2,6 +2,7 @@ package com.css.simulation.resource.server.app.service;
 
 import api.common.pojo.common.ResponseBodyVO;
 import api.common.pojo.constants.DictConstants;
+import api.common.pojo.enums.SceneEvaluationEnum;
 import api.common.pojo.param.MinioParameter;
 import api.common.pojo.param.scene.*;
 import api.common.pojo.po.scene.SceneComplexityPO;
@@ -37,6 +38,8 @@ import java.util.Map;
 import java.util.function.Function;
 import java.util.stream.Collectors;
 
+import static api.common.pojo.enums.SceneEvaluationEnum.matchLevelEnumByLevel;
+
 @Slf4j
 @Service
 public class SceneEvaluationRuleService {
@@ -197,18 +200,29 @@ public class SceneEvaluationRuleService {
         SceneComplexityPO sceneComplexityPO = new SceneComplexityPO();
         sceneComplexityPO.setMinComplexity(param.getMinComplexity());
         sceneComplexityPO.setMaxComplexity(param.getMaxComplexity());
-        sceneComplexityPO.setComplexityLevel(param.getComplexityLevel());
+        SceneEvaluationEnum comEnums = SceneEvaluationEnum.matchLevelEnumByLevel(param.getComplexityLevel());
+        sceneComplexityPO.setComplexityLevel(comEnums.getLevelValue());
         sceneComplexityPO.setSceneIdList(param.getSceneIdList());
         // 查询复杂度的符合条件的第一条数据
         List<SceneComplexityPO> sceneReferenceLibCSPOS = sceneComplexityMapper.selectSceneIdsByEvaluation(sceneComplexityPO);
+        sceneReferenceLibCSPOS.forEach(po -> {
+            SceneEvaluationEnum sceneEvaluationEnum = SceneEvaluationEnum.matchLevelEnumByLevelValue(po.getComplexityLevel());
+            po.setComplexityLevel(sceneEvaluationEnum.getLevel());
+        });
+
         Map<String, SceneComplexityPO> complexityPOMap = sceneReferenceLibCSPOS.stream().collect(Collectors.toMap(SceneComplexityPO::getSceneId, Function.identity()));
         SceneRiskPO sceneRiskPO = new SceneRiskPO();
         sceneRiskPO.setMaxRisk(param.getMaxRisk());
         sceneRiskPO.setMinRisk(param.getMinRisk());
-        sceneRiskPO.setRiskLevel(param.getRiskLevel());
+        SceneEvaluationEnum riskEnums = SceneEvaluationEnum.matchLevelEnumByLevel(param.getRiskLevel());
+        sceneRiskPO.setRiskLevel(riskEnums.getLevelValue());
         sceneRiskPO.setSceneIdList(param.getSceneIdList());
         // 查询复杂度的符合条件的第一条数据
         List<SceneRiskPO> sceneReferenceLibCRPOS = sceneRiskMapper.selectSceneIdsByEvaluation(sceneRiskPO);
+        sceneReferenceLibCRPOS.forEach(po -> {
+            SceneEvaluationEnum sceneEvaluationEnum = SceneEvaluationEnum.matchLevelEnumByLevelValue(po.getRiskLevel());
+            po.setRiskLevel(sceneEvaluationEnum.getLevel());
+        });
         Map<String, SceneRiskPO> riskPOMap = sceneReferenceLibCRPOS.stream().collect(Collectors.toMap(SceneRiskPO::getSceneId, Function.identity()));
         return SceneEvaluationOperatePO.builder().sceneComplexityPOMap(complexityPOMap).sceneRiskPOMap(riskPOMap).build();
     }
@@ -331,6 +345,7 @@ public class SceneEvaluationRuleService {
         if (StringUtils.equals(sceneEvaluationComputeParam.getComputeType(), DictConstants.COMPLEXITY)) {
             String complexity = rootNode.path("复杂度").asText();
             String complexityLevel = rootNode.path("复杂度等级").asText();
+            SceneEvaluationEnum sceneEvaluationEnum = matchLevelEnumByLevel(complexityLevel);
             SceneComplexityPO sceneComplexityPO = new SceneComplexityPO();
             sceneComplexityPO.setSceneId(sceneEvaluationComputeParam.getSceneId());
             sceneComplexityPO.setComplexityId(StringUtil.getRandomUUID());
@@ -338,7 +353,7 @@ public class SceneEvaluationRuleService {
             sceneComplexityPO.setRuleId(ruleId);
             sceneComplexityPO.setTaskId(sceneEvaluationComputeParam.getTaskId());
             sceneComplexityPO.setComplexity(complexity);
-            sceneComplexityPO.setComplexityLevel(complexityLevel);
+            sceneComplexityPO.setComplexityLevel(sceneEvaluationEnum.getLevelValue());
             sceneComplexityPO.setIsDeleted(DictConstants.IS_NOT_DELETED);
             sceneComplexityPO.setCreateUserId(AuthUtil.getCurrentUserId());
             sceneComplexityPO.setCreateTime(TimeUtil.getNowForMysql());
@@ -346,6 +361,7 @@ public class SceneEvaluationRuleService {
         } else {
             String risk = rootNode.path("危险度").asText();
             String riskLevel = rootNode.path("危险度等级").asText();
+            SceneEvaluationEnum sceneEvaluationEnum = matchLevelEnumByLevel(riskLevel);
             SceneRiskPO sceneRiskPO = new SceneRiskPO();
             sceneRiskPO.setSceneId(sceneEvaluationComputeParam.getSceneId());
             sceneRiskPO.setRuleId(StringUtil.getRandomUUID());
@@ -353,7 +369,7 @@ public class SceneEvaluationRuleService {
             sceneRiskPO.setRuleId(ruleId);
             sceneRiskPO.setTaskId(sceneEvaluationComputeParam.getTaskId());
             sceneRiskPO.setRisk(risk);
-            sceneRiskPO.setRiskLevel(riskLevel);
+            sceneRiskPO.setRiskLevel(sceneEvaluationEnum.getLevelValue());
             sceneRiskPO.setIsDeleted(DictConstants.IS_NOT_DELETED);
             sceneRiskPO.setCreateUserId(AuthUtil.getCurrentUserId());
             sceneRiskPO.setCreateTime(TimeUtil.getNowForMysql());