|
@@ -50,6 +50,12 @@ public class CrowdTestProjectRepo implements ICrowdTestProjectRepo {
|
|
|
@Autowired
|
|
|
private ApplicationTypeDao applicationTypeDao;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private EndPointDao endPointDao;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private CommonRepo commonRepo;
|
|
|
+
|
|
|
@Override
|
|
|
public Page<CrowdTestProjectPO> findAll(Specification specification, Pageable pageable) {
|
|
|
return crowdTestProjectDao.findAll(specification, pageable);
|
|
@@ -134,7 +140,6 @@ public class CrowdTestProjectRepo implements ICrowdTestProjectRepo {
|
|
|
public void saveCrowdTestProject(CrowdTestProject crowdTestProject) {
|
|
|
CrowdTestProjectPO crowdTestProjectPO = Converter.convert(CrowdTestProjectPO.class, crowdTestProject);
|
|
|
crowdTestProjectDao.save(crowdTestProjectPO);
|
|
|
-
|
|
|
List<CrowdTestTask> crowdTestTaskList = crowdTestProject.getCrowdTestTaskList();
|
|
|
if (crowdTestTaskList != null) {
|
|
|
for (CrowdTestTask crowdTestTask : crowdTestTaskList) {
|
|
@@ -153,6 +158,35 @@ public class CrowdTestProjectRepo implements ICrowdTestProjectRepo {
|
|
|
// Set<Long> collect = taskToUserPOS.stream().map(TaskToUserPO::getUserId).collect(Collectors.toSet());
|
|
|
// crowdTestTaskPO.setParticipantHasReportCount(collect.size());
|
|
|
crowdTestTaskDao.save(crowdTestTaskPO);
|
|
|
+
|
|
|
+ // 判断是否存在配置项
|
|
|
+ if(commonRepo.getTestTypeByAppCode(crowdTestTask.getType()).getType() == 1){
|
|
|
+ // 保存配置项信息
|
|
|
+ if(crowdTestTask.getEndPoint() != null){
|
|
|
+ Optional<EndPointPO> endPointPO = endPointDao.findByTaskCode(crowdTestTask.getCode());
|
|
|
+ EndPoint endPoint = crowdTestTask.getEndPoint();
|
|
|
+ if(endPointPO.isPresent()){
|
|
|
+ EndPointPO addEndPointPO = Converter.convert(EndPointPO.class, endPoint);
|
|
|
+ addEndPointPO.setId(endPointPO.get().getId());
|
|
|
+ addEndPointPO.setProjectCode(crowdTestProject.getCode());
|
|
|
+ addEndPointPO.setTaskCode(crowdTestTask.getCode());
|
|
|
+ endPointDao.save(addEndPointPO);
|
|
|
+ }else{
|
|
|
+ EndPointPO addEndPointPO = new EndPointPO();
|
|
|
+ addEndPointPO.setCaseId(endPoint.getCaseId());
|
|
|
+ addEndPointPO.setExamId(endPoint.getExamId());
|
|
|
+ addEndPointPO.setProjectCode(crowdTestProject.getCode());
|
|
|
+ addEndPointPO.setTaskCode(crowdTestTask.getCode());
|
|
|
+ endPointDao.save(addEndPointPO);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ Optional<EndPointPO> endPointPO = endPointDao.findByTaskCode(crowdTestTask.getCode());
|
|
|
+ if(endPointPO.isPresent()){
|
|
|
+ endPointDao.deleteEndPoint(crowdTestTask.getCode());
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
}
|
|
|
// 保存项目报告
|
|
@@ -178,6 +212,54 @@ public class CrowdTestProjectRepo implements ICrowdTestProjectRepo {
|
|
|
return crowdTestProjectList;
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public EndPoint getEndPoint(String taskCode) {
|
|
|
+ Optional<EndPointPO> endPointPO=endPointDao.findByTaskCode(taskCode);
|
|
|
+ if(endPointPO.isPresent()){
|
|
|
+ EndPoint endPoint = Converter.convert(EndPoint.class, endPointPO.get());
|
|
|
+ return endPoint;
|
|
|
+ }
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public EndPoint addEndPoint(String taskCode, EndPoint endPoint) {
|
|
|
+ Optional<EndPointPO> endPointPO=endPointDao.findByTaskCode(taskCode);
|
|
|
+ if(!endPointPO.isPresent()){
|
|
|
+ EndPointPO addEndPointPO = Converter.convert(EndPointPO.class, endPoint);
|
|
|
+ endPointDao.save(addEndPointPO);
|
|
|
+ }else {
|
|
|
+ throw new HttpBadRequestException("任务已存在");
|
|
|
+ }
|
|
|
+ return this.getEndPoint(taskCode);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void deleteEndPoint(String taskCode) {
|
|
|
+ Optional<EndPointPO> endPointPO=endPointDao.findByTaskCode(taskCode);
|
|
|
+ if(endPointPO.isPresent()){
|
|
|
+ endPointDao.deleteEndPoint(taskCode);
|
|
|
+ throw new HttpBadRequestException("任务已删除");
|
|
|
+ }else{
|
|
|
+ throw new HttpBadRequestException("任务不存在");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public EndPoint updateEndPoint(String taskCode, EndPoint endPoint) {
|
|
|
+ Optional<EndPointPO> endPointPO=endPointDao.findByTaskCode(taskCode);
|
|
|
+ if(endPointPO.isPresent()){
|
|
|
+ endPointPO.get().setProjectCode(endPoint.getProjectCode());
|
|
|
+ endPointPO.get().setTaskCode(endPoint.getTaskCode());
|
|
|
+ endPointPO.get().setCaseId(endPoint.getCaseId());
|
|
|
+ endPointPO.get().setExamId(endPoint.getExamId());
|
|
|
+ endPointDao.save(endPointPO.get());
|
|
|
+ return this.getEndPoint(endPoint.getTaskCode());
|
|
|
+ }else {
|
|
|
+ throw new HttpBadRequestException("任务不存在");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
// @Override
|
|
|
// public void removeCrowdTestProject(String crowdTestProjectCode){
|
|
|
// CrowdTestProject crowdTestProject = getByProjectCode(crowdTestProjectCode);
|
|
@@ -261,6 +343,12 @@ public class CrowdTestProjectRepo implements ICrowdTestProjectRepo {
|
|
|
List<CrowdTestTask> crowdTestTaskListResult = new ArrayList<>();
|
|
|
for (CrowdTestTaskPO crowdTestTaskPO : crowdTestTaskPOList) {
|
|
|
CrowdTestTask crowdTestTaskResult = Converter.convert(CrowdTestTask.class, crowdTestTaskPO);
|
|
|
+ // 判断否存在配置项
|
|
|
+ Optional<EndPointPO> endPointPO = endPointDao.findByTaskCode(crowdTestTaskResult.getCode());
|
|
|
+ if(endPointPO.isPresent()){
|
|
|
+ crowdTestTaskResult.setEndPoint(Converter.convert(EndPoint.class, endPointPO.get()));
|
|
|
+ }
|
|
|
+
|
|
|
// 检索任务中的所有已接收任务的人员信息
|
|
|
List<TaskToUserPO> taskToUserPOList = taskToUserDao.findByTaskCode(crowdTestTaskResult.getCode());
|
|
|
List<TaskToUser> taskToUserList = taskToUserPOList.stream().map(taskToUserPO -> {
|