|
@@ -1,6 +1,7 @@
|
|
|
package cn.iselab.mooctest.site.web.logic.impl;
|
|
package cn.iselab.mooctest.site.web.logic.impl;
|
|
|
|
|
|
|
|
import cn.iselab.mooctest.site.common.acyncTask.MutationCallBack;
|
|
import cn.iselab.mooctest.site.common.acyncTask.MutationCallBack;
|
|
|
|
|
+import cn.iselab.mooctest.site.common.constant.MutationResultType;
|
|
|
import cn.iselab.mooctest.site.common.enums.AsyncJobTool;
|
|
import cn.iselab.mooctest.site.common.enums.AsyncJobTool;
|
|
|
import cn.iselab.mooctest.site.data.AsyncJobStatus;
|
|
import cn.iselab.mooctest.site.data.AsyncJobStatus;
|
|
|
import cn.iselab.mooctest.site.data.UserDTOForMT;
|
|
import cn.iselab.mooctest.site.data.UserDTOForMT;
|
|
@@ -13,6 +14,7 @@ import cn.iselab.mooctest.site.web.data.forMongo.AsyncTaskDTO;
|
|
|
import cn.iselab.mooctest.site.web.exception.HttpBadRequestException;
|
|
import cn.iselab.mooctest.site.web.exception.HttpBadRequestException;
|
|
|
import cn.iselab.mooctest.site.web.logic.BaseLogic;
|
|
import cn.iselab.mooctest.site.web.logic.BaseLogic;
|
|
|
import cn.iselab.mooctest.site.web.logic.MutationProgressLogic;
|
|
import cn.iselab.mooctest.site.web.logic.MutationProgressLogic;
|
|
|
|
|
+import cn.iselab.mooctest.site.web.logic.fromDev.PluginLogic;
|
|
|
import org.apache.commons.collections.map.HashedMap;
|
|
import org.apache.commons.collections.map.HashedMap;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
@@ -27,6 +29,8 @@ import java.util.stream.Collectors;
|
|
|
@Service
|
|
@Service
|
|
|
public class MutationProgressLogicImpl extends BaseLogic implements MutationProgressLogic {
|
|
public class MutationProgressLogicImpl extends BaseLogic implements MutationProgressLogic {
|
|
|
|
|
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
@Autowired
|
|
@Autowired
|
|
|
WeightService weightService;
|
|
WeightService weightService;
|
|
|
|
|
|
|
@@ -42,6 +46,12 @@ public class MutationProgressLogicImpl extends BaseLogic implements MutationProg
|
|
|
@Autowired
|
|
@Autowired
|
|
|
UserService userService;
|
|
UserService userService;
|
|
|
|
|
|
|
|
|
|
+ @Autowired
|
|
|
|
|
+ PluginLogic pluginLogic;
|
|
|
|
|
+
|
|
|
|
|
+ @Autowired
|
|
|
|
|
+ CaseService caseService;
|
|
|
|
|
+
|
|
|
@Override
|
|
@Override
|
|
|
public MutationProgressVO getMutationProgress(Long examId, Long caseId) {
|
|
public MutationProgressVO getMutationProgress(Long examId, Long caseId) {
|
|
|
AsyncTaskDTO asyncTaskDTO = asyncTaskService.getAsyncTask(AsyncJobTool.MUTATION, examId, caseId);
|
|
AsyncTaskDTO asyncTaskDTO = asyncTaskService.getAsyncTask(AsyncJobTool.MUTATION, examId, caseId);
|
|
@@ -114,8 +124,9 @@ public class MutationProgressLogicImpl extends BaseLogic implements MutationProg
|
|
|
List<AssignedTask> assignedTasks = assignedTaskService.getSubmittedRecordsByExamId(examId);
|
|
List<AssignedTask> assignedTasks = assignedTaskService.getSubmittedRecordsByExamId(examId);
|
|
|
params = assignedTasks.stream().map(assignedTask -> {
|
|
params = assignedTasks.stream().map(assignedTask -> {
|
|
|
Map<String, String> param = new HashedMap();
|
|
Map<String, String> param = new HashedMap();
|
|
|
- param.put("downloadURL", "");
|
|
|
|
|
- param.put("extraArgs", "20");
|
|
|
|
|
|
|
+ String downloadUrl = pluginLogic.getAnalysisSignature(examId,caseId,caseService.getCaseById(caseId).getName());
|
|
|
|
|
+ param.put("downloadURL", downloadUrl);
|
|
|
|
|
+ param.put("extraArgs", generateNodeExtraArgs(downloadUrl));
|
|
|
return param;
|
|
return param;
|
|
|
}).collect(Collectors.toList());
|
|
}).collect(Collectors.toList());
|
|
|
contexts = assignedTasks.stream().map(assignedTask -> {
|
|
contexts = assignedTasks.stream().map(assignedTask -> {
|
|
@@ -123,9 +134,20 @@ public class MutationProgressLogicImpl extends BaseLogic implements MutationProg
|
|
|
param.put("examId", examId.toString());
|
|
param.put("examId", examId.toString());
|
|
|
param.put("caseId", caseId.toString());
|
|
param.put("caseId", caseId.toString());
|
|
|
param.put("userId", assignedTask.getParticipantId().toString());
|
|
param.put("userId", assignedTask.getParticipantId().toString());
|
|
|
|
|
+ param.put("type", MutationResultType.MUTAION_NODE);
|
|
|
return param;
|
|
return param;
|
|
|
}).collect(Collectors.toList());
|
|
}).collect(Collectors.toList());
|
|
|
|
|
|
|
|
return asyncScheduleService.start(AsyncJobTool.MUTATION, params,contexts,MutationCallBack.class);
|
|
return asyncScheduleService.start(AsyncJobTool.MUTATION, params,contexts,MutationCallBack.class);
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ private String generateNodeExtraArgs(String downloadUrl){
|
|
|
|
|
+ String zipName = downloadUrl.split("/")[downloadUrl.split("/").length - 1];
|
|
|
|
|
+ return "-F "+ zipName + " -T "+MutationResultType.MUTAION_NODE;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ private String generateMutationExtraArgs(String downloadUrl){
|
|
|
|
|
+ String zipName = downloadUrl.split("/")[downloadUrl.split("/").length - 1];
|
|
|
|
|
+ return "-F "+ zipName + " -T "+MutationResultType.MUTAION_RESULT;
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|