Bläddra i källkod

Merge branch 'feature-domain-implement' of ssh://git.mooctest.com:1022/crowd-2019/crowd-test-service-backend into feature-domain-implement

Diors.Po 6 år sedan
förälder
incheckning
8c16dde374

+ 50 - 15
core/src/main/java/com/mooctest/crowd/domain/controller/CrowdTestProjectController.java

@@ -77,8 +77,9 @@ public class CrowdTestProjectController {
     }
 
 
-
-    /*对DO的操作*/
+    /**
+     * 对项目聚合根的操作
+     */
 
     @RequestMapping(value = "modifyProject/{crowdTestProjectCode}/{linkMan}", method = RequestMethod.GET)
     public void modifyCrowdTestProject(@PathVariable("crowdTestProjectCode") String crowdTestProjectCode,@PathVariable("linkMan") String linkMan){
@@ -241,7 +242,9 @@ public class CrowdTestProjectController {
         return crowdTestProjectRepo.getByProjectCode(crowdTestProjectResult.getCode()).toString();
     }
 
-    /*测评机构PO*/
+    /**
+     * 对测评机构的操作
+     */
 
     /**
      * 接收任务(测评机构)
@@ -315,17 +318,51 @@ public class CrowdTestProjectController {
      * @param crowdTestProjectCode
      * @return
      */
-//    @RequestMapping(value = "finishProject/{regionalManagerId}/{crowdTestProjectCode}", method = RequestMethod.GET)
-//    public String commitCrowdTestTask(@PathVariable("regionalManagerId") Long regionalManagerId,@PathVariable("crowdTestProjectCode") String crowdTestProjectCode){
-//        CrowdTestProject crowdTestProject = crowdTestProjectRepo.getByProjectCode(crowdTestProjectCode);
-//        User userForRegionalManager = userRepo.getByID(regionalManagerId);
-//        RegionalManager regionalManager = userForRegionalManager.getRegionalManager();
-//
-//        CrowdTestProject crowdTestProjectResult = regionalManager.commitCrowdTestTask(crowdTestProject);
-//        crowdTestProjectRepo.saveCrowdTestProject(crowdTestProjectResult);
-//        return crowdTestProjectRepo.getByProjectCode(crowdTestProjectResult.getCode()).toString();
-//    }
+    @RequestMapping(value = "finishTask/{regionalManagerId}/{crowdTestProjectCode}", method = RequestMethod.GET)
+    public String commitCrowdTestTask(@PathVariable("regionalManagerId") Long regionalManagerId,@PathVariable("crowdTestProjectCode") String crowdTestProjectCode){
+        CrowdTestProject crowdTestProject = crowdTestProjectRepo.getByProjectCode(crowdTestProjectCode);
+        User userForRegionalManager = userRepo.getByID(regionalManagerId);
+        RegionalManager regionalManager = userForRegionalManager.getRegionalManager();
 
+        CrowdTestProject crowdTestProjectResult = regionalManager.finishCrowdTestTask(crowdTestProject);
+        crowdTestProjectRepo.saveCrowdTestProject(crowdTestProjectResult);
+        return crowdTestProjectRepo.getByProjectCode(crowdTestProjectResult.getCode()).toString();
+    }
+
+    /**
+     * 提交项目(区域管理员)
+     * @param crowdTestProjectCode
+     * @return
+     */
+    @RequestMapping(value = "commitProject/{regionalManagerId}/{crowdTestProjectCode}", method = RequestMethod.GET)
+    public String commitProject(@PathVariable("regionalManagerId") Long regionalManagerId,@PathVariable("crowdTestProjectCode") String crowdTestProjectCode){
+        CrowdTestProject crowdTestProject = crowdTestProjectRepo.getByProjectCode(crowdTestProjectCode);
+        User userForRegionalManager = userRepo.getByID(regionalManagerId);
+        RegionalManager regionalManager = userForRegionalManager.getRegionalManager();
+
+        CrowdTestProject crowdTestProjectResult = regionalManager.commitCrowdTestProject(crowdTestProject);
+        crowdTestProjectRepo.saveCrowdTestProject(crowdTestProjectResult);
+        return crowdTestProjectRepo.getByProjectCode(crowdTestProjectResult.getCode()).toString();
+    }
+
+    /**
+     * 对普通用户的操作
+     */
+
+    /**
+     * 结束项目(普通用户)
+     * @param crowdTestProjectCode
+     * @return
+     */
+    @RequestMapping(value = "finishProject/{userId}/{crowdTestProjectCode}", method = RequestMethod.GET)
+    public String finishProject(@PathVariable("userId") Long userId,@PathVariable("crowdTestProjectCode") String crowdTestProjectCode){
+        CrowdTestProject crowdTestProject = crowdTestProjectRepo.getByProjectCode(crowdTestProjectCode);
+        User user = userRepo.getByID(userId);
+
+        CrowdTestProject crowdTestProjectResult = user.finishCrowdTestProjet(crowdTestProject);
+        crowdTestProjectRepo.saveCrowdTestProject(crowdTestProjectResult);
+        return crowdTestProjectRepo.getByProjectCode(crowdTestProjectResult.getCode()).toString();
+    }
 
     /**
      * 计算指定时间的下一天
@@ -341,6 +378,4 @@ public class CrowdTestProjectController {
         Date nextDate=new Date(date.getTime()+addTime);
         return nextDate;
     }
-
-
 }

+ 8 - 7
core/src/main/java/com/mooctest/crowd/domain/dao/CrowdTestProjectDao.java

@@ -5,7 +5,6 @@ import org.springframework.data.repository.CrudRepository;
 
 import javax.transaction.Transactional;
 import java.util.List;
-import java.util.Optional;
 
 /**
  * @author guochao
@@ -15,16 +14,18 @@ import java.util.Optional;
 @Transactional
 public interface CrowdTestProjectDao extends CrudRepository<CrowdTestProjectPO, Long> {
 
-    @Override
-    Optional<CrowdTestProjectPO> findById(Long id);
+//    @Override
+//    Optional<CrowdTestProjectPO> findById(Long id);
+
+    CrowdTestProjectPO findByIdAndIsDeleted(Long id, int isDeleted);
 
-    CrowdTestProjectPO findByCode(String code);
+    CrowdTestProjectPO findByCodeAndIsDeleted(String code, int isDeleted);
 
-    List<CrowdTestProjectPO> findByUserId(Long userId);
+    List<CrowdTestProjectPO> findByUserIdAndIsDeleted(Long userId, int isDeleted);
 
-    List<CrowdTestProjectPO> findAll();
+    List<CrowdTestProjectPO> findAllByIsDeleted(int isDeleted);
 
-    List<CrowdTestProjectPO> findByRegionalManagerId(Long regionalManagerId);
+    List<CrowdTestProjectPO> findByRegionalManagerIdAndIsDeleted(Long regionalManagerId, int isDeleted);
 
     @Override
     void delete(CrowdTestProjectPO crowdTestProjectPO);

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

@@ -5,7 +5,6 @@ import org.springframework.data.repository.CrudRepository;
 
 import javax.transaction.Transactional;
 import java.util.List;
-import java.util.Optional;
 
 /**
  * @author guochao
@@ -15,14 +14,13 @@ import java.util.Optional;
 @Transactional
 public interface CrowdTestReportDao extends CrudRepository<CrowdTestReportPO, Long> {
 
-    @Override
-    Optional<CrowdTestReportPO> findById(Long id);
+    CrowdTestReportPO findByIdAndIsDeleted(Long id, int isDeleted);
 
-    CrowdTestReportPO findByCode(String code);
+    CrowdTestReportPO findByCodeAndIsDeleted(String code, int isDeleted);
 
-    List<CrowdTestReportPO> findByDependencyCode(String dependencyCode);
+    List<CrowdTestReportPO> findByDependencyCodeAndIsDeleted(String dependencyCode, int isDeleted);
 
-    List<CrowdTestReportPO> findAll();
+    List<CrowdTestReportPO> findAllByIsDeleted(int isDeleted);
 
     @Override
     void delete(CrowdTestReportPO crowdTestProjectPO);

+ 5 - 7
core/src/main/java/com/mooctest/crowd/domain/dao/CrowdTestTaskDao.java

@@ -5,7 +5,6 @@ import org.springframework.data.repository.CrudRepository;
 
 import javax.transaction.Transactional;
 import java.util.List;
-import java.util.Optional;
 
 /**
  * @author guochao
@@ -15,16 +14,15 @@ import java.util.Optional;
 @Transactional
 public interface CrowdTestTaskDao extends CrudRepository<CrowdTestTaskPO, Long> {
 
-    @Override
-    Optional<CrowdTestTaskPO> findById(Long id);
+    CrowdTestTaskPO findByIdAndIsDeleted(Long id, int isDeleted);
 
-    CrowdTestTaskPO findByCode(String code);
+    CrowdTestTaskPO findByCodeAndIsDeleted(String code, int isDeleted);
 
-    List<CrowdTestTaskPO> findByCrowdTestProjectCode(String crowdTestProjectCode);
+    List<CrowdTestTaskPO> findByCrowdTestProjectCodeAndIsDeleted(String crowdTestProjectCode, int isDeleted);
 
-    List<CrowdTestTaskPO> findByEvaluationAgencyId(Long evaluationAgencyId);
+    List<CrowdTestTaskPO> findByEvaluationAgencyIdAndIsDeleted(Long evaluationAgencyId, int isDeleted);
 
-    List<CrowdTestTaskPO> findAll();
+    List<CrowdTestTaskPO> findAllByIsDeleted(int isDeleted);
 
     @Override
     void delete(CrowdTestTaskPO crowdTestProjectPO);

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

@@ -35,6 +35,7 @@ public class CrowdTestProject {
     private int status;
     private Timestamp deadTime;
     private Timestamp endTime;
+    private int isDeleted;
     private Timestamp createTime;
 
     private List<CrowdTestTask> crowdTestTaskList;
@@ -63,6 +64,7 @@ public class CrowdTestProject {
                 ", deadTime=" + deadTime +
                 ", endTime=" + endTime +
                 ", createTime=" + createTime +
+                ", isDeleted=" + isDeleted +
                 ", crowdTestTaskList=" + crowdTestTaskList +
                 '}';
     }

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

@@ -22,6 +22,7 @@ public class CrowdTestReport {
     private String content;
     private String file;
     private String conclusion;
+    private int isDeleted;
     private Timestamp createTime;
 
     @Override
@@ -38,6 +39,7 @@ public class CrowdTestReport {
                 ", content='" + content + '\'' +
                 ", file='" + file + '\'' +
                 ", conclusion='" + conclusion + '\'' +
+                ", isDeleted='" + isDeleted + '\'' +
                 ", createTime=" + createTime +
                 '}';
     }

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

@@ -29,6 +29,7 @@ public class CrowdTestTask {
     private int status;
     private Timestamp deadTime;
     private Timestamp endTime;
+    private int isDeleted;
     private Timestamp createTime;
     private List<CrowdTestReport> crowdTestReportList;
 
@@ -51,6 +52,7 @@ public class CrowdTestTask {
                 ", status='" + status + '\'' +
                 ", deadTime=" + deadTime +
                 ", endTime=" + endTime +
+                ", isDeleted='" + isDeleted + '\'' +
                 ", createTime=" + createTime +
                 ", crowdTestReportList=" + crowdTestReportList +
                 '}';

+ 10 - 0
core/src/main/java/com/mooctest/crowd/domain/domainobject/DeletedStatus.java

@@ -0,0 +1,10 @@
+package com.mooctest.crowd.domain.domainobject;
+
+/**
+ * @author guochao
+ * @date 2019/7/9 14:21
+ */
+public class DeletedStatus {
+    public static int isNotDeleted = 0;
+    public static int isDeleted = 1;
+}

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

@@ -1,10 +1,7 @@
 package com.mooctest.crowd.domain.domainobject;
 
 import com.mooctest.crowd.domain.exception.CrowdTestProjectException;
-import com.mooctest.crowd.domain.exception.CrowdTestProjectNotExistException;
 import com.mooctest.crowd.domain.exception.CrowdTestTaskException;
-import com.mooctest.crowd.domain.exception.CrowdTestTaskNotExistException;
-import com.mooctest.crowd.domain.repository.CrowdTestProjectRepo;
 import lombok.Data;
 
 import java.util.ArrayList;
@@ -69,32 +66,38 @@ public class RegionalManager {
     public CrowdTestProject createCrowdTestTask(CrowdTestProject crowdTestProject, CrowdTestTask crowdTestTask) {
         List<CrowdTestTask> crowdTestTaskList = crowdTestProject.getCrowdTestTaskList();
 
-        //修改项目状态
-        if(CrowdTestProjectStatus.HAS_SPLITED != crowdTestProject.getStatus()){
-            crowdTestProject.setStatus(CrowdTestProjectStatus.HAS_SPLITED);
-        }
-
-        crowdTestTask.setStatus(CrowdTestProjectStatus.HAS_SPLITED);
+        crowdTestTask.setStatus(CrowdTestTaskStatus.HAS_CREATED);
         crowdTestTask.setDistributionProvince(crowdTestProject.getDistributionProvince());
         crowdTestTask.setDistributionCity(crowdTestProject.getDistributionCity());
 
         //添加测试任务
         crowdTestTaskList.add(crowdTestTask);
+
+        //修改项目状态
+        if(CrowdTestProjectStatus.HAS_SPLITED != crowdTestProject.getStatus()){
+            crowdTestProject.setStatus(CrowdTestProjectStatus.HAS_SPLITED);
+        }
         crowdTestProject.setCrowdTestTaskList(crowdTestTaskList);
         return crowdTestProject;
     }
 
 
+    /**
+     * 发布任务
+     * @param crowdTestProject
+     * @param crowdTestTaskCode
+     * @return
+     */
     public CrowdTestProject releaseCrowdTestTask(CrowdTestProject crowdTestProject, String crowdTestTaskCode) {
         List<CrowdTestTask> crowdTestTaskList = crowdTestProject.getCrowdTestTaskList();
         List<CrowdTestTask> crowdTestTaskListResult = new ArrayList<>();
         //发布任务时修改任务状态
         for(CrowdTestTask crowdTestTask : crowdTestTaskList){
             if(crowdTestTaskCode.equals(crowdTestTask.getCode())){
-                if(crowdTestTask.getStatus() != (CrowdTestProjectStatus.HAS_RELEASED-1)){
+                if(crowdTestTask.getStatus() != (CrowdTestTaskStatus.HAS_RELEASED-1)){
                     throw new CrowdTestTaskException("当前任务不能被发布,当前状态为:"+crowdTestTask.getStatus());
                 }else{
-                    crowdTestTask.setStatus(CrowdTestProjectStatus.HAS_RELEASED);
+                    crowdTestTask.setStatus(CrowdTestTaskStatus.HAS_RELEASED);
                 }
             }
             crowdTestTaskListResult.add(crowdTestTask);
@@ -104,32 +107,46 @@ public class RegionalManager {
         return crowdTestProject;
     }
 
-    public List<CrowdTestTask> splitCrowdTestProjectToCrowdTestTaskList(Long projectId) throws CrowdTestProjectNotExistException {
-        CrowdTestProjectRepo crowdTestProjectRepo = new CrowdTestProjectRepo();
-        CrowdTestProject crowdTestProject = crowdTestProjectRepo.getByID(projectId);
-        crowdTestProject.setStatus(CrowdTestProjectStatus.HAS_SPLITED);
-        List<CrowdTestTask> crowdTestTaskList = new ArrayList<CrowdTestTask>();
-        crowdTestProject.setCrowdTestTaskList(crowdTestTaskList);
-        return crowdTestTaskList;
+    /**
+     * 结束任务
+     * @param crowdTestProject
+     * @return
+     */
+    public CrowdTestProject finishCrowdTestTask(CrowdTestProject crowdTestProject) {
+        List<CrowdTestTask> crowdTestTaskList = crowdTestProject.getCrowdTestTaskList();
+        List<CrowdTestTask> crowdTestTaskListResult = new ArrayList<>();
+        //结束任务时修改任务状态为"已结束"
+        for(CrowdTestTask crowdTestTask : crowdTestTaskList){
+            if(crowdTestTask.getStatus() != (CrowdTestTaskStatus.HAS_FINISHED-1)){
+                throw new CrowdTestTaskException("存在任务不能被结束,状态为:"+crowdTestTask.getStatus());
+            }else{
+                crowdTestTask.setStatus(CrowdTestTaskStatus.HAS_FINISHED);
+            }
+            crowdTestTaskListResult.add(crowdTestTask);
+        }
+
+        crowdTestProject.setCrowdTestTaskList(crowdTestTaskListResult);
+        return crowdTestProject;
     }
 
-    public CrowdTestProject fixedPriceForCrowdTestTask(Long projectId, Long taskId, Double price) throws CrowdTestProjectNotExistException, CrowdTestTaskNotExistException {
-        CrowdTestProjectRepo crowdTestProjectRepo = new CrowdTestProjectRepo();
-        boolean flag = false;
-        if (crowdTestProjectRepo.getByID(projectId) != null) {
-            CrowdTestProject crowdTestProject = crowdTestProjectRepo.getByID(projectId);
-            List<CrowdTestTask> crowdTestTaskList = crowdTestProject.getCrowdTestTaskList();
-            for (CrowdTestTask crowdTestTask : crowdTestTaskList) {
-                if (crowdTestTask.getId().equals(taskId)) {
-                    crowdTestTask.setQuotedPrice(price);
-                    flag = true;
-                    return crowdTestProject;
+    /**
+     * 提交项目
+     * @param crowdTestProject
+     * @return
+     */
+    public CrowdTestProject commitCrowdTestProject(CrowdTestProject crowdTestProject) {
+        List<CrowdTestTask> crowdTestTaskList = crowdTestProject.getCrowdTestTaskList();
+        //结束项目时查看是否已结束任务
+        if(crowdTestProject.getStatus() != (CrowdTestProjectStatus.HAS_COMMITED - 1)){
+            throw new CrowdTestProjectException("项目不能被结束,状态为:"+crowdTestProject.getStatus());
+        }else{
+            for(CrowdTestTask crowdTestTask : crowdTestTaskList){
+                if(crowdTestTask.getStatus() != CrowdTestTaskStatus.HAS_FINISHED){
+                    throw new CrowdTestTaskException("存在未结束的任务,项目不能被提交");
                 }
             }
-            if (!flag) {
-                throw new CrowdTestTaskNotExistException();
-            }
         }
-        throw new CrowdTestProjectNotExistException();
+        crowdTestProject.setStatus(CrowdTestProjectStatus.HAS_COMMITED);
+        return crowdTestProject;
     }
 }

+ 16 - 3
core/src/main/java/com/mooctest/crowd/domain/domainobject/User.java

@@ -74,7 +74,7 @@ public class User {
      * @return
      */
     public CrowdTestProject releaseCrowdTestProject(CrowdTestProject crowdTestProject) {
-        if(crowdTestProject.getStatus() != (CrowdTestReportStatus.HAS_CREATED-1)){
+        if(crowdTestProject.getStatus() != (CrowdTestProjectStatus.HAS_RELEASED-1)){
             throw new CrowdTestProjectException("当前项目状态不能被发布");
         }else{
             crowdTestProject.setStatus(CrowdTestProjectStatus.HAS_RELEASED);
@@ -85,7 +85,7 @@ public class User {
     /**
      * 接收任务(测评机构)
      * @param crowdTestProject
-     * @param crowdTestTaskCode  add judge
+     * @param crowdTestTaskCode
      * @return
      */
     public CrowdTestProject receiveTask(CrowdTestProject crowdTestProject, String crowdTestTaskCode) {
@@ -94,7 +94,7 @@ public class User {
         List<CrowdTestTask> crowdTestTaskListResult = new ArrayList<>();
         for(CrowdTestTask crowdTestTask : crowdTestTaskList){
             if(crowdTestTaskCode.equals(crowdTestTask.getCode())){
-                if(crowdTestTask.getStatus() != (CrowdTestReportStatus.HAS_CREATED - 1)){
+                if(crowdTestTask.getStatus() != (CrowdTestTaskStatus.HAS_RECEIVED - 1)){
                     throw new CrowdTestTaskException("任务当前状态不能被接收,当前状态为:"+crowdTestTask.getStatus());
                 }else if(!(this.getProvince().equals(crowdTestTask.getDistributionProvince())&&this.getCity().equals(crowdTestTask.getDistributionCity()))){
                     throw new CrowdTestTaskException("测评机构区域不符合任务区域的要求");
@@ -226,4 +226,17 @@ public class User {
         return crowdTestProject;
     }
 
+    /**
+     * 结束项目
+     * @param crowdTestProject
+     * @return
+     */
+    public CrowdTestProject finishCrowdTestProjet(CrowdTestProject crowdTestProject) {
+        if(crowdTestProject.getStatus() != (CrowdTestProjectStatus.HAS_FINISHED - 1)){
+            throw new CrowdTestProjectException("项目不能被提交,当前状态为:"+crowdTestProject.getStatus());
+        }else{
+            crowdTestProject.setStatus(CrowdTestProjectStatus.HAS_FINISHED);
+        }
+        return crowdTestProject;
+    }
 }

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

@@ -76,6 +76,9 @@ public class CrowdTestProjectPO {
     @Column(name = "CTP_END_TIME")
     private Timestamp endTime;
 
+    @Column(name = "CTP_IS_DELETED")
+    private int isDeleted;
+
     @Column(name = "CTP_CREATE_TIME")
     private Timestamp createTime;
 
@@ -102,6 +105,7 @@ public class CrowdTestProjectPO {
                 ", status=" + status +
                 ", deadTime=" + deadTime +
                 ", endTime=" + endTime +
+                ", isDeleted=" + isDeleted +
                 ", createTime=" + createTime +
                 '}';
     }

+ 17 - 12
core/src/main/java/com/mooctest/crowd/domain/model/CrowdTestReportPO.java

@@ -31,27 +31,31 @@ public class CrowdTestReportPO {
     @Column(name = "CTR_TYPE")
     private int type;
 
-    @Column(name = "CTR_SCOPE")
-    private int scope;
-
-    @Column(name = "CTR_DESCRIPTION")
-    private String description;
-
     @Column(name = "CTR_CONTENT")
     private String content;
 
-    @Column(name = "CTR_CREATE_TIME")
-    private Timestamp createTime;
-
     @Column(name = "CTR_TEST_OBJECT")
     private String testObject;
 
+    @Column(name = "CTR_DESCRIPTION")
+    private String description;
+
+    @Column(name = "CTR_SCOPE")
+    private int scope;
+
     @Column(name = "CTR_CONCLUSION")
     private String conclusion;
 
     @Column(name = "CTR_FILE")
     private String file;
 
+    @Column(name = "CTR_IS_DELETED")
+    private int isDeleted;
+
+    @Column(name = "CTR_CREATE_TIME")
+    private Timestamp createTime;
+
+
     @Override
     public String toString() {
         return "CrowdTestReportPO{" +
@@ -60,13 +64,14 @@ public class CrowdTestReportPO {
                 ", code='" + code + '\'' +
                 ", dependencyCode='" + dependencyCode + '\'' +
                 ", type=" + type +
-                ", scope='" + scope + '\'' +
-                ", description='" + description + '\'' +
                 ", content='" + content + '\'' +
-                ", createTime=" + createTime +
                 ", testObject='" + testObject + '\'' +
+                ", description='" + description + '\'' +
+                ", scope=" + scope +
                 ", conclusion='" + conclusion + '\'' +
                 ", file='" + file + '\'' +
+                ", isDeleted=" + isDeleted +
+                ", createTime=" + createTime +
                 '}';
     }
 }

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

@@ -63,6 +63,9 @@ CrowdTestTaskPO {
     @Column(name = "CTT_END_TIME")
     private Timestamp endTime;
 
+    @Column(name = "CTT_IS_DELETED")
+    private int isDeleted;
+
     @Column(name = "CTT_CREATE_TIME")
     private Timestamp createTime;
 
@@ -85,6 +88,7 @@ CrowdTestTaskPO {
                 ", status=" + status +
                 ", deadTime=" + deadTime +
                 ", endTime=" + endTime +
+                ", isDeleted='" + isDeleted + '\'' +
                 ", createTime=" + createTime +
                 '}';
     }

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

@@ -6,6 +6,7 @@ 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.domainobject.DeletedStatus;
 import com.mooctest.crowd.domain.exception.CrowdTestProjectNotExistException;
 import com.mooctest.crowd.domain.model.CrowdTestProjectPO;
 import com.mooctest.crowd.domain.model.CrowdTestReportPO;
@@ -38,11 +39,11 @@ public class CrowdTestProjectRepo implements ICrowdTestProjectRepo {
 
     @Override
     public CrowdTestProject getByID(Long crowdTestProjectId) throws CrowdTestProjectNotExistException {
-        Optional<CrowdTestProjectPO> crowdTestProjectPOOptional = crowdTestProjectDao.findById(crowdTestProjectId);
-        if (!crowdTestProjectPOOptional.isPresent()) {
+
+        CrowdTestProjectPO crowdTestProjectPO = crowdTestProjectDao.findByIdAndIsDeleted(crowdTestProjectId, DeletedStatus.isNotDeleted);
+        if (crowdTestProjectPO == null) {
             throw new CrowdTestProjectNotExistException();
         }else{
-            CrowdTestProjectPO crowdTestProjectPO = crowdTestProjectPOOptional.get();
             CrowdTestProject crowdTestProjectResult = getCrowdTestProjectAndTaskAndReportByCrowdTestProjectPO(crowdTestProjectPO);
             return crowdTestProjectResult;
         }
@@ -50,7 +51,7 @@ public class CrowdTestProjectRepo implements ICrowdTestProjectRepo {
 
     @Override
     public CrowdTestProject getByProjectCode(String crowdTestProjectCode) throws CrowdTestProjectNotExistException {
-        CrowdTestProjectPO crowdTestProjectPO = crowdTestProjectDao.findByCode(crowdTestProjectCode);
+        CrowdTestProjectPO crowdTestProjectPO = crowdTestProjectDao.findByCodeAndIsDeleted(crowdTestProjectCode, DeletedStatus.isNotDeleted);
         if (crowdTestProjectPO == null) {
             throw new CrowdTestProjectNotExistException();
         }else{
@@ -61,20 +62,20 @@ public class CrowdTestProjectRepo implements ICrowdTestProjectRepo {
 
     @Override
     public List<CrowdTestProject> getCrowdListByUserId(Long userId) {
-        List<CrowdTestProjectPO> crowdTestProjectPOList = crowdTestProjectDao.findByUserId(userId);
+        List<CrowdTestProjectPO> crowdTestProjectPOList = crowdTestProjectDao.findByUserIdAndIsDeleted(userId, DeletedStatus.isNotDeleted);
         return getCrowdTestProjects(crowdTestProjectPOList);
     }
 
     @Override
     public List<CrowdTestProject> getCrowdListByRegionalManagerId(Long regionalManagerId) {
-        List<CrowdTestProjectPO> crowdTestProjectPOList = crowdTestProjectDao.findByRegionalManagerId(regionalManagerId);
+        List<CrowdTestProjectPO> crowdTestProjectPOList = crowdTestProjectDao.findByRegionalManagerIdAndIsDeleted(regionalManagerId,DeletedStatus.isNotDeleted);
         return getCrowdTestProjects(crowdTestProjectPOList);
     }
 
 
     @Override
     public List<CrowdTestProject> getAllCrowdTestProject() {
-        List<CrowdTestProjectPO> crowdTestProjectPOList = crowdTestProjectDao.findAll();
+        List<CrowdTestProjectPO> crowdTestProjectPOList = crowdTestProjectDao.findAllByIsDeleted(DeletedStatus.isNotDeleted);
         return getCrowdTestProjects(crowdTestProjectPOList);
     }
 
@@ -174,7 +175,7 @@ public class CrowdTestProjectRepo implements ICrowdTestProjectRepo {
      */
     private CrowdTestProject getCrowdTestProjectAndTaskAndReportByCrowdTestProjectPO(CrowdTestProjectPO crowdTestProjectPO) {
         CrowdTestProject crowdTestProjectResult = Converter.convert(CrowdTestProject.class, crowdTestProjectPO);
-        List<CrowdTestTaskPO> crowdTestTaskPOList = crowdTestTaskDao.findByCrowdTestProjectCode(crowdTestProjectPO.getCode());
+        List<CrowdTestTaskPO> crowdTestTaskPOList = crowdTestTaskDao.findByCrowdTestProjectCodeAndIsDeleted(crowdTestProjectPO.getCode(), DeletedStatus.isNotDeleted);
 
         List<CrowdTestTask> crowdTestTaskListResult = new ArrayList<>();
         for(CrowdTestTaskPO crowdTestTaskPO : crowdTestTaskPOList){
@@ -194,7 +195,7 @@ public class CrowdTestProjectRepo implements ICrowdTestProjectRepo {
      * @return
      */
     private List<CrowdTestReport> getCrowdTestReportByCrowdTestTask(String crowdTestTaskCode) {
-        List<CrowdTestReportPO> crowdTestReportPOList = crowdTestReportDao.findByDependencyCode(crowdTestTaskCode);
+        List<CrowdTestReportPO> crowdTestReportPOList = crowdTestReportDao.findByDependencyCodeAndIsDeleted(crowdTestTaskCode, DeletedStatus.isNotDeleted);
         List<CrowdTestReport> crowdTestReportListResult = new ArrayList<>();
         for(CrowdTestReportPO crowdTestReportPO : crowdTestReportPOList){
             CrowdTestReport crowdTestReportResult = Converter.convert(CrowdTestReport.class, crowdTestReportPO);