|  | @@ -1,5 +1,7 @@
 | 
	
		
			
				|  |  |  package com.mooctest.crowd.site.mediator.impl;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +import com.mooctest.crowd.domain.dao.CrowdTestProjectDao;
 | 
	
		
			
				|  |  | +import com.mooctest.crowd.domain.dao.CrowdTestTaskDao;
 | 
	
		
			
				|  |  |  import com.mooctest.crowd.domain.domainobject.*;
 | 
	
		
			
				|  |  |  import com.mooctest.crowd.domain.exception.AccountNotExistException;
 | 
	
		
			
				|  |  |  import com.mooctest.crowd.domain.repository.CrowdTestProjectRepo;
 | 
	
	
		
			
				|  | @@ -10,6 +12,7 @@ import com.mooctest.crowd.site.data.dto.*;
 | 
	
		
			
				|  |  |  import com.mooctest.crowd.site.data.vo.*;
 | 
	
		
			
				|  |  |  import com.mooctest.crowd.site.mediator.ViewMediator;
 | 
	
		
			
				|  |  |  import lombok.extern.slf4j.Slf4j;
 | 
	
		
			
				|  |  | +import org.springframework.beans.BeanUtils;
 | 
	
		
			
				|  |  |  import org.springframework.beans.factory.annotation.Autowired;
 | 
	
		
			
				|  |  |  import org.springframework.stereotype.Component;
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -34,8 +37,10 @@ public class WebMediatorImpl implements ViewMediator {
 | 
	
		
			
				|  |  |      private UserRepo userRepo;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      @Autowired
 | 
	
		
			
				|  |  | -    private EvaluationAgencyRepo agencyResourceRepo;
 | 
	
		
			
				|  |  | +    private CrowdTestTaskDao taskDao;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +    @Autowired
 | 
	
		
			
				|  |  | +    private CrowdTestProjectDao projectDao;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      @Override
 | 
	
		
			
				|  |  |      public UserDTO loginByMobileAndPwd(LoginCommand cmd) {
 | 
	
	
		
			
				|  | @@ -142,28 +147,35 @@ public class WebMediatorImpl implements ViewMediator {
 | 
	
		
			
				|  |  |      @Override
 | 
	
		
			
				|  |  |      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));
 | 
	
		
			
				|  |  | +        List<CrowdProjectVO> proejcts = projectDao.findByUserIdAndIsDeleted(userId, DeletedStatus.isNotDeleted)
 | 
	
		
			
				|  |  | +                .stream().map(crowdTestProjectPO -> {
 | 
	
		
			
				|  |  | +                            CrowdTestProject project = new CrowdTestProject();
 | 
	
		
			
				|  |  | +                            BeanUtils.copyProperties(crowdTestProjectPO, project);
 | 
	
		
			
				|  |  | +                            return new CrowdProjectVO(project);}).collect(Collectors.toList());
 | 
	
		
			
				|  |  | +        UserVO userVO = new UserVO(user);
 | 
	
		
			
				|  |  |          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));
 | 
	
		
			
				|  |  | -            });
 | 
	
		
			
				|  |  | -        });
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | +        List<CrowdTestTask> allTaskOfAgency = null;
 | 
	
		
			
				|  |  | +        List<CrowdTaskVO> unfinishedTasks = null;
 | 
	
		
			
				|  |  | +        List<CrowdTaskVO> finishedTasks = null;
 | 
	
		
			
				|  |  | +        if (user.getEvaluationAgency()!=null) {
 | 
	
		
			
				|  |  | +            allTaskOfAgency = taskDao.findByEvaluationAgencyIdAndIsDeleted(user.getEvaluationAgency().getId(), 0).stream()
 | 
	
		
			
				|  |  | +                    .map(crowdTestTaskPO -> {
 | 
	
		
			
				|  |  | +                        CrowdTestTask task = new CrowdTestTask();
 | 
	
		
			
				|  |  | +                        BeanUtils.copyProperties(crowdTestTaskPO, task);
 | 
	
		
			
				|  |  | +                        return task;
 | 
	
		
			
				|  |  | +                    }).collect(Collectors.toList());
 | 
	
		
			
				|  |  | +            unfinishedTasks = allTaskOfAgency.stream()
 | 
	
		
			
				|  |  | +                    .filter(crowdTestTask -> crowdTestTask.getStatus()<CrowdTestTaskStatus.HAS_FINISHED)
 | 
	
		
			
				|  |  | +                    .map(CrowdTaskVO::new).collect(Collectors.toList());
 | 
	
		
			
				|  |  | +            finishedTasks = allTaskOfAgency.stream()
 | 
	
		
			
				|  |  | +                    .filter(crowdTestTask -> crowdTestTask.getStatus()==CrowdTestTaskStatus.HAS_FINISHED)
 | 
	
		
			
				|  |  | +                    .map(CrowdTaskVO::new).collect(Collectors.toList());
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  |          myCrowdDTO.setFinishedTasks(finishedTasks);
 | 
	
		
			
				|  |  |          myCrowdDTO.setUnfinishedTasks(unfinishedTasks);
 | 
	
		
			
				|  |  |          return myCrowdDTO;
 |