Browse Source

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

xuexiaobo 6 years ago
parent
commit
d615f203b5

+ 25 - 16
core/src/main/java/com/mooctest/crowd/domain/controller/CrowdTestProjectController.java

@@ -71,12 +71,14 @@ public class CrowdTestProjectController {
      * @param crowdTestProjectCode
      * @return
      */
-    @RequestMapping(value = "deleteProject/{crowdTestProjectCode}", method = RequestMethod.GET)
-    public String deleteCrowdTestProjectByProjectCode(@PathVariable("crowdTestProjectCode") String crowdTestProjectCode) {
+    @RequestMapping(value = "deleteProject/{userId}/{crowdTestProjectCode}", method = RequestMethod.GET)
+    public String deleteCrowdTestProjectByProjectCode(@PathVariable("crowdTestProjectCode") String crowdTestProjectCode,@PathVariable("userId") Long userId) {
+
+        User user = userRepo.getByID(userId);
         CrowdTestProject crowdTestProject = crowdTestProjectRepo.getByProjectCode(crowdTestProjectCode);
-        CrowdTestProject crowdTestProjectResult = crowdTestProject.removeCrowdTestProject();
+        CrowdTestProject crowdTestProjectResult = crowdTestProject.removeCrowdTestProject(user);
         crowdTestProjectRepo.saveCrowdTestProject(crowdTestProjectResult);
-        return crowdTestProjectRepo.getAllCrowdTestProject().toString();
+        return "success";
     }
 
     /**
@@ -85,13 +87,15 @@ public class CrowdTestProjectController {
      * @param crowdTestTaskCode
      * @return
      */
-    @RequestMapping(value = "deleteTask/{crowdTestProjectCode}/{crowdTestTaskCode}", method = RequestMethod.GET)
+    @RequestMapping(value = "deleteTask/{userId}/{crowdTestProjectCode}/{crowdTestTaskCode}", method = RequestMethod.GET)
     public String deleteCrowdTestTask(@PathVariable("crowdTestProjectCode") String crowdTestProjectCode,
-                                      @PathVariable("crowdTestTaskCode") String crowdTestTaskCode) {
+                                      @PathVariable("crowdTestTaskCode") String crowdTestTaskCode,
+                                      @PathVariable("userId") Long userId) {
+        User user = userRepo.getByID(userId);
         CrowdTestProject crowdTestProject = crowdTestProjectRepo.getByProjectCode(crowdTestProjectCode);
-        CrowdTestProject crowdTestProjectResult = crowdTestProject.removeCrowdTestTask(crowdTestTaskCode);
+        CrowdTestProject crowdTestProjectResult = crowdTestProject.removeCrowdTestTask(crowdTestTaskCode,user);
         crowdTestProjectRepo.saveCrowdTestProject(crowdTestProjectResult);
-        return crowdTestProjectRepo.getAllCrowdTestProject().toString();
+        return crowdTestProjectRepo.getByProjectCode(crowdTestProjectResult.getCode()).toString();
     }
 
     /**
@@ -101,14 +105,16 @@ public class CrowdTestProjectController {
      * @param crowdTestReportCode
      * @return
      */
-    @RequestMapping(value = "deleteReport/{crowdTestProjectCode}/{crowdTestTaskCode}/{crowdTestReportCode}", method = RequestMethod.GET)
+    @RequestMapping(value = "deleteReport/{userId}/{crowdTestProjectCode}/{crowdTestTaskCode}/{crowdTestReportCode}", method = RequestMethod.GET)
     public String deleteCrowdTestReport(@PathVariable("crowdTestProjectCode") String crowdTestProjectCode,
                                         @PathVariable("crowdTestTaskCode") String crowdTestTaskCode,
-                                        @PathVariable("crowdTestReportCode") String crowdTestReportCode) {
+                                        @PathVariable("crowdTestReportCode") String crowdTestReportCode,
+                                        @PathVariable("userId") Long userId) {
+        User user = userRepo.getByID(userId);
         CrowdTestProject crowdTestProject = crowdTestProjectRepo.getByProjectCode(crowdTestProjectCode);
-        CrowdTestProject crowdTestProjectResult = crowdTestProject.removeCrowdTestReport(crowdTestTaskCode,crowdTestReportCode);
+        CrowdTestProject crowdTestProjectResult = crowdTestProject.removeCrowdTestReport(crowdTestTaskCode,crowdTestReportCode,user);
         crowdTestProjectRepo.saveCrowdTestProject(crowdTestProjectResult);
-        return crowdTestProjectRepo.getAllCrowdTestProject().toString();
+        return crowdTestProjectRepo.getByProjectCode(crowdTestProjectResult.getCode()).toString();
     }
 
     /**
@@ -116,12 +122,15 @@ public class CrowdTestProjectController {
      * @param crowdTestProjectCode
      * @return
      */
-    @RequestMapping(value = "deleteProjectReport/{crowdTestProjectCode}", method = RequestMethod.GET)
-    public String deleteCrowdTestReport(@PathVariable("crowdTestProjectCode") String crowdTestProjectCode) {
+    @RequestMapping(value = "deleteProjectReport/{userId}/{crowdTestProjectCode}/{crowdTestProjectReportCode}", method = RequestMethod.GET)
+    public String deleteCrowdTestReport(@PathVariable("userId") Long userId,
+                                        @PathVariable("crowdTestProjectCode") String crowdTestProjectCode,
+                                        @PathVariable("crowdTestProjectReportCode") String crowdTestProjectReportCode) {
+        User user = userRepo.getByID(userId);
         CrowdTestProject crowdTestProject = crowdTestProjectRepo.getByProjectCode(crowdTestProjectCode);
-        CrowdTestProject crowdTestProjectResult = crowdTestProject.removeCrowdTestProjectReport();
+        CrowdTestProject crowdTestProjectResult = crowdTestProject.removeCrowdTestProjectReport(crowdTestProjectReportCode,user);
         crowdTestProjectRepo.saveCrowdTestProject(crowdTestProjectResult);
-        return crowdTestProjectRepo.getAllCrowdTestProject().toString();
+        return crowdTestProjectRepo.getByProjectCode(crowdTestProjectResult.getCode()).toString();
     }
 
 

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

@@ -62,17 +62,16 @@ public class CrowdTestProject {
                 ", distributionCity='" + distributionCity + '\'' +
                 ", quotedPrice=" + quotedPrice +
                 ", fixedPrice=" + fixedPrice +
-                ", status='" + status + '\'' +
+                ", status=" + status +
                 ", deadTime=" + deadTime +
                 ", endTime=" + endTime +
-                ", createTime=" + createTime +
                 ", isDeleted=" + isDeleted +
+                ", createTime=" + createTime +
                 ", crowdTestTaskList=" + crowdTestTaskList +
                 ", crowdTestReportForProject=" + crowdTestReportForProject +
                 '}';
     }
 
-
     /**
      * 更新项目信息
      * @param crowdTestProjectModify
@@ -135,92 +134,90 @@ public class CrowdTestProject {
     }
 
     /**
-     * 逻辑删除项目
+     * 逻辑删除项目(项目发布者)
      * @return
      */
-    public CrowdTestProject removeCrowdTestProject() {
-        if(this.getIsDeleted() == DeletedStatus.isDeleted){
-            throw new CrowdTestProjectException("项目已被删除,不能再次删除");
-        }else{
-            List<CrowdTestTask> crowdTestTaskList = this.getCrowdTestTaskList();
-            for(CrowdTestTask crowdTestTask : crowdTestTaskList){
-                crowdTestTask.removeCrowdTestTask();
-                List<CrowdTestReport> crowdTestReportList = crowdTestTask.getCrowdTestReportList();
-                for(CrowdTestReport crowdTestReport : crowdTestReportList){
-                    crowdTestReport.removeCrowdTestReport();
-                }
-            }
-            CrowdTestReport crowdTestReportForProject = this.getCrowdTestReportForProject();
-            if(crowdTestReportForProject != null){
-                crowdTestReportForProject.removeCrowdTestReport();
-            }
-            this.setIsDeleted(DeletedStatus.isDeleted);
+    public CrowdTestProject removeCrowdTestProject(User user) {
+        //判断用户是否认证
+        List<Role> roleList = user.getRoleList();
+        if(roleList.size() == 1 && roleList.get(0).getId() == 6L){
+            throw new CrowdTestProjectException("当前用户未进行认证,无权限对项目操作");
         }
+        //判断用户是否为项目发起者
+        if(!this.getUserId().equals(user.getId())){
+            throw new CrowdTestProjectException("当前用户无权限发布此项目");
+        }
+
+        this.getCrowdTestTaskList()
+                .stream().forEach(crowdTestTask -> crowdTestTask.removeCrowdTestTask());
+        this.getCrowdTestTaskList()
+                .stream().forEach(crowdTestTask -> crowdTestTask.getCrowdTestReportList().stream().forEach(crowdTestReport -> crowdTestReport.removeCrowdTestReport()));
+
+        CrowdTestReport crowdTestReportForProject = this.getCrowdTestReportForProject();
+        if(crowdTestReportForProject != null){
+            crowdTestReportForProject.removeCrowdTestReport();
+        }
+        this.setIsDeleted(DeletedStatus.isDeleted);
         return this;
     }
 
     /**
-     * 逻辑删除任务
+     * 逻辑删除任务(区域管理员)
      * @param crowdTestTaskCode
      * @return
      */
-    public CrowdTestProject removeCrowdTestTask(String crowdTestTaskCode) {
-        List<CrowdTestTask> crowdTestTaskList = this.getCrowdTestTaskList();
-        for(CrowdTestTask crowdTestTask : crowdTestTaskList){
-            if(crowdTestTaskCode.equals(crowdTestTask.getCode())){
-                crowdTestTask.removeCrowdTestTask();
-                List<CrowdTestReport> crowdTestReportList = crowdTestTask.getCrowdTestReportList();
-                for(CrowdTestReport crowdTestReport : crowdTestReportList){
-                    crowdTestReport.removeCrowdTestReport();
-                }
-            }
+    public CrowdTestProject removeCrowdTestTask(String crowdTestTaskCode, User user) {
+        //判断是否为区域管理员
+        RegionalManager regionalManager = user.getRegionalManager();
+        if(regionalManager == null){
+            throw new UserNotExistException("当前用户不是区域管理员,没有权限对任务进行操作");
         }
 
-        boolean judgeHasCrowdTestTask = true;
-        for(CrowdTestTask crowdTestTask : this.getCrowdTestTaskList()){
-            if(crowdTestTask.getIsDeleted() == DeletedStatus.isNotDeleted){
-                judgeHasCrowdTestTask = false;
-            }
+        //判断是否是当前项目的区域管理员
+        if(!this.getRegionalManagerId().equals(user.getId())){
+            throw new CrowdTestTaskException("当前用户没有权限删除此测试任务!");
         }
 
-        // 如果删除任务后,项目中不存在任务,把项目状态从HAS_SPLITED改为HAS_RECEIVED
-        if(judgeHasCrowdTestTask){
-            this.setStatus(CrowdTestProjectStatus.HAS_RECEIVED);
+        Optional<CrowdTestTask> task = this.getCrowdTestTaskList()
+                .stream().filter(crowdTestTask -> crowdTestTask.getCode().equals(crowdTestTaskCode)).findFirst();
+        if(!task.isPresent()){
+            throw new CrowdTestTaskException("当前项目下没有此测试任务!");
+        }else{
+            task.get().removeCrowdTestTask();
+            task.get().getCrowdTestReportList().stream().forEach(crowdTestReport -> crowdTestReport.removeCrowdTestReport());
         }
         return this;
     }
 
     /**
-     * 逻辑删除报告
+     * 逻辑删除报告(测评机构)
      * @param crowdTestTaskCode
      * @param crowdTestReportCode
      * @return
      */
-    public CrowdTestProject removeCrowdTestReport(String crowdTestTaskCode, String crowdTestReportCode) {
-        List<CrowdTestTask> crowdTestTaskList = this.getCrowdTestTaskList();
-        for(CrowdTestTask crowdTestTask : crowdTestTaskList){
-            if(crowdTestTaskCode.equals(crowdTestTask.getCode())){
-                List<CrowdTestReport> crowdTestReportList = crowdTestTask.getCrowdTestReportList();
-                for(CrowdTestReport crowdTestReport : crowdTestReportList){
-                    if(crowdTestReportCode.equals(crowdTestReport.getCode())){
-                        crowdTestReport.removeCrowdTestReport();
-                    }
-                }
-            }
+    public CrowdTestProject removeCrowdTestReport(String crowdTestTaskCode, String crowdTestReportCode, User user) {
+
+        //判断是否为测评机构
+        EvaluationAgency evaluationAgency = user.getEvaluationAgency();
+        if(evaluationAgency == null){
+            throw new UserNotExistException("当前用户不是测评机构,没有权限操作测试报告");
         }
 
-        boolean judgeHasCrowdTestReport = true;
-        for(CrowdTestTask crowdTestTask : this.getCrowdTestTaskList()){
-            if(crowdTestTaskCode.equals(crowdTestTask.getCode())){
-                List<CrowdTestReport> crowdTestReportList = crowdTestTask.getCrowdTestReportList();
-                for(CrowdTestReport crowdTestReport : crowdTestReportList){
-                    if(crowdTestReport.getIsDeleted() == DeletedStatus.isNotDeleted){
-                        judgeHasCrowdTestReport = false;
-                    }
-                }
-                // 删除报告后,如果任务中不存在报告,把任务状态从HAS_REPORTED改为HAS_RECEIVED
-                if(judgeHasCrowdTestReport){
-                    crowdTestTask.setStatus(CrowdTestTaskStatus.HAS_RECEIVED);
+        Optional<CrowdTestTask> task = this.getCrowdTestTaskList()
+                .stream().filter(crowdTestTask -> crowdTestTask.getCode().equals(crowdTestTaskCode)).findFirst();
+        if(!task.isPresent()){
+            throw new CrowdTestTaskException("当前项目下没有此测试任务!");
+        }else{
+            //判断是否是当前任务的测评机构
+            if(!task.get().getEvaluationAgencyId().equals(user.getId())){
+                throw new CrowdTestTaskException("当前用户没有权限删除此任务的测试报告!");
+            }else{
+                Optional<CrowdTestReport> report = task.get().getCrowdTestReportList()
+                        .stream().filter(crowdTestReport -> crowdTestReport.getCode().equals(crowdTestReportCode)).findFirst();
+                if(!report.isPresent()){
+                    throw new CrowdTestReportException("当前任务下没有此测试报告!");
+                }else{
+                    report.get().removeCrowdTestReport();
                 }
             }
         }
@@ -229,24 +226,34 @@ public class CrowdTestProject {
 
 
     /**
-     * 删除项目报告,并修改项目转态
+     * 删除项目报告(区域管理员)
      * @return
      */
-    public CrowdTestProject removeCrowdTestProjectReport() {
+    public CrowdTestProject removeCrowdTestProjectReport(String crowdTestProjectReportCode,User user) {
+        //判断是否为区域管理员
+        RegionalManager regionalManager = user.getRegionalManager();
+        if(regionalManager == null){
+            throw new UserNotExistException("当前用户不是区域管理员,没有权限对项目进行操作");
+        }
+
+        //判断是否是当前项目的区域管理员
+        if(!this.getRegionalManagerId().equals(user.getId())){
+            throw new CrowdTestTaskException("当前用户没有权限删除此测试任务!");
+        }
+        System.out.println(crowdTestProjectReportCode);
+        System.out.println(crowdTestReportForProject.getCode());
+
         CrowdTestReport crowdTestReportForProject = this.getCrowdTestReportForProject();
-        if(crowdTestReportForProject.getIsDeleted() != DeletedStatus.isNotDeleted){
-            throw new CrowdTestProjectException("项目报告已经被删除,不可重复删除");
+        if(crowdTestReportForProject == null){
+            throw new CrowdTestProjectException("当前项目下没有项目报告!");
+        }else if(!crowdTestProjectReportCode.equals(crowdTestReportForProject.getCode())){
+            throw new CrowdTestProjectException("当前项目下没有此项目报告!");
         }else{
             crowdTestReportForProject.setIsDeleted(DeletedStatus.isDeleted);
         }
-
-        if((CrowdTestProjectStatus.HAS_COMMITED-1) != this.getStatus()){
-            throw new CrowdTestProjectException("项目当前状态不可进行报告删除,当前项目状态为:"+this.getStatus());
-        }
         return this;
     }
 
-
     public void addTask(CrowdTestTask task){
         if (this.getStatus() != CrowdTestProjectStatus.HAS_RECEIVED)
             throw new BaseException("当前阶段不允许创建新任务");

+ 86 - 11
core/src/test/java/com/mooctest/crowd/domain/domainobject/CrowdTestProjectTest.java

@@ -22,7 +22,20 @@ public class CrowdTestProjectTest {
     private CrowdTestReport crowdTestProjectReport = new CrowdTestReport();
     private List<CrowdTestReport> crowdTestReportList = new ArrayList<>();
     private List<CrowdTestTask> crowdTestTaskList = new ArrayList<>();
-    
+
+    private User user = new User();
+    private RegionalManager regionalManager = new RegionalManager();
+    private EvaluationAgency evaluationAgency = new EvaluationAgency();
+    private Role role = new Role();
+    private List<Role> roleList = new ArrayList<>();
+    private Permission permission = new Permission();
+    private List<Permission> permissionList = new ArrayList<>();
+    private Regional regional = new Regional();
+    private List<Regional> regionalList = new ArrayList<>();
+    private EvaluationAgencyAbility evaluationAgencyAbility = new EvaluationAgencyAbility();
+    private List<EvaluationAgencyAbility> evaluationAgencyAbilityList = new ArrayList<>();
+    private EvaluationAgencyResource evaluationAgencyResource = new EvaluationAgencyResource();
+    private List<EvaluationAgencyResource> evaluationAgencyResourceList = new ArrayList<>();
     
     @Before
     public void before(){
@@ -98,6 +111,69 @@ public class CrowdTestProjectTest {
         crowdTestProjectReport.setScope(0);
         crowdTestProjectReport.setIsDeleted(0);
         crowdTestProject.setCrowdTestReportForProject(crowdTestProjectReport);
+
+        user.setId(1L);
+        user.setName("郭超");
+        user.setEmail("1021172957@qq.com");
+        user.setPassword("123456");
+        user.setMobile("13657094936");
+        user.setProvince("江苏");
+        user.setCity("南京");
+        user.setPhotoUrl("https://mooctest.phone.com");
+        user.setGender("男");
+        user.setUserName("guochao");
+        user.setIsAvailable(1);
+        user.setIsDeleted(DeletedStatus.isNotDeleted);
+
+        permission.setId(1L);
+        permission.setName("查看项目");
+        permission.setOperation("查看项目");
+        permission.setResource("项目");
+        permission.setCreateTime(role.getCreateTime());
+        permissionList.add(permission);
+
+        role.setId(1L);
+        role.setName("generalUser");
+        role.setCreateTime(user.getCreateTime());
+        role.setPermissionList(permissionList);
+        roleList.add(role);
+        user.setRoleList(roleList);
+
+        regional.setId(1L);
+//        regional.set(user.getCity());
+//        regional.setProvince(user.getProvince());
+        regionalList.add(regional);
+
+        regionalManager.setId(1L);
+        regionalManager.setUserId(user.getId());
+        regionalManager.setRegionalList(regionalList);
+        user.setRegionalManager(regionalManager);
+
+        evaluationAgency.setId(1L);
+        evaluationAgency.setUserId(user.getId());
+        evaluationAgency.setEvaluationAgencyName("测评机构");
+        evaluationAgency.setBankAccount("111111111");
+        evaluationAgency.setAgencyPhoto("https://mooctest.phone.com");
+        evaluationAgency.setAddress(user.getProvince()+user.getCity());
+        evaluationAgency.setIsDeleted(DeletedStatus.isNotDeleted);
+        evaluationAgency.setIsAuthentication(AuthenticationStatus.isAuthenticated);
+        evaluationAgency.setExpireTime(user.getCreateTime());
+        evaluationAgency.setUpdateTime(user.getCreateTime());
+        evaluationAgency.setCreateTime(user.getCreateTime());
+
+        evaluationAgencyAbility.setId(1L);
+        evaluationAgencyAbility.setAbilityName("IOS");
+        evaluationAgencyAbility.setEvaluationAgencyId(evaluationAgency.getId());
+        evaluationAgencyAbilityList.add(evaluationAgencyAbility);
+
+        evaluationAgencyResource.setId(1L);
+        evaluationAgencyResource.setEvaluationAgencyId(evaluationAgency.getId());
+        evaluationAgencyResource.setType("人力资源");
+        evaluationAgencyResourceList.add(evaluationAgencyResource);
+
+        evaluationAgency.setEvaluationAgencyAbilityList(evaluationAgencyAbilityList);
+        evaluationAgency.setEvaluationAgencyResourceList(evaluationAgencyResourceList);
+        user.setEvaluationAgency(evaluationAgency);
     }
 
     @Test
@@ -139,7 +215,7 @@ public class CrowdTestProjectTest {
     @Test
     public void should_return_project_when_remove_project() {
         //action
-        CrowdTestProject crowdTestProjectResult = this.crowdTestProject.removeCrowdTestProject();
+        CrowdTestProject crowdTestProjectResult = this.crowdTestProject.removeCrowdTestProject(user);
         //assert
         Assert.assertEquals(crowdTestProjectResult.getIsDeleted(), DeletedStatus.isDeleted);
     }
@@ -149,7 +225,7 @@ public class CrowdTestProjectTest {
         //arrange
         crowdTestProject.setIsDeleted(DeletedStatus.isDeleted);
         //action
-        this.crowdTestProject.removeCrowdTestProject();
+        this.crowdTestProject.removeCrowdTestProject(user);
     }
 
     @Test
@@ -157,10 +233,9 @@ public class CrowdTestProjectTest {
         //arrange
         this.crowdTestProject.getCrowdTestTaskList().get(0).setIsDeleted(DeletedStatus.isNotDeleted);
         //action
-        CrowdTestProject crowdTestProjectResult = this.crowdTestProject.removeCrowdTestTask(crowdTestTask.getCode());
+        CrowdTestProject crowdTestProjectResult = this.crowdTestProject.removeCrowdTestTask(crowdTestTask.getCode(),user);
         //assert
         Assert.assertEquals(crowdTestProjectResult.getCrowdTestTaskList().get(0).getIsDeleted(), DeletedStatus.isDeleted);
-        Assert.assertEquals(crowdTestProjectResult.getStatus(),CrowdTestProjectStatus.HAS_RECEIVED);
     }
 
     @Test
@@ -181,7 +256,7 @@ public class CrowdTestProjectTest {
         crowdTestTask.setCrowdTestReportList(crowdTestReportList);
         crowdTestProject.setCrowdTestTaskList(crowdTestTaskList);
         //action
-        CrowdTestProject crowdTestProjectResult = this.crowdTestProject.removeCrowdTestTask(crowdTestTask.getCode());
+        CrowdTestProject crowdTestProjectResult = this.crowdTestProject.removeCrowdTestTask(crowdTestTask.getCode(),user);
         //assert
         Assert.assertEquals(crowdTestProjectResult.getCrowdTestTaskList().get(0).getIsDeleted(), DeletedStatus.isDeleted);
     }
@@ -192,7 +267,7 @@ public class CrowdTestProjectTest {
         this.crowdTestProject.getCrowdTestTaskList().get(0).getCrowdTestReportList().get(0).setIsDeleted(DeletedStatus.isNotDeleted);
 
         //action
-        CrowdTestProject crowdTestProjectResult = this.crowdTestProject.removeCrowdTestReport(crowdTestTask.getCode(), crowdTestReport.getCode());
+        CrowdTestProject crowdTestProjectResult = this.crowdTestProject.removeCrowdTestReport(crowdTestTask.getCode(), crowdTestReport.getCode(),user);
         //assert
         Assert.assertEquals(crowdTestProjectResult.getCrowdTestTaskList().get(0).getCrowdTestReportList().get(0).getIsDeleted(), DeletedStatus.isDeleted);
         Assert.assertEquals(crowdTestProjectResult.getCrowdTestTaskList().get(0).getStatus(),CrowdTestTaskStatus.HAS_RECEIVED);
@@ -217,7 +292,7 @@ public class CrowdTestProjectTest {
         crowdTestTask.setCrowdTestReportList(crowdTestReportList);
         crowdTestProject.setCrowdTestTaskList(crowdTestTaskList);
         //action
-        CrowdTestProject crowdTestProjectResult = this.crowdTestProject.removeCrowdTestReport(crowdTestTask.getCode(), crowdTestReport.getCode());
+        CrowdTestProject crowdTestProjectResult = this.crowdTestProject.removeCrowdTestReport(crowdTestTask.getCode(), crowdTestReport.getCode(),user);
         //assert
         Assert.assertEquals(crowdTestProjectResult.getCrowdTestTaskList().get(0).getCrowdTestReportList().get(0).getIsDeleted(), DeletedStatus.isDeleted);
     }
@@ -228,7 +303,7 @@ public class CrowdTestProjectTest {
         crowdTestProject.getCrowdTestReportForProject().setIsDeleted(DeletedStatus.isNotDeleted);
 //        crowdTestProject.setStatus(CrowdTestProjectStatus.HAS_REPORTED);
         //action
-        CrowdTestProject crowdTestProjectResult = this.crowdTestProject.removeCrowdTestProjectReport();
+        CrowdTestProject crowdTestProjectResult = this.crowdTestProject.removeCrowdTestProjectReport(this.crowdTestProjectReport.getCode(),user);
         //assert
         Assert.assertEquals(crowdTestProjectResult.getCrowdTestReportForProject().getIsDeleted(),DeletedStatus.isDeleted);
 //        Assert.assertEquals(crowdTestProjectResult.getStatus(),CrowdTestProjectStatus.HAS_SPLITED);
@@ -239,7 +314,7 @@ public class CrowdTestProjectTest {
         //arrange
         crowdTestProject.getCrowdTestReportForProject().setIsDeleted(DeletedStatus.isDeleted);
         //action
-        this.crowdTestProject.removeCrowdTestProjectReport();
+        this.crowdTestProject.removeCrowdTestProjectReport(this.crowdTestProjectReport.getCode(),user);
     }
 
     @Test(expected = CrowdTestProjectException.class)
@@ -248,7 +323,7 @@ public class CrowdTestProjectTest {
         crowdTestProject.getCrowdTestReportForProject().setIsDeleted(DeletedStatus.isNotDeleted);
         crowdTestProject.setStatus(CrowdTestProjectStatus.HAS_CREATED);
         //action
-        this.crowdTestProject.removeCrowdTestProjectReport();
+        this.crowdTestProject.removeCrowdTestProjectReport(this.crowdTestProjectReport.getCode(),user);
     }
 
     @Test