|
|
@@ -3,6 +3,7 @@ package com.mooctest.crowd.site.mediator.impl;
|
|
|
import com.mooctest.crowd.domain.dao.*;
|
|
|
import com.mooctest.crowd.domain.domainobject.*;
|
|
|
import com.mooctest.crowd.domain.exception.AccountNotExistException;
|
|
|
+import com.mooctest.crowd.domain.model.CrowdTestProjectPO;
|
|
|
import com.mooctest.crowd.domain.model.EvaluationAgencyPO;
|
|
|
import com.mooctest.crowd.domain.model.RegionalManagerPO;
|
|
|
import com.mooctest.crowd.domain.model.UserPO;
|
|
|
@@ -16,6 +17,7 @@ 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.context.annotation.Bean;
|
|
|
import org.springframework.data.domain.PageRequest;
|
|
|
import org.springframework.data.domain.Pageable;
|
|
|
import org.springframework.stereotype.Component;
|
|
|
@@ -115,15 +117,36 @@ public class WebMediatorImpl implements ViewMediator {
|
|
|
|
|
|
@Override
|
|
|
public MyCrowdDTO renderMyCrowd(Long userId) {
|
|
|
+ MyCrowdDTO myCrowdDTO = new MyCrowdDTO();
|
|
|
User user = userRepo.getByID(userId);
|
|
|
- List<CrowdProjectVO> proejcts = projectDao.findByUserIdAndIsDeleted(userId, DeletedStatus.isNotDeleted)
|
|
|
+ //我的众测 - 项目相关信息
|
|
|
+ //获取我创建的项目列表
|
|
|
+ List<CrowdProjectVO> myProejcts = projectDao.findByUserIdAndIsDeleted(userId, DeletedStatus.isNotDeleted)
|
|
|
.stream().map(crowdTestProjectPO -> {
|
|
|
CrowdTestProject project = new CrowdTestProject();
|
|
|
BeanUtils.copyProperties(crowdTestProjectPO, project);
|
|
|
return new CrowdProjectVO(project);}).collect(Collectors.toList());
|
|
|
+ //对于区域管理员
|
|
|
+ if (user.getRegionalManager() != null){
|
|
|
+ //获取区域管理员正在处理中的项目列表
|
|
|
+ myCrowdDTO.setHandlingProjects(projectDao.findByRegionalManagerIdAndIsDeleted(userId, DeletedStatus.isNotDeleted)
|
|
|
+ .stream().map(crowdTestProjectPO -> {
|
|
|
+ CrowdTestProject project = new CrowdTestProject();
|
|
|
+ BeanUtils.copyProperties(crowdTestProjectPO, project);
|
|
|
+ return new CrowdProjectVO(project); }).collect(Collectors.toList()));
|
|
|
+ //获取区域管理员可以接收领取的项目列表
|
|
|
+ List<CrowdTestProjectPO> acceptableProject = new ArrayList<>();
|
|
|
+ acceptableProject.addAll(projectDao.findAllByStatusLessThanAndProjectDistributionTypeId(CrowdTestProjectStatus.HAS_RECEIVED, 2L));
|
|
|
+ for (Regional regional : user.getRegionalManager().getRegionalList()) {
|
|
|
+ acceptableProject.addAll(projectDao.findByStatusLessThanAndProjectDistributionTypeIdAndDistributionCity(CrowdTestProjectStatus.HAS_RECEIVED, 1L, regional.getId()+""));
|
|
|
+ }
|
|
|
+ myCrowdDTO.setAcceptableProjects(acceptableProject.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.setMyProjects(myProejcts);
|
|
|
myCrowdDTO.setUserVO(userVO);
|
|
|
|
|
|
if (user.getEvaluationAgency() == null)
|