فهرست منبع

调整project type与platform字段为数组类型

Diors.Po 6 سال پیش
والد
کامیت
ff30e48829

+ 41 - 32
core/src/main/java/com/mooctest/crowd/domain/controller/CrowdTestProjectController.java

@@ -142,7 +142,7 @@ public class CrowdTestProjectController {
     public String createCrowdTestProject(@PathVariable("userId") Long userId,@PathVariable("projectName") String projectName){
         //数据准备
         CrowdTestProject crowdTestProject = new CrowdTestProject();
-        crowdTestProject.setCode("pro"+System.currentTimeMillis());
+        crowdTestProject.setCode("PRO"+System.currentTimeMillis());
         crowdTestProject.setName(projectName);
         crowdTestProject.setProjectDistributionTypeId(1L);
         crowdTestProject.setLinkMan("郭超");
@@ -157,6 +157,12 @@ public class CrowdTestProjectController {
         return crowdTestProjectRepo.getByProjectCode(crowdTestProjectResult.getCode()).toString();
     }
 
+    /**
+     * 发布项目(普通用户)
+     * @param userId
+     * @param crowdTestProjectCode
+     * @return
+     */
     @RequestMapping(value = "releaseProject/{userId}/{crowdTestProjectCode}", method = RequestMethod.GET)
     public String releaseCrowdTestProject(@PathVariable("userId") Long userId,@PathVariable("crowdTestProjectCode") String crowdTestProjectCode){
         CrowdTestProject crowdTestProject = crowdTestProjectRepo.getByProjectCode(crowdTestProjectCode);
@@ -167,7 +173,9 @@ public class CrowdTestProjectController {
     }
 
 
-    /*区域管理员DO*/
+    /**
+     * 对区域管理员的操作
+     */
 
     /**
      * 接收项目(区域管理员)
@@ -200,7 +208,7 @@ public class CrowdTestProjectController {
 
         //数据准备
         CrowdTestTask crowdTestTask = new CrowdTestTask();
-        crowdTestTask.setCode(crowdTestProjectCode+"_task"+System.currentTimeMillis());
+        crowdTestTask.setCode(crowdTestProjectCode+"_TASK"+System.currentTimeMillis());
         crowdTestTask.setName(taskName);
         crowdTestTask.setCrowdTestProjectCode(crowdTestProjectCode);
         crowdTestTask.setQuotedPrice(200.00);
@@ -268,9 +276,9 @@ public class CrowdTestProjectController {
 
         //report数据准备
         CrowdTestReport crowdTestReport = new CrowdTestReport();
-        crowdTestReport.setCode(crowdTestProjectCode+crowdTestTaskCode+"_rep"+System.currentTimeMillis());
+        crowdTestReport.setCode(crowdTestProjectCode+crowdTestTaskCode+"_REP"+System.currentTimeMillis());
         crowdTestReport.setName(reportName);
-        crowdTestReport.setCrowdTestTaskCode(crowdTestTaskCode);
+        crowdTestReport.setDependencyCode(crowdTestTaskCode);
         crowdTestReport.setCreateTime(new Timestamp(System.currentTimeMillis()));
 
         User userForAgencyManager = userRepo.getByID(userForAgencyManagerId);
@@ -279,27 +287,6 @@ public class CrowdTestProjectController {
         return crowdTestProjectRepo.getByProjectCode(crowdTestProjectResult.getCode()).toString();
     }
 
-//    /**
-//     * 提交报告(测评机构)
-//     * @param crowdTestProjectCode
-//     * @param userForAgencyManagerId
-//     * @param crowdTestTaskCode
-//     * @param crowdTestReportCode
-//     * @return
-//     */
-//    @RequestMapping(value = "commitReport/{userForAgencyManagerId}/{crowdTestProjectCode}/{crowdTestTaskCode}/{crowdTestReportCode}", method = RequestMethod.GET)
-//    public String commitCrowdTestReport(@PathVariable("crowdTestProjectCode") String crowdTestProjectCode,@PathVariable("userForAgencyManagerId") Long userForAgencyManagerId,
-//                                        @PathVariable("crowdTestTaskCode") String crowdTestTaskCode,@PathVariable("crowdTestReportCode") String crowdTestReportCode){
-//
-//        CrowdTestProject crowdTestProject = crowdTestProjectRepo.getByProjectCode(crowdTestProjectCode);
-//
-//        User userForAgencyManager = userRepo.getByID(userForAgencyManagerId);
-//        CrowdTestProject crowdTestProjectResult = userForAgencyManager.commitCrowdTestReport(crowdTestProject, crowdTestTaskCode, crowdTestReportCode);
-//        crowdTestProjectRepo.saveCrowdTestProject(crowdTestProjectResult);
-//        return crowdTestProjectRepo.getByProjectCode(crowdTestProjectResult.getCode()).toString();
-//    }
-
-
     /**
      * 提交任务(测评机构)
      * @param crowdTestProjectCode
@@ -307,17 +294,39 @@ public class CrowdTestProjectController {
      * @param crowdTestTaskCode
      * @return
      */
-//    @RequestMapping(value = "commitTask/{userForAgencyManagerId}/{crowdTestProjectCode}/{crowdTestTaskCode}", method = RequestMethod.GET)
-//    public String commitCrowdTestReport(@PathVariable("crowdTestProjectCode") String crowdTestProjectCode,@PathVariable("userForAgencyManagerId") Long userForAgencyManagerId,
-//                                        @PathVariable("crowdTestTaskCode") String crowdTestTaskCode){
-//
+    @RequestMapping(value = "commitTask/{userForAgencyManagerId}/{crowdTestProjectCode}/{crowdTestTaskCode}", method = RequestMethod.GET)
+    public String commitCrowdTestReport(@PathVariable("crowdTestProjectCode") String crowdTestProjectCode,@PathVariable("userForAgencyManagerId") Long userForAgencyManagerId,
+                                        @PathVariable("crowdTestTaskCode") String crowdTestTaskCode){
+
+        CrowdTestProject crowdTestProject = crowdTestProjectRepo.getByProjectCode(crowdTestProjectCode);
+        User userForAgencyManager = userRepo.getByID(userForAgencyManagerId);
+        CrowdTestProject crowdTestProjectResult = userForAgencyManager.commitCrowdTestTask(crowdTestProject, crowdTestTaskCode);
+        crowdTestProjectRepo.saveCrowdTestProject(crowdTestProjectResult);
+        return crowdTestProjectRepo.getByProjectCode(crowdTestProjectResult.getCode()).toString();
+    }
+
+    /**
+     * 区域管理员的操作
+     */
+
+
+    /**
+     * 确认结束任务(区域管理员)
+     * @param crowdTestProjectCode
+     * @return
+     */
+//    @RequestMapping(value = "finishProject/{regionalManagerId}/{crowdTestProjectCode}", method = RequestMethod.GET)
+//    public String commitCrowdTestTask(@PathVariable("regionalManagerId") Long regionalManagerId,@PathVariable("crowdTestProjectCode") String crowdTestProjectCode){
 //        CrowdTestProject crowdTestProject = crowdTestProjectRepo.getByProjectCode(crowdTestProjectCode);
-//        User userForAgencyManager = userRepo.getByID(userForAgencyManagerId);
-//        CrowdTestProject crowdTestProjectResult = userForAgencyManager.commitCrowdTestTask(crowdTestProject, crowdTestTaskCode);
+//        User userForRegionalManager = userRepo.getByID(regionalManagerId);
+//        RegionalManager regionalManager = userForRegionalManager.getRegionalManager();
+//
+//        CrowdTestProject crowdTestProjectResult = regionalManager.commitCrowdTestTask(crowdTestProject);
 //        crowdTestProjectRepo.saveCrowdTestProject(crowdTestProjectResult);
 //        return crowdTestProjectRepo.getByProjectCode(crowdTestProjectResult.getCode()).toString();
 //    }
 
+
     /**
      * 计算指定时间的下一天
      * @param date 指定时间

+ 1 - 1
core/src/main/java/com/mooctest/crowd/domain/dao/CrowdTestReportDao.java

@@ -20,7 +20,7 @@ public interface CrowdTestReportDao extends CrudRepository<CrowdTestReportPO, Lo
 
     CrowdTestReportPO findByCode(String code);
 
-    List<CrowdTestReportPO> findByCrowdTestTaskCode(String crowdTestTaskCode);
+    List<CrowdTestReportPO> findByDependencyCode(String dependencyCode);
 
     List<CrowdTestReportPO> findAll();
 

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

@@ -21,10 +21,10 @@ public class CrowdTestProject {
     private Long userId;
     private Long regionalManagerId;
     private Long projectDistributionTypeId;
-    private int platform;
+    private String platform;
     private String linkMan;
     private String linkManMobile;
-    private int type;
+    private String type;
     private String description;
     private String projectFile;
     private String requirementFile;
@@ -140,120 +140,4 @@ public class CrowdTestProject {
         this.setStatus(CrowdTestProjectStatus.HAS_SPLITED);
     }
 
-    public void acceptTask(Long agencyManagerId, String crowdTestProjectCode, String crowdTestTaskCode) {
-
-    }
-
-
-
-//    public CrowdTestTask getCrowdTestTaskByTaskId(CrowdTestProject crowdTestProject, Long taskId) throws CrowdTestTaskNotExistException {
-//        List<CrowdTestTask> crowdTestTaskList = crowdTestProject.getCrowdTestTaskList();
-//        for (CrowdTestTask crowdTestTask : crowdTestTaskList) {
-//            if (crowdTestTask.getId().equals(taskId)) {
-//                return crowdTestTask;
-//            }
-//        }
-//        throw new CrowdTestTaskNotExistException();
-//    }
-//
-//    public CrowdTestProject updateCrowdTestReportStatus(Long projectId, Long taskId, Long reportId, String status) throws CrowdTestTaskNoPriceException, CrowdTestTaskNotExistException, CrowdTestProjectNotExistException, CrowdTestReportNotExistException {
-//        CrowdTestProjectRepo crowdTestProjectRepo = new CrowdTestProjectRepo();
-//        CrowdTestProject crowdTestProject = crowdTestProjectRepo.getByID(projectId);
-//        CrowdTestTask crowdTestTask = crowdTestProject.getCrowdTestTaskByTaskId(crowdTestProject, taskId);
-//        CrowdTestReport crowdTestReport = crowdTestTask.getCrowdTestReportByReportId(crowdTestTask, reportId);
-//        crowdTestReport.setStatus(status);
-//        return crowdTestProject;
-//    }
-//
-//    /** Task */
-//
-//    public boolean updateCrowdTestTaskStatus(Long projectId, Long taskId, String status) throws CrowdTestProjectNotExistException, CrowdTestTaskNotExistException, CrowdTestTaskNoPriceException {
-//        CrowdTestProjectRepo crowdTestProjectRepo = new CrowdTestProjectRepo();
-//        CrowdTestProject crowdTestProject = crowdTestProjectRepo.getByID(projectId);
-//        CrowdTestTask crowdTestTask = crowdTestProject.getCrowdTestTaskByTaskId(crowdTestProject, taskId);
-//        boolean flag = true;
-//        if (crowdTestTask.getQuotedPrice() > 0) {
-//            crowdTestTask.setStatus(status);
-//            return true;
-//        } else {
-//            throw new CrowdTestTaskNoPriceException();
-//        }
-//    }
-//
-//    public boolean modifyCrowdTestTaskStatusToCommit(Long taskId, String status) throws CrowdTestTaskNotExistException {
-//        CrowdTestTask crowdTestTask = this.getCrowdTestTaskByTaskId(this, taskId);
-//        boolean flag = true;
-//        List<CrowdTestReport> crowdTestReportList = crowdTestTask.getCrowdTestReportList();
-//        for (CrowdTestReport crowdTestReport : crowdTestReportList) {
-//            if (!crowdTestReport.getStatus().equals(CrowdTestReportStatus.COMMITED)) {
-//                flag = false;
-//            }
-//        }
-//        if (flag) {
-//            crowdTestTask.setStatus(status);
-//            return true;
-//        } else {
-//            return flag;
-//        }
-//    }
-//
-//    public boolean updateCrowdTestTaskStatusNoPrice(Long projectId, Long taskId, String status) throws CrowdTestProjectNotExistException, CrowdTestTaskNotExistException, CrowdTestTaskNoPriceException {
-//        CrowdTestProjectRepo crowdTestProjectRepo = new CrowdTestProjectRepo();
-//        if (crowdTestProjectRepo.getByID(projectId) != null) {
-//            CrowdTestProject crowdTestProject = crowdTestProjectRepo.getByID(projectId);
-//            CrowdTestTask crowdTestTask = crowdTestProject.getCrowdTestTaskByTaskId(crowdTestProject, taskId);
-//            crowdTestTask.setQuotedPrice(0.0);
-//            if (crowdTestTask.getQuotedPrice() > 0) {
-//                crowdTestTask.setStatus(status);
-//                return true;
-//            } else {
-//                throw new CrowdTestTaskNoPriceException();
-//            }
-//        }
-//        throw new CrowdTestProjectNotExistException();
-//    }
-//
-//    public List<CrowdTestTask> updateCrowdTestTaskListStatus(Long projectId, String status) throws CrowdTestProjectNotExistException {
-//        CrowdTestProjectRepo crowdTestProjectRepo = new CrowdTestProjectRepo();
-//        CrowdTestProject crowdTestProject = crowdTestProjectRepo.getByID(projectId);
-//        List<CrowdTestTask> crowdTestTaskList = crowdTestProject.getCrowdTestTaskList();
-//        for (CrowdTestTask crowdTestTask : crowdTestTaskList) {
-//            crowdTestTask.setStatus(status);
-//        }
-//        return crowdTestTaskList;
-//    }
-//
-//
-//    /** Project */
-//    public CrowdTestReport getCrowdTestReportByProjectId(Long projectId, Long taskId, Long reportId) throws CrowdTestTaskNoPriceException, CrowdTestTaskNotExistException, CrowdTestProjectNotExistException, CrowdTestReportNotExistException {
-//        CrowdTestProjectRepo crowdTestProjectRepo = new CrowdTestProjectRepo();
-//        CrowdTestProject crowdTestProject = crowdTestProjectRepo.getByID(projectId);
-//        CrowdTestTask crowdTestTask = crowdTestProject.getCrowdTestTaskByTaskId(crowdTestProject, taskId);
-//        CrowdTestReport crowdTestReport = crowdTestTask.getCrowdTestReportByReportId(crowdTestTask, reportId);
-//        return crowdTestReport;
-//    }
-//
-//    public List<CrowdTestReport> getCrowdTestReportListByProjectId(Long projectId, Long taskId) throws CrowdTestTaskNoPriceException, CrowdTestTaskNotExistException, CrowdTestProjectNotExistException, CrowdTestReportNotExistException {
-//        CrowdTestProjectRepo crowdTestProjectRepo = new CrowdTestProjectRepo();
-//        CrowdTestProject crowdTestProject = crowdTestProjectRepo.getByID(projectId);
-//        CrowdTestTask crowdTestTask = crowdTestProject.getCrowdTestTaskByTaskId(crowdTestProject, taskId);
-//        return crowdTestTask.getCrowdTestReportList();
-//    }
-//
-//    public CrowdTestProject updateCrowdTestProjectStatusToFinish(Long projectId, String status) throws CrowdTestProjectNotExistException {
-//        CrowdTestProjectRepo crowdTestProjectRepo = new CrowdTestProjectRepo();
-//        CrowdTestProject crowdTestProject = crowdTestProjectRepo.getByID(projectId);
-//        List<CrowdTestTask> crowdTestTaskList = crowdTestProject.getCrowdTestTaskList();
-//        for(CrowdTestTask crowdTestTask : crowdTestTaskList){
-//            List<CrowdTestReport> crowdTestReportList = crowdTestTask.getCrowdTestReportList();
-//            for(CrowdTestReport crowdTestReport : crowdTestReportList){
-//                crowdTestReport.setStatus(status);
-//            }
-//            crowdTestTask.setStatus(status);
-//        }
-//        crowdTestProject.setStatus(status);
-//        return crowdTestProject;
-//    }
-
-
 }

+ 4 - 2
core/src/main/java/com/mooctest/crowd/domain/domainobject/CrowdTestReport.java

@@ -14,8 +14,9 @@ public class CrowdTestReport {
     private Long id;
     private String name;
     private String code;
-    private String crowdTestTaskCode;
+    private String dependencyCode; //所依赖的项目或者任务
     private int type;
+    private int scope;
     private String testObject;
     private String description;
     private String content;
@@ -29,8 +30,9 @@ public class CrowdTestReport {
                 "id=" + id +
                 ", name='" + name + '\'' +
                 ", code='" + code + '\'' +
-                ", crowdTestTaskCode='" + crowdTestTaskCode + '\'' +
+                ", dependencyCode='" + dependencyCode + '\'' +
                 ", type='" + type + '\'' +
+                ", scope='" + scope + '\'' +
                 ", testObject='" + testObject + '\'' +
                 ", description='" + description + '\'' +
                 ", content='" + content + '\'' +

+ 12 - 6
core/src/main/java/com/mooctest/crowd/domain/domainobject/RegionalManager.java

@@ -1,7 +1,8 @@
 package com.mooctest.crowd.domain.domainobject;
 
-import com.mooctest.crowd.domain.exception.CrowdTestProjectCannotBeReceive;
+import com.mooctest.crowd.domain.exception.CrowdTestProjectException;
 import com.mooctest.crowd.domain.exception.CrowdTestProjectNotExistException;
+import com.mooctest.crowd.domain.exception.CrowdTestTaskException;
 import com.mooctest.crowd.domain.exception.CrowdTestTaskNotExistException;
 import com.mooctest.crowd.domain.repository.CrowdTestProjectRepo;
 import lombok.Data;
@@ -38,10 +39,11 @@ public class RegionalManager {
      * @return
      */
     public CrowdTestProject receiveProject(CrowdTestProject crowdTestProject) {
-        System.out.println(this);
         List<Regional> regionalList = this.getRegionalList();
         if(crowdTestProject.getRegionalManagerId() != null){
-            throw new CrowdTestProjectCannotBeReceive("项目已被接收");
+            throw new CrowdTestProjectException("项目已被接收");
+        }else if(crowdTestProject.getStatus() != (CrowdTestProjectStatus.HAS_RECEIVED-1)){
+            throw new CrowdTestProjectException("项目不能被接收,项目状态为: " + crowdTestProject.getStatus());
         }else{
             boolean couldReceive = false;
             for(Regional regional : regionalList){
@@ -50,7 +52,7 @@ public class RegionalManager {
                 }
             }
             if(!couldReceive){
-                throw new CrowdTestProjectCannotBeReceive("项目区域不符合区域管理员的要求");
+                throw new CrowdTestProjectException("项目区域不符合区域管理员的要求");
             }else{
                 crowdTestProject.setRegionalManagerId(this.getUserId());
                 crowdTestProject.setStatus(CrowdTestProjectStatus.HAS_RECEIVED);
@@ -72,7 +74,7 @@ public class RegionalManager {
             crowdTestProject.setStatus(CrowdTestProjectStatus.HAS_SPLITED);
         }
 
-        crowdTestTask.setStatus(CrowdTestProjectStatus.HAS_CREATED);
+        crowdTestTask.setStatus(CrowdTestProjectStatus.HAS_SPLITED);
         crowdTestTask.setDistributionProvince(crowdTestProject.getDistributionProvince());
         crowdTestTask.setDistributionCity(crowdTestProject.getDistributionCity());
 
@@ -89,7 +91,11 @@ public class RegionalManager {
         //发布任务时修改任务状态
         for(CrowdTestTask crowdTestTask : crowdTestTaskList){
             if(crowdTestTaskCode.equals(crowdTestTask.getCode())){
-                crowdTestTask.setStatus(CrowdTestProjectStatus.HAS_RELEASED);
+                if(crowdTestTask.getStatus() != (CrowdTestProjectStatus.HAS_RELEASED-1)){
+                    throw new CrowdTestTaskException("当前任务不能被发布,当前状态为:"+crowdTestTask.getStatus());
+                }else{
+                    crowdTestTask.setStatus(CrowdTestProjectStatus.HAS_RELEASED);
+                }
             }
             crowdTestTaskListResult.add(crowdTestTask);
         }

+ 19 - 11
core/src/main/java/com/mooctest/crowd/domain/domainobject/User.java

@@ -1,5 +1,6 @@
 package com.mooctest.crowd.domain.domainobject;
 
+import com.mooctest.crowd.domain.exception.CrowdTestProjectException;
 import com.mooctest.crowd.domain.exception.CrowdTestTaskException;
 import lombok.Data;
 
@@ -73,7 +74,11 @@ public class User {
      * @return
      */
     public CrowdTestProject releaseCrowdTestProject(CrowdTestProject crowdTestProject) {
-        crowdTestProject.setStatus(CrowdTestProjectStatus.HAS_RELEASED);
+        if(crowdTestProject.getStatus() != (CrowdTestReportStatus.HAS_CREATED-1)){
+            throw new CrowdTestProjectException("当前项目状态不能被发布");
+        }else{
+            crowdTestProject.setStatus(CrowdTestProjectStatus.HAS_RELEASED);
+        }
         return crowdTestProject;
     }
 
@@ -89,8 +94,8 @@ public class User {
         List<CrowdTestTask> crowdTestTaskListResult = new ArrayList<>();
         for(CrowdTestTask crowdTestTask : crowdTestTaskList){
             if(crowdTestTaskCode.equals(crowdTestTask.getCode())){
-                if(CrowdTestTaskStatus.HAS_RECEIVED == crowdTestTask.getStatus()){
-                    throw new CrowdTestTaskException("任务已被其他机构接收,不能再次接收");
+                if(crowdTestTask.getStatus() != (CrowdTestReportStatus.HAS_CREATED - 1)){
+                    throw new CrowdTestTaskException("任务当前状态不能被接收,当前状态为:"+crowdTestTask.getStatus());
                 }else if(!(this.getProvince().equals(crowdTestTask.getDistributionProvince())&&this.getCity().equals(crowdTestTask.getDistributionCity()))){
                     throw new CrowdTestTaskException("测评机构区域不符合任务区域的要求");
                 }else{
@@ -203,16 +208,19 @@ public class User {
         List<CrowdTestTask> crowdTestTaskList = crowdTestProject.getCrowdTestTaskList();
         List<CrowdTestTask> crowdTestTaskListResult = new ArrayList<>();
         for(CrowdTestTask crowdTestTask : crowdTestTaskList){
-            if(crowdTestTask.getCode().equals(crowdTestTaskCode)){
-                if(CrowdTestTaskStatus.HAS_COMMITED == crowdTestTask.getStatus()){
-                    throw new CrowdTestTaskException("任务已被提交,不能再次提交");
-                }else if(CrowdTestTaskStatus.HAS_RECEIVED == crowdTestTask.getStatus()){
-                    crowdTestTask.setStatus(CrowdTestTaskStatus.HAS_COMMITED);
-                }else{
-                    throw new CrowdTestTaskException("任务状态有误,无法提交,任务状态为:"+crowdTestTask.getStatus());
+            if(crowdTestTask.getCrowdTestReportList() == null){
+                throw new CrowdTestTaskException("当前任务中没有报告,不能提交此任务");
+            }else{
+                if(crowdTestTask.getCode().equals(crowdTestTaskCode)){
+                    if(crowdTestTask.getStatus() != (CrowdTestTaskStatus.HAS_COMMITED-1)){
+                        throw new CrowdTestTaskException("任务状态有误,无法提交,任务状态为:"+crowdTestTask.getStatus());
+                    }else if(CrowdTestTaskStatus.HAS_RECEIVED == crowdTestTask.getStatus()){
+                        crowdTestTask.setStatus(CrowdTestTaskStatus.HAS_COMMITED);
+                    }
                 }
+                crowdTestTaskListResult.add(crowdTestTask);
             }
-            crowdTestTaskListResult.add(crowdTestTask);
+
         }
         crowdTestProject.setCrowdTestTaskList(crowdTestTaskListResult);
         return crowdTestProject;

+ 12 - 0
core/src/main/java/com/mooctest/crowd/domain/exception/CrowdTestProjectException.java

@@ -0,0 +1,12 @@
+package com.mooctest.crowd.domain.exception;
+
+/**
+ * @author guochao
+ * @date 2019-07-30 20:19
+ */
+public class CrowdTestProjectException extends BaseException {
+
+    public CrowdTestProjectException(String msg){
+        super(msg);
+    }
+}

+ 2 - 2
core/src/main/java/com/mooctest/crowd/domain/model/CrowdTestProjectPO.java

@@ -38,7 +38,7 @@ public class CrowdTestProjectPO {
     private String description;
 
     @Column(name = "CTP_PLATFORM")
-    private int platform;
+    private String platform;
 
     @Column(name = "CTP_LINK_MAN")
     private String linkMan;
@@ -47,7 +47,7 @@ public class CrowdTestProjectPO {
     private String linkManMobile;
 
     @Column(name = "CTP_TYPE")
-    private int type;
+    private String type;
 
     @Column(name = "CTP_DISTRIBUTION_PROVINCE")
     private String distributionProvince;

+ 6 - 2
core/src/main/java/com/mooctest/crowd/domain/model/CrowdTestReportPO.java

@@ -26,11 +26,14 @@ public class CrowdTestReportPO {
 
 
     @Column(name = "CTR_DEPENDENCY_CODE")
-    private String crowdTestTaskCode;
+    private String dependencyCode;
 
     @Column(name = "CTR_TYPE")
     private int type;
 
+    @Column(name = "CTR_SCOPE")
+    private int scope;
+
     @Column(name = "CTR_DESCRIPTION")
     private String description;
 
@@ -55,8 +58,9 @@ public class CrowdTestReportPO {
                 "id=" + id +
                 ", name='" + name + '\'' +
                 ", code='" + code + '\'' +
-                ", crowdTestTaskCode='" + crowdTestTaskCode + '\'' +
+                ", dependencyCode='" + dependencyCode + '\'' +
                 ", type=" + type +
+                ", scope='" + scope + '\'' +
                 ", description='" + description + '\'' +
                 ", content='" + content + '\'' +
                 ", createTime=" + createTime +

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

@@ -194,7 +194,7 @@ public class CrowdTestProjectRepo implements ICrowdTestProjectRepo {
      * @return
      */
     private List<CrowdTestReport> getCrowdTestReportByCrowdTestTask(String crowdTestTaskCode) {
-        List<CrowdTestReportPO> crowdTestReportPOList = crowdTestReportDao.findByCrowdTestTaskCode(crowdTestTaskCode);
+        List<CrowdTestReportPO> crowdTestReportPOList = crowdTestReportDao.findByDependencyCode(crowdTestTaskCode);
         List<CrowdTestReport> crowdTestReportListResult = new ArrayList<>();
         for(CrowdTestReportPO crowdTestReportPO : crowdTestReportPOList){
             CrowdTestReport crowdTestReportResult = Converter.convert(CrowdTestReport.class, crowdTestReportPO);

+ 5 - 0
site/pom.xml

@@ -81,6 +81,11 @@
 			<artifactId>hibernate-jpa-2.1-api</artifactId>
 			<version>1.0.0.Final</version>
 		</dependency>
+		<dependency>
+			<groupId>com.alibaba</groupId>
+			<artifactId>fastjson</artifactId>
+			<version>1.2.58</version>
+		</dependency>
 	</dependencies>
 
 	<build>

+ 7 - 4
site/src/main/java/com/mooctest/crowd/site/command/CrowdTestProjectCommand.java

@@ -1,5 +1,7 @@
 package com.mooctest.crowd.site.command;
 
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
 import com.mooctest.crowd.domain.domainobject.CrowdTestProject;
 
 import com.mooctest.crowd.domain.factory.CrowdTestProjectFactory;
@@ -8,6 +10,7 @@ import lombok.Data;
 import javax.validation.constraints.NotNull;
 import javax.validation.constraints.Pattern;
 import java.sql.Timestamp;
+import java.util.ArrayList;
 import java.util.Map;
 
 /**
@@ -24,9 +27,9 @@ public class CrowdTestProjectCommand {
     private String name;
 
     @NotNull(message = "项目服务类型不可为空")
-    private int type;
+    private ArrayList<Integer> type;
 
-    private int platform;
+    private ArrayList<Integer> platform;
 
     @NotNull(message = "项目描述不可为空")
     private String desc;
@@ -66,8 +69,8 @@ public class CrowdTestProjectCommand {
         crowdTestProject.setName(this.name);
         crowdTestProject.setLinkMan(this.contactName);
         crowdTestProject.setLinkManMobile(this.contactPhone);
-        crowdTestProject.setType(this.type);
-        crowdTestProject.setPlatform(this.platform);
+        crowdTestProject.setType(JSONObject.toJSONString(this.type));
+        crowdTestProject.setPlatform(JSONObject.toJSONString(this.platform));
         crowdTestProject.setDescription(this.desc);
         crowdTestProject.setRequirementFile(this.doc);
         crowdTestProject.setProjectFile(this.file);

+ 1 - 1
site/src/main/java/com/mooctest/crowd/site/command/CrowdTestReportCommand.java

@@ -49,7 +49,7 @@ public class CrowdTestReportCommand {
         report.setContent(content);
         report.setFile(file);
         report.setTestObject(target);
-        report.setCrowdTestTaskCode(dependencyCode);
+        report.setDependencyCode(dependencyCode);
         return report;
     }
 

+ 11 - 7
site/src/main/java/com/mooctest/crowd/site/data/vo/CrowdProjectVO.java

@@ -1,14 +1,17 @@
 package com.mooctest.crowd.site.data.vo;
 
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.TypeReference;
 import com.mooctest.crowd.domain.domainobject.CrowdTestProject;
-import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.NoArgsConstructor;
-import org.springframework.beans.BeanUtils;
 
-import java.sql.Date;
 import java.sql.Timestamp;
+import java.util.ArrayList;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -16,14 +19,15 @@ import java.util.Map;
  * @Date: 2019.7.15 20:41
  */
 @Data
+@NoArgsConstructor
 public class CrowdProjectVO {
 
     private String id;
     private String name;
     private String contactName;
     private String contactPhone;
-    private int type;
-    private int platform;
+    private List<Integer> type;
+    private List<Integer> platform;
     private String desc;
     private String doc;
     private String file;
@@ -40,8 +44,8 @@ public class CrowdProjectVO {
         this.name = project.getName();
         this.contactName = project.getLinkMan();
         this.contactPhone = project.getLinkManMobile();
-        this.type = project.getType();
-        this.platform = project.getPlatform();
+        this.type = (List<Integer>)JSONArray.parse(project.getType());
+        this.platform = (List<Integer>)JSONArray.parse(project.getType());
         this.desc = project.getDescription();
         this.doc = project.getRequirementFile();
         this.file = project.getProjectFile();

+ 1 - 1
site/src/main/java/com/mooctest/crowd/site/service/impl/CrowdProjectServiceImpl.java

@@ -47,7 +47,7 @@ public class CrowdProjectServiceImpl implements CrowdProjectService {
         CrowdTestProject project = command.toCrowdProject();
         project.setStatus(CrowdTestProjectStatus.HAS_CREATED);
         log.info("\n"+project.toString()+"\n");
-        String projectCode = codeUtil.generateFlowCode("PROJ-"+ProjectType.getCode(new Integer(command.getType())));
+        String projectCode = codeUtil.generateFlowCode("PROJ-");
         project.setCode(projectCode);
         ProjectDetailsDTO projectDetailsDTO = new ProjectDetailsDTO();
         projectRepo.saveCrowdTestProject(project);

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

@@ -55,7 +55,7 @@ public class CrowdReportServiceImpl implements CrowdReportService {
             throw new BaseException("当前阶段无法创建报告");
         CrowdTestReport report = command.toCrowdTestReport();
         String reportCode = codeUtil.generateFlowCode("REPORT");
-        report.setCrowdTestTaskCode(taskCode);
+        report.setDependencyCode(taskCode);
         report.setCode(reportCode);
         task.get().getCrowdTestReportList().add(report);
         projectRepo.saveCrowdTestProject(project);
@@ -78,7 +78,7 @@ public class CrowdReportServiceImpl implements CrowdReportService {
         CrowdTestReport updatedReport = command.toCrowdTestReport();
         updatedReport.setId(report.get().getId());
         updatedReport.setCode(report.get().getCode());
-        updatedReport.setCrowdTestTaskCode(report.get().getCrowdTestTaskCode());
+        updatedReport.setDependencyCode(report.get().getDependencyCode());
         task.get().getCrowdTestReportList().remove(report.get());
         task.get().getCrowdTestReportList().add(updatedReport);
         projectRepo.saveCrowdTestProject(project);