|
@@ -2,7 +2,9 @@ package com.mooctest.crowd.site.mediator.impl;
|
|
|
|
|
|
import com.mooctest.crowd.domain.dao.EvaluationAgencyDao;
|
|
|
import com.mooctest.crowd.domain.domainobject.CrowdTestProject;
|
|
|
+import com.mooctest.crowd.domain.domainobject.CrowdTestTask;
|
|
|
import com.mooctest.crowd.domain.domainobject.CrowdTestTaskStatus;
|
|
|
+import com.mooctest.crowd.domain.domainobject.User;
|
|
|
import com.mooctest.crowd.domain.exception.AccountNotExistException;
|
|
|
import com.mooctest.crowd.domain.repository.CrowdTestProjectRepo;
|
|
|
import com.mooctest.crowd.domain.repository.UserRepo;
|
|
@@ -110,8 +112,33 @@ public class WebMediatorImpl implements ViewMediator {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public MyCrowdDTO renderMyCrowd(AccountCommand accountCommand) {
|
|
|
- return new MyCrowdDTO();
|
|
|
+ public MyCrowdDTO renderMyCrowd(Long userId) {
|
|
|
+ User user = userRepo.getByID(userId);
|
|
|
+ List<CrowdProjectVO> proejcts = projectRepo.getCrowdListByUserId(userId).stream()
|
|
|
+ .map(project -> new CrowdProjectVO(project)).collect(Collectors.toList());
|
|
|
+ UserVO userVO = new UserVO(userRepo.getByID(userId));
|
|
|
+ MyCrowdDTO myCrowdDTO = new MyCrowdDTO();
|
|
|
+ myCrowdDTO.setCrowdProjectVOList(proejcts);
|
|
|
+ myCrowdDTO.setUserVO(userVO);
|
|
|
+
|
|
|
+ if (user.getEvaluationAgency() == null)
|
|
|
+ return myCrowdDTO;
|
|
|
+
|
|
|
+ List<CrowdTaskVO> unfinishedTasks = new ArrayList<>();
|
|
|
+ List<CrowdTaskVO> finishedTasks = new ArrayList<>();
|
|
|
+ projectRepo.getAllCrowdTestProject().forEach(project -> {
|
|
|
+ project.getCrowdTestTaskList().forEach(crowdTestTask -> {
|
|
|
+ if (crowdTestTask.getEvaluationAgencyId() == user.getEvaluationAgency().getId())
|
|
|
+ if (crowdTestTask.getStatus() == CrowdTestTaskStatus.HAS_FINISHED)
|
|
|
+ finishedTasks.add(new CrowdTaskVO(crowdTestTask));
|
|
|
+ else if (CrowdTestTaskStatus.HAS_RECEIVED<=crowdTestTask.getStatus() && crowdTestTask.getStatus() <CrowdTestTaskStatus.HAS_FINISHED)
|
|
|
+ unfinishedTasks.add(new CrowdTaskVO(crowdTestTask));
|
|
|
+ });
|
|
|
+ });
|
|
|
+
|
|
|
+ myCrowdDTO.setFinishedTasks(finishedTasks);
|
|
|
+ myCrowdDTO.setUnfinishedTasks(unfinishedTasks);
|
|
|
+ return myCrowdDTO;
|
|
|
}
|
|
|
|
|
|
@Override
|