|
@@ -1,27 +1,30 @@
|
|
|
package com.mooctest.crowd.site.service.impl;
|
|
|
|
|
|
|
|
|
+import com.mooctest.crowd.domain.domainobject.EndPoint;
|
|
|
+import com.mooctest.crowd.domain.repository.CrowdTestTaskRepo;
|
|
|
import com.mooctest.crowd.domain.repository.PublicationsRepo;
|
|
|
import com.mooctest.crowd.domain.repository.TechnicalArticlesRepo;
|
|
|
import com.mooctest.crowd.domain.repository.ToolRepo;
|
|
|
import com.mooctest.crowd.site.data.dto.TechnicalArticlesDTO;
|
|
|
+import com.mooctest.crowd.site.data.vo.CrowdTaskVO;
|
|
|
import com.mooctest.crowd.site.data.vo.PublicationsVO;
|
|
|
import com.mooctest.crowd.site.data.vo.TechnicalArticlesVO;
|
|
|
import com.mooctest.crowd.site.data.vo.ToolVO;
|
|
|
import com.mooctest.crowd.site.mediator.ViewMediator;
|
|
|
import com.mooctest.crowd.site.service.TechnicalArticlesService;
|
|
|
+import com.mooctest.crowd.site.util.DataUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.data.domain.Pageable;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.List;
|
|
|
import java.util.Map;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
@Service
|
|
|
public class TechnicalArticlesServiceImpl implements TechnicalArticlesService{
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
@Autowired
|
|
|
private ViewMediator viewMediator;
|
|
|
|
|
@@ -29,6 +32,9 @@ public class TechnicalArticlesServiceImpl implements TechnicalArticlesService{
|
|
|
private TechnicalArticlesRepo technicalArticlesRepo;
|
|
|
|
|
|
@Autowired
|
|
|
+ private CrowdTestTaskRepo crowdTestTaskRepo;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
private PublicationsRepo publicationsRepo;
|
|
|
|
|
|
@Autowired
|
|
@@ -45,6 +51,19 @@ public class TechnicalArticlesServiceImpl implements TechnicalArticlesService{
|
|
|
technicalArticlesDTO.setPublicationsPage(publicationsRepo.getPublications(pageable, keyword).map(publications -> new PublicationsVO(publications)));
|
|
|
}else if(value.equals("2")){
|
|
|
technicalArticlesDTO.setToolVOPage(toolRepo.getAllTool(pageable, keyword).map(tool -> new ToolVO(tool)));
|
|
|
+ }else if(value.equals("3")){
|
|
|
+ List<EndPoint> endPointShowList = crowdTestTaskRepo.getEndPointShowList();
|
|
|
+ List<CrowdTaskVO> crowdTaskVOS = new ArrayList<>();
|
|
|
+ if(keyword != null && keyword != ""){
|
|
|
+ crowdTaskVOS = endPointShowList.stream()
|
|
|
+ .map(endPoint -> viewMediator.renderTaskDetailsByTourist(endPoint.getProjectCode(), endPoint.getTaskCode()))
|
|
|
+ .filter(crowdTaskVO -> crowdTaskVO.getTitle().contains(keyword)).collect(Collectors.toList());
|
|
|
+ }else{
|
|
|
+ crowdTaskVOS = endPointShowList.stream()
|
|
|
+ .map(endPoint -> viewMediator.renderTaskDetailsByTourist(endPoint.getProjectCode(), endPoint.getTaskCode()))
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ }
|
|
|
+ technicalArticlesDTO.setTaskVOS(DataUtils.listToPage(crowdTaskVOS, pageable));
|
|
|
}
|
|
|
}
|
|
|
return technicalArticlesDTO;
|