hanyuwei %!s(int64=5) %!d(string=hai) anos
pai
achega
2a2d71a2cd

+ 7 - 2
core/src/main/java/com/mooctest/crowd/domain/domainobject/CrowdTestProject.java

@@ -54,9 +54,9 @@ public class CrowdTestProject {
     private int isDeleted;
     private int joinCount;
     private Timestamp createTime;
-
     private List<CrowdTestTask> crowdTestTaskList;
     private CrowdTestReport crowdTestReportForProject;
+    private EndPoint endPoint;
 
 //    public CrowdTestProject wrapperCrowdTestProjectPO(CrowdTestProjectPO crowdTestProjectPO){
 //        CrowdTestProject crowdTestProject = Converter.convert(CrowdTestProject.class, crowdTestProjectPO);
@@ -262,9 +262,14 @@ public class CrowdTestProject {
         }
         this.setRestPrice(this.getRestPrice() - task.getQuotedPrice());
         this.getCrowdTestTaskList().add(task);
+        if(task.getCaseId()!=null&&task.getCaseId().length()>0&&task.getExamId()!=null&task.getExamId().length()>0){
+            this.getEndPoint().setProjectCode(task.getCrowdTestProjectCode());
+            this.getEndPoint().setTaskCode(task.getCode());
+            this.getEndPoint().setCaseId(task.getCaseId());
+            this.getEndPoint().setExamId(task.getExamId());
+        }
     }
 
-
     public void removeTask(CrowdTestTask task) {
         this.setRestPrice(this.getRestPrice() + task.getQuotedPrice());
         this.getCrowdTestTaskList().remove(task);

+ 3 - 0
core/src/main/java/com/mooctest/crowd/domain/domainobject/CrowdTestTask.java

@@ -1,6 +1,7 @@
 package com.mooctest.crowd.domain.domainobject;
 
 import com.mooctest.crowd.domain.exception.CrowdTestTaskException;
+import com.mooctest.crowd.domain.model.EndPointPO;
 import lombok.Data;
 
 import java.sql.Timestamp;
@@ -45,6 +46,8 @@ public class CrowdTestTask {
     private int acceptedCount;
     private int participantHasCommittedCount;
     private List<TaskToUser> acceptedUserList = new ArrayList<>();
+    private  String caseId;
+    private String  examId;
 //    private List<CrowdTestReport> crowdTestReportList = new ArrayList<>();
 
     @Override

+ 0 - 3
core/src/main/java/com/mooctest/crowd/domain/domainobject/EndPoint.java

@@ -10,7 +10,4 @@ public class EndPoint {
     private String taskCode;
     private String  caseId;
     private String  examId;
-
-
-
 }

+ 12 - 2
core/src/main/java/com/mooctest/crowd/domain/repository/CrowdTestProjectRepo.java

@@ -137,8 +137,8 @@ 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();
+        EndPoint endPoint= crowdTestProject.getEndPoint();
         if (crowdTestTaskList != null) {
             for (CrowdTestTask crowdTestTask : crowdTestTaskList) {
                 CrowdTestTaskPO crowdTestTaskPO = Converter.convert(CrowdTestTaskPO.class, crowdTestTask);
@@ -156,6 +156,16 @@ public class CrowdTestProjectRepo implements ICrowdTestProjectRepo {
 //                Set<Long> collect = taskToUserPOS.stream().map(TaskToUserPO::getUserId).collect(Collectors.toSet());
 //                crowdTestTaskPO.setParticipantHasReportCount(collect.size());
                 crowdTestTaskDao.save(crowdTestTaskPO);
+                if(crowdTestTask.getCaseId()!=null&&crowdTestTask.getCaseId().length()>0&&crowdTestTask.getExamId()!=null&crowdTestTask.getExamId().length()>0){
+                    Optional<EndPointPO> endPointPO=endPointDao.findByTaskCode(crowdTestTask.getCode());
+                    if(!endPointPO.isPresent()){
+                        EndPointPO addEndPointPO = Converter.convert(EndPointPO.class, endPoint);
+                        endPointDao.save(addEndPointPO);
+                    }else {
+                        throw new HttpBadRequestException("任务已存在");
+                    }
+                }
+
             }
         }
         // 保存项目报告
@@ -223,10 +233,10 @@ public class CrowdTestProjectRepo implements ICrowdTestProjectRepo {
             endPointPO.get().setCaseId(endPoint.getCaseId());
             endPointPO.get().setExamId(endPoint.getExamId());
             endPointDao.save(endPointPO.get());
+            return this.getEndPoint(endPoint.getTaskCode());
         }else {
             throw new HttpBadRequestException("任务不存在");
         }
-        return this.getEndPoint(endPoint.getTaskCode());
     }
 
 //    @Override

+ 6 - 0
site/src/main/java/com/mooctest/crowd/site/command/CrowdTestTaskCommand.java

@@ -42,6 +42,8 @@ public class CrowdTestTaskCommand {
     private Double fixedPrice;
 
     private int participantCount;
+    private  String caseId;
+    private String  examId;
 
     public boolean isLegal(){
         if (this.resource == 1 && this.location == null)
@@ -68,6 +70,10 @@ public class CrowdTestTaskCommand {
         crowdTestTask.setFixedPrice(fixedPrice);
         crowdTestTask.setRequirementFile(requirementFile);
         crowdTestTask.setParticipantCount(participantCount);
+        if(caseId!=null&&caseId.length()>0&&examId!=null&examId.length()>0){
+            crowdTestTask.setCaseId(caseId);
+            crowdTestTask.setExamId(examId);
+        }
         return crowdTestTask;
     }
 

+ 2 - 4
site/src/main/java/com/mooctest/crowd/site/service/impl/CrowdTaskServiceImpl.java

@@ -1,10 +1,7 @@
 package com.mooctest.crowd.site.service.impl;
 
 import com.mooctest.crowd.domain.dao.CrowdTestTaskDao;
-import com.mooctest.crowd.domain.domainobject.CrowdTestProject;
-import com.mooctest.crowd.domain.domainobject.CrowdTestTask;
-import com.mooctest.crowd.domain.domainobject.CrowdTestTaskStatus;
-import com.mooctest.crowd.domain.domainobject.DistributeType;
+import com.mooctest.crowd.domain.domainobject.*;
 import com.mooctest.crowd.domain.exception.BaseException;
 import com.mooctest.crowd.domain.exception.CrowdTestTaskNotExistException;
 import com.mooctest.crowd.domain.exception.UnauthorizedException;
@@ -12,6 +9,7 @@ import com.mooctest.crowd.domain.repository.CommonRepo;
 import com.mooctest.crowd.domain.repository.CrowdTestProjectRepo;
 import com.mooctest.crowd.domain.repository.CrowdTestTaskRepo;
 import com.mooctest.crowd.domain.repository.UserRepo;
+import com.mooctest.crowd.domain.util.Converter;
 import com.mooctest.crowd.site.command.CrowdTestTaskCommand;
 import com.mooctest.crowd.site.data.dto.TaskDetailsDTO;
 import com.mooctest.crowd.site.data.dto.TaskSquareDTO;