|
@@ -52,7 +52,6 @@ public class WebMediatorImpl implements ViewMediator {
|
|
|
|
|
|
@Autowired
|
|
|
private CommonRepo commonRepo;
|
|
|
-
|
|
|
@Autowired
|
|
|
private CrowdTestTaskDao taskDao;
|
|
|
|
|
@@ -83,8 +82,7 @@ public class WebMediatorImpl implements ViewMediator {
|
|
|
@Autowired
|
|
|
private TaskToUserDao taskToUserDao;
|
|
|
|
|
|
- @Autowired
|
|
|
- private CrowdTestProjectDao crowdTestProjectDao;
|
|
|
+ private TechnicalArticlesDao technicalarticlesDao;
|
|
|
|
|
|
@Value("${agency}")
|
|
|
private String agencyId;
|
|
@@ -193,7 +191,7 @@ public class WebMediatorImpl implements ViewMediator {
|
|
|
return evolutionAgencyVO;
|
|
|
}).collect(Collectors.toList());
|
|
|
|
|
|
- Page<CrowdTestProjectPO> all = crowdTestProjectDao.findAll(pageable);
|
|
|
+ Page<CrowdTestProjectPO> all = projectDao.findAll(pageable);
|
|
|
|
|
|
indexInfoDTO.setAgencyRank(agencyRanks);
|
|
|
// indexInfoDTO.setUserRank(userRanks);
|
|
@@ -211,23 +209,22 @@ public class WebMediatorImpl implements ViewMediator {
|
|
|
public IndexDTO renderIndex() {
|
|
|
|
|
|
Pageable pageable = PageRequest.of(0, 10);
|
|
|
- //获取用户排名
|
|
|
- List<UserVO> userRanks = projectDao.findTotalPriceOfUser(pageable).stream().map(rankInfo -> {
|
|
|
- Optional<UserPO> userPO = userDao.findById(rankInfo.getEntityId());
|
|
|
- if (userPO.isPresent()) {
|
|
|
- UserVO userVO = new UserVO();
|
|
|
- userVO.setName(userPO.get().getName());
|
|
|
- userVO.setUserName(userPO.get().getUserName());
|
|
|
- userVO.setAllProjectPrice(rankInfo.getTotalPrice());
|
|
|
- return userVO;
|
|
|
- }
|
|
|
+ //获取用户排名
|
|
|
+ List<UserVO> userRanks = projectDao.findTotalPriceOfUser(pageable).stream().map(rankInfo -> {
|
|
|
+ Optional<UserPO> userPO = userDao.findById(rankInfo.getEntityId());
|
|
|
+ if (userPO.isPresent()) {
|
|
|
+ UserVO userVO = new UserVO();
|
|
|
+ userVO.setName(userPO.get().getName());
|
|
|
+ userVO.setUserName(userPO.get().getUserName());
|
|
|
+ userVO.setAllProjectPrice(rankInfo.getTotalPrice());
|
|
|
+ return userVO;
|
|
|
+ }
|
|
|
return null;
|
|
|
}).filter(Objects::nonNull).collect(Collectors.toList());
|
|
|
//获取机构排名
|
|
|
- String agencyName = agencyDao.findById(Long.parseLong(agencyId)).get().getEvaluationAgencyName();
|
|
|
List<EvolutionAgencyVO> agencyRanks = taskToUserDao.findTotalPriceOfAgency(pageable).stream().map(rankInfo -> {
|
|
|
EvaluationAgencyPO agency = agencyDao.findByUserId(rankInfo.getEntityId());
|
|
|
- if (agency!=null && !agency.getEvaluationAgencyName().equals(agencyName)) {
|
|
|
+ if (agency!=null) {
|
|
|
EvolutionAgencyVO agencyVO = new EvolutionAgencyVO();
|
|
|
agencyVO.setName(agency.getEvaluationAgencyName());
|
|
|
agencyVO.setLogo(agency.getAgencyPhoto());
|
|
@@ -279,8 +276,8 @@ public class WebMediatorImpl implements ViewMediator {
|
|
|
//获取我创建的项目列表
|
|
|
List<CrowdProjectVO> myProejcts = projectDao.findByUserIdAndIsDeleted(userId, DeletedStatus.isNotDeleted)
|
|
|
.stream().sorted(Comparator.comparing(CrowdTestProjectPO::getCreateTime).thenComparing(CrowdTestProjectPO::getStatus).reversed()).map(crowdTestProjectPO -> {
|
|
|
- CrowdTestProject project = new CrowdTestProject();
|
|
|
- BeanUtils.copyProperties(crowdTestProjectPO, project);
|
|
|
+ CrowdTestProject project = new CrowdTestProject();
|
|
|
+ BeanUtils.copyProperties(crowdTestProjectPO, project);
|
|
|
CrowdProjectVO projectVO = new CrowdProjectVO(project);
|
|
|
if (project.getStatus() == CrowdTestProjectStatus.HAS_COMMITED)
|
|
|
projectVO.setNeedHandle(true);
|
|
@@ -313,9 +310,9 @@ public class WebMediatorImpl implements ViewMediator {
|
|
|
.anyMatch(reg -> (reg.getProvince().equals("*") || reg.getProvince().equals(crowdTestProjectPO.getDistributionProvince())) && (reg.getCity().equals("*")||reg.getCity().equals(crowdTestProjectPO.getDistributionCity())))).collect(Collectors.toList()));
|
|
|
myCrowdDTO.setAcceptableProjects(acceptableProject.stream().sorted(Comparator.comparing(CrowdTestProjectPO::getCreateTime).thenComparing(CrowdTestProjectPO::getStatus).reversed())
|
|
|
.map(crowdTestProjectPO -> {
|
|
|
- CrowdTestProject project = new CrowdTestProject();
|
|
|
- BeanUtils.copyProperties(crowdTestProjectPO, project);
|
|
|
- return new CrowdProjectVO(project); }).collect(Collectors.toList()));
|
|
|
+ CrowdTestProject project = new CrowdTestProject();
|
|
|
+ BeanUtils.copyProperties(crowdTestProjectPO, project);
|
|
|
+ return new CrowdProjectVO(project); }).collect(Collectors.toList()));
|
|
|
myCrowdDTO.setAcceptableProjectNoticeCount(Long.parseLong(""+acceptableProject.size()));
|
|
|
}
|
|
|
UserVO userVO = new UserVO(user);
|
|
@@ -356,6 +353,7 @@ public class WebMediatorImpl implements ViewMediator {
|
|
|
return myCrowdDTO;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
@Override
|
|
|
public TaskSquareDTO renderTaskSquare() {
|
|
|
List<CrowdTaskVO> taskVOList = taskDao.findAllByIsDeleted(0).stream().map(crowdTestTaskPO -> {
|
|
@@ -642,6 +640,26 @@ public class WebMediatorImpl implements ViewMediator {
|
|
|
}).collect(Collectors.toList()));
|
|
|
authingList.sort(Comparator.comparing(BaseAuthVO::getApplytime).reversed());
|
|
|
return authingList;
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List<TechnicalArticlesVO> technicalArticles(Pageable pageable) {
|
|
|
+ List<TechnicalArticlesVO> technicalArticlesVOList = new ArrayList<>();
|
|
|
+ technicalarticlesDao.findAll(pageable).forEach(technicalArticlesPO -> {
|
|
|
+ TechnicalArticlesVO technicalArticlesVO = new TechnicalArticlesVO();
|
|
|
+ technicalArticlesVO.setId(technicalArticlesPO.getId());
|
|
|
+ technicalArticlesVO.setName(technicalarticlesDao.findById(technicalArticlesPO.getId()).get().getName());
|
|
|
+ technicalArticlesVO.setPhotoUrl(technicalarticlesDao.findById(technicalArticlesPO.getId()).get().getPhotoUrl());
|
|
|
+ technicalArticlesVO.setArticlesUrl(technicalarticlesDao.findById(technicalArticlesPO.getId()).get().getArticlesUrl());
|
|
|
+ technicalArticlesVO.setAuthor(technicalarticlesDao.findById(technicalArticlesPO.getId()).get().getAuthor());
|
|
|
+ technicalArticlesVO.setSource(technicalarticlesDao.findById(technicalArticlesPO.getId()).get().getSource());
|
|
|
+ technicalArticlesVO.setReading(technicalarticlesDao.findById(technicalArticlesPO.getId()).get().getReading());
|
|
|
+ technicalArticlesVO.setCreateTime(technicalarticlesDao.findById(technicalArticlesPO.getId()).get().getCreateTime());
|
|
|
+ technicalArticlesVOList.add(technicalArticlesVO);
|
|
|
+ });
|
|
|
+ List<TechnicalArticlesVO> results = technicalArticlesVOList.stream().distinct().collect(Collectors.toList());
|
|
|
+ return results;
|
|
|
}
|
|
|
|
|
|
private ProjectOperationControl initProjectPermission(CrowdTestProject project, User user){
|
|
@@ -652,14 +670,12 @@ public class WebMediatorImpl implements ViewMediator {
|
|
|
if (project.getUserId().equals(user.getId())||user.getRoleList().stream().anyMatch(role -> role.getName().equals("SystemAdministrator"))){
|
|
|
if (project.getStatus() < CrowdTestProjectStatus.HAS_RECEIVED){
|
|
|
operationControl.setUpdate(true);
|
|
|
- operationControl.setReceive(false);
|
|
|
} else if (project.getStatus() == CrowdTestProjectStatus.HAS_COMMITED){
|
|
|
operationControl.setConfirmFinish(true);
|
|
|
}
|
|
|
}
|
|
|
//区域管理员视角
|
|
|
- else if (user.getRoleList().stream().anyMatch(role -> role.getName().equals("RegionalManager"))){
|
|
|
- operationControl.setUpdate(false);
|
|
|
+ if (user.getRoleList().stream().anyMatch(role -> role.getName().equals("RegionalManager"))){
|
|
|
if ((project.getProjectDistributionTypeId() == 0 && project.getRegionalManagerId().equals(user.getId()))
|
|
|
|| (project.getProjectDistributionTypeId()>0 && project.getStatus()>=CrowdTestProjectStatus.HAS_RECEIVED && project.getRegionalManagerId().equals(user.getId()))){
|
|
|
if (project.getStatus() == CrowdTestProjectStatus.HAS_RELEASED){
|
|
@@ -678,7 +694,6 @@ public class WebMediatorImpl implements ViewMediator {
|
|
|
}
|
|
|
if (project.getCrowdTestReportForProject()!=null){
|
|
|
operationControl.setFinish(true);
|
|
|
- operationControl.setUploadReport(false);
|
|
|
}
|
|
|
} else if (project.getStatus() == CrowdTestProjectStatus.HAS_COMMITED){
|
|
|
operationControl.setCreateTask(false);
|