|
@@ -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());
|