|
@@ -91,6 +91,9 @@ public class CrowdTaskServiceImpl implements CrowdTaskService {
|
|
@Autowired
|
|
@Autowired
|
|
private UploadService uploadService;
|
|
private UploadService uploadService;
|
|
|
|
|
|
|
|
+ @Autowired
|
|
|
|
+ private RestTemplate restTemplate;
|
|
|
|
+
|
|
@Value("${file.save.path}")
|
|
@Value("${file.save.path}")
|
|
private String fileSaveRootPath;
|
|
private String fileSaveRootPath;
|
|
|
|
|
|
@@ -109,6 +112,12 @@ public class CrowdTaskServiceImpl implements CrowdTaskService {
|
|
@Value("${baseUrl.service.review}")
|
|
@Value("${baseUrl.service.review}")
|
|
private String reviewServiceBaseUrl;
|
|
private String reviewServiceBaseUrl;
|
|
|
|
|
|
|
|
+ @Value("${baseUrl.service.crowd}")
|
|
|
|
+ private String crowdServiceBaseUrl;
|
|
|
|
+
|
|
|
|
+ @Value("${baseUrl.service.crowdIndex}")
|
|
|
|
+ private String crowdServiceIndexBaseUrl;
|
|
|
|
+
|
|
@Override
|
|
@Override
|
|
public List<CrowdTaskVO> findMoreHotTasks() {
|
|
public List<CrowdTaskVO> findMoreHotTasks() {
|
|
return viewMediator.findMoreHotTasks();
|
|
return viewMediator.findMoreHotTasks();
|
|
@@ -229,6 +238,8 @@ public class CrowdTaskServiceImpl implements CrowdTaskService {
|
|
endPoint.setServerCode(dataMap.get("encodedUrl").toString());
|
|
endPoint.setServerCode(dataMap.get("encodedUrl").toString());
|
|
endPoint.setUrl(dataMap.get("writeReportUrl").toString());
|
|
endPoint.setUrl(dataMap.get("writeReportUrl").toString());
|
|
endPoint.setToken(dataMap.get("taskDaPanUrl").toString());
|
|
endPoint.setToken(dataMap.get("taskDaPanUrl").toString());
|
|
|
|
+ endPoint.setExamId(dataMap.get("taskId").toString());
|
|
|
|
+ endPoint.setCaseId(dataMap.get("caseId").toString());
|
|
}
|
|
}
|
|
task.setEndPoint(endPoint);
|
|
task.setEndPoint(endPoint);
|
|
project.addTask(task);
|
|
project.addTask(task);
|
|
@@ -261,28 +272,61 @@ public class CrowdTaskServiceImpl implements CrowdTaskService {
|
|
return "";
|
|
return "";
|
|
}
|
|
}
|
|
|
|
|
|
-
|
|
|
|
@Override
|
|
@Override
|
|
- public TaskDetailsDTO updateTask(String projectCode, String taskCode, CrowdTestTaskCommand command, Long userId) {
|
|
|
|
|
|
+ public String getWriteReportUrl(String projectCode, String taskCode, Long userId) {
|
|
CrowdTestProject project = projectRepo.getByProjectCode(projectCode);
|
|
CrowdTestProject project = projectRepo.getByProjectCode(projectCode);
|
|
|
|
+ CrowdTestTask task = getTaskByProjectAndTaskCode(project, taskCode);
|
|
|
|
+ EndPoint endPoint = task.getEndPoint();
|
|
|
|
+
|
|
|
|
+ String url = crowdServiceBaseUrl + "/Bug/api/analyze/detailToToken?examId=" + endPoint.getExamId() + "&caseId=" + endPoint.getCaseId() +
|
|
|
|
+ "&userId=" + String.valueOf(userId) + "&beginTime=" + String.valueOf(task.getCreateTime().getTime()) + "&endTime=" + String.valueOf(task.getDeadTime().getTime());
|
|
|
|
+
|
|
|
|
+ log.info("调用众测服务接口,Get请求:" + url);
|
|
|
|
+ ResponseEntity<Map> responseEntity = restTemplate.getForEntity(url, Map.class);
|
|
|
|
+
|
|
|
|
+ if (responseEntity.getStatusCode().equals(HttpStatus.OK)){
|
|
|
|
+ Map resultMap = responseEntity.getBody();
|
|
|
|
+ if(resultMap.get("result").equals("success")){
|
|
|
|
+ String token = resultMap.get("token").toString();
|
|
|
|
+ String writeReportUrl = crowdServiceIndexBaseUrl + token;
|
|
|
|
+ log.info("调用众测服务接口成功,报告填写url为:" + url);
|
|
|
|
+ return writeReportUrl;
|
|
|
|
+ }else if (resultMap.get("result").equals("fail")){
|
|
|
|
+ log.info("调用众测服务接口成功,但是接口返回fail");
|
|
|
|
+ return "";
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ log.info("调用众测服务接口失败");
|
|
|
|
+ throw new BaseException("调用众测服务接口失败");
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public CrowdTestTask getTaskByProjectAndTaskCode(CrowdTestProject project, String taskCode) {
|
|
Optional<CrowdTestTask> task = project.getCrowdTestTaskList().stream().filter(crowdTestTask -> crowdTestTask.getCode().equals(taskCode)).findFirst();
|
|
Optional<CrowdTestTask> task = project.getCrowdTestTaskList().stream().filter(crowdTestTask -> crowdTestTask.getCode().equals(taskCode)).findFirst();
|
|
- if (!task.isPresent())
|
|
|
|
|
|
+ if (!task.isPresent()) {
|
|
throw new CrowdTestTaskNotExistException();
|
|
throw new CrowdTestTaskNotExistException();
|
|
- if (task.get().getStatus() == CrowdTestTaskStatus.HAS_FINISHED)
|
|
|
|
|
|
+ }
|
|
|
|
+ return task.get();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public TaskDetailsDTO updateTask(String projectCode, String taskCode, CrowdTestTaskCommand command, Long userId) {
|
|
|
|
+ CrowdTestProject project = projectRepo.getByProjectCode(projectCode);
|
|
|
|
+ CrowdTestTask crowdTestTask = getTaskByProjectAndTaskCode(project, taskCode);
|
|
|
|
+ if (crowdTestTask.getStatus() == CrowdTestTaskStatus.HAS_FINISHED)
|
|
throw new BaseException("禁止修改已结束的任务!");
|
|
throw new BaseException("禁止修改已结束的任务!");
|
|
// command.setType(commonRepo.getTypeCodeByName(command.getType()));
|
|
// command.setType(commonRepo.getTypeCodeByName(command.getType()));
|
|
CrowdTestTask updateTask = command.toCrowdTask(projectCode);
|
|
CrowdTestTask updateTask = command.toCrowdTask(projectCode);
|
|
// 定向任务被拒绝,更新时需要删除任务中的taskToUser acceptedUserList
|
|
// 定向任务被拒绝,更新时需要删除任务中的taskToUser acceptedUserList
|
|
- if (task.get().getDistributionType().equals(DistributeType.DIRECT.getId())) {
|
|
|
|
- crowdTestTaskRepo.deleteTaskToUser(task.get().getAcceptedUserList().get(0));
|
|
|
|
|
|
+ if (crowdTestTask.getDistributionType().equals(DistributeType.DIRECT.getId())) {
|
|
|
|
+ crowdTestTaskRepo.deleteTaskToUser(crowdTestTask.getAcceptedUserList().get(0));
|
|
}
|
|
}
|
|
|
|
|
|
- updateTask.setId(task.get().getId());
|
|
|
|
|
|
+ updateTask.setId(crowdTestTask.getId());
|
|
updateTask.setCode(taskCode);
|
|
updateTask.setCode(taskCode);
|
|
- updateTask.setCreateTime(task.get().getCreateTime());
|
|
|
|
|
|
+ updateTask.setCreateTime(crowdTestTask.getCreateTime());
|
|
updateTask.setStatus(CrowdTestTaskStatus.HAS_RELEASED);
|
|
updateTask.setStatus(CrowdTestTaskStatus.HAS_RELEASED);
|
|
updateTask.update();
|
|
updateTask.update();
|
|
- project.removeTask(task.get());
|
|
|
|
|
|
+ project.removeTask(crowdTestTask);
|
|
|
|
|
|
// // 重新生成任务导出链接
|
|
// // 重新生成任务导出链接
|
|
// String exportTaskUrl = this.exportTask(projectCode, updateTask.getCode(), userId);
|
|
// String exportTaskUrl = this.exportTask(projectCode, updateTask.getCode(), userId);
|