|
@@ -3,6 +3,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;
|
|
|
import api.common.pojo.po.scene.SceneEvaluationOperatePO;
|
|
@@ -21,6 +22,7 @@ import com.css.simulation.resource.server.infra.db.mysql.mapper.SceneRiskMapper;
|
|
|
import com.css.simulation.resource.server.infra.feign.service.FileDownService;
|
|
|
import com.css.simulation.resource.server.infra.feign.service.SceneService;
|
|
|
import com.css.simulation.resource.server.infra.feign.service.SchedulerService;
|
|
|
+import com.css.simulation.resource.server.infra.oauth.AuthorizationHolder;
|
|
|
import com.css.simulation.resource.server.infra.util.AuthUtil;
|
|
|
import lombok.SneakyThrows;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
@@ -28,14 +30,14 @@ import org.springframework.stereotype.Service;
|
|
|
import org.springframework.web.multipart.MultipartFile;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
+import javax.servlet.http.HttpServletRequest;
|
|
|
import java.util.Date;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
import java.util.function.Function;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
-import static api.common.pojo.constants.DictConstants.SCENE_IMPORT_STATUS_1;
|
|
|
-import static api.common.pojo.constants.DictConstants.SCENE_IMPORT_STATUS_2;
|
|
|
+import static api.common.pojo.constants.DictConstants.*;
|
|
|
|
|
|
@Slf4j
|
|
|
@Service
|
|
@@ -122,7 +124,7 @@ public class SceneEvaluationRuleService {
|
|
|
|
|
|
|
|
|
@SneakyThrows
|
|
|
- public ResponseBodyVO<String> uploadPyScriptAndSaveRuleByPath(SceneEvaluationRulePO sceneEvaluationRulePO) {
|
|
|
+ public ResponseBodyVO<String> uploadPyScriptAndSaveRuleByPath(SceneEvaluationRulePO sceneEvaluationRulePO, HttpServletRequest request) {
|
|
|
if (ObjectUtil.isNull(sceneEvaluationRulePO)) {
|
|
|
return new ResponseBodyVO<>(false, 500, "参数错误!", null);
|
|
|
}
|
|
@@ -144,7 +146,7 @@ public class SceneEvaluationRuleService {
|
|
|
if (!DictConstants.ROLE_CODE_ADMIN.equals(roleCode) && !DictConstants.ROLE_CODE_SYSADMIN.equals(roleCode)) {
|
|
|
return new ResponseBodyVO<>(ResponseBodyVO.Response.CLIENT_FAILURE, "非管理员禁止上传文件");
|
|
|
}
|
|
|
- sceneEvaluationRulePO.setStatus(SCENE_IMPORT_STATUS_1);
|
|
|
+ sceneEvaluationRulePO.setStatus(SCENE_IMPORT_STATUS_0);
|
|
|
// 判断 ruleId 是否为空
|
|
|
if (StringUtil.isEmpty(sceneEvaluationRulePO.getRuleId())) {
|
|
|
// 创建
|
|
@@ -157,6 +159,8 @@ public class SceneEvaluationRuleService {
|
|
|
SceneEvaluationRuleScriptPO sceneEvaluationRuleScriptPO = new SceneEvaluationRuleScriptPO();
|
|
|
sceneEvaluationRuleScriptPO.setRuleId(sceneEvaluationRulePO.getRuleId());
|
|
|
sceneEvaluationRuleScriptPO.setLocalPath(sceneEvaluationRulePO.getLocalPath());
|
|
|
+ String authorization = request.getHeader("Authorization");
|
|
|
+ AuthorizationHolder.setAuthorization(authorization);
|
|
|
sceneService.startImportEvaluationScript(sceneEvaluationRuleScriptPO);
|
|
|
return new ResponseBodyVO<>(ResponseBodyVO.Response.SUCCESS);
|
|
|
}
|
|
@@ -167,11 +171,21 @@ public class SceneEvaluationRuleService {
|
|
|
|
|
|
@SneakyThrows
|
|
|
public void deleteSceneEvaluationRule(SceneEvaluationRulePO params) {
|
|
|
- // todo 如果是复杂度脚本需要校验是否有自然/交通等模板有引用
|
|
|
+ // 先查
|
|
|
+ SceneEvaluationRulePO oldSceneEvaluationRule = sceneEvaluationRuleMapper.querySceneEvaluationPyById(params.getRuleId());
|
|
|
+ String scriptPath = null;
|
|
|
+ if (oldSceneEvaluationRule != null) {
|
|
|
+ scriptPath = oldSceneEvaluationRule.getScriptPath();
|
|
|
+ }
|
|
|
params.setIsDeleted("1");
|
|
|
params.setModifyTime(TimeUtil.getNowForMysql());
|
|
|
params.setModifyUserId(AuthUtil.getCurrentUserId());
|
|
|
sceneEvaluationRuleMapper.updateSceneEvaluationRule(params);
|
|
|
+ if (StringUtil.isNotEmpty(scriptPath)) {
|
|
|
+ MinioParameter minioParameter = new MinioParameter();
|
|
|
+ minioParameter.setObjectName(scriptPath);
|
|
|
+ fileDownService.remove(minioParameter);
|
|
|
+ }
|
|
|
// 同步把使用该评分规则的测试包设为禁用
|
|
|
scenePackageMapper.updateIsUnavailableBySceneEvaluationRuleId(params);
|
|
|
LogUtil.delete();
|