|
@@ -170,8 +170,8 @@ public class CrowdTaskServiceImpl implements CrowdTaskService {
|
|
|
List<CrowdTaskVO> taskVOS;
|
|
|
taskVOS = crowdTaskVOS.stream().filter(crowdTaskVO -> crowdTaskVO.getStatus() != CrowdTestTaskStatus.HAS_TIME_OUT)
|
|
|
.filter(crowdTaskVO -> !crowdTaskVO.getDistributionType().equals(DistributeType.DIRECT.getId()))
|
|
|
- .sorted(Comparator.comparing(CrowdTaskVO::getAcceptedCount)
|
|
|
- .thenComparing(CrowdTaskVO::getStatus).thenComparing(CrowdTaskVO::getCreateTime).reversed()).collect(Collectors.toList());
|
|
|
+ .sorted(Comparator.comparing(CrowdTaskVO::getCreateTime)
|
|
|
+ .thenComparing(CrowdTaskVO::getAcceptedCount).thenComparing(CrowdTaskVO::getStatus).reversed()).collect(Collectors.toList());
|
|
|
|
|
|
if(taskCount != 0){
|
|
|
taskVOS = taskVOS.stream().limit(taskCount).collect(Collectors.toList());
|
|
@@ -245,6 +245,14 @@ public class CrowdTaskServiceImpl implements CrowdTaskService {
|
|
|
|
|
|
// 配置endpoint
|
|
|
EndPoint endPoint = task.getEndPoint();
|
|
|
+ this.createTaskToCrowdService(command, userId, task, endPoint);
|
|
|
+ task.setEndPoint(endPoint);
|
|
|
+ project.addTask(task);
|
|
|
+ projectRepo.saveCrowdTestProject(project);
|
|
|
+ return getTaskDetails(projectCode, taskCode, userId);
|
|
|
+ }
|
|
|
+
|
|
|
+ private void createTaskToCrowdService(CrowdTestTaskCommand command, Long userId, CrowdTestTask task, EndPoint endPoint) {
|
|
|
// 众测服务同步新建任务
|
|
|
if(command.getEndPoint().getThreePageUrl() != null && !command.getEndPoint().getThreePageUrl().equals("")){
|
|
|
String endPointData = this.createTaskToCrowdService(command.getName(), command.getDesc(), command.getEndPoint().getCollaborativeType(), command.getEndPoint().getThreePageUrl());
|
|
@@ -259,10 +267,6 @@ public class CrowdTaskServiceImpl implements CrowdTaskService {
|
|
|
String reportUrl = this.getForEntityReportUrl(userId, task, endPoint);
|
|
|
endPoint.setUrl(reportUrl);
|
|
|
}
|
|
|
- task.setEndPoint(endPoint);
|
|
|
- project.addTask(task);
|
|
|
- projectRepo.saveCrowdTestProject(project);
|
|
|
- return getTaskDetails(projectCode, taskCode, userId);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -287,7 +291,8 @@ public class CrowdTaskServiceImpl implements CrowdTaskService {
|
|
|
// 判断endpoint是否有修改
|
|
|
EndPoint endPoint = task.getEndPoint();
|
|
|
EndPoint commandEndPoint = command.getEndPoint();
|
|
|
- if(endPoint != null){
|
|
|
+ if(endPoint != null && commandEndPoint != null){
|
|
|
+ // 修改前后都是 众测测试类型任务
|
|
|
if(!task.getName().equals(command.getName()) || endPoint.getCollaborativeType() != commandEndPoint.getCollaborativeType()
|
|
|
|| !endPoint.getThreePageUrl().equals(commandEndPoint.getThreePageUrl())){
|
|
|
// 更新不一样的值
|
|
@@ -307,9 +312,16 @@ public class CrowdTaskServiceImpl implements CrowdTaskService {
|
|
|
String reportUrl = this.getForEntityReportUrl(userId, task, endPoint);
|
|
|
endPoint.setUrl(reportUrl);
|
|
|
}
|
|
|
+ updateTask.setEndPoint(endPoint);
|
|
|
+ }else if(endPoint == null && commandEndPoint != null){
|
|
|
+ // 修改前是基本测试类型,修改成众测测试类型,需要调用众测新建测试任务
|
|
|
+ this.createTaskToCrowdService(command, userId, updateTask, commandEndPoint);
|
|
|
+ updateTask.setEndPoint(commandEndPoint);
|
|
|
}
|
|
|
- updateTask.setEndPoint(endPoint);
|
|
|
+
|
|
|
project.removeTask(task);
|
|
|
+ // 判断是否存在endPoint,
|
|
|
+
|
|
|
project.getCrowdTestTaskList().add(updateTask);
|
|
|
projectRepo.saveCrowdTestProject(project);
|
|
|
return getTaskDetails(projectCode, taskCode, userId);
|