Browse Source

MOOC-22 完善添加endpoint的接口

guo00guo 5 năm trước cách đây
mục cha
commit
b9b489d5d4

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

@@ -56,7 +56,6 @@ public class CrowdTestProject {
     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,12 +261,6 @@ 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) {

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

@@ -1,7 +1,6 @@
 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;
@@ -46,8 +45,7 @@ public class CrowdTestTask {
     private int acceptedCount;
     private int participantHasCommittedCount;
     private List<TaskToUser> acceptedUserList = new ArrayList<>();
-    private  String caseId;
-    private String  examId;
+    private EndPoint endPoint;
 //    private List<CrowdTestReport> crowdTestReportList = new ArrayList<>();
 
     @Override

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

@@ -2,12 +2,11 @@ package com.mooctest.crowd.domain.domainobject;
 
 import lombok.Data;
 
-
 @Data
 public class EndPoint {
     private Long id;
     private String projectCode;
     private String taskCode;
-    private String  caseId;
-    private String  examId;
+    private String caseId;
+    private String examId;
 }

+ 14 - 5
core/src/main/java/com/mooctest/crowd/domain/repository/CrowdTestProjectRepo.java

@@ -138,7 +138,6 @@ public class CrowdTestProjectRepo implements ICrowdTestProjectRepo {
         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,13 +155,17 @@ 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(crowdTestTask.getEndPoint() != null){
+                    Optional<EndPointPO> endPointPO = endPointDao.findByTaskCode(crowdTestTask.getCode());
                     if(!endPointPO.isPresent()){
-                        EndPointPO addEndPointPO = Converter.convert(EndPointPO.class, endPoint);
+                        EndPointPO addEndPointPO = Converter.convert(EndPointPO.class, crowdTestTask.getEndPoint());
+                        addEndPointPO.setProjectCode(crowdTestProject.getCode());
+                        addEndPointPO.setTaskCode(crowdTestTask.getCode());
                         endPointDao.save(addEndPointPO);
                     }else {
-                        throw new HttpBadRequestException("任务已存在");
+                        throw new HttpBadRequestException("已存在配置项,请勿重复添加!");
                     }
                 }
 
@@ -322,6 +325,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 -> {

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

@@ -1,6 +1,7 @@
 package com.mooctest.crowd.site.command;
 
 import com.mooctest.crowd.domain.domainobject.CrowdTestTask;
+import com.mooctest.crowd.domain.domainobject.EndPoint;
 import lombok.Data;
 import org.springframework.beans.BeanUtils;
 
@@ -42,8 +43,8 @@ public class CrowdTestTaskCommand {
     private Double fixedPrice;
 
     private int participantCount;
-    private  String caseId;
-    private String  examId;
+
+    private EndPoint endpoint;
 
     public boolean isLegal(){
         if (this.resource == 1 && this.location == null)
@@ -70,9 +71,9 @@ 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);
+
+        if(endpoint != null){
+            crowdTestTask.setEndPoint(endpoint);
         }
         return crowdTestTask;
     }

+ 0 - 43
site/src/main/java/com/mooctest/crowd/site/controller/JumpController.java

@@ -1,43 +0,0 @@
-package com.mooctest.crowd.site.controller;
-
-import com.mooctest.crowd.site.command.EndPointCommand;
-import com.mooctest.crowd.site.data.vo.EndPointVO;
-import com.mooctest.crowd.site.service.EndPointService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
-
-
-/**
- * @program: crowd
- * @description: ${description}
- * @author: hanyuwei
- * @create: 2020-07-28 17:27
- **/
-@RestController
-@RequestMapping("/api/jump")
-public class JumpController {
-
-    @Autowired
-    private EndPointService  endPointService;
-
-    @RequestMapping(value = "/display/{taskCode}", method = RequestMethod.GET)
-    public EndPointVO displayEndPoint(@PathVariable("taskCode") String taskCode){
-       return  endPointService.getEndPoint(taskCode);
-    }
-
-    @RequestMapping(value = "/add/{taskCode}", method = RequestMethod.POST)
-    public EndPointVO addEndPoint(@PathVariable("taskCode") String taskCode,@RequestBody EndPointCommand endPointCommand){
-        return  endPointService.addEndPoint(taskCode,endPointCommand);
-    }
-
-    @RequestMapping(value = "/delete/{taskCode}", method = RequestMethod.DELETE)
-    public void deleteQualification(@PathVariable("taskCode") String taskCode){
-        endPointService.deleteEndPoint(taskCode);
-    }
-
-    @RequestMapping(value = "/update/{taskCode}", method = RequestMethod.PUT)
-    public EndPointVO updateEndPoint(@PathVariable("taskCode") String taskCode,@RequestBody EndPointCommand endPointCommand){
-        return  endPointService.updateEndPoint(taskCode,endPointCommand);
-    }
-
-}

+ 1 - 0
site/src/main/java/com/mooctest/crowd/site/data/vo/CrowdTaskVO.java

@@ -48,6 +48,7 @@ public class CrowdTaskVO implements Serializable{
     private Timestamp createTime;
     private List<TaskToUserVO> taskToUserVOS = new ArrayList<>();
     private String time_interval;
+    private EndPointVO endPointVO;
 
     public CrowdTaskVO(CrowdTestTask task){
         id = task.getCode();

+ 7 - 5
site/src/main/java/com/mooctest/crowd/site/data/vo/EndPointVO.java

@@ -2,6 +2,7 @@ package com.mooctest.crowd.site.data.vo;
 
 import com.mooctest.crowd.domain.domainobject.EndPoint;
 import lombok.Data;
+import org.springframework.beans.BeanUtils;
 
 /**
  * @program: crowd
@@ -11,9 +12,10 @@ import lombok.Data;
  **/
 @Data
 public class EndPointVO {
-    private Long id;
-    private String projectCode;
-    private String taskCode;
-    private String  caseId;
-    private String  examId;
+    private String caseId;
+    private String examId;
+
+    public EndPointVO(EndPoint endPoint){
+        BeanUtils.copyProperties(endPoint, this);
+    }
 }

+ 9 - 0
site/src/main/java/com/mooctest/crowd/site/mediator/impl/WebMediatorImpl.java

@@ -126,6 +126,9 @@ public class WebMediatorImpl implements ViewMediator {
     @Autowired
     private ThemeStatusTaskService themeStatusTaskService;
 
+    @Autowired
+    private EndPointDao endPointDao;
+
     @Override
     public List<CrowdTestProjectVO> crowdTestProjects() {
         List<CrowdTestProjectVO> authingList = new ArrayList<>();
@@ -906,6 +909,12 @@ public class WebMediatorImpl implements ViewMediator {
             // 区域管理员视图
             List<TaskToUserVO> taskToUserVOS = new ArrayList<>();
             if (userId.equals(project.getRegionalManagerId())) {
+                // 判断否存在配置项
+                Optional<EndPointPO> endPointPO = endPointDao.findByTaskCode(taskVO.getCode());
+                if(endPointPO.isPresent()){
+                    taskVO.setEndPointVO(new EndPointVO(Converter.convert(EndPoint.class, endPointPO.get())));
+                }
+
                 taskToUserVOS = task.get().getAcceptedUserList().stream().map(taskToUser -> {
                     TaskToUserVO taskToUserVO = new TaskToUserVO(taskToUser);
                     taskToUserVO.setUserVO(Converter.convert(UserVO.class, taskToUser.getUser()));