Explorar o código

增加对众包项目的操作

guochao %!s(int64=6) %!d(string=hai) anos
pai
achega
150b7c67e1
Modificáronse 41 ficheiros con 1567 adicións e 1167 borrados
  1. 2 2
      core/src/main/java/com/mooctest/crowd/domain/command/CrowdTestProjectCommand.java
  2. 91 0
      core/src/main/java/com/mooctest/crowd/domain/controller/CrowdTestProjectController.java
  3. 35 0
      core/src/main/java/com/mooctest/crowd/domain/dao/CrowdTestProjectDao.java
  4. 33 0
      core/src/main/java/com/mooctest/crowd/domain/dao/CrowdTestReportDao.java
  5. 38 0
      core/src/main/java/com/mooctest/crowd/domain/dao/CrowdTestTaskDao.java
  6. 6 6
      core/src/main/java/com/mooctest/crowd/domain/dao/RoleToPermissionDao.java
  7. 6 6
      core/src/main/java/com/mooctest/crowd/domain/dao/UserToRoleDao.java
  8. 9 9
      core/src/main/java/com/mooctest/crowd/domain/domainobject/CrowdTestProject.java
  9. 4 4
      core/src/main/java/com/mooctest/crowd/domain/domainobject/CrowdTestReport.java
  10. 6 4
      core/src/main/java/com/mooctest/crowd/domain/domainobject/CrowdTestTask.java
  11. 9 0
      core/src/main/java/com/mooctest/crowd/domain/domainobject/DistributeType.java
  12. 17 1
      core/src/main/java/com/mooctest/crowd/domain/domainobject/EvaluationAgency.java
  13. 1 1
      core/src/main/java/com/mooctest/crowd/domain/domainobject/RegionalManager.java
  14. 4 20
      core/src/main/java/com/mooctest/crowd/domain/domainobject/User.java
  15. 0 52
      core/src/main/java/com/mooctest/crowd/domain/model/CrowdTestProject.java
  16. 72 0
      core/src/main/java/com/mooctest/crowd/domain/model/CrowdTestProjectPO.java
  17. 0 36
      core/src/main/java/com/mooctest/crowd/domain/model/CrowdTestReport.java
  18. 55 0
      core/src/main/java/com/mooctest/crowd/domain/model/CrowdTestReportPO.java
  19. 0 45
      core/src/main/java/com/mooctest/crowd/domain/model/CrowdTestTask.java
  20. 67 0
      core/src/main/java/com/mooctest/crowd/domain/model/CrowdTestTaskPO.java
  21. 0 16
      core/src/main/java/com/mooctest/crowd/domain/model/DistributeType.java
  22. 36 0
      core/src/main/java/com/mooctest/crowd/domain/model/DistributeTypePO.java
  23. 0 21
      core/src/main/java/com/mooctest/crowd/domain/model/EvaluationAgency.java
  24. 63 0
      core/src/main/java/com/mooctest/crowd/domain/model/EvaluationAgencyPO.java
  25. 1 1
      core/src/main/java/com/mooctest/crowd/domain/model/GeneralUserPO.java
  26. 1 1
      core/src/main/java/com/mooctest/crowd/domain/model/RegionalManagerPO.java
  27. 1 1
      core/src/main/java/com/mooctest/crowd/domain/model/RoleToPermissionPO.java
  28. 1 1
      core/src/main/java/com/mooctest/crowd/domain/model/UserPO.java
  29. 1 1
      core/src/main/java/com/mooctest/crowd/domain/model/UserToRolePO.java
  30. 156 94
      core/src/main/java/com/mooctest/crowd/domain/repository/CrowdTestProjectRepo.java
  31. 13 5
      core/src/main/java/com/mooctest/crowd/domain/repository/ICrowdTestProjectRepo.java
  32. 25 16
      core/src/main/java/com/mooctest/crowd/domain/repository/UserRepo.java
  33. 154 154
      core/src/test/java/com/mooctest/crowd/domain/domainobject/EvaluationAgencyTest.java
  34. 179 189
      core/src/test/java/com/mooctest/crowd/domain/domainobject/GeneralUserTest.java
  35. 217 217
      core/src/test/java/com/mooctest/crowd/domain/domainobject/RegionalManagerTest.java
  36. 27 27
      core/src/test/java/com/mooctest/crowd/domain/domainobject/SystemAdministratorTest.java
  37. 39 39
      core/src/test/java/com/mooctest/crowd/domain/domainobject/UserTest.java
  38. 87 87
      core/src/test/java/com/mooctest/crowd/domain/domainservice/RegisterDServiceTest.java
  39. 74 74
      core/src/test/java/com/mooctest/crowd/domain/repository/AccountUTRepoTest.java
  40. 35 35
      core/src/test/java/com/mooctest/crowd/domain/repository/UserRepoTest.java
  41. 2 2
      site/src/main/java/com/mooctest/crowd/site/command/CrowdTestProjectCommand.java

+ 2 - 2
core/src/main/java/com/mooctest/crowd/domain/command/CrowdTestProjectCommand.java

@@ -18,8 +18,8 @@ public class CrowdTestProjectCommand {
     private String description;
     private String projectFile;
     private String requirementFile;
-    private double quotedPrice;
-    private double fixedPrice;
+    private Double quotedPrice;
+    private Double fixedPrice;
     private String status;
     private Timestamp creatTime;
 }

+ 91 - 0
core/src/main/java/com/mooctest/crowd/domain/controller/CrowdTestProjectController.java

@@ -0,0 +1,91 @@
+package com.mooctest.crowd.domain.controller;
+
+import com.mooctest.crowd.domain.domainobject.CrowdTestProject;
+import com.mooctest.crowd.domain.domainobject.CrowdTestProjectStatus;
+import com.mooctest.crowd.domain.domainobject.CrowdTestTask;
+import com.mooctest.crowd.domain.repository.CrowdTestProjectRepo;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.sql.Timestamp;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author guochao
+ * @date 2019-07-27 15:46
+ */
+
+@RestController
+@RequestMapping("project")
+public class CrowdTestProjectController {
+
+    @Autowired
+    private CrowdTestProjectRepo crowdTestProjectRepo;
+
+    @RequestMapping(value = "findById/{crowdTestProjectId}", method = RequestMethod.GET)
+    public String getCrowdTestProjectById(@PathVariable("crowdTestProjectId") Long crowdTestProjectId){
+        CrowdTestProject crowdTestProject = crowdTestProjectRepo.getByID(crowdTestProjectId);
+        return crowdTestProject.toString();
+    }
+
+    @RequestMapping(value = "findByUserId/{userId}", method = RequestMethod.GET)
+    public String getAllCrowdTestProjectByUserId(@PathVariable("userId") Long userId){
+        List<CrowdTestProject> allCrowdTestProject = crowdTestProjectRepo.getCrowdListByUserId(userId);
+        return allCrowdTestProject.toString();
+    }
+
+    @RequestMapping(value = "findByRMId/{regionalManagerId}", method = RequestMethod.GET)
+    public String getAllCrowdTestProjectByRMId(@PathVariable("regionalManagerId") Long regionalManagerId){
+        List<CrowdTestProject> allCrowdTestProject = crowdTestProjectRepo.getCrowdListByRegionalManagerId(regionalManagerId);
+        return allCrowdTestProject.toString();
+    }
+
+    @RequestMapping(value = "findAll", method = RequestMethod.GET)
+    public String getAllCrowdTestProject(){
+        List<CrowdTestProject> allCrowdTestProject = crowdTestProjectRepo.getAllCrowdTestProject();
+        return allCrowdTestProject.toString();
+    }
+
+    @RequestMapping(value = "createProject/{userId}/{regionalManagerId}", method = RequestMethod.GET)
+    public String createCrowdTestProject(@PathVariable("userId") Long userId,@PathVariable("regionalManagerId") Long regionalManagerId){
+        CrowdTestProject crowdTestProject = new CrowdTestProject();
+        crowdTestProject.setUserId(userId);
+        crowdTestProject.setName("众包项目");
+        crowdTestProject.setRegionalManagerId(regionalManagerId);
+        crowdTestProject.setProjectDistributionTypeId(1L);
+        crowdTestProject.setQuotedPrice(200.00);
+        crowdTestProject.setStatus(CrowdTestProjectStatus.CREATED);
+        crowdTestProject.setCreateTime(new Timestamp(System.currentTimeMillis()));
+//        CrowdTestProject saveResult = crowdTestProjectRepo.saveCreateCrowdTestProject(crowdTestProject);
+//        return saveResult.toString();
+
+        crowdTestProjectRepo.saveCrowdTestProjectAndCrowdTestTask(crowdTestProject);
+        return "success";
+    }
+
+
+    @RequestMapping(value = "createTask/{crowdTestProjectId}/{taskName}", method = RequestMethod.GET)
+    public String createCrowdTestProject(@PathVariable("crowdTestProjectId") Long crowdTestProjectId,@PathVariable("taskName") String taskName){
+        CrowdTestProject crowdTestProject = crowdTestProjectRepo.getByID(crowdTestProjectId);
+
+        CrowdTestTask crowdTestTask = new CrowdTestTask();
+        crowdTestTask.setName(taskName);
+        crowdTestTask.setCrowdTestProjectId(crowdTestProjectId);
+        crowdTestTask.setEvaluationAgencyId(1L);
+        crowdTestTask.setQuotedPrice(200.00);
+        crowdTestTask.setStatus(CrowdTestProjectStatus.CREATED);
+        crowdTestTask.setCreateTime(new Timestamp(System.currentTimeMillis()));
+
+        ArrayList<CrowdTestTask> crowdTestTasks = new ArrayList<>();
+        crowdTestTasks.add(crowdTestTask);
+
+        crowdTestProject.setCrowdTestTaskList(crowdTestTasks);
+        crowdTestProjectRepo.saveCrowdTestProjectAndCrowdTestTask(crowdTestProject);
+        return "success";
+    }
+
+}

+ 35 - 0
core/src/main/java/com/mooctest/crowd/domain/dao/CrowdTestProjectDao.java

@@ -0,0 +1,35 @@
+package com.mooctest.crowd.domain.dao;
+
+import com.mooctest.crowd.domain.model.CrowdTestProjectPO;
+import org.springframework.data.repository.CrudRepository;
+
+import javax.transaction.Transactional;
+import java.util.List;
+import java.util.Optional;
+
+/**
+ * @author guochao
+ * @date 2019-07-27 15:07
+ */
+
+@Transactional
+public interface CrowdTestProjectDao extends CrudRepository<CrowdTestProjectPO, Long> {
+
+    @Override
+    Optional<CrowdTestProjectPO> findById(Long id);
+
+    List<CrowdTestProjectPO> findByUserId(Long userId);
+
+    List<CrowdTestProjectPO> findAll();
+
+    List<CrowdTestProjectPO> findByRegionalManagerId(Long regionalManagerId);
+
+    @Override
+    void delete(CrowdTestProjectPO crowdTestProjectPO);
+
+    @Override
+    void deleteAll(Iterable<? extends CrowdTestProjectPO> iterable);
+
+    @Override
+    <S extends CrowdTestProjectPO> S save(S s);
+}

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

@@ -0,0 +1,33 @@
+package com.mooctest.crowd.domain.dao;
+
+import com.mooctest.crowd.domain.model.CrowdTestReportPO;
+import org.springframework.data.repository.CrudRepository;
+
+import javax.transaction.Transactional;
+import java.util.List;
+import java.util.Optional;
+
+/**
+ * @author guochao
+ * @date 2019-07-27 15:07
+ */
+
+@Transactional
+public interface CrowdTestReportDao extends CrudRepository<CrowdTestReportPO, Long> {
+
+    @Override
+    Optional<CrowdTestReportPO> findById(Long id);
+
+    List<CrowdTestReportPO> findByCrowdTestTaskId(Long crowdTestTaskId);
+
+    List<CrowdTestReportPO> findAll();
+
+    @Override
+    void delete(CrowdTestReportPO crowdTestProjectPO);
+
+    @Override
+    void deleteAll(Iterable<? extends CrowdTestReportPO> iterable);
+
+    @Override
+    <S extends CrowdTestReportPO> S save(S s);
+}

+ 38 - 0
core/src/main/java/com/mooctest/crowd/domain/dao/CrowdTestTaskDao.java

@@ -0,0 +1,38 @@
+package com.mooctest.crowd.domain.dao;
+
+import com.mooctest.crowd.domain.model.CrowdTestTaskPO;
+import org.springframework.data.repository.CrudRepository;
+
+import javax.transaction.Transactional;
+import java.util.List;
+import java.util.Optional;
+
+/**
+ * @author guochao
+ * @date 2019-07-27 15:07
+ */
+
+@Transactional
+public interface CrowdTestTaskDao extends CrudRepository<CrowdTestTaskPO, Long> {
+
+    @Override
+    Optional<CrowdTestTaskPO> findById(Long id);
+
+    List<CrowdTestTaskPO> findByCrowdTestProjectId(Long crowdTestProjectId);
+
+    List<CrowdTestTaskPO> findByEvaluationAgencyId(Long evaluationAgencyId);
+
+    List<CrowdTestTaskPO> findAll();
+
+    @Override
+    void delete(CrowdTestTaskPO crowdTestProjectPO);
+
+    @Override
+    void deleteAll(Iterable<? extends CrowdTestTaskPO> iterable);
+
+    @Override
+    <S extends CrowdTestTaskPO> S save(S s);
+
+    @Override
+    <S extends CrowdTestTaskPO> Iterable<S> saveAll(Iterable<S> iterable);
+}

+ 6 - 6
core/src/main/java/com/mooctest/crowd/domain/dao/RoleToPermissionDao.java

@@ -1,7 +1,7 @@
 package com.mooctest.crowd.domain.dao;
 
 
-import com.mooctest.crowd.domain.model.RoleToPermission;
+import com.mooctest.crowd.domain.model.RoleToPermissionPO;
 import org.springframework.data.repository.CrudRepository;
 
 import javax.transaction.Transactional;
@@ -9,15 +9,15 @@ import java.util.List;
 import java.util.Optional;
 
 @Transactional
-public interface RoleToPermissionDao extends CrudRepository<RoleToPermission,Long> {
+public interface RoleToPermissionDao extends CrudRepository<RoleToPermissionPO,Long> {
 
     @Override
-    Optional<RoleToPermission> findById(Long id);
+    Optional<RoleToPermissionPO> findById(Long id);
 
-    List<RoleToPermission> findAllByRoleId(Long roleId);
+    List<RoleToPermissionPO> findAllByRoleId(Long roleId);
 
-    List<RoleToPermission> findAllByPermissionId(Long permissionId);
+    List<RoleToPermissionPO> findAllByPermissionId(Long permissionId);
 
     @Override
-    <S extends RoleToPermission> S save(S s);
+    <S extends RoleToPermissionPO> S save(S s);
 }

+ 6 - 6
core/src/main/java/com/mooctest/crowd/domain/dao/UserToRoleDao.java

@@ -1,6 +1,6 @@
 package com.mooctest.crowd.domain.dao;
 
-import com.mooctest.crowd.domain.model.UserToRole;
+import com.mooctest.crowd.domain.model.UserToRolePO;
 import org.springframework.data.repository.CrudRepository;
 
 import javax.transaction.Transactional;
@@ -8,14 +8,14 @@ import java.util.List;
 import java.util.Optional;
 
 @Transactional
-public interface UserToRoleDao extends CrudRepository<UserToRole,Long> {
+public interface UserToRoleDao extends CrudRepository<UserToRolePO,Long> {
 
     @Override
-    Optional<UserToRole> findById(Long id);
+    Optional<UserToRolePO> findById(Long id);
 
-    List<UserToRole> findByUserId(Long userId);
+    List<UserToRolePO> findByUserId(Long userId);
 
-    List<UserToRole> findByRoleId(Long roleId);
+    List<UserToRolePO> findByRoleId(Long roleId);
 
-    UserToRole save(UserToRole userToRole);
+    UserToRolePO save(UserToRolePO userToRolePO);
 }

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

@@ -21,14 +21,14 @@ public class CrowdTestProject {
     private String name;
     private Long userId;
     private Long regionalManagerId;
-    private ProjectDistributeType projectDistributeType;
+    private Long projectDistributionTypeId;
     private String description;
     private String projectFile;
     private String requirementFile;
-    private double quotedPrice;
-    private double fixedPrice;
+    private Double quotedPrice;
+    private Double fixedPrice;
     private String status;
-    private Timestamp creatTime;
+    private Timestamp createTime;
     private List<CrowdTestTask> crowdTestTaskList;
 
     @Override
@@ -38,14 +38,14 @@ public class CrowdTestProject {
                 ", name='" + name + '\'' +
                 ", userId=" + userId +
                 ", regionalManagerId=" + regionalManagerId +
-                ", projectDistributeType=" + projectDistributeType +
+                ", projectDistributionTypeId=" + projectDistributionTypeId +
                 ", description='" + description + '\'' +
                 ", projectFile=" + projectFile +
                 ", requirementFile=" + requirementFile +
                 ", quotedPrice=" + quotedPrice +
                 ", fixedPrice=" + fixedPrice +
                 ", status='" + status + '\'' +
-                ", creatTime=" + creatTime +
+                ", createTime=" + createTime +
                 ", crowdTestTaskList=" + crowdTestTaskList +
                 '}';
     }
@@ -76,7 +76,7 @@ public class CrowdTestProject {
         CrowdTestProject crowdTestProject = crowdTestProjectRepo.getByID(projectId);
         CrowdTestTask crowdTestTask = crowdTestProject.getCrowdTestTaskByTaskId(crowdTestProject, taskId);
         boolean flag = true;
-        if (crowdTestTask.getPrice() > 0) {
+        if (crowdTestTask.getQuotedPrice() > 0) {
             crowdTestTask.setStatus(status);
             return true;
         } else {
@@ -106,8 +106,8 @@ public class CrowdTestProject {
         if (crowdTestProjectRepo.getByID(projectId) != null) {
             CrowdTestProject crowdTestProject = crowdTestProjectRepo.getByID(projectId);
             CrowdTestTask crowdTestTask = crowdTestProject.getCrowdTestTaskByTaskId(crowdTestProject, taskId);
-            crowdTestTask.setPrice(0.0);
-            if (crowdTestTask.getPrice() > 0) {
+            crowdTestTask.setQuotedPrice(0.0);
+            if (crowdTestTask.getQuotedPrice() > 0) {
                 crowdTestTask.setStatus(status);
                 return true;
             } else {

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

@@ -12,25 +12,25 @@ import java.sql.Timestamp;
 public class CrowdTestReport {
 
     private Long id;
-    private Long crowdTestProjectId;
+    private String name;
     private Long crowdTestTaskId;
     private String type;
     private String description;
     private String content;
     private String status;
-    private Timestamp creatTime;
+    private Timestamp createTime;
 
     @Override
     public String toString() {
         return "CrowdTestReport{" +
                 "id=" + id +
-                ", crowdTestProjectId=" + crowdTestProjectId +
+                ", name=" + name +
                 ", crowdTestTaskId=" + crowdTestTaskId +
                 ", type=" + type +
                 ", description='" + description + '\'' +
                 ", content='" + content + '\'' +
                 ", status='" + status + '\'' +
-                ", creatTime=" + creatTime +
+                ", createTime=" + createTime +
                 '}';
     }
 }

+ 6 - 4
core/src/main/java/com/mooctest/crowd/domain/domainobject/CrowdTestTask.java

@@ -20,9 +20,10 @@ public class CrowdTestTask {
     private String type;
     private String description;
     private String requirementFile;
-    private Double price;
+    private Double quotedPrice;
+    private Double fixedPrice;
     private String status;
-    private Timestamp creatTime;
+    private Timestamp createTime;
     private List<CrowdTestReport> crowdTestReportList;
 
 
@@ -36,9 +37,10 @@ public class CrowdTestTask {
                 ", type=" + type +
                 ", description='" + description + '\'' +
                 ", requirementFile=" + requirementFile +
-                ", price=" + price +
+                ", quotedPrice=" + quotedPrice +
+                ", fixedPrice=" + fixedPrice +
                 ", status='" + status + '\'' +
-                ", creatTime=" + creatTime +
+                ", createTime=" + createTime +
                 ", crowdTestReportList=" + crowdTestReportList +
                 '}';
     }

+ 9 - 0
core/src/main/java/com/mooctest/crowd/domain/domainobject/DistributeType.java

@@ -13,4 +13,13 @@ public class DistributeType {
     private Long id;
     private String name;
     private Date createTime;
+
+    @Override
+    public String toString() {
+        return "DistributeType{" +
+                "id=" + id +
+                ", name='" + name + '\'' +
+                ", createTime=" + createTime +
+                '}';
+    }
 }

+ 17 - 1
core/src/main/java/com/mooctest/crowd/domain/domainobject/EvaluationAgency.java

@@ -26,6 +26,22 @@ public class EvaluationAgency extends User {
     private Timestamp expireTime;
 
     @Override
+    public String toString() {
+        return "EvaluationAgency{" +
+                "id=" + id +
+                ", userId=" + userId +
+                ", evaluationAgencyName='" + evaluationAgencyName + '\'' +
+                ", bankAccount='" + bankAccount + '\'' +
+                ", address='" + address + '\'' +
+                ", abilities='" + abilities + '\'' +
+                ", resources='" + resources + '\'' +
+                ", agencyPhoto='" + agencyPhoto + '\'' +
+                ", updateTime=" + updateTime +
+                ", expireTime=" + expireTime +
+                '}';
+    }
+
+    @Override
     public Long getId() {
         return id;
     }
@@ -40,7 +56,7 @@ public class EvaluationAgency extends User {
         if (crowdTestProjectRepo.getByID(projectId) != null) {
             CrowdTestProject crowdTestProject = crowdTestProjectRepo.getByID(projectId);
             CrowdTestTask crowdTestTask = crowdTestProject.getCrowdTestTaskByTaskId(crowdTestProject, taskId);
-            if (crowdTestTask.getPrice() > 0) {
+            if (crowdTestTask.getQuotedPrice() > 0) {
                 crowdTestTask.setEvaluationAgencyId(evaluationAgencyId);
                 crowdTestTask.setStatus(status);
                 return true;

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

@@ -35,7 +35,7 @@ public class RegionalManager extends User {
             List<CrowdTestTask> crowdTestTaskList = crowdTestProject.getCrowdTestTaskList();
             for (CrowdTestTask crowdTestTask : crowdTestTaskList) {
                 if (crowdTestTask.getId().equals(taskId)) {
-                    crowdTestTask.setPrice(price);
+                    crowdTestTask.setQuotedPrice(price);
                     flag = true;
                     return crowdTestProject;
                 }

+ 4 - 20
core/src/main/java/com/mooctest/crowd/domain/domainobject/User.java

@@ -26,6 +26,10 @@ public class User {
 
     private List<Role> roleList;
 
+//    private boolean registerBecomeEvalutionAgency(User user, EvaluationAgency evaluationAgency){
+//
+//    }
+
 
 //    @Autowired
 //    private UserRepo userRepo = new UserRepo();
@@ -78,24 +82,4 @@ public class User {
 //            throw new PasswordErrorException();
 //        }
 //    }
-//
-//    public List<Permission> distributePermission(){
-//        List<Permission> permissions = new ArrayList<Permission>();
-//        Permission permission = new Permission();
-//        permission.setId(1L);
-//        permission.setName("PERMISSION_ONE");
-//        permission.setResource("RESOURCE_ONE");
-//        permission.setOperation("OPERATION_ONE");
-//        permissions.add(permission);
-//        return permissions;
-//    }
-//
-//    public List<Role> distributeRole() {
-//        List<Role> roles = new ArrayList<Role>();
-//        Role role = new Role();
-//        role.setId(1L);
-//        role.setName("GeneralUser");
-//        roles.add(role);
-//        return roles;
-//    }
 }

+ 0 - 52
core/src/main/java/com/mooctest/crowd/domain/model/CrowdTestProject.java

@@ -1,52 +0,0 @@
-package com.mooctest.crowd.domain.model;
-
-import lombok.Data;
-
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.Id;
-import javax.persistence.Table;
-import java.io.File;
-import java.sql.Timestamp;
-
-/**
- * @author guochao
- * @date 2019/7/6 18:27
- */
-@Data
-@Entity
-@Table(name = "crowd_test_project")
-public class CrowdTestProject {
-
-    @Id
-    @GeneratedValue
-    private Long id;
-    private String name;
-    private Long ownerId;
-    private Long managerId;
-    private Long distributionId;
-    private String description;
-    private File projectFile;
-    private File requirement;
-    private double quotedPrice;
-    private double fixedPrice;
-    private String status;
-    private Timestamp creatTime;
-    @Override
-    public String toString() {
-        return "CrowdTestProject{" +
-                "id=" + id +
-                ", name='" + name + '\'' +
-                ", ownerId=" + ownerId +
-                ", managerId=" + managerId +
-                ", distributionId=" + distributionId +
-                ", description='" + description + '\'' +
-                ", projectFile=" + projectFile +
-                ", requirement=" + requirement +
-                ", quotedPrice=" + quotedPrice +
-                ", fixedPrice=" + fixedPrice +
-                ", status='" + status + '\'' +
-                ", creatTime=" + creatTime +
-                '}';
-    }
-}

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

@@ -0,0 +1,72 @@
+package com.mooctest.crowd.domain.model;
+
+import lombok.Data;
+
+import javax.persistence.*;
+import java.sql.Timestamp;
+
+/**
+ * @author guochao
+ * @date 2019/7/6 18:27
+ */
+@Data
+@Entity
+@Table(name = "crowd_test_project")
+public class CrowdTestProjectPO {
+
+    @Id
+    @Column(name = "CTP_ID")
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    private Long id;
+
+    @Column(name = "CTP_NAME")
+    private String name;
+
+    @Column(name = "CTP_U_ID")
+    private Long userId;
+
+    @Column(name = "CTP_RM_ID")
+    private Long regionalManagerId;
+
+    @Column(name = "CTP_PDT_ID")
+    private Long projectDistributionTypeId;
+
+    @Column(name = "CTP_DESCRIPTION")
+    private String description;
+
+    @Column(name = "CTP_PROJECT_FILE")
+    private String projectFile;
+
+    @Column(name = "CTP_REQUIREMENT_FILE")
+    private String requirementFile;
+
+    @Column(name = "CTP_QUOTED_PRICE")
+    private Double quotedPrice;
+
+    @Column(name = "CTP_FIXED_PRICE")
+    private Double fixedPrice;
+
+    @Column(name = "CTP_STATUS")
+    private String status;
+
+    @Column(name = "CTP_CREATE_TIME")
+    private Timestamp createTime;
+
+    @Override
+    public String toString() {
+        return "CrowdTestProject{" +
+                "id=" + id +
+                ", name='" + name + '\'' +
+                ", userId=" + userId +
+                ", regionalManagerId=" + regionalManagerId +
+                ", projectDistributionTypeId=" + projectDistributionTypeId +
+                ", description='" + description + '\'' +
+                ", projectFile='" + projectFile + '\'' +
+                ", requirementFile='" + requirementFile + '\'' +
+                ", quotedPrice=" + quotedPrice +
+                ", fixedPrice=" + fixedPrice +
+                ", status='" + status + '\'' +
+                ", createTime=" + createTime +
+                '}';
+    }
+}

+ 0 - 36
core/src/main/java/com/mooctest/crowd/domain/model/CrowdTestReport.java

@@ -1,36 +0,0 @@
-package com.mooctest.crowd.domain.model;
-
-import lombok.Data;
-
-import java.sql.Timestamp;
-
-/**
- * @author guochao
- * @date 2019/7/11 14:16
- */
-@Data
-public class CrowdTestReport {
-
-    private Long id;
-    private Long projectId;
-    private Long taskId;
-    private int type;
-    private String description;
-    private String content;
-    private String status;
-    private Timestamp creatTime;
-
-    @Override
-    public String toString() {
-        return "CrowdTestReport{" +
-                "id=" + id +
-                ", projectId=" + projectId +
-                ", taskId=" + taskId +
-                ", type=" + type +
-                ", description='" + description + '\'' +
-                ", content='" + content + '\'' +
-                ", status='" + status + '\'' +
-                ", creatTime=" + creatTime +
-                '}';
-    }
-}

+ 55 - 0
core/src/main/java/com/mooctest/crowd/domain/model/CrowdTestReportPO.java

@@ -0,0 +1,55 @@
+package com.mooctest.crowd.domain.model;
+
+import lombok.Data;
+
+import javax.persistence.*;
+import java.sql.Timestamp;
+
+/**
+ * @author guochao
+ * @date 2019/7/11 14:16
+ */
+@Data
+@Entity(name = "crowd_test_report")
+public class CrowdTestReportPO {
+
+    @Id
+    @Column(name = "CTR_ID")
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    private Long id;
+
+    @Column(name = "CTR_NAME")
+    private String name;
+
+    @Column(name = "CTR_CTT_ID")
+    private Long crowdTestTaskId;
+
+    @Column(name = "CTR_TYPE")
+    private String type;
+
+    @Column(name = "CTR_DESCRIPTION")
+    private String description;
+
+    @Column(name = "CTR_CONTENT")
+    private String content;
+
+    @Column(name = "CTR_STATUS")
+    private String status;
+
+    @Column(name = "CTR_CREATE_TIME")
+    private Timestamp createTime;
+
+    @Override
+    public String toString() {
+        return "CrowdTestReportPO{" +
+                "id=" + id +
+                ", name='" + name + '\'' +
+                ", crowdTestTaskId=" + crowdTestTaskId +
+                ", type='" + type + '\'' +
+                ", description='" + description + '\'' +
+                ", content='" + content + '\'' +
+                ", status='" + status + '\'' +
+                ", createTime=" + createTime +
+                '}';
+    }
+}

+ 0 - 45
core/src/main/java/com/mooctest/crowd/domain/model/CrowdTestTask.java

@@ -1,45 +0,0 @@
-package com.mooctest.crowd.domain.model;
-
-import lombok.Data;
-
-import java.io.File;
-import java.sql.Timestamp;
-import java.util.List;
-
-/**
- * @author guochao
- * @date 2019/7/11 14:14
- */
-@Data
-public class CrowdTestTask {
-    private Long id;
-    private String name;
-    private Long projectId;
-    private Long evaluationAgencyId;
-    private int type;
-    private String description;
-    private File requirementFile;
-    private Double price;
-    private String status;
-    private Timestamp creatTime;
-    private List<CrowdTestReport> crowdTestReportList;
-
-
-    @Override
-    public String toString() {
-        return "CrowdTestTask{" +
-                "id=" + id +
-                ", name='" + name + '\'' +
-                ", projectId=" + projectId +
-                ", evaluationAgencyId=" + evaluationAgencyId +
-                ", type=" + type +
-                ", description='" + description + '\'' +
-                ", requirementFile=" + requirementFile +
-                ", price=" + price +
-                ", status='" + status + '\'' +
-                ", creatTime=" + creatTime +
-                ", crowdTestReportList=" + crowdTestReportList +
-                '}';
-    }
-
-}

+ 67 - 0
core/src/main/java/com/mooctest/crowd/domain/model/CrowdTestTaskPO.java

@@ -0,0 +1,67 @@
+package com.mooctest.crowd.domain.model;
+
+import lombok.Data;
+
+import javax.persistence.*;
+import java.sql.Timestamp;
+
+/**
+ * @author guochao
+ * @date 2019/7/11 14:14
+ */
+@Data
+@Entity(name = "crowd_test_task")
+public class
+CrowdTestTaskPO {
+    @Id
+    @Column(name = "CTT_ID")
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    private Long id;
+
+    @Column(name = "CTT_NAME")
+    private String name;
+
+    @Column(name = "CTT_CTP_ID")
+    private Long crowdTestProjectId;
+
+    @Column(name = "CTT_EA_ID")
+    private Long evaluationAgencyId;
+
+    @Column(name = "CTT_TYPE")
+    private String type;
+
+    @Column(name = "CTT_DESCRIPTION")
+    private String description;
+
+    @Column(name = "CTT_REQUIREMENT_FILE")
+    private String requirementFile;
+
+    @Column(name = "CTT_QUOTED_PRICE")
+    private Double quotedPrice;
+
+    @Column(name = "CTT_FIXED_PRICE")
+    private Double fixedPrice;
+
+    @Column(name = "CTT_STATUS")
+    private String status;
+
+    @Column(name = "CTT_CREATE_TIME")
+    private Timestamp createTime;
+
+    @Override
+    public String toString() {
+        return "CrowdTestTaskPO{" +
+                "id=" + id +
+                ", name='" + name + '\'' +
+                ", crowdTestProjectId=" + crowdTestProjectId +
+                ", evaluationAgencyId=" + evaluationAgencyId +
+                ", type='" + type + '\'' +
+                ", description='" + description + '\'' +
+                ", requirementFile='" + requirementFile + '\'' +
+                ", quotedPrice=" + quotedPrice +
+                ", fixedPrice=" + fixedPrice +
+                ", status='" + status + '\'' +
+                ", createTime=" + createTime +
+                '}';
+    }
+}

+ 0 - 16
core/src/main/java/com/mooctest/crowd/domain/model/DistributeType.java

@@ -1,16 +0,0 @@
-package com.mooctest.crowd.domain.model;
-
-import lombok.Data;
-
-import java.sql.Timestamp;
-
-/**
- * @author guochao
- * @date 2019/7/15 20:47
- */
-@Data
-public class DistributeType {
-    private Long id;
-    private String name;
-    private Timestamp createTime;
-}

+ 36 - 0
core/src/main/java/com/mooctest/crowd/domain/model/DistributeTypePO.java

@@ -0,0 +1,36 @@
+package com.mooctest.crowd.domain.model;
+
+import lombok.Data;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import java.sql.Timestamp;
+
+/**
+ * @author guochao
+ * @date 2019/7/15 20:47
+ */
+@Data
+@Entity(name = "project_distribution_type")
+public class DistributeTypePO {
+
+    @Id
+    @Column(name = "PDT_ID")
+    private Long id;
+
+    @Column(name = "PDT_NAME")
+    private String name;
+
+    @Column(name = "PDT_CREATE_TIME")
+    private Timestamp createTime;
+
+    @Override
+    public String toString() {
+        return "DistributeTypePO{" +
+                "id=" + id +
+                ", name='" + name + '\'' +
+                ", createTime=" + createTime +
+                '}';
+    }
+}

+ 0 - 21
core/src/main/java/com/mooctest/crowd/domain/model/EvaluationAgency.java

@@ -1,21 +0,0 @@
-package com.mooctest.crowd.domain.model;
-
-import lombok.Data;
-
-import java.sql.Timestamp;
-
-/**
- * @author guochao
- * @date 2019/7/12 1:32
- */
-@Data
-public class EvaluationAgency extends UserPO {
-    private Long id;
-    private Long userId;
-    private String bankAccount;
-    private String address;
-    private String abilities;
-    private String resource;
-    private Timestamp updateTime;
-    private Timestamp expireTime;
-}

+ 63 - 0
core/src/main/java/com/mooctest/crowd/domain/model/EvaluationAgencyPO.java

@@ -0,0 +1,63 @@
+package com.mooctest.crowd.domain.model;
+
+import lombok.Data;
+
+import javax.persistence.*;
+import java.sql.Timestamp;
+
+/**
+ * @author guochao
+ * @date 2019/7/12 1:32
+ */
+@Data
+@Entity(name = "evaluation_agency")
+public class EvaluationAgencyPO{
+
+    @Id
+    @Column(name = "EA_ID")
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    private Long id;
+
+    @Column(name = "EA_U_ID")
+    private Long userId;
+
+    @Column(name = "EA_NAME")
+    private String evaluationAgencyName;
+
+    @Column(name = "EA_BANK_ACCOUNT")
+    private String bankAccount;
+
+    @Column(name = "EA_ADDRESS")
+    private String address;
+
+    @Column(name = "EA_ABILITIES")
+    private String abilities;
+
+    @Column(name = "EA_RESOURCES")
+    private String resources;
+
+    @Column(name = "EA_PHOTO")
+    private String agencyPhoto;
+
+    @Column(name = "EA_UPDATE_TIME")
+    private Timestamp updateTime;
+
+    @Column(name = "EA_EXPIRE_TIME")
+    private Timestamp expireTime;
+
+    @Override
+    public String toString() {
+        return "EvaluationAgencyPO{" +
+                "id=" + id +
+                ", userId=" + userId +
+                ", evaluationAgencyName='" + evaluationAgencyName + '\'' +
+                ", bankAccount='" + bankAccount + '\'' +
+                ", address='" + address + '\'' +
+                ", abilities='" + abilities + '\'' +
+                ", resources='" + resources + '\'' +
+                ", agencyPhoto='" + agencyPhoto + '\'' +
+                ", updateTime=" + updateTime +
+                ", expireTime=" + expireTime +
+                '}';
+    }
+}

+ 1 - 1
core/src/main/java/com/mooctest/crowd/domain/model/GeneralUser.java → core/src/main/java/com/mooctest/crowd/domain/model/GeneralUserPO.java

@@ -7,7 +7,7 @@ import lombok.Data;
  * @date 2019/7/6 18:16
  */
 @Data
-public class GeneralUser extends UserPO {
+public class GeneralUserPO extends UserPO {
     private Long id;
     private Long userId;
 }

+ 1 - 1
core/src/main/java/com/mooctest/crowd/domain/model/RegionalManager.java → core/src/main/java/com/mooctest/crowd/domain/model/RegionalManagerPO.java

@@ -7,7 +7,7 @@ import lombok.Data;
  * @date 2019/7/9 14:16
  */
 @Data
-public class RegionalManager extends UserPO {
+public class RegionalManagerPO extends UserPO {
     private Long id;
     private Long userId;
     private String regional;

+ 1 - 1
core/src/main/java/com/mooctest/crowd/domain/model/RoleToPermission.java → core/src/main/java/com/mooctest/crowd/domain/model/RoleToPermissionPO.java

@@ -12,7 +12,7 @@ import java.sql.Timestamp;
 @Data
 @Entity
 @Table(name="role_to_permission")
-public class RoleToPermission {
+public class RoleToPermissionPO {
     @Id
     @Column(name = "RTP_ID")
     @GeneratedValue(strategy = GenerationType.IDENTITY)

+ 1 - 1
core/src/main/java/com/mooctest/crowd/domain/model/UserPO.java

@@ -46,7 +46,7 @@ public class UserPO {
     @Column(name = "U_PHOTO_URL")
     private String photoUrl;
 
-    @Column(name = "U_IS_AVAILABILE")
+    @Column(name = "U_IS_AVAILABLE")
     private int isAvailable;
 
     @Column(name = "U_IS_DELETED")

+ 1 - 1
core/src/main/java/com/mooctest/crowd/domain/model/UserToRole.java → core/src/main/java/com/mooctest/crowd/domain/model/UserToRolePO.java

@@ -12,7 +12,7 @@ import java.sql.Timestamp;
 @Data
 @Entity
 @Table(name="user_to_role")
-public class UserToRole {
+public class UserToRolePO {
     @Id
     @Column(name = "UTR_ID")
     @GeneratedValue(strategy = GenerationType.IDENTITY)

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

@@ -1,15 +1,23 @@
 package com.mooctest.crowd.domain.repository;
 
-import com.mooctest.crowd.domain.domainobject.*;
+import com.mooctest.crowd.domain.dao.CrowdTestProjectDao;
+import com.mooctest.crowd.domain.dao.CrowdTestReportDao;
+import com.mooctest.crowd.domain.dao.CrowdTestTaskDao;
+import com.mooctest.crowd.domain.domainobject.CrowdTestProject;
+import com.mooctest.crowd.domain.domainobject.CrowdTestReport;
+import com.mooctest.crowd.domain.domainobject.CrowdTestTask;
 import com.mooctest.crowd.domain.exception.CrowdTestProjectNotExistException;
-import com.mooctest.crowd.domain.factory.CrowdTestProjectFactory;
+import com.mooctest.crowd.domain.model.CrowdTestProjectPO;
+import com.mooctest.crowd.domain.model.CrowdTestReportPO;
+import com.mooctest.crowd.domain.model.CrowdTestTaskPO;
+import com.mooctest.crowd.domain.util.Converter;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
-import java.text.SimpleDateFormat;
 import java.util.ArrayList;
-import java.util.Date;
 import java.util.List;
+import java.util.Optional;
 
 /**
  * @author guochao
@@ -19,121 +27,175 @@ import java.util.List;
 @Component
 public class CrowdTestProjectRepo implements ICrowdTestProjectRepo {
 
-    public CrowdTestProject getByName(String name) {
-        if("PROJECT_ONE".equals(name)){
-            CrowdTestProject crowdTestProject = CrowdTestProjectFactory.createCrowdTestProject();
-            crowdTestProject.setName("PROJECT_ONE");
-            crowdTestProject.setDescription("DESCRIPTION");
-            crowdTestProject.setProjectFile("PROJECTFILE.TXT");
-            crowdTestProject.setRequirementFile("REQUIREMENT.TXT");
-            crowdTestProject.setQuotedPrice(200.00);
-            return crowdTestProject;
-        }else {
-            return null;
-        }
-    }
+    @Autowired
+    private CrowdTestProjectDao crowdTestProjectDao;
+
+    @Autowired
+    private CrowdTestTaskDao crowdTestTaskDao;
+
+    @Autowired
+    private CrowdTestReportDao crowdTestReportDao;
 
     @Override
-    public CrowdTestProject getByID(Long id) throws CrowdTestProjectNotExistException {
-        if(id == 1L){
-            // project
-            CrowdTestProject crowdTestProject = CrowdTestProjectFactory.createCrowdTestProject();
-            crowdTestProject.setId(id);
-            crowdTestProject.setName("PROJECT_ONE");
-            ProjectDistributeType projectDistributeType = new ProjectDistributeType();
-            projectDistributeType.setId(123L);
-            crowdTestProject.setProjectDistributeType(projectDistributeType);
-            crowdTestProject.setDescription("DESCRIPTION");
-            crowdTestProject.setProjectFile("PROJECTFILE.TXT");
-            crowdTestProject.setRequirementFile("REQUIREMENT.TXT");
-            crowdTestProject.setQuotedPrice(200.00);
-
-            // report
-            List<CrowdTestReport> crowdTestReportList = new ArrayList<CrowdTestReport>();
-            CrowdTestReport crowdTestReport = new CrowdTestReport();
-            crowdTestReport.setId(1001L);
-            crowdTestReport.setCrowdTestTaskId(101L);
-            crowdTestReport.setStatus(CrowdTestReportStatus.CREATED);
-            crowdTestReportList.add(crowdTestReport);
-
-            // task
-            List<CrowdTestTask> crowdTestTaskList = new ArrayList<CrowdTestTask>();
-            CrowdTestTask crowdTestTask = new CrowdTestTask();
-            crowdTestTask.setId(101L);
-            crowdTestTask.setCrowdTestProjectId(1L);
-            crowdTestTask.setPrice(100.00);
-            crowdTestTask.setCrowdTestReportList(crowdTestReportList);
-            crowdTestTaskList.add(crowdTestTask);
-            crowdTestProject.setCrowdTestTaskList(crowdTestTaskList);
-
-            return crowdTestProject;
+    public CrowdTestProject getByID(Long crowdTestProjectId) throws CrowdTestProjectNotExistException {
+        Optional<CrowdTestProjectPO> crowdTestProjectPOOptional = crowdTestProjectDao.findById(crowdTestProjectId);
+        if (!crowdTestProjectPOOptional.isPresent()) {
+            throw new CrowdTestProjectNotExistException();
+        }else{
+            CrowdTestProjectPO crowdTestProjectPO = crowdTestProjectPOOptional.get();
+            CrowdTestProject crowdTestProjectResult = getCrowdTestProjectAndTaskAndReportByCrowdTestProjectPO(crowdTestProjectPO);
+            return crowdTestProjectResult;
         }
-        throw new CrowdTestProjectNotExistException();
     }
 
     @Override
-    public List<CrowdTestProject> getByIDList(String[] ids) {
-        return null;
+    public List<CrowdTestProject> getAllCrowdTestProject() {
+        List<CrowdTestProjectPO> crowdTestProjectPOList = crowdTestProjectDao.findAll();
+        return getCrowdTestProjects(crowdTestProjectPOList);
     }
 
 
     @Override
-    public CrowdTestProject addCrowdTestProject(CrowdTestProject crowdTestProject) throws CrowdTestProjectNotExistException {
-        if(this.getByName(crowdTestProject.getName()) != null){
-            String reason = "测试项目已存在";
-            createLogForCreateTestProject(crowdTestProject, reason);
-            return null;
-        }else {
-            return crowdTestProject;
-        }
-
+    public List<CrowdTestProject> getCrowdListByUserId(Long userId) {
+        List<CrowdTestProjectPO> crowdTestProjectPOList = crowdTestProjectDao.findByUserId(userId);
+        return getCrowdTestProjects(crowdTestProjectPOList);
     }
 
-    private void createLogForCreateTestProject(CrowdTestProject crowdTestProject, String reason) {
-        Object testProjectName = crowdTestProject.getName();
-        Date date = new Date();
-        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-        log.error("用户{}创建项目失败,失败时间:{},失败原因:{}",new Object[]{testProjectName,df.format(date), reason});
+    @Override
+    public List<CrowdTestProject> getCrowdListByRegionalManagerId(Long regionalManagerId) {
+        List<CrowdTestProjectPO> crowdTestProjectPOList = crowdTestProjectDao.findByRegionalManagerId(regionalManagerId);
+        return getCrowdTestProjects(crowdTestProjectPOList);
     }
 
     @Override
-    public boolean removeCrowdTestProject(CrowdTestProject crowdTestProject) throws CrowdTestProjectNotExistException {
-        if(crowdTestProject.getId().equals(1L)){
-            return true;
-        }
-        throw new CrowdTestProjectNotExistException();
+    public CrowdTestProject saveCreateCrowdTestProject(CrowdTestProject crowdTestProject) {
+        CrowdTestProjectPO crowdTestProjectPO = Converter.convert(CrowdTestProjectPO.class, crowdTestProject);
+        CrowdTestProjectPO saveResult = crowdTestProjectDao.save(crowdTestProjectPO);
+        return Converter.convert(CrowdTestProject.class, saveResult);
     }
 
+    /**
+     * 在项目上新建一个任务进行保存
+     * @param crowdTestProject
+     * @return
+     */
     @Override
-    public CrowdTestProject updateCrowdTestProject(CrowdTestProject crowdTestProject) throws CrowdTestProjectNotExistException {
-        CrowdTestProject oldCrowdTestProject = getByID(crowdTestProject.getId());
-        if(oldCrowdTestProject.getId().equals(crowdTestProject.getId())){
-            oldCrowdTestProject = crowdTestProject;
-            return oldCrowdTestProject;
+    public boolean saveCrowdTestProjectAndCrowdTestTask(CrowdTestProject crowdTestProject) {
+        CrowdTestProjectPO crowdTestProjectPO = Converter.convert(CrowdTestProjectPO.class, crowdTestProject);
+        crowdTestProjectDao.save(crowdTestProjectPO);
+        List<CrowdTestTask> crowdTestTaskList = crowdTestProject.getCrowdTestTaskList();
+        if(crowdTestTaskList != null){
+            for(CrowdTestTask crowdTestTask : crowdTestTaskList){
+                CrowdTestTaskPO crowdTestTaskPO = Converter.convert(CrowdTestTaskPO.class, crowdTestTask);
+                crowdTestTaskDao.save(crowdTestTaskPO);
+            }
         }
-        throw new CrowdTestProjectNotExistException();
+        return true;
     }
 
-    @Override
-    public CrowdTestProject updateCrowdTestProjectStatus(Long id, String status) throws CrowdTestProjectNotExistException {
-        if (this.getByID(id).getId().equals(id)){
-            CrowdTestProject crowdTestProject = this.getByID(id);
-            crowdTestProject.setStatus(status);
-            return crowdTestProject;
+
+    /**
+     * 通过项目信息获取项目-任务-报告信息
+     * @param crowdTestProjectPO
+     * @return
+     */
+    private CrowdTestProject getCrowdTestProjectAndTaskAndReportByCrowdTestProjectPO(CrowdTestProjectPO crowdTestProjectPO) {
+        CrowdTestProject crowdTestProjectResult = Converter.convert(CrowdTestProject.class, crowdTestProjectPO);
+        List<CrowdTestTaskPO> crowdTestTaskPOList = crowdTestTaskDao.findByCrowdTestProjectId(crowdTestProjectResult.getId());
+
+        List<CrowdTestTask> crowdTestTaskListResult = new ArrayList<>();
+        for(CrowdTestTaskPO crowdTestTaskPO : crowdTestTaskPOList){
+            CrowdTestTask crowdTestTaskResult = Converter.convert(CrowdTestTask.class, crowdTestTaskPO);
+            // 检索任务中的所有格报告
+            List<CrowdTestReport> crowdTestReportListResult = getCrowdTestReportByCrowdTestTask(crowdTestTaskResult.getId());
+            crowdTestTaskResult.setCrowdTestReportList(crowdTestReportListResult);
+            crowdTestTaskListResult.add(crowdTestTaskResult);
         }
-        throw new CrowdTestProjectNotExistException();
+        crowdTestProjectResult.setCrowdTestTaskList(crowdTestTaskListResult);
+        return crowdTestProjectResult;
     }
 
-    public boolean updateCrowdTestProjectList(List<CrowdTestProject> crowdTestProjects) throws CrowdTestProjectNotExistException {
-        List<CrowdTestProject> oldCrowdTestProjects = new ArrayList<CrowdTestProject>();
-        for (CrowdTestProject crowdTestProject : crowdTestProjects){
-            if (crowdTestProject.getId().equals(1L) || crowdTestProject.getId().equals(2L)){
-                oldCrowdTestProjects.add(crowdTestProject);
-            }else{
-                throw new CrowdTestProjectNotExistException();
-            }
+    /**
+     * 通过任务信息获取报告信息
+     * @param crowdTestTaskId
+     * @return
+     */
+    private List<CrowdTestReport> getCrowdTestReportByCrowdTestTask(Long crowdTestTaskId) {
+        List<CrowdTestReportPO> crowdTestReportPOList = crowdTestReportDao.findByCrowdTestTaskId(crowdTestTaskId);
+        List<CrowdTestReport> crowdTestReportListResult = new ArrayList<>();
+        for(CrowdTestReportPO crowdTestReportPO : crowdTestReportPOList){
+            CrowdTestReport crowdTestReportResult = Converter.convert(CrowdTestReport.class, crowdTestReportPO);
+            crowdTestReportListResult.add(crowdTestReportResult);
         }
-        return true;
+        return crowdTestReportListResult;
+    }
 
+    /**
+     * 根据项目列表获取项目-任务-报告信息
+     * @param crowdTestProjectPOList
+     * @return
+     */
+    private List<CrowdTestProject> getCrowdTestProjects(List<CrowdTestProjectPO> crowdTestProjectPOList) {
+        List<CrowdTestProject> crowdTestProjectListResult = new ArrayList<>();
+        for (CrowdTestProjectPO crowdTestProjectPO : crowdTestProjectPOList) {
+            CrowdTestProject crowdTestProjectResult = getCrowdTestProjectAndTaskAndReportByCrowdTestProjectPO(crowdTestProjectPO);
+            crowdTestProjectListResult.add(crowdTestProjectResult);
+        }
+        return crowdTestProjectListResult;
     }
+
+//    @Override
+//    public List<CrowdTestProject> getByIDList(String[] ids) {
+//        return null;
+//    }
+//
+//
+//    private void createLogForCreateTestProject(CrowdTestProject crowdTestProject, String reason) {
+//        Object testProjectName = crowdTestProject.getName();
+//        Date date = new Date();
+//        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+//        log.error("用户{}创建项目失败,失败时间:{},失败原因:{}",new Object[]{testProjectName,df.format(date), reason});
+//    }
+//
+//    @Override
+//    public boolean removeCrowdTestProject(CrowdTestProject crowdTestProject) throws CrowdTestProjectNotExistException {
+//        if(crowdTestProject.getId().equals(1L)){
+//            return true;
+//        }
+//        throw new CrowdTestProjectNotExistException();
+//    }
+//
+//    @Override
+//    public CrowdTestProject updateCrowdTestProject(CrowdTestProject crowdTestProject) throws CrowdTestProjectNotExistException {
+//        CrowdTestProject oldCrowdTestProject = getByID(crowdTestProject.getId());
+//        if(oldCrowdTestProject.getId().equals(crowdTestProject.getId())){
+//            oldCrowdTestProject = crowdTestProject;
+//            return oldCrowdTestProject;
+//        }
+//        throw new CrowdTestProjectNotExistException();
+//    }
+//
+//    @Override
+//    public CrowdTestProject updateCrowdTestProjectStatus(Long id, String status) throws CrowdTestProjectNotExistException {
+//        if (this.getByID(id).getId().equals(id)){
+//            CrowdTestProject crowdTestProject = this.getByID(id);
+//            crowdTestProject.setStatus(status);
+//            return crowdTestProject;
+//        }
+//        throw new CrowdTestProjectNotExistException();
+//    }
+//
+//    public boolean updateCrowdTestProjectList(List<CrowdTestProject> crowdTestProjects) throws CrowdTestProjectNotExistException {
+//        List<CrowdTestProject> oldCrowdTestProjects = new ArrayList<CrowdTestProject>();
+//        for (CrowdTestProject crowdTestProject : crowdTestProjects){
+//            if (crowdTestProject.getId().equals(1L) || crowdTestProject.getId().equals(2L)){
+//                oldCrowdTestProjects.add(crowdTestProject);
+//            }else{
+//                throw new CrowdTestProjectNotExistException();
+//            }
+//        }
+//        return true;
+//
+//    }
+
 }

+ 13 - 5
core/src/main/java/com/mooctest/crowd/domain/repository/ICrowdTestProjectRepo.java

@@ -12,14 +12,22 @@ import java.util.List;
 public interface ICrowdTestProjectRepo {
     CrowdTestProject getByID(Long id) throws CrowdTestProjectNotExistException;
 
-    List<CrowdTestProject> getByIDList(String[] ids);
+    List<CrowdTestProject> getAllCrowdTestProject();
 
-    CrowdTestProject addCrowdTestProject(CrowdTestProject testProject) throws CrowdTestProjectNotExistException;
+    List<CrowdTestProject> getCrowdListByUserId(Long userId);
 
-    boolean removeCrowdTestProject(CrowdTestProject crowdTestProject) throws CrowdTestProjectNotExistException;
+    List<CrowdTestProject> getCrowdListByRegionalManagerId(Long regionalManagerId);
 
-    CrowdTestProject updateCrowdTestProject(CrowdTestProject crowdTestProject) throws CrowdTestProjectNotExistException;
+    CrowdTestProject saveCreateCrowdTestProject(CrowdTestProject crowdTestProject);
 
-    CrowdTestProject updateCrowdTestProjectStatus(Long id, String status) throws CrowdTestProjectNotExistException;
+    boolean saveCrowdTestProjectAndCrowdTestTask(CrowdTestProject crowdTestProject);
+
+//    List<CrowdTestProject> getByIDList(String[] ids);
+//
+//    boolean removeCrowdTestProject(CrowdTestProject crowdTestProject) throws CrowdTestProjectNotExistException;
+//
+//    CrowdTestProject updateCrowdTestProject(CrowdTestProject crowdTestProject) throws CrowdTestProjectNotExistException;
+//
+//    CrowdTestProject updateCrowdTestProjectStatus(Long id, String status) throws CrowdTestProjectNotExistException;
 
 }

+ 25 - 16
core/src/main/java/com/mooctest/crowd/domain/repository/UserRepo.java

@@ -79,11 +79,11 @@ public class UserRepo implements IUserRepo {
             RolePO rolePO = roleDao.findByName(role.getName());
             Role roleConvert = Converter.convert(Role.class, rolePO);
 
-            UserToRole userToRole = new UserToRole();
-            userToRole.setRoleId(roleConvert.getId());
-            userToRole.setUserId(saveResultUser.getId());
-            userToRole.setCreateTime(currentTime);
-            userToRoleDao.save(userToRole);
+            UserToRolePO userToRolePO = new UserToRolePO();
+            userToRolePO.setRoleId(roleConvert.getId());
+            userToRolePO.setUserId(saveResultUser.getId());
+            userToRolePO.setCreateTime(currentTime);
+            userToRoleDao.save(userToRolePO);
 
             Role roleResult = getPermissionByRole(roleConvert);
             roleListResult.add(roleResult);
@@ -104,8 +104,8 @@ public class UserRepo implements IUserRepo {
     public List<User> getByIdList(List<Long> ids) throws RoleNotFoundException {
         Iterable<UserPO> allUserPOById = userDao.findAllById(ids);
         ArrayList<UserPO> userPOArrayList = Lists.newArrayList(allUserPOById);
-        List<User> userListByIds = getUserAndRoleAndPermissionListByUserPOList(userPOArrayList);
-        return userListByIds;
+        List<User> allUserResult = getUserAndRoleAndPermissionListByUserPOList(userPOArrayList);
+        return allUserResult;
     }
 
     @Override
@@ -134,13 +134,18 @@ public class UserRepo implements IUserRepo {
     }
 
 
-    /*通过用户信息获取用户-角色-权限信息*/
+    /**
+     * 通过用户信息获取用户-角色-权限信息
+     * @param userPO
+     * @return
+     * @throws RoleNotFoundException
+     */
     private User getUserAndRoleAndPermissionByUserPO(UserPO userPO) throws RoleNotFoundException {
         User userResult = Converter.convert(User.class, userPO);
-        List<UserToRole> userToRoleList = userToRoleDao.findByUserId(userResult.getId());
+        List<UserToRolePO> userToRolePOList = userToRoleDao.findByUserId(userResult.getId());
         List<Role> roleResultList = new ArrayList<>();
-        for (UserToRole userToRole : userToRoleList) {
-            Optional<RolePO> rolePOOptional = roleDao.findById(userToRole.getRoleId());
+        for (UserToRolePO userToRolePO : userToRolePOList) {
+            Optional<RolePO> rolePOOptional = roleDao.findById(userToRolePO.getRoleId());
             if(rolePOOptional.isPresent()){
                 RolePO rolePO = rolePOOptional.get();
                 // 权限
@@ -154,12 +159,16 @@ public class UserRepo implements IUserRepo {
         return userResult;
     }
 
-    /*通过角色获取角色和权限信息*/
+    /**
+     * 通过角色获取角色和权限信息
+     * @param roleResult
+     * @return
+     */
     private Role getPermissionByRole(Role roleResult) {
         List<Permission> permissionResultList = new ArrayList<>();
-        List<RoleToPermission> roleToPermissionList = roleToPermissionDao.findAllByRoleId(roleResult.getId());
-        for(RoleToPermission roleToPermission : roleToPermissionList){
-            Long permissionId = roleToPermission.getPermissionId();
+        List<RoleToPermissionPO> roleToPermissionPOList = roleToPermissionDao.findAllByRoleId(roleResult.getId());
+        for(RoleToPermissionPO roleToPermissionPO : roleToPermissionPOList){
+            Long permissionId = roleToPermissionPO.getPermissionId();
             Optional<PermissionPO> permissionPOOptional = permissionDao.findById(permissionId);
             if(!permissionPOOptional.isPresent()){
                 throw new PermissionNotFoundException();
@@ -172,7 +181,7 @@ public class UserRepo implements IUserRepo {
         return roleResult;
     }
     
-    /*通过UsePO获取用户-角色-权限信息*/
+    /*通过UsePOList获取用户-角色-权限信息*/
     private List<User> getUserAndRoleAndPermissionListByUserPOList(List<UserPO> userPOList) throws RoleNotFoundException {
         List<User> userList = new ArrayList<>();
         for(UserPO userPO : userPOList){

+ 154 - 154
core/src/test/java/com/mooctest/crowd/domain/domainobject/EvaluationAgencyTest.java

@@ -1,154 +1,154 @@
-package com.mooctest.crowd.domain.domainobject;
-
-import com.mooctest.crowd.domain.command.CrowdTestReportCommand;
-import com.mooctest.crowd.domain.command.CrowdTestTaskCommand;
-import com.mooctest.crowd.domain.exception.CrowdTestProjectNotExistException;
-import com.mooctest.crowd.domain.exception.CrowdTestReportNotExistException;
-import com.mooctest.crowd.domain.exception.CrowdTestTaskNoPriceException;
-import com.mooctest.crowd.domain.exception.CrowdTestTaskNotExistException;
-import com.mooctest.crowd.domain.repository.CrowdTestProjectRepo;
-import org.junit.Test;
-
-import java.util.List;
-
-import static org.junit.Assert.*;
-
-/**
- * @author guochao
- * @date 2019/7/16 10:18
- */
-public class EvaluationAgencyTest {
-    private CrowdTestProject crowdTestProject = new CrowdTestProject();
-    private CrowdTestProjectRepo crowdTestProjectRepo = new CrowdTestProjectRepo();
-    private CrowdTestTaskCommand crowdTestTaskCommand = new CrowdTestTaskCommand();
-    private CrowdTestReportCommand crowdTestReportCommand = new CrowdTestReportCommand();
-    private EvaluationAgency evaluationAgency = new EvaluationAgency();
-    @Test
-    public void should_modify_crowd_test_task_status_when_evaluation_agency_receive_task() throws CrowdTestTaskNotExistException, CrowdTestProjectNotExistException, CrowdTestTaskNoPriceException {
-        // arrange
-        evaluationAgency.setId(4444L);
-        crowdTestTaskCommand.setId(101L);
-        crowdTestTaskCommand.setCrowdTestProjectId(1L);
-        Long projectId = crowdTestTaskCommand.getCrowdTestProjectId();
-        Long taskId = crowdTestTaskCommand.getId();
-        Long evaluationAgencyId = evaluationAgency.getId();
-        // action
-        boolean result = evaluationAgency.updateCrowdTestTaskStatusByEvaluationAgency(projectId, taskId, evaluationAgencyId, CrowdTestTaskStatus.RELEASED);
-        // assert
-        assertTrue(result);
-    }
-
-    @Test
-    public void should_return_true_when_view_crowd_test_task_success() throws CrowdTestProjectNotExistException, CrowdTestTaskNotExistException {
-        // arrange
-        crowdTestTaskCommand.setId(101L);
-        crowdTestTaskCommand.setCrowdTestProjectId(1L);
-        Long projectId = crowdTestTaskCommand.getCrowdTestProjectId();
-        Long taskId = crowdTestTaskCommand.getId();
-        CrowdTestProject crowdTestProject = crowdTestProjectRepo.getByID(projectId);
-        // action
-        CrowdTestTask crowdTestTask = crowdTestProject.getCrowdTestTaskByTaskId(crowdTestProject, taskId);
-        // assert
-        assertEquals(crowdTestTask.getId(), taskId);
-    }
-
-    @Test(expected = CrowdTestTaskNotExistException.class)
-    public void should_throw_when_view_crowd_test_task_not_exist() throws CrowdTestProjectNotExistException, CrowdTestTaskNotExistException {
-        // arrange
-        crowdTestTaskCommand.setId(102L);
-        crowdTestTaskCommand.setCrowdTestProjectId(1L);
-        Long projectId = crowdTestTaskCommand.getCrowdTestProjectId();
-        Long taskId = crowdTestTaskCommand.getId();
-        CrowdTestProject crowdTestProject = crowdTestProjectRepo.getByID(projectId);
-        // action
-        crowdTestProject.getCrowdTestTaskByTaskId(crowdTestProject, taskId);
-    }
-
-    @Test
-    public void should_modify_status_when_commit_crowd_test_report_success() throws CrowdTestTaskNoPriceException, CrowdTestReportNotExistException, CrowdTestProjectNotExistException, CrowdTestTaskNotExistException {
-        // arrange
-        crowdTestReportCommand.setId(1001L);
-        crowdTestReportCommand.setCrowdTestTaskId(101L);
-        crowdTestTaskCommand.setCrowdTestProjectId(1L);
-        Long projectId = crowdTestTaskCommand.getCrowdTestProjectId();
-        Long taskId = crowdTestReportCommand.getCrowdTestTaskId();
-        Long reportId = crowdTestReportCommand.getId();
-        // action
-        CrowdTestProject newCrowdTestProject = crowdTestProject.updateCrowdTestReportStatus(projectId, taskId, reportId, CrowdTestReportStatus.COMMITED);
-        // assert
-        CrowdTestTask crowdTestTask = newCrowdTestProject.getCrowdTestTaskByTaskId(newCrowdTestProject, taskId);
-        CrowdTestReport crowdTestReport = crowdTestTask.getCrowdTestReportByReportId(crowdTestTask, reportId);
-        assertEquals(crowdTestReport.getStatus(), CrowdTestReportStatus.COMMITED);
-    }
-
-    @Test(expected = CrowdTestReportNotExistException.class)
-    public void should_throw_when_commit_crowd_test_report_not_exist() throws CrowdTestTaskNoPriceException, CrowdTestReportNotExistException, CrowdTestProjectNotExistException, CrowdTestTaskNotExistException {
-        // arrange
-        crowdTestReportCommand.setId(1002L);
-        crowdTestReportCommand.setCrowdTestTaskId(101L);
-        crowdTestTaskCommand.setCrowdTestProjectId(1L);
-        Long projectId = crowdTestTaskCommand.getCrowdTestProjectId();
-        Long taskId = crowdTestReportCommand.getCrowdTestTaskId();
-        Long reportId = crowdTestReportCommand.getId();
-        // action
-        crowdTestProject.updateCrowdTestReportStatus(projectId, taskId, reportId, CrowdTestReportStatus.COMMITED);
-    }
-
-    @Test
-    public void should_modify_crowd_test_task_status_commited_when_commit_crowd_test_task() throws CrowdTestProjectNotExistException, CrowdTestTaskNotExistException, CrowdTestTaskNoPriceException, CrowdTestReportNotExistException {
-        // arrange
-        crowdTestTaskCommand.setCrowdTestProjectId(1L);
-        crowdTestTaskCommand.setId(101L);
-        Long projectId = crowdTestTaskCommand.getCrowdTestProjectId();
-        Long taskId = crowdTestTaskCommand.getId();
-        CrowdTestProject newCrowdTestProject = crowdTestProject.updateCrowdTestReportStatus(projectId, taskId, 1001L, CrowdTestReportStatus.COMMITED);
-        // action
-        boolean result = newCrowdTestProject.modifyCrowdTestTaskStatusToCommit(taskId, CrowdTestTaskStatus.COMMITED);
-        // assert
-        assertTrue(result);
-    }
-
-    @Test
-    public void should_throw_when_commit_crowd_test_task_has_no_commit_crowd_test_report() throws CrowdTestProjectNotExistException, CrowdTestTaskNotExistException, CrowdTestTaskNoPriceException, CrowdTestReportNotExistException {
-        // arrange
-        crowdTestTaskCommand.setCrowdTestProjectId(1L);
-        crowdTestTaskCommand.setId(101L);
-        Long projectId = crowdTestTaskCommand.getCrowdTestProjectId();
-        Long taskId = crowdTestTaskCommand.getId();
-        CrowdTestProjectRepo crowdTestProjectRepo = new CrowdTestProjectRepo();
-        CrowdTestProject crowdTestProject = crowdTestProjectRepo.getByID(projectId);
-        // action
-        boolean result = crowdTestProject.modifyCrowdTestTaskStatusToCommit(taskId, CrowdTestTaskStatus.COMMITED);
-        // assert
-        assertFalse(result);
-    }
-
-    @Test
-    public void should_return_true_when_view_crowd_test_project_success() throws CrowdTestProjectNotExistException, CrowdTestTaskNotExistException, CrowdTestTaskNoPriceException, CrowdTestReportNotExistException {
-        // arrange
-        crowdTestReportCommand.setId(1001L);
-        crowdTestReportCommand.setCrowdTestTaskId(101L);
-        crowdTestReportCommand.setCrowdTestProjectId(1L);
-        Long projectId = crowdTestReportCommand.getCrowdTestProjectId();
-        Long taskId = crowdTestReportCommand.getCrowdTestTaskId();
-        Long reportId = crowdTestReportCommand.getId();
-        // action
-        CrowdTestReport crowdTestReport = crowdTestProject.getCrowdTestReportByProjectId(projectId, taskId, reportId);
-        // assert
-        assertEquals(crowdTestReport.getId(), reportId);
-    }
-
-    @Test
-    public void should_return_true_when_view_crowd_test_project_list_success() throws CrowdTestProjectNotExistException, CrowdTestTaskNotExistException, CrowdTestTaskNoPriceException, CrowdTestReportNotExistException {
-        // arrange
-        crowdTestReportCommand.setCrowdTestProjectId(1L);
-        crowdTestReportCommand.setCrowdTestTaskId(101L);
-        Long projectId = crowdTestReportCommand.getCrowdTestProjectId();
-        Long taskId = crowdTestReportCommand.getCrowdTestTaskId();
-        // action
-        List<CrowdTestReport> crowdTestReportList = crowdTestProject.getCrowdTestReportListByProjectId(projectId, taskId);
-        // assert
-
-        assertEquals(crowdTestReportList.get(0).getCrowdTestTaskId(), taskId);
-    }
-}
+//package com.mooctest.crowd.domain.domainobject;
+//
+//import com.mooctest.crowd.domain.command.CrowdTestReportCommand;
+//import com.mooctest.crowd.domain.command.CrowdTestTaskCommand;
+//import com.mooctest.crowd.domain.exception.CrowdTestProjectNotExistException;
+//import com.mooctest.crowd.domain.exception.CrowdTestReportNotExistException;
+//import com.mooctest.crowd.domain.exception.CrowdTestTaskNoPriceException;
+//import com.mooctest.crowd.domain.exception.CrowdTestTaskNotExistException;
+//import com.mooctest.crowd.domain.repository.CrowdTestProjectRepo;
+//import org.junit.Test;
+//
+//import java.util.List;
+//
+//import static org.junit.Assert.*;
+//
+///**
+// * @author guochao
+// * @date 2019/7/16 10:18
+// */
+//public class EvaluationAgencyTest {
+//    private CrowdTestProject crowdTestProject = new CrowdTestProject();
+//    private CrowdTestProjectRepo crowdTestProjectRepo = new CrowdTestProjectRepo();
+//    private CrowdTestTaskCommand crowdTestTaskCommand = new CrowdTestTaskCommand();
+//    private CrowdTestReportCommand crowdTestReportCommand = new CrowdTestReportCommand();
+//    private EvaluationAgency evaluationAgency = new EvaluationAgency();
+//    @Test
+//    public void should_modify_crowd_test_task_status_when_evaluation_agency_receive_task() throws CrowdTestTaskNotExistException, CrowdTestProjectNotExistException, CrowdTestTaskNoPriceException {
+//        // arrange
+//        evaluationAgency.setId(4444L);
+//        crowdTestTaskCommand.setId(101L);
+//        crowdTestTaskCommand.setCrowdTestProjectId(1L);
+//        Long projectId = crowdTestTaskCommand.getCrowdTestProjectId();
+//        Long taskId = crowdTestTaskCommand.getId();
+//        Long evaluationAgencyId = evaluationAgency.getId();
+//        // action
+//        boolean result = evaluationAgency.updateCrowdTestTaskStatusByEvaluationAgency(projectId, taskId, evaluationAgencyId, CrowdTestTaskStatus.RELEASED);
+//        // assert
+//        assertTrue(result);
+//    }
+//
+//    @Test
+//    public void should_return_true_when_view_crowd_test_task_success() throws CrowdTestProjectNotExistException, CrowdTestTaskNotExistException {
+//        // arrange
+//        crowdTestTaskCommand.setId(101L);
+//        crowdTestTaskCommand.setCrowdTestProjectId(1L);
+//        Long projectId = crowdTestTaskCommand.getCrowdTestProjectId();
+//        Long taskId = crowdTestTaskCommand.getId();
+//        CrowdTestProject crowdTestProject = crowdTestProjectRepo.getByID(projectId);
+//        // action
+//        CrowdTestTask crowdTestTask = crowdTestProject.getCrowdTestTaskByTaskId(crowdTestProject, taskId);
+//        // assert
+//        assertEquals(crowdTestTask.getId(), taskId);
+//    }
+//
+//    @Test(expected = CrowdTestTaskNotExistException.class)
+//    public void should_throw_when_view_crowd_test_task_not_exist() throws CrowdTestProjectNotExistException, CrowdTestTaskNotExistException {
+//        // arrange
+//        crowdTestTaskCommand.setId(102L);
+//        crowdTestTaskCommand.setCrowdTestProjectId(1L);
+//        Long projectId = crowdTestTaskCommand.getCrowdTestProjectId();
+//        Long taskId = crowdTestTaskCommand.getId();
+//        CrowdTestProject crowdTestProject = crowdTestProjectRepo.getByID(projectId);
+//        // action
+//        crowdTestProject.getCrowdTestTaskByTaskId(crowdTestProject, taskId);
+//    }
+//
+//    @Test
+//    public void should_modify_status_when_commit_crowd_test_report_success() throws CrowdTestTaskNoPriceException, CrowdTestReportNotExistException, CrowdTestProjectNotExistException, CrowdTestTaskNotExistException {
+//        // arrange
+//        crowdTestReportCommand.setId(1001L);
+//        crowdTestReportCommand.setCrowdTestTaskId(101L);
+//        crowdTestTaskCommand.setCrowdTestProjectId(1L);
+//        Long projectId = crowdTestTaskCommand.getCrowdTestProjectId();
+//        Long taskId = crowdTestReportCommand.getCrowdTestTaskId();
+//        Long reportId = crowdTestReportCommand.getId();
+//        // action
+//        CrowdTestProject newCrowdTestProject = crowdTestProject.updateCrowdTestReportStatus(projectId, taskId, reportId, CrowdTestReportStatus.COMMITED);
+//        // assert
+//        CrowdTestTask crowdTestTask = newCrowdTestProject.getCrowdTestTaskByTaskId(newCrowdTestProject, taskId);
+//        CrowdTestReport crowdTestReport = crowdTestTask.getCrowdTestReportByReportId(crowdTestTask, reportId);
+//        assertEquals(crowdTestReport.getStatus(), CrowdTestReportStatus.COMMITED);
+//    }
+//
+//    @Test(expected = CrowdTestReportNotExistException.class)
+//    public void should_throw_when_commit_crowd_test_report_not_exist() throws CrowdTestTaskNoPriceException, CrowdTestReportNotExistException, CrowdTestProjectNotExistException, CrowdTestTaskNotExistException {
+//        // arrange
+//        crowdTestReportCommand.setId(1002L);
+//        crowdTestReportCommand.setCrowdTestTaskId(101L);
+//        crowdTestTaskCommand.setCrowdTestProjectId(1L);
+//        Long projectId = crowdTestTaskCommand.getCrowdTestProjectId();
+//        Long taskId = crowdTestReportCommand.getCrowdTestTaskId();
+//        Long reportId = crowdTestReportCommand.getId();
+//        // action
+//        crowdTestProject.updateCrowdTestReportStatus(projectId, taskId, reportId, CrowdTestReportStatus.COMMITED);
+//    }
+//
+//    @Test
+//    public void should_modify_crowd_test_task_status_commited_when_commit_crowd_test_task() throws CrowdTestProjectNotExistException, CrowdTestTaskNotExistException, CrowdTestTaskNoPriceException, CrowdTestReportNotExistException {
+//        // arrange
+//        crowdTestTaskCommand.setCrowdTestProjectId(1L);
+//        crowdTestTaskCommand.setId(101L);
+//        Long projectId = crowdTestTaskCommand.getCrowdTestProjectId();
+//        Long taskId = crowdTestTaskCommand.getId();
+//        CrowdTestProject newCrowdTestProject = crowdTestProject.updateCrowdTestReportStatus(projectId, taskId, 1001L, CrowdTestReportStatus.COMMITED);
+//        // action
+//        boolean result = newCrowdTestProject.modifyCrowdTestTaskStatusToCommit(taskId, CrowdTestTaskStatus.COMMITED);
+//        // assert
+//        assertTrue(result);
+//    }
+//
+//    @Test
+//    public void should_throw_when_commit_crowd_test_task_has_no_commit_crowd_test_report() throws CrowdTestProjectNotExistException, CrowdTestTaskNotExistException, CrowdTestTaskNoPriceException, CrowdTestReportNotExistException {
+//        // arrange
+//        crowdTestTaskCommand.setCrowdTestProjectId(1L);
+//        crowdTestTaskCommand.setId(101L);
+//        Long projectId = crowdTestTaskCommand.getCrowdTestProjectId();
+//        Long taskId = crowdTestTaskCommand.getId();
+//        CrowdTestProjectRepo crowdTestProjectRepo = new CrowdTestProjectRepo();
+//        CrowdTestProject crowdTestProject = crowdTestProjectRepo.getByID(projectId);
+//        // action
+//        boolean result = crowdTestProject.modifyCrowdTestTaskStatusToCommit(taskId, CrowdTestTaskStatus.COMMITED);
+//        // assert
+//        assertFalse(result);
+//    }
+//
+//    @Test
+//    public void should_return_true_when_view_crowd_test_project_success() throws CrowdTestProjectNotExistException, CrowdTestTaskNotExistException, CrowdTestTaskNoPriceException, CrowdTestReportNotExistException {
+//        // arrange
+//        crowdTestReportCommand.setId(1001L);
+//        crowdTestReportCommand.setCrowdTestTaskId(101L);
+//        crowdTestReportCommand.setCrowdTestProjectId(1L);
+//        Long projectId = crowdTestReportCommand.getCrowdTestProjectId();
+//        Long taskId = crowdTestReportCommand.getCrowdTestTaskId();
+//        Long reportId = crowdTestReportCommand.getId();
+//        // action
+//        CrowdTestReport crowdTestReport = crowdTestProject.getCrowdTestReportByProjectId(projectId, taskId, reportId);
+//        // assert
+//        assertEquals(crowdTestReport.getId(), reportId);
+//    }
+//
+//    @Test
+//    public void should_return_true_when_view_crowd_test_project_list_success() throws CrowdTestProjectNotExistException, CrowdTestTaskNotExistException, CrowdTestTaskNoPriceException, CrowdTestReportNotExistException {
+//        // arrange
+//        crowdTestReportCommand.setCrowdTestProjectId(1L);
+//        crowdTestReportCommand.setCrowdTestTaskId(101L);
+//        Long projectId = crowdTestReportCommand.getCrowdTestProjectId();
+//        Long taskId = crowdTestReportCommand.getCrowdTestTaskId();
+//        // action
+//        List<CrowdTestReport> crowdTestReportList = crowdTestProject.getCrowdTestReportListByProjectId(projectId, taskId);
+//        // assert
+//
+//        assertEquals(crowdTestReportList.get(0).getCrowdTestTaskId(), taskId);
+//    }
+//}

+ 179 - 189
core/src/test/java/com/mooctest/crowd/domain/domainobject/GeneralUserTest.java

@@ -1,18 +1,8 @@
 package com.mooctest.crowd.domain.domainobject;
 
-import com.mooctest.crowd.domain.command.CrowdTestProjectCommand;
-import com.mooctest.crowd.domain.exception.CrowdTestProjectNotExistException;
-import com.mooctest.crowd.domain.repository.CrowdTestProjectRepo;
-import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.runners.MockitoJUnitRunner;
 
-import java.util.ArrayList;
-import java.util.List;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-
 /**
  * @author guochao
  * @date 2019/7/6 18:17
@@ -43,186 +33,186 @@ public class GeneralUserTest {
 //        when(testProjectRepo.getByID(1L)).thenReturn(testProject);
 //    }
 
-
-    @Test
-    public void should_return_true_when_create_crowd_test_project_success() throws CrowdTestProjectNotExistException {
-        // arrange
-        CrowdTestProjectCommand crowdTestProjectCommand = new CrowdTestProjectCommand();
-        crowdTestProjectCommand.setName("PROJECT_TWO");
-        crowdTestProjectCommand.setDescription("DESCRIPTION");
-        crowdTestProjectCommand.setDistributeId(123L);
-        crowdTestProjectCommand.setStatus(CrowdTestProjectStatus.CREATED);
-        crowdTestProjectCommand.setProjectFile("PROJECTFILE.TXT");
-        crowdTestProjectCommand.setRequirementFile("REQUIREMENT.TXT");
-        crowdTestProjectCommand.setQuotedPrice(200.00);
-
-        CrowdTestProject crowdTestProject2 = new CrowdTestProject();
-        crowdTestProject2.setName(crowdTestProjectCommand.getName());
-        ProjectDistributeType projectDistributeType = new ProjectDistributeType();
-        projectDistributeType.setId(crowdTestProjectCommand.getDistributeId());
-        crowdTestProject2.setProjectDistributeType(projectDistributeType);
-        crowdTestProject2.setDescription(crowdTestProjectCommand.getDescription());
-        crowdTestProject2.setProjectFile(crowdTestProjectCommand.getProjectFile());
-        crowdTestProject2.setRequirementFile(crowdTestProjectCommand.getRequirementFile());
-        crowdTestProject2.setQuotedPrice(crowdTestProjectCommand.getQuotedPrice());
-        crowdTestProject2.setStatus(crowdTestProjectCommand.getStatus());
-        CrowdTestProjectRepo testProjectRepo = new CrowdTestProjectRepo();
-
-        // action
-        CrowdTestProject crowdTestProject = testProjectRepo.addCrowdTestProject(crowdTestProject2);
-
-        // assert
-        assertEquals(crowdTestProject, crowdTestProject2);
-    }
-
-    @Test
-    public void should_return_crowd_test_project_when_view_exist_crowd_test_project() throws CrowdTestProjectNotExistException {
-        // arrange
-        CrowdTestProjectCommand crowdTestProjectCommand = new CrowdTestProjectCommand();
-        crowdTestProjectCommand.setId(1L);
-        crowdTestProjectCommand.setName("PROJECT_ONE");
-//        CrowdTestProject testProject = this.createCrowdTestProject();
-        CrowdTestProjectRepo testProjectRepo = new CrowdTestProjectRepo();
-        // action
-        CrowdTestProject crowdTestProject = testProjectRepo.getByID(crowdTestProjectCommand.getId());
-
-        // assert
-        assertEquals(crowdTestProject.getName(), crowdTestProjectCommand.getName());
-    }
-
-    @Test(expected = CrowdTestProjectNotExistException.class)
-    public void should_throw_when_view__not_exist_crowd_test_project() throws CrowdTestProjectNotExistException {
-        // arrange
-        CrowdTestProjectCommand crowdTestProjectCommand = new CrowdTestProjectCommand();
-        crowdTestProjectCommand.setId(2L);
-        CrowdTestProjectRepo testProjectRepo = new CrowdTestProjectRepo();
-        // action
-        CrowdTestProject crowdTestProject = testProjectRepo.getByID(crowdTestProjectCommand.getId());
-    }
-
-    @Test
-    public void should_return_true_when_remove_crowd_test_project_success() throws CrowdTestProjectNotExistException {
-        // arrange
-        CrowdTestProject crowdTestProject = createCrowdTestProject();
-        CrowdTestProjectRepo testProjectRepo = new CrowdTestProjectRepo();
-
-        // action
-        boolean result = testProjectRepo.removeCrowdTestProject(crowdTestProject);
-
-        // assert
-        assertTrue(result);
-    }
-
-    @Test(expected = CrowdTestProjectNotExistException.class)
-    public void should_throw_when_remove_not_exist_crowd_test_project() throws CrowdTestProjectNotExistException {
-        // arrange
+//
+//    @Test
+//    public void should_return_true_when_create_crowd_test_project_success() throws CrowdTestProjectNotExistException {
+//        // arrange
+//        CrowdTestProjectCommand crowdTestProjectCommand = new CrowdTestProjectCommand();
+//        crowdTestProjectCommand.setName("PROJECT_TWO");
+//        crowdTestProjectCommand.setDescription("DESCRIPTION");
+//        crowdTestProjectCommand.setDistributeId(123L);
+//        crowdTestProjectCommand.setStatus(CrowdTestProjectStatus.CREATED);
+//        crowdTestProjectCommand.setProjectFile("PROJECTFILE.TXT");
+//        crowdTestProjectCommand.setRequirementFile("REQUIREMENT.TXT");
+//        crowdTestProjectCommand.setQuotedPrice(200.00);
+//
+//        CrowdTestProject crowdTestProject2 = new CrowdTestProject();
+//        crowdTestProject2.setName(crowdTestProjectCommand.getName());
+//        ProjectDistributeType projectDistributeType = new ProjectDistributeType();
+//        projectDistributeType.setId(crowdTestProjectCommand.getDistributeId());
+//        crowdTestProject2.setProjectDistributeType(projectDistributeType);
+//        crowdTestProject2.setDescription(crowdTestProjectCommand.getDescription());
+//        crowdTestProject2.setProjectFile(crowdTestProjectCommand.getProjectFile());
+//        crowdTestProject2.setRequirementFile(crowdTestProjectCommand.getRequirementFile());
+//        crowdTestProject2.setQuotedPrice(crowdTestProjectCommand.getQuotedPrice());
+//        crowdTestProject2.setStatus(crowdTestProjectCommand.getStatus());
+//        CrowdTestProjectRepo testProjectRepo = new CrowdTestProjectRepo();
+//
+//        // action
+//        CrowdTestProject crowdTestProject = testProjectRepo.addCrowdTestProject(crowdTestProject2);
+//
+//        // assert
+//        assertEquals(crowdTestProject, crowdTestProject2);
+//    }
+//
+//    @Test
+//    public void should_return_crowd_test_project_when_view_exist_crowd_test_project() throws CrowdTestProjectNotExistException {
+//        // arrange
+//        CrowdTestProjectCommand crowdTestProjectCommand = new CrowdTestProjectCommand();
+//        crowdTestProjectCommand.setId(1L);
+//        crowdTestProjectCommand.setName("PROJECT_ONE");
+////        CrowdTestProject testProject = this.createCrowdTestProject();
+//        CrowdTestProjectRepo testProjectRepo = new CrowdTestProjectRepo();
+//        // action
+//        CrowdTestProject crowdTestProject = testProjectRepo.getByID(crowdTestProjectCommand.getId());
+//
+//        // assert
+//        assertEquals(crowdTestProject.getName(), crowdTestProjectCommand.getName());
+//    }
+//
+//    @Test(expected = CrowdTestProjectNotExistException.class)
+//    public void should_throw_when_view__not_exist_crowd_test_project() throws CrowdTestProjectNotExistException {
+//        // arrange
+//        CrowdTestProjectCommand crowdTestProjectCommand = new CrowdTestProjectCommand();
+//        crowdTestProjectCommand.setId(2L);
+//        CrowdTestProjectRepo testProjectRepo = new CrowdTestProjectRepo();
+//        // action
+//        CrowdTestProject crowdTestProject = testProjectRepo.getByID(crowdTestProjectCommand.getId());
+//    }
+//
+//    @Test
+//    public void should_return_true_when_remove_crowd_test_project_success() throws CrowdTestProjectNotExistException {
+//        // arrange
+//        CrowdTestProject crowdTestProject = createCrowdTestProject();
+//        CrowdTestProjectRepo testProjectRepo = new CrowdTestProjectRepo();
+//
+//        // action
+//        boolean result = testProjectRepo.removeCrowdTestProject(crowdTestProject);
+//
+//        // assert
+//        assertTrue(result);
+//    }
+//
+//    @Test(expected = CrowdTestProjectNotExistException.class)
+//    public void should_throw_when_remove_not_exist_crowd_test_project() throws CrowdTestProjectNotExistException {
+//        // arrange
+////        CrowdTestProject crowdTestProject = new CrowdTestProject();
 //        CrowdTestProject crowdTestProject = new CrowdTestProject();
-        CrowdTestProject crowdTestProject = new CrowdTestProject();
-        crowdTestProject.setId(2L);
-
-        CrowdTestProjectRepo testProjectRepo = new CrowdTestProjectRepo();
-
-        // action
-        boolean result = testProjectRepo.removeCrowdTestProject(crowdTestProject);
-    }
-
-    @Test
-    public void should_return_true_when_update_crowd_test_project_success() throws CrowdTestProjectNotExistException {
-        // arrange
-        CrowdTestProject crowdTestProject = createCrowdTestProject();
-        CrowdTestProjectRepo testProjectRepo = new CrowdTestProjectRepo();
-
-        // action
-        CrowdTestProject updateCrowdTestProject = testProjectRepo.updateCrowdTestProject(crowdTestProject);
-
-        // assert
-        assertEquals(updateCrowdTestProject.getName(), crowdTestProject.getName());
-    }
-
-    @Test(expected = CrowdTestProjectNotExistException.class)
-    public void should_throw_when_update_crowd_test_project_not_exist() throws CrowdTestProjectNotExistException {
-        // arrange
+//        crowdTestProject.setId(2L);
+//
+//        CrowdTestProjectRepo testProjectRepo = new CrowdTestProjectRepo();
+//
+//        // action
+//        boolean result = testProjectRepo.removeCrowdTestProject(crowdTestProject);
+//    }
+//
+//    @Test
+//    public void should_return_true_when_update_crowd_test_project_success() throws CrowdTestProjectNotExistException {
+//        // arrange
+//        CrowdTestProject crowdTestProject = createCrowdTestProject();
+//        CrowdTestProjectRepo testProjectRepo = new CrowdTestProjectRepo();
+//
+//        // action
+//        CrowdTestProject updateCrowdTestProject = testProjectRepo.updateCrowdTestProject(crowdTestProject);
+//
+//        // assert
+//        assertEquals(updateCrowdTestProject.getName(), crowdTestProject.getName());
+//    }
+//
+//    @Test(expected = CrowdTestProjectNotExistException.class)
+//    public void should_throw_when_update_crowd_test_project_not_exist() throws CrowdTestProjectNotExistException {
+//        // arrange
+////        CrowdTestProject crowdTestProject = new CrowdTestProject();
 //        CrowdTestProject crowdTestProject = new CrowdTestProject();
-        CrowdTestProject crowdTestProject = new CrowdTestProject();
-
-        crowdTestProject.setId(2L);
-        CrowdTestProjectRepo testProjectRepo = new CrowdTestProjectRepo();
-
-        // action
-        testProjectRepo.updateCrowdTestProject(crowdTestProject);
-    }
-
-    @Test
-    public void should_return_ture_when_update_crowd_test_project_list_success() throws CrowdTestProjectNotExistException {
-        // arrange
-        List<CrowdTestProject> crowdTestProjects = new ArrayList<CrowdTestProject>();
-        CrowdTestProject crowdTestProject1 = createCrowdTestProject();
-        crowdTestProjects.add(crowdTestProject1);
+//
+//        crowdTestProject.setId(2L);
+//        CrowdTestProjectRepo testProjectRepo = new CrowdTestProjectRepo();
+//
+//        // action
+//        testProjectRepo.updateCrowdTestProject(crowdTestProject);
+//    }
+//
+//    @Test
+//    public void should_return_ture_when_update_crowd_test_project_list_success() throws CrowdTestProjectNotExistException {
+//        // arrange
+//        List<CrowdTestProject> crowdTestProjects = new ArrayList<CrowdTestProject>();
+//        CrowdTestProject crowdTestProject1 = createCrowdTestProject();
+//        crowdTestProjects.add(crowdTestProject1);
+////        CrowdTestProject crowdTestProject = new CrowdTestProject();
 //        CrowdTestProject crowdTestProject = new CrowdTestProject();
-        CrowdTestProject crowdTestProject = new CrowdTestProject();
-        crowdTestProject.setId(2L);
-        crowdTestProject.setName("PROJECT_TWO");
-        crowdTestProject.setDescription("DESCRIPTION");
-        ProjectDistributeType projectDistributeType = new ProjectDistributeType();
-        projectDistributeType.setId(123L);
-        crowdTestProject.setProjectDistributeType(projectDistributeType);
-        crowdTestProject.setProjectFile("PROJECTFILE.TXT");
-        crowdTestProject.setRequirementFile("REQUIREMENT.TXT");
-        crowdTestProject.setQuotedPrice(200.00);
-        crowdTestProject.setStatus(CrowdTestProjectStatus.CREATED);
-        crowdTestProjects.add(crowdTestProject);
-        CrowdTestProjectRepo testProjectRepo = new CrowdTestProjectRepo();
-
-        // action
-        boolean result = testProjectRepo.updateCrowdTestProjectList(crowdTestProjects);
-
-        // assert
-        assertTrue(result);
-    }
-
-    @Test(expected = CrowdTestProjectNotExistException.class)
-    public void should_throw_when_update_crowd_test_project_list_not_exist() throws CrowdTestProjectNotExistException {
-        // arrange
-        List<CrowdTestProject> crowdTestProjects = new ArrayList<CrowdTestProject>();
-        CrowdTestProject crowdTestProject1 = createCrowdTestProject();
-        crowdTestProjects.add(crowdTestProject1);
-        CrowdTestProject crowdTestProject = new CrowdTestProject();
-        crowdTestProject.setId(3L);
-        crowdTestProject.setName("PROJECT_TWO");
-        crowdTestProject.setDescription("DESCRIPTION");
-        crowdTestProject.setProjectFile("PROJECTFILE.TXT");
-        crowdTestProject.setRequirementFile("REQUIREMENT.TXT");
-        crowdTestProject.setQuotedPrice(200.00);
-        crowdTestProjects.add(crowdTestProject);
-        CrowdTestProjectRepo testProjectRepo = new CrowdTestProjectRepo();
-
-        // action
-        boolean result = testProjectRepo.updateCrowdTestProjectList(crowdTestProjects);
-    }
-
-    // 2.4
-    @Test
-    public void should_modify_status_released_when_release_crowd_test_project() {
-        // arrange
-        CrowdTestProject crowdTestProject = this.createCrowdTestProject();
-        // action
-        crowdTestProject.setStatus(CrowdTestProjectStatus.RELEASED);
-        // assert
-        assertEquals(crowdTestProject.getStatus(),"HAS_RELEASED");
-    }
-
-    private CrowdTestProject createCrowdTestProject() {
-        CrowdTestProject crowdTestProject = new CrowdTestProject();
-        crowdTestProject.setId(1L);
-        crowdTestProject.setName("PROJECT_ONE");
-        crowdTestProject.setDescription("DESCRIPTION");
-        ProjectDistributeType projectDistributeType = new ProjectDistributeType();
-        projectDistributeType.setId(123L);
-        crowdTestProject.setProjectDistributeType(projectDistributeType);
-        crowdTestProject.setProjectFile("PROJECTFILE.TXT");
-        crowdTestProject.setRequirementFile("REQUIREMENT.TXT");
-        crowdTestProject.setQuotedPrice(200.00);
-        crowdTestProject.setStatus(CrowdTestProjectStatus.CREATED);
-        return crowdTestProject;
-    }
+//        crowdTestProject.setId(2L);
+//        crowdTestProject.setName("PROJECT_TWO");
+//        crowdTestProject.setDescription("DESCRIPTION");
+//        ProjectDistributeType projectDistributeType = new ProjectDistributeType();
+//        projectDistributeType.setId(123L);
+//        crowdTestProject.setProjectDistributeType(projectDistributeType);
+//        crowdTestProject.setProjectFile("PROJECTFILE.TXT");
+//        crowdTestProject.setRequirementFile("REQUIREMENT.TXT");
+//        crowdTestProject.setQuotedPrice(200.00);
+//        crowdTestProject.setStatus(CrowdTestProjectStatus.CREATED);
+//        crowdTestProjects.add(crowdTestProject);
+//        CrowdTestProjectRepo testProjectRepo = new CrowdTestProjectRepo();
+//
+//        // action
+//        boolean result = testProjectRepo.updateCrowdTestProjectList(crowdTestProjects);
+//
+//        // assert
+//        assertTrue(result);
+//    }
+//
+//    @Test(expected = CrowdTestProjectNotExistException.class)
+//    public void should_throw_when_update_crowd_test_project_list_not_exist() throws CrowdTestProjectNotExistException {
+//        // arrange
+//        List<CrowdTestProject> crowdTestProjects = new ArrayList<CrowdTestProject>();
+//        CrowdTestProject crowdTestProject1 = createCrowdTestProject();
+//        crowdTestProjects.add(crowdTestProject1);
+//        CrowdTestProject crowdTestProject = new CrowdTestProject();
+//        crowdTestProject.setId(3L);
+//        crowdTestProject.setName("PROJECT_TWO");
+//        crowdTestProject.setDescription("DESCRIPTION");
+//        crowdTestProject.setProjectFile("PROJECTFILE.TXT");
+//        crowdTestProject.setRequirementFile("REQUIREMENT.TXT");
+//        crowdTestProject.setQuotedPrice(200.00);
+//        crowdTestProjects.add(crowdTestProject);
+//        CrowdTestProjectRepo testProjectRepo = new CrowdTestProjectRepo();
+//
+//        // action
+//        boolean result = testProjectRepo.updateCrowdTestProjectList(crowdTestProjects);
+//    }
+//
+//    // 2.4
+//    @Test
+//    public void should_modify_status_released_when_release_crowd_test_project() {
+//        // arrange
+//        CrowdTestProject crowdTestProject = this.createCrowdTestProject();
+//        // action
+//        crowdTestProject.setStatus(CrowdTestProjectStatus.RELEASED);
+//        // assert
+//        assertEquals(crowdTestProject.getStatus(),"HAS_RELEASED");
+//    }
+//
+//    private CrowdTestProject createCrowdTestProject() {
+//        CrowdTestProject crowdTestProject = new CrowdTestProject();
+//        crowdTestProject.setId(1L);
+//        crowdTestProject.setName("PROJECT_ONE");
+//        crowdTestProject.setDescription("DESCRIPTION");
+//        ProjectDistributeType projectDistributeType = new ProjectDistributeType();
+//        projectDistributeType.setId(123L);
+//        crowdTestProject.setProjectDistributeType(projectDistributeType);
+//        crowdTestProject.setProjectFile("PROJECTFILE.TXT");
+//        crowdTestProject.setRequirementFile("REQUIREMENT.TXT");
+//        crowdTestProject.setQuotedPrice(200.00);
+//        crowdTestProject.setStatus(CrowdTestProjectStatus.CREATED);
+//        return crowdTestProject;
+//    }
 }

+ 217 - 217
core/src/test/java/com/mooctest/crowd/domain/domainobject/RegionalManagerTest.java

@@ -1,217 +1,217 @@
-package com.mooctest.crowd.domain.domainobject;
-
-import com.mooctest.crowd.domain.command.CrowdTestProjectCommand;
-import com.mooctest.crowd.domain.command.CrowdTestTaskCommand;
-import com.mooctest.crowd.domain.exception.CrowdTestProjectNotExistException;
-import com.mooctest.crowd.domain.exception.CrowdTestTaskNoPriceException;
-import com.mooctest.crowd.domain.exception.CrowdTestTaskNotExistException;
-import com.mooctest.crowd.domain.repository.CrowdTestProjectRepo;
-import org.junit.Test;
-
-import java.util.List;
-
-import static org.junit.Assert.*;
-
-/**
- * @author guochao
- * @date 2019/7/9 14:20
- */
-public class RegionalManagerTest {
-
-    private CrowdTestProject crowdTestProject = new CrowdTestProject();
-    private CrowdTestProjectRepo crowdTestProjectRepo = new CrowdTestProjectRepo();
-    private CrowdTestProjectCommand crowdTestProjectCommand = new CrowdTestProjectCommand();
-    private CrowdTestTaskCommand crowdTestTaskCommand = new CrowdTestTaskCommand();
-    private GeneralUserTest generalUserTest = new GeneralUserTest();
-    private RegionalManager regionalManager = new RegionalManager();
-
-    @Test
-    public void should_modify_status_received_when_receive_crowd_test_project() throws CrowdTestProjectNotExistException {
-        // arrange
-        crowdTestProjectCommand.setId(1L);
-        crowdTestProjectCommand.setStatus(CrowdTestProjectStatus.RECEIVED);
-        // action
-        CrowdTestProject crowdTestProject = crowdTestProjectRepo.updateCrowdTestProjectStatus(crowdTestProjectCommand.getId(), crowdTestProjectCommand.getStatus());
-        // assert
-        assertEquals(crowdTestProject.getStatus(), crowdTestProjectCommand.getStatus());
-    }
-
-    @Test(expected = CrowdTestProjectNotExistException.class)
-    public void should_throw_when_receive_crowd_test_project_not_exist() throws CrowdTestProjectNotExistException {
-        // arrange
-        crowdTestProjectCommand.setId(2L);
-        crowdTestProjectCommand.setStatus(CrowdTestProjectStatus.RECEIVED);
-        // action
-        crowdTestProjectRepo.updateCrowdTestProjectStatus(crowdTestProjectCommand.getId(), crowdTestProjectCommand.getStatus());
-    }
-
-    @Test
-    public void should_return_crowd_test_project_when_general_user_view_exist_crowd_test_project() throws CrowdTestProjectNotExistException {
-        generalUserTest.should_return_crowd_test_project_when_view_exist_crowd_test_project();
-    }
-
-    @Test(expected = CrowdTestProjectNotExistException.class)
-    public void should_throw_when_general_user_view__not_exist_crowd_test_project() throws CrowdTestProjectNotExistException {
-        generalUserTest.should_throw_when_view__not_exist_crowd_test_project();
-    }
-
-    @Test
-    public void should_return_crowd_test_task_list_when_split_crowd_test_project_success() throws CrowdTestProjectNotExistException {
-        // arrange
-        crowdTestProjectCommand.setId(1L);
-        // action
-        List<CrowdTestTask> crowdTestTasks = regionalManager.splitCrowdTestProjectToCrowdTestTaskList(crowdTestProjectCommand.getId());
-        // assert
-        assertNotNull(crowdTestTasks);
-    }
-
-    @Test(expected = CrowdTestProjectNotExistException.class)
-    public void should_throw_when_split_crowd_test_project_not_exist() throws CrowdTestProjectNotExistException {
-        // arrange
-        crowdTestProjectCommand.setId(2L);
-
-        // action
-        regionalManager.splitCrowdTestProjectToCrowdTestTaskList(crowdTestProjectCommand.getId());
-    }
-
-    @Test
-    public void should_return_true_when_make_a_price_for_crowd_test_project_success() throws CrowdTestProjectNotExistException, CrowdTestTaskNotExistException {
-        // arrange
-        crowdTestTaskCommand.setId(101L);
-        crowdTestTaskCommand.setCrowdTestProjectId(1L);
-        crowdTestTaskCommand.setPrice(100.00);
-        Long projectId = crowdTestTaskCommand.getCrowdTestProjectId();
-        Long id = crowdTestTaskCommand.getId();
-        Double price = crowdTestTaskCommand.getPrice();
-        // action
-        CrowdTestProject crowdTestProject = regionalManager.fixedPriceForCrowdTestTask(projectId, id, price);
-        List<CrowdTestTask> crowdTestTaskList = crowdTestProjectRepo.getByID(crowdTestProject.getId()).getCrowdTestTaskList();
-        for (CrowdTestTask crowdTestTask : crowdTestTaskList
-        ) {
-            if (crowdTestTask.getId().equals(id)) {
-                // assert
-                assertEquals(price, crowdTestTask.getPrice());
-            }
-        }
-    }
-
-    @Test(expected = CrowdTestProjectNotExistException.class)
-    public void should_throw_when_make_a_price_for_crowd_test_project_not_exist() throws CrowdTestProjectNotExistException, CrowdTestTaskNotExistException {
-        // arrange
-        crowdTestTaskCommand.setId(101L);
-        crowdTestTaskCommand.setCrowdTestProjectId(2L);
-        crowdTestTaskCommand.setPrice(100.00);
-        Long projectId = crowdTestTaskCommand.getCrowdTestProjectId();
-        Long id = crowdTestTaskCommand.getId();
-        Double price = crowdTestTaskCommand.getPrice();
-        // action
-        regionalManager.fixedPriceForCrowdTestTask(projectId, id, price);
-    }
-
-    @Test(expected = CrowdTestTaskNotExistException.class)
-    public void should_throw_when_make_a_price_for_crowd_test_task_not_exist() throws CrowdTestProjectNotExistException, CrowdTestTaskNotExistException {
-        // arrange
-        crowdTestTaskCommand.setId(103L);
-        crowdTestTaskCommand.setCrowdTestProjectId(1L);
-        crowdTestTaskCommand.setPrice(100.00);
-        Long projectId = crowdTestTaskCommand.getCrowdTestProjectId();
-        Long id = crowdTestTaskCommand.getId();
-        Double price = crowdTestTaskCommand.getPrice();
-        // action
-        regionalManager.fixedPriceForCrowdTestTask(projectId, id, price);
-    }
-
-    @Test
-    public void should_return_true_when_distribute_crowd_test_task_to_evaluation_agency_success() throws CrowdTestProjectNotExistException, CrowdTestTaskNotExistException, CrowdTestTaskNoPriceException {
-        // arrange
-        crowdTestTaskCommand.setId(101L);
-        crowdTestTaskCommand.setCrowdTestProjectId(1L);
-        crowdTestTaskCommand.setStatus(CrowdTestTaskStatus.RELEASED);
-        Long projectId = crowdTestTaskCommand.getCrowdTestProjectId();
-        Long taskId = crowdTestTaskCommand.getId();
-        String status = crowdTestProjectCommand.getStatus();
-        // action
-        boolean result = crowdTestProject.updateCrowdTestTaskStatus(projectId, taskId, status);
-
-        // assert
-        assertTrue(result);
-    }
-
-    @Test(expected = CrowdTestProjectNotExistException.class)
-    public void should_throw_when_distribute_crowd_test_task_crowd_test_project_not_exist() throws CrowdTestProjectNotExistException, CrowdTestTaskNotExistException, CrowdTestTaskNoPriceException {
-        // arrange
-        crowdTestTaskCommand.setId(101L);
-        crowdTestTaskCommand.setCrowdTestProjectId(2L);
-        crowdTestTaskCommand.setStatus(CrowdTestTaskStatus.RELEASED);
-        Long projectId = crowdTestTaskCommand.getCrowdTestProjectId();
-        Long taskId = crowdTestTaskCommand.getId();
-        String status = crowdTestProjectCommand.getStatus();
-        // action
-        crowdTestProject.updateCrowdTestTaskStatus(projectId, taskId, status);
-    }
-
-    @Test(expected = CrowdTestTaskNotExistException.class)
-    public void should_throw_when_distribute_crowd_test_task_crowd_test_task_not_exist() throws CrowdTestProjectNotExistException, CrowdTestTaskNotExistException, CrowdTestTaskNoPriceException {
-        // arrange
-        crowdTestTaskCommand.setId(103L);
-        crowdTestTaskCommand.setCrowdTestProjectId(1L);
-        crowdTestTaskCommand.setStatus(CrowdTestTaskStatus.RELEASED);
-        Long projectId = crowdTestTaskCommand.getCrowdTestProjectId();
-        Long taskId = crowdTestTaskCommand.getId();
-        String status = crowdTestProjectCommand.getStatus();
-        // action
-        crowdTestProject.updateCrowdTestTaskStatus(projectId, taskId, status);
-    }
-
-    @Test(expected = CrowdTestTaskNoPriceException.class)
-    public void should_throw_when_distribute_crowd_test_task_price_not_exist() throws CrowdTestProjectNotExistException, CrowdTestTaskNotExistException, CrowdTestTaskNoPriceException {
-        // arrange
-        crowdTestTaskCommand.setId(101L);
-        crowdTestTaskCommand.setCrowdTestProjectId(1L);
-        crowdTestTaskCommand.setStatus(CrowdTestTaskStatus.RELEASED);
-        Long projectId = crowdTestTaskCommand.getCrowdTestProjectId();
-        Long taskId = crowdTestTaskCommand.getId();
-        String status = crowdTestProjectCommand.getStatus();
-        // action
-        crowdTestProject.updateCrowdTestTaskStatusNoPrice(projectId, taskId, status);
-    }
-
-    @Test
-    public void should_modify_all_task_status_finished_when_aggregation_task() throws CrowdTestProjectNotExistException {
-        // arrange
-        crowdTestProjectCommand.setId(1L);
-        Long projectId = crowdTestProjectCommand.getId();
-        // action
-        List<CrowdTestTask> crowdTestTaskList = crowdTestProject.updateCrowdTestTaskListStatus(projectId, CrowdTestTaskStatus.FINISHED);
-        // assert
-        boolean result = true;
-        for (CrowdTestTask crowdTestTask : crowdTestTaskList) {
-            if (crowdTestTask.getStatus().equals("HAS_FINISHED")){
-                continue;
-            }else{
-                result = false;
-            }
-        }
-        assertTrue(result);
-    }
-
-    @Test
-    public void should_modify_project_status_finished_when_submit_crowd_test_project_success() throws CrowdTestProjectNotExistException {
-        // arrange
-        crowdTestProjectCommand.setId(1L);
-        crowdTestProjectCommand.setStatus(CrowdTestProjectStatus.FINISHED);
-        // action
-        CrowdTestProject crowdTestProject = crowdTestProjectRepo.updateCrowdTestProjectStatus(crowdTestProjectCommand.getId(), crowdTestProjectCommand.getStatus());
-        // assert
-        assertEquals(crowdTestProject.getStatus(), crowdTestProjectCommand.getStatus());
-    }
-
-    @Test(expected = CrowdTestProjectNotExistException.class)
-    public void should_throw_when_submit_crowd_test_project_not_exist() throws CrowdTestProjectNotExistException {
-        // arrange
-        crowdTestProjectCommand.setId(2L);
-        crowdTestProjectCommand.setStatus(CrowdTestProjectStatus.FINISHED);
-        // action
-        crowdTestProjectRepo.updateCrowdTestProjectStatus(crowdTestProjectCommand.getId(), crowdTestProjectCommand.getStatus());
-    }
-}
+//package com.mooctest.crowd.domain.domainobject;
+//
+//import com.mooctest.crowd.domain.command.CrowdTestProjectCommand;
+//import com.mooctest.crowd.domain.command.CrowdTestTaskCommand;
+//import com.mooctest.crowd.domain.exception.CrowdTestProjectNotExistException;
+//import com.mooctest.crowd.domain.exception.CrowdTestTaskNoPriceException;
+//import com.mooctest.crowd.domain.exception.CrowdTestTaskNotExistException;
+//import com.mooctest.crowd.domain.repository.CrowdTestProjectRepo;
+//import org.junit.Test;
+//
+//import java.util.List;
+//
+//import static org.junit.Assert.*;
+//
+///**
+// * @author guochao
+// * @date 2019/7/9 14:20
+// */
+//public class RegionalManagerTest {
+//
+//    private CrowdTestProject crowdTestProject = new CrowdTestProject();
+//    private CrowdTestProjectRepo crowdTestProjectRepo = new CrowdTestProjectRepo();
+//    private CrowdTestProjectCommand crowdTestProjectCommand = new CrowdTestProjectCommand();
+//    private CrowdTestTaskCommand crowdTestTaskCommand = new CrowdTestTaskCommand();
+//    private GeneralUserTest generalUserTest = new GeneralUserTest();
+//    private RegionalManager regionalManager = new RegionalManager();
+//
+//    @Test
+//    public void should_modify_status_received_when_receive_crowd_test_project() throws CrowdTestProjectNotExistException {
+//        // arrange
+//        crowdTestProjectCommand.setId(1L);
+//        crowdTestProjectCommand.setStatus(CrowdTestProjectStatus.RECEIVED);
+//        // action
+//        CrowdTestProject crowdTestProject = crowdTestProjectRepo.updateCrowdTestProjectStatus(crowdTestProjectCommand.getId(), crowdTestProjectCommand.getStatus());
+//        // assert
+//        assertEquals(crowdTestProject.getStatus(), crowdTestProjectCommand.getStatus());
+//    }
+//
+//    @Test(expected = CrowdTestProjectNotExistException.class)
+//    public void should_throw_when_receive_crowd_test_project_not_exist() throws CrowdTestProjectNotExistException {
+//        // arrange
+//        crowdTestProjectCommand.setId(2L);
+//        crowdTestProjectCommand.setStatus(CrowdTestProjectStatus.RECEIVED);
+//        // action
+//        crowdTestProjectRepo.updateCrowdTestProjectStatus(crowdTestProjectCommand.getId(), crowdTestProjectCommand.getStatus());
+//    }
+//
+//    @Test
+//    public void should_return_crowd_test_project_when_general_user_view_exist_crowd_test_project() throws CrowdTestProjectNotExistException {
+//        generalUserTest.should_return_crowd_test_project_when_view_exist_crowd_test_project();
+//    }
+//
+//    @Test(expected = CrowdTestProjectNotExistException.class)
+//    public void should_throw_when_general_user_view__not_exist_crowd_test_project() throws CrowdTestProjectNotExistException {
+//        generalUserTest.should_throw_when_view__not_exist_crowd_test_project();
+//    }
+//
+//    @Test
+//    public void should_return_crowd_test_task_list_when_split_crowd_test_project_success() throws CrowdTestProjectNotExistException {
+//        // arrange
+//        crowdTestProjectCommand.setId(1L);
+//        // action
+//        List<CrowdTestTask> crowdTestTasks = regionalManager.splitCrowdTestProjectToCrowdTestTaskList(crowdTestProjectCommand.getId());
+//        // assert
+//        assertNotNull(crowdTestTasks);
+//    }
+//
+//    @Test(expected = CrowdTestProjectNotExistException.class)
+//    public void should_throw_when_split_crowd_test_project_not_exist() throws CrowdTestProjectNotExistException {
+//        // arrange
+//        crowdTestProjectCommand.setId(2L);
+//
+//        // action
+//        regionalManager.splitCrowdTestProjectToCrowdTestTaskList(crowdTestProjectCommand.getId());
+//    }
+//
+//    @Test
+//    public void should_return_true_when_make_a_price_for_crowd_test_project_success() throws CrowdTestProjectNotExistException, CrowdTestTaskNotExistException {
+//        // arrange
+//        crowdTestTaskCommand.setId(101L);
+//        crowdTestTaskCommand.setCrowdTestProjectId(1L);
+//        crowdTestTaskCommand.setPrice(100.00);
+//        Long projectId = crowdTestTaskCommand.getCrowdTestProjectId();
+//        Long id = crowdTestTaskCommand.getId();
+//        Double price = crowdTestTaskCommand.getPrice();
+//        // action
+//        CrowdTestProject crowdTestProject = regionalManager.fixedPriceForCrowdTestTask(projectId, id, price);
+//        List<CrowdTestTask> crowdTestTaskList = crowdTestProjectRepo.getByID(crowdTestProject.getId()).getCrowdTestTaskList();
+//        for (CrowdTestTask crowdTestTask : crowdTestTaskList
+//        ) {
+//            if (crowdTestTask.getId().equals(id)) {
+//                // assert
+//                assertEquals(price, crowdTestTask.getPrice());
+//            }
+//        }
+//    }
+//
+//    @Test(expected = CrowdTestProjectNotExistException.class)
+//    public void should_throw_when_make_a_price_for_crowd_test_project_not_exist() throws CrowdTestProjectNotExistException, CrowdTestTaskNotExistException {
+//        // arrange
+//        crowdTestTaskCommand.setId(101L);
+//        crowdTestTaskCommand.setCrowdTestProjectId(2L);
+//        crowdTestTaskCommand.setPrice(100.00);
+//        Long projectId = crowdTestTaskCommand.getCrowdTestProjectId();
+//        Long id = crowdTestTaskCommand.getId();
+//        Double price = crowdTestTaskCommand.getPrice();
+//        // action
+//        regionalManager.fixedPriceForCrowdTestTask(projectId, id, price);
+//    }
+//
+//    @Test(expected = CrowdTestTaskNotExistException.class)
+//    public void should_throw_when_make_a_price_for_crowd_test_task_not_exist() throws CrowdTestProjectNotExistException, CrowdTestTaskNotExistException {
+//        // arrange
+//        crowdTestTaskCommand.setId(103L);
+//        crowdTestTaskCommand.setCrowdTestProjectId(1L);
+//        crowdTestTaskCommand.setPrice(100.00);
+//        Long projectId = crowdTestTaskCommand.getCrowdTestProjectId();
+//        Long id = crowdTestTaskCommand.getId();
+//        Double price = crowdTestTaskCommand.getPrice();
+//        // action
+//        regionalManager.fixedPriceForCrowdTestTask(projectId, id, price);
+//    }
+//
+//    @Test
+//    public void should_return_true_when_distribute_crowd_test_task_to_evaluation_agency_success() throws CrowdTestProjectNotExistException, CrowdTestTaskNotExistException, CrowdTestTaskNoPriceException {
+//        // arrange
+//        crowdTestTaskCommand.setId(101L);
+//        crowdTestTaskCommand.setCrowdTestProjectId(1L);
+//        crowdTestTaskCommand.setStatus(CrowdTestTaskStatus.RELEASED);
+//        Long projectId = crowdTestTaskCommand.getCrowdTestProjectId();
+//        Long taskId = crowdTestTaskCommand.getId();
+//        String status = crowdTestProjectCommand.getStatus();
+//        // action
+//        boolean result = crowdTestProject.updateCrowdTestTaskStatus(projectId, taskId, status);
+//
+//        // assert
+//        assertTrue(result);
+//    }
+//
+//    @Test(expected = CrowdTestProjectNotExistException.class)
+//    public void should_throw_when_distribute_crowd_test_task_crowd_test_project_not_exist() throws CrowdTestProjectNotExistException, CrowdTestTaskNotExistException, CrowdTestTaskNoPriceException {
+//        // arrange
+//        crowdTestTaskCommand.setId(101L);
+//        crowdTestTaskCommand.setCrowdTestProjectId(2L);
+//        crowdTestTaskCommand.setStatus(CrowdTestTaskStatus.RELEASED);
+//        Long projectId = crowdTestTaskCommand.getCrowdTestProjectId();
+//        Long taskId = crowdTestTaskCommand.getId();
+//        String status = crowdTestProjectCommand.getStatus();
+//        // action
+//        crowdTestProject.updateCrowdTestTaskStatus(projectId, taskId, status);
+//    }
+//
+//    @Test(expected = CrowdTestTaskNotExistException.class)
+//    public void should_throw_when_distribute_crowd_test_task_crowd_test_task_not_exist() throws CrowdTestProjectNotExistException, CrowdTestTaskNotExistException, CrowdTestTaskNoPriceException {
+//        // arrange
+//        crowdTestTaskCommand.setId(103L);
+//        crowdTestTaskCommand.setCrowdTestProjectId(1L);
+//        crowdTestTaskCommand.setStatus(CrowdTestTaskStatus.RELEASED);
+//        Long projectId = crowdTestTaskCommand.getCrowdTestProjectId();
+//        Long taskId = crowdTestTaskCommand.getId();
+//        String status = crowdTestProjectCommand.getStatus();
+//        // action
+//        crowdTestProject.updateCrowdTestTaskStatus(projectId, taskId, status);
+//    }
+//
+//    @Test(expected = CrowdTestTaskNoPriceException.class)
+//    public void should_throw_when_distribute_crowd_test_task_price_not_exist() throws CrowdTestProjectNotExistException, CrowdTestTaskNotExistException, CrowdTestTaskNoPriceException {
+//        // arrange
+//        crowdTestTaskCommand.setId(101L);
+//        crowdTestTaskCommand.setCrowdTestProjectId(1L);
+//        crowdTestTaskCommand.setStatus(CrowdTestTaskStatus.RELEASED);
+//        Long projectId = crowdTestTaskCommand.getCrowdTestProjectId();
+//        Long taskId = crowdTestTaskCommand.getId();
+//        String status = crowdTestProjectCommand.getStatus();
+//        // action
+//        crowdTestProject.updateCrowdTestTaskStatusNoPrice(projectId, taskId, status);
+//    }
+//
+//    @Test
+//    public void should_modify_all_task_status_finished_when_aggregation_task() throws CrowdTestProjectNotExistException {
+//        // arrange
+//        crowdTestProjectCommand.setId(1L);
+//        Long projectId = crowdTestProjectCommand.getId();
+//        // action
+//        List<CrowdTestTask> crowdTestTaskList = crowdTestProject.updateCrowdTestTaskListStatus(projectId, CrowdTestTaskStatus.FINISHED);
+//        // assert
+//        boolean result = true;
+//        for (CrowdTestTask crowdTestTask : crowdTestTaskList) {
+//            if (crowdTestTask.getStatus().equals("HAS_FINISHED")){
+//                continue;
+//            }else{
+//                result = false;
+//            }
+//        }
+//        assertTrue(result);
+//    }
+//
+//    @Test
+//    public void should_modify_project_status_finished_when_submit_crowd_test_project_success() throws CrowdTestProjectNotExistException {
+//        // arrange
+//        crowdTestProjectCommand.setId(1L);
+//        crowdTestProjectCommand.setStatus(CrowdTestProjectStatus.FINISHED);
+//        // action
+//        CrowdTestProject crowdTestProject = crowdTestProjectRepo.updateCrowdTestProjectStatus(crowdTestProjectCommand.getId(), crowdTestProjectCommand.getStatus());
+//        // assert
+//        assertEquals(crowdTestProject.getStatus(), crowdTestProjectCommand.getStatus());
+//    }
+//
+//    @Test(expected = CrowdTestProjectNotExistException.class)
+//    public void should_throw_when_submit_crowd_test_project_not_exist() throws CrowdTestProjectNotExistException {
+//        // arrange
+//        crowdTestProjectCommand.setId(2L);
+//        crowdTestProjectCommand.setStatus(CrowdTestProjectStatus.FINISHED);
+//        // action
+//        crowdTestProjectRepo.updateCrowdTestProjectStatus(crowdTestProjectCommand.getId(), crowdTestProjectCommand.getStatus());
+//    }
+//}

+ 27 - 27
core/src/test/java/com/mooctest/crowd/domain/domainobject/SystemAdministratorTest.java

@@ -1,27 +1,27 @@
-package com.mooctest.crowd.domain.domainobject;
-
-import com.mooctest.crowd.domain.command.CrowdTestProjectCommand;
-import com.mooctest.crowd.domain.exception.CrowdTestProjectNotExistException;
-import com.mooctest.crowd.domain.repository.CrowdTestProjectRepo;
-import org.junit.Test;
-
-import static org.junit.Assert.assertEquals;
-
-/**
- * @author guochao
- * @date 2019/7/16 16:12
- */
-public class SystemAdministratorTest {
-    private CrowdTestProjectRepo crowdTestProjectRepo = new CrowdTestProjectRepo();
-    private CrowdTestProject crowdTestProject = new CrowdTestProject();
-    private CrowdTestProjectCommand crowdTestProjectCommand = new CrowdTestProjectCommand();
-    @Test
-    public void should_modify_crowd_test_project_status_when_finished_crowd_test_project() throws CrowdTestProjectNotExistException {
-        // arrange
-        crowdTestProjectCommand.setId(1L);
-        // action
-        CrowdTestProject crowdTestProject = this.crowdTestProject.updateCrowdTestProjectStatusToFinish(crowdTestProjectCommand.getId(), CrowdTestProjectStatus.FINISHED);
-        // assert
-        assertEquals(crowdTestProject.getStatus(), CrowdTestProjectStatus.FINISHED);
-    }
-}
+//package com.mooctest.crowd.domain.domainobject;
+//
+//import com.mooctest.crowd.domain.command.CrowdTestProjectCommand;
+//import com.mooctest.crowd.domain.exception.CrowdTestProjectNotExistException;
+//import com.mooctest.crowd.domain.repository.CrowdTestProjectRepo;
+//import org.junit.Test;
+//
+//import static org.junit.Assert.assertEquals;
+//
+///**
+// * @author guochao
+// * @date 2019/7/16 16:12
+// */
+//public class SystemAdministratorTest {
+//    private CrowdTestProjectRepo crowdTestProjectRepo = new CrowdTestProjectRepo();
+//    private CrowdTestProject crowdTestProject = new CrowdTestProject();
+//    private CrowdTestProjectCommand crowdTestProjectCommand = new CrowdTestProjectCommand();
+//    @Test
+//    public void should_modify_crowd_test_project_status_when_finished_crowd_test_project() throws CrowdTestProjectNotExistException {
+//        // arrange
+//        crowdTestProjectCommand.setId(1L);
+//        // action
+//        CrowdTestProject crowdTestProject = this.crowdTestProject.updateCrowdTestProjectStatusToFinish(crowdTestProjectCommand.getId(), CrowdTestProjectStatus.FINISHED);
+//        // assert
+//        assertEquals(crowdTestProject.getStatus(), CrowdTestProjectStatus.FINISHED);
+//    }
+//}

+ 39 - 39
core/src/test/java/com/mooctest/crowd/domain/domainobject/UserTest.java

@@ -1,40 +1,40 @@
-package com.mooctest.crowd.domain.domainobject;
-
-import com.mooctest.crowd.domain.command.LoginCommand;
-import com.mooctest.crowd.domain.repository.UserRepo;
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.rules.ExpectedException;
-import org.junit.runner.RunWith;
-import org.mockito.InjectMocks;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-import org.mockito.runners.MockitoJUnitRunner;
-
-@RunWith(MockitoJUnitRunner.class)
-public class UserTest {
-    @InjectMocks
-    private User user = new User();
-
-    @Mock
-    private UserRepo userRepo;
-
-    private LoginCommand loginCommand = new LoginCommand();
-
-    @Rule
-    public ExpectedException thrown = ExpectedException.none();
-
-    @Before
-    public void setUp(){
-        MockitoAnnotations.initMocks(this);
-
-        loginCommand.setMobileNum("13657094936");
-        loginCommand.setPassword("123456");
-
-        user.setMobile("13657094936");
-        user.setPassword("4QrcOUm6Wau+VuBX8g+IPg==");
-
-    }
+//package com.mooctest.crowd.domain.domainobject;
+//
+//import com.mooctest.crowd.domain.command.LoginCommand;
+//import com.mooctest.crowd.domain.repository.UserRepo;
+//import org.junit.Before;
+//import org.junit.Rule;
+//import org.junit.rules.ExpectedException;
+//import org.junit.runner.RunWith;
+//import org.mockito.InjectMocks;
+//import org.mockito.Mock;
+//import org.mockito.MockitoAnnotations;
+//import org.mockito.runners.MockitoJUnitRunner;
+//
+//@RunWith(MockitoJUnitRunner.class)
+//public class UserTest {
+//    @InjectMocks
+//    private User user = new User();
+//
+//    @Mock
+//    private UserRepo userRepo;
+//
+//    private LoginCommand loginCommand = new LoginCommand();
+//
+//    @Rule
+//    public ExpectedException thrown = ExpectedException.none();
+//
+//    @Before
+//    public void setUp(){
+//        MockitoAnnotations.initMocks(this);
+//
+//        loginCommand.setMobileNum("13657094936");
+//        loginCommand.setPassword("123456");
+//
+//        user.setMobile("13657094936");
+//        user.setPassword("4QrcOUm6Wau+VuBX8g+IPg==");
+//
+//    }
 //
 //    @Test
 //    public void should_return_true_when_login_success() throws PasswordErrorException, UserNotExistException {
@@ -229,5 +229,5 @@ public class UserTest {
 //        account.setPassword(accountCommand.getPassword());
 //        return account;
 //    }
-
-}
+//
+//}

+ 87 - 87
core/src/test/java/com/mooctest/crowd/domain/domainservice/RegisterDServiceTest.java

@@ -1,69 +1,23 @@
-package com.mooctest.crowd.domain.domainservice;
-
-import com.mooctest.crowd.domain.command.RegisterCommand;
-import com.mooctest.crowd.domain.domainobject.User;
-import com.mooctest.crowd.domain.repository.UserRepo;
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.rules.ExpectedException;
-import org.junit.runner.RunWith;
-import org.mockito.InjectMocks;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-import org.mockito.runners.MockitoJUnitRunner;
-
-/**
- * @Author: xuexb
- * @Date: 2019.7.5 14:09
- */
-@RunWith(MockitoJUnitRunner.class)
-public class RegisterDServiceTest {
-    @InjectMocks
-    private RegisterDService registerDService = new RegisterDService();
-
-    @Mock
-    private UserRepo userRepo;
-
-    private User user =  new User();
-
-    private RegisterCommand registerCommand = new RegisterCommand();
-
-    @Rule
-    public ExpectedException thrown = ExpectedException.none();
-
-    @Before
-    public void setUp(){
-        MockitoAnnotations.initMocks(this);
-
-        registerCommand.setMobileNum("13657094936");
-        registerCommand.setPassword("123456");
-
-        user.setMobile("13657094936");
-        user.setPassword("123456");
-
-    }
-
-
-//    @Test
-//    public void should_register_success_when_user_register_by_mobile_num() throws AccountNotExistException, UserNotExistException {
-//
-//        // action
-//        when(userRepo.getByMobileNum("13657094936")).thenReturn(null);
-//        when(userRepo.save(any(User.class))).thenReturn(user);
-//        User registerUser = registerDService.register(registerCommand.getMobileNum(), registerCommand.getPassword());
-//
-//        // assert
-//        assertNotNull(registerUser);
-//
-//    }
-//    @Test
-//    public void should_thow_exception_when_mobile_num_exist() throws AccountNotExistException, UserNotExistException {
-//
-//        when(userRepo.getByMobileNum("18652040322")).thenReturn(user);
-//        thrown.expect(HttpBadRequestException.class);
-//        registerCommand.setMobileNum("18652040322");
-//        registerDService.register(registerCommand.getMobileNum(),registerCommand.getPassword());
-//    }
+//package com.mooctest.crowd.domain.domainservice;
+//
+//import com.mooctest.crowd.domain.command.RegisterCommand;
+//import com.mooctest.crowd.domain.domainobject.User;
+//import com.mooctest.crowd.domain.repository.UserRepo;
+//import org.junit.Before;
+//import org.junit.Rule;
+//import org.junit.rules.ExpectedException;
+//import org.junit.runner.RunWith;
+//import org.mockito.InjectMocks;
+//import org.mockito.Mock;
+//import org.mockito.MockitoAnnotations;
+//import org.mockito.runners.MockitoJUnitRunner;
+//
+///**
+// * @Author: xuexb
+// * @Date: 2019.7.5 14:09
+// */
+//@RunWith(MockitoJUnitRunner.class)
+//public class RegisterDServiceTest {
 //    @InjectMocks
 //    private RegisterDService registerDService = new RegisterDService();
 //
@@ -90,24 +44,70 @@ public class RegisterDServiceTest {
 //    }
 //
 //
-//    @Test
-//    public void should_register_success_when_user_register_by_mobile_num() throws AccountNotExistException, UserNotExistException {
-//
-//        // action
-//        when(userRepo.getByMobileNum("13657094936")).thenReturn(null);
-//        when(userRepo.save(any(User.class))).thenReturn(user);
-//        User registerUser = registerDService.register(registerCommand.getMobileNum(), registerCommand.getPassword());
-//
-//        // assert
-//        assertNotNull(registerUser);
-//
-//    }
-//    @Test
-//    public void should_thow_exception_when_mobile_num_exist() throws AccountNotExistException, UserNotExistException {
-//
-//        when(userRepo.getByMobileNum("18652040322")).thenReturn(user);
-//        thrown.expect(HttpBadRequestException.class);
-//        registerCommand.setMobileNum("18652040322");
-//        registerDService.register(registerCommand.getMobileNum(),registerCommand.getPassword());
-//    }
-}
+////    @Test
+////    public void should_register_success_when_user_register_by_mobile_num() throws AccountNotExistException, UserNotExistException {
+////
+////        // action
+////        when(userRepo.getByMobileNum("13657094936")).thenReturn(null);
+////        when(userRepo.save(any(User.class))).thenReturn(user);
+////        User registerUser = registerDService.register(registerCommand.getMobileNum(), registerCommand.getPassword());
+////
+////        // assert
+////        assertNotNull(registerUser);
+////
+////    }
+////    @Test
+////    public void should_thow_exception_when_mobile_num_exist() throws AccountNotExistException, UserNotExistException {
+////
+////        when(userRepo.getByMobileNum("18652040322")).thenReturn(user);
+////        thrown.expect(HttpBadRequestException.class);
+////        registerCommand.setMobileNum("18652040322");
+////        registerDService.register(registerCommand.getMobileNum(),registerCommand.getPassword());
+////    }
+////    @InjectMocks
+////    private RegisterDService registerDService = new RegisterDService();
+////
+////    @Mock
+////    private UserRepo userRepo;
+////
+////    private User user =  new User();
+////
+////    private RegisterCommand registerCommand = new RegisterCommand();
+////
+////    @Rule
+////    public ExpectedException thrown = ExpectedException.none();
+////
+////    @Before
+////    public void setUp(){
+////        MockitoAnnotations.initMocks(this);
+////
+////        registerCommand.setMobileNum("13657094936");
+////        registerCommand.setPassword("123456");
+////
+////        user.setMobile("13657094936");
+////        user.setPassword("123456");
+////
+////    }
+////
+////
+////    @Test
+////    public void should_register_success_when_user_register_by_mobile_num() throws AccountNotExistException, UserNotExistException {
+////
+////        // action
+////        when(userRepo.getByMobileNum("13657094936")).thenReturn(null);
+////        when(userRepo.save(any(User.class))).thenReturn(user);
+////        User registerUser = registerDService.register(registerCommand.getMobileNum(), registerCommand.getPassword());
+////
+////        // assert
+////        assertNotNull(registerUser);
+////
+////    }
+////    @Test
+////    public void should_thow_exception_when_mobile_num_exist() throws AccountNotExistException, UserNotExistException {
+////
+////        when(userRepo.getByMobileNum("18652040322")).thenReturn(user);
+////        thrown.expect(HttpBadRequestException.class);
+////        registerCommand.setMobileNum("18652040322");
+////        registerDService.register(registerCommand.getMobileNum(),registerCommand.getPassword());
+////    }
+//}

+ 74 - 74
core/src/test/java/com/mooctest/crowd/domain/repository/AccountUTRepoTest.java

@@ -1,74 +1,74 @@
-package com.mooctest.crowd.domain.repository;
-
-import com.mooctest.crowd.domain.dao.UserDao;
-import com.mooctest.crowd.domain.domainobject.User;
-import com.mooctest.crowd.domain.exception.AccountNotExistException;
-import com.mooctest.crowd.domain.model.UserPO;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.InjectMocks;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-import org.mockito.runners.MockitoJUnitRunner;
-
-import static org.junit.Assert.assertEquals;
-import static org.mockito.Mockito.when;
-
-@RunWith(MockitoJUnitRunner.class)
-public class AccountUTRepoTest {
-
-    @InjectMocks
-    private AccountUTRepo accountUTRepo = new AccountUTRepo();
-
-    @Mock
-    private UserDao userDao;
-
-    private UserPO userPO =  new UserPO();
-
-    private User user =  new User();
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-
-        user.setMobile("13657094936");
-        user.setPassword("123456");
-
-        userPO.setMobile("13657094936");
-        userPO.setPassword("123456");
-    }
-
-    @Test
-    public void show_return_user_when_getbymobilenum_mobile_num_exist() throws AccountNotExistException {
-
-        when(userDao.findByMobile("13657094936")).thenReturn(userPO);
-        User user = accountUTRepo.getByMobileNum("13657094936");
-//        assertEquals(user.getPassword(), EncryptionUtil.encryptMD5(userPO.getPassword()));
-        assertEquals(user.getPassword(), "123456");
-    }
-
-    @Test
-    public void getByID() {
-    }
-
-    @Test
-    public void getByIDList() {
-    }
-
-    @Test
-    public void addAccount() {
-    }
-
-    @Test
-    public void removeAccount() {
-    }
-
-    @Test
-    public void updateAccount() {
-    }
-
-    @Test
-    public void save() {
-    }
-}
+//package com.mooctest.crowd.domain.repository;
+//
+//import com.mooctest.crowd.domain.dao.UserDao;
+//import com.mooctest.crowd.domain.domainobject.User;
+//import com.mooctest.crowd.domain.exception.AccountNotExistException;
+//import com.mooctest.crowd.domain.model.UserPO;
+//import org.junit.Before;
+//import org.junit.Test;
+//import org.junit.runner.RunWith;
+//import org.mockito.InjectMocks;
+//import org.mockito.Mock;
+//import org.mockito.MockitoAnnotations;
+//import org.mockito.runners.MockitoJUnitRunner;
+//
+//import static org.junit.Assert.assertEquals;
+//import static org.mockito.Mockito.when;
+//
+//@RunWith(MockitoJUnitRunner.class)
+//public class AccountUTRepoTest {
+//
+//    @InjectMocks
+//    private AccountUTRepo accountUTRepo = new AccountUTRepo();
+//
+//    @Mock
+//    private UserDao userDao;
+//
+//    private UserPO userPO =  new UserPO();
+//
+//    private User user =  new User();
+//
+//    @Before
+//    public void setUp() {
+//        MockitoAnnotations.initMocks(this);
+//
+//        user.setMobile("13657094936");
+//        user.setPassword("123456");
+//
+//        userPO.setMobile("13657094936");
+//        userPO.setPassword("123456");
+//    }
+//
+//    @Test
+//    public void show_return_user_when_getbymobilenum_mobile_num_exist() throws AccountNotExistException {
+//
+//        when(userDao.findByMobile("13657094936")).thenReturn(userPO);
+//        User user = accountUTRepo.getByMobileNum("13657094936");
+////        assertEquals(user.getPassword(), EncryptionUtil.encryptMD5(userPO.getPassword()));
+//        assertEquals(user.getPassword(), "123456");
+//    }
+//
+//    @Test
+//    public void getByID() {
+//    }
+//
+//    @Test
+//    public void getByIDList() {
+//    }
+//
+//    @Test
+//    public void addAccount() {
+//    }
+//
+//    @Test
+//    public void removeAccount() {
+//    }
+//
+//    @Test
+//    public void updateAccount() {
+//    }
+//
+//    @Test
+//    public void save() {
+//    }
+//}

+ 35 - 35
core/src/test/java/com/mooctest/crowd/domain/repository/UserRepoTest.java

@@ -1,35 +1,35 @@
-package com.mooctest.crowd.domain.repository;
-
-import com.mooctest.crowd.domain.dao.UserDao;
-import com.mooctest.crowd.domain.domainobject.User;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.InjectMocks;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-import org.mockito.runners.MockitoJUnitRunner;
-
-@RunWith(MockitoJUnitRunner.class)
-public class UserRepoTest {
-    @InjectMocks
-    private UserRepo userRepo = new UserRepo();
-
-    @Mock
-    private UserDao userDao;
-
-    private User user =  new User();
-
-    @Before
-    public void before() {
-        MockitoAnnotations.initMocks(this);
-    }
-
-    @Test
-    public void test_getByMobileNum() {
-    }
-
-    @Test
-    public void test_save() {
-    }
-}
+//package com.mooctest.crowd.domain.repository;
+//
+//import com.mooctest.crowd.domain.dao.UserDao;
+//import com.mooctest.crowd.domain.domainobject.User;
+//import org.junit.Before;
+//import org.junit.Test;
+//import org.junit.runner.RunWith;
+//import org.mockito.InjectMocks;
+//import org.mockito.Mock;
+//import org.mockito.MockitoAnnotations;
+//import org.mockito.runners.MockitoJUnitRunner;
+//
+//@RunWith(MockitoJUnitRunner.class)
+//public class UserRepoTest {
+//    @InjectMocks
+//    private UserRepo userRepo = new UserRepo();
+//
+//    @Mock
+//    private UserDao userDao;
+//
+//    private User user =  new User();
+//
+//    @Before
+//    public void before() {
+//        MockitoAnnotations.initMocks(this);
+//    }
+//
+//    @Test
+//    public void test_getByMobileNum() {
+//    }
+//
+//    @Test
+//    public void test_save() {
+//    }
+//}

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

@@ -18,7 +18,7 @@ public class CrowdTestProjectCommand {
     private String description;
     private File projectFile;
     private File requirement;
-    private double quotedPrice;
-    private double fixedPrice;
+    private Double quotedPrice;
+    private Double fixedPrice;
     private String status;
 }