|
@@ -4,10 +4,7 @@ import api.common.pojo.constants.DictConstants;
|
|
import api.common.pojo.dto.ProjectMessageDTO;
|
|
import api.common.pojo.dto.ProjectMessageDTO;
|
|
import api.common.util.*;
|
|
import api.common.util.*;
|
|
import com.css.simulation.resource.scheduler.feign.VideoService;
|
|
import com.css.simulation.resource.scheduler.feign.VideoService;
|
|
-import com.css.simulation.resource.scheduler.mapper.AutoSubProjectMapper;
|
|
|
|
-import com.css.simulation.resource.scheduler.mapper.IndexMapper;
|
|
|
|
-import com.css.simulation.resource.scheduler.mapper.ManualProjectMapper;
|
|
|
|
-import com.css.simulation.resource.scheduler.mapper.TaskMapper;
|
|
|
|
|
|
+import com.css.simulation.resource.scheduler.mapper.*;
|
|
import com.css.simulation.resource.scheduler.pojo.po.IndexTemplatePO;
|
|
import com.css.simulation.resource.scheduler.pojo.po.IndexTemplatePO;
|
|
import com.css.simulation.resource.scheduler.pojo.po.LeafIndexPO;
|
|
import com.css.simulation.resource.scheduler.pojo.po.LeafIndexPO;
|
|
import com.css.simulation.resource.scheduler.pojo.po.ProjectPO;
|
|
import com.css.simulation.resource.scheduler.pojo.po.ProjectPO;
|
|
@@ -83,6 +80,8 @@ public class TaskManager {
|
|
@Resource
|
|
@Resource
|
|
IndexMapper indexMapper;
|
|
IndexMapper indexMapper;
|
|
@Resource
|
|
@Resource
|
|
|
|
+ ScoringRulesMapper scoringRulesMapper;
|
|
|
|
+ @Resource
|
|
CloseableHttpClient closeableHttpClient;
|
|
CloseableHttpClient closeableHttpClient;
|
|
@Resource
|
|
@Resource
|
|
RequestConfig requestConfig;
|
|
RequestConfig requestConfig;
|
|
@@ -172,6 +171,13 @@ public class TaskManager {
|
|
stringRedisTemplate.delete(projectRunningKey);
|
|
stringRedisTemplate.delete(projectRunningKey);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
+ * @param redisPrefix
|
|
|
|
+ * @param userId 项目创建用户的 id
|
|
|
|
+ * @param projectId
|
|
|
|
+ * @param projectType
|
|
|
|
+ * @param session
|
|
|
|
+ */
|
|
@SneakyThrows
|
|
@SneakyThrows
|
|
public void score(PrefixTO redisPrefix, String userId, String projectId, String projectType, ClientSession session) {
|
|
public void score(PrefixTO redisPrefix, String userId, String projectId, String projectType, ClientSession session) {
|
|
// -------------------------------- 打分 --------------------------------
|
|
// -------------------------------- 打分 --------------------------------
|
|
@@ -201,7 +207,7 @@ public class TaskManager {
|
|
for (int i = 0; i < leafIndexTemplateList.size(); i++) {
|
|
for (int i = 0; i < leafIndexTemplateList.size(); i++) {
|
|
AtomicReference<String> scoreExplain = new AtomicReference<>(); // 每个叶子指标下的任务的得分说明一样和叶子指标一致
|
|
AtomicReference<String> scoreExplain = new AtomicReference<>(); // 每个叶子指标下的任务的得分说明一样和叶子指标一致
|
|
IndexTemplatePO leafIndexTemplate = leafIndexTemplateList.get(i);
|
|
IndexTemplatePO leafIndexTemplate = leafIndexTemplateList.get(i);
|
|
- String indexId = leafIndexTemplate.getIndexId();
|
|
|
|
|
|
+ String indexId = leafIndexTemplate.getIndexId(); // 叶子指标id
|
|
String parentId = leafIndexTemplate.getParentId(); // 父 id
|
|
String parentId = leafIndexTemplate.getParentId(); // 父 id
|
|
String rootId = leafIndexTemplate.getRootId(); // 包 id
|
|
String rootId = leafIndexTemplate.getRootId(); // 包 id
|
|
String weight = leafIndexTemplate.getWeight(); // 权重
|
|
String weight = leafIndexTemplate.getWeight(); // 权重
|
|
@@ -212,12 +218,15 @@ public class TaskManager {
|
|
maxLevel = packageLevel;
|
|
maxLevel = packageLevel;
|
|
}
|
|
}
|
|
log.info("TaskService--state 开始执行对第 " + (i + 1) + " 个叶子节点 " + indexId + " 进行打分!");
|
|
log.info("TaskService--state 开始执行对第 " + (i + 1) + " 个叶子节点 " + indexId + " 进行打分!");
|
|
|
|
+ // 根据叶子指标id查询评分规则创建用户id
|
|
|
|
+ String createUserIdOfRule = scoringRulesMapper.selectCreateUserIdByIndexId(indexId);
|
|
//1 判断有没有用户目录,没有则复制
|
|
//1 判断有没有用户目录,没有则复制
|
|
- String scoreDirectoryOfUser = linuxTempPath + "score/" + userId + "/";
|
|
|
|
|
|
+ String scoreDirectoryOfUser = linuxTempPath + "score/" + createUserIdOfRule + "/";
|
|
if (!new File(scoreDirectoryOfUser + "main.py").exists()) {
|
|
if (!new File(scoreDirectoryOfUser + "main.py").exists()) {
|
|
// 复制 main.py
|
|
// 复制 main.py
|
|
FileUtil.createDirectory(scoreDirectoryOfUser);
|
|
FileUtil.createDirectory(scoreDirectoryOfUser);
|
|
- LinuxUtil.execute("cp -r " + pyPath + "* " + scoreDirectoryOfUser);
|
|
|
|
|
|
+ FileUtil.cpR(pyPath, scoreDirectoryOfUser);
|
|
|
|
+// LinuxUtil.execute("cp -r " + pyPath + "* " + scoreDirectoryOfUser);
|
|
}
|
|
}
|
|
//2 将打分规则保存到script目录
|
|
//2 将打分规则保存到script目录
|
|
|
|
|