Explorar o código

修复具有配置项的任务仅第一次接收的时候加入区域管理员到任务中

guo00guo %!s(int64=5) %!d(string=hai) anos
pai
achega
3e1ac8ded7

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

@@ -160,12 +160,18 @@ public class CrowdTaskServiceImpl implements CrowdTaskService {
             throw new BaseException("您是项目发起者,不可接收自己项目下的测试任务!");
         }
         CrowdTestTask task = project.getTask(taskCode);
+        // 是否为第一个接包的人标识
+        boolean isFirstAcceptPeople = false;
+        if(task.getStatus() == CrowdTestTaskStatus.HAS_RELEASED){
+            isFirstAcceptPeople = true;
+        }
+
         task.receive(userRepo.getByID(userId));
         project.setJoinCount(project.getJoinCount() + 1);
 
         // 判断是否为第三方任务,如果是则管理员自身也是一个参与者
         Optional<EndPointPO> endPointPOOptional = endPointDao.findByTaskCode(task.getCode());
-        if(endPointPOOptional.isPresent()){
+        if(endPointPOOptional.isPresent() && isFirstAcceptPeople){
             task.receive(userRepo.getByID(project.getRegionalManagerId()));
             project.setJoinCount(project.getJoinCount() + 1);
         }