Ver Fonte

获取首页信息接口增加工具信息

guo00guo há 4 anos atrás
pai
commit
50391e38a8

+ 3 - 0
core/src/main/java/com/mooctest/crowd/domain/repository/IToolRepo.java

@@ -4,9 +4,12 @@ import com.mooctest.crowd.domain.domainobject.Tool;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.Pageable;
 
+import java.util.List;
+
 
 public interface IToolRepo {
 
     Page<Tool> getAllTool(Pageable pageable, String keyword);
 
+    List<Tool> getAllTools();
 }

+ 7 - 0
core/src/main/java/com/mooctest/crowd/domain/repository/ToolRepo.java

@@ -18,6 +18,8 @@ import javax.persistence.criteria.CriteriaBuilder;
 import javax.persistence.criteria.CriteriaQuery;
 import javax.persistence.criteria.Predicate;
 import javax.persistence.criteria.Root;
+import java.util.List;
+import java.util.stream.Collectors;
 
 @Slf4j
 @Component
@@ -28,6 +30,11 @@ public class ToolRepo implements IToolRepo{
     private ToolDao toolDao;
 
     @Override
+    public List<Tool> getAllTools() {
+        return toolDao.findAll().stream().map(toolPO -> Converter.convert(Tool.class, toolPO)).collect(Collectors.toList());
+    }
+
+    @Override
     public Page<Tool> getAllTool(Pageable pageable, String keyword) {
         Specifications<ToolPO> where =  Specifications.where(getToolByIsNotDeleted(keyword));
         return toolDao.findAll(where, pageable).map(ToolPO->Converter.convert(Tool.class, ToolPO));

+ 1 - 0
site/src/main/java/com/mooctest/crowd/site/data/dto/IndexInfoDTO.java

@@ -20,6 +20,7 @@ public class IndexInfoDTO implements Serializable {
     private List<FieldVO> fieldList;
     private List<CompetitionVO> competitionList;
     private List<ResourceVO> resourceList;
+    private List<ToolVO> toolList;
     private List<EvaluationAgencyVO> residentAgencyList;
     private List<PartnerVO> partnerList;
 }

+ 18 - 6
site/src/main/java/com/mooctest/crowd/site/mediator/impl/WebMediatorImpl.java

@@ -7,10 +7,7 @@ import com.mooctest.crowd.domain.domainobject.*;
 import com.mooctest.crowd.domain.exception.*;
 import com.mooctest.crowd.domain.factory.CrowdTestProjectFactory;
 import com.mooctest.crowd.domain.model.*;
-import com.mooctest.crowd.domain.repository.CommonRepo;
-import com.mooctest.crowd.domain.repository.CrowdTestProjectRepo;
-import com.mooctest.crowd.domain.repository.EvaluationAgencyRepo;
-import com.mooctest.crowd.domain.repository.UserRepo;
+import com.mooctest.crowd.domain.repository.*;
 import com.mooctest.crowd.domain.util.Converter;
 import com.mooctest.crowd.site.command.ApplyEnterpriseAuthCommand;
 import com.mooctest.crowd.site.command.ApplyPersonalAuthCommand;
@@ -61,6 +58,9 @@ public class WebMediatorImpl implements ViewMediator {
     private CommonRepo commonRepo;
 
     @Autowired
+    private ToolRepo toolRepo;
+
+    @Autowired
     private CrowdTestTaskDao taskDao;
 
     @Autowired
@@ -463,7 +463,7 @@ public class WebMediatorImpl implements ViewMediator {
 //            userRanks = userRank;
 //        }
 
-        // 获取资源和工具
+        // 获取资源
         List<Resource> resourceList = commonRepo.getAllResource();
         List<ResourceVO> resourceVOS = new ArrayList<>();
         List<ResourceVO> resourceVOList = resourceList.stream().map(resource -> {
@@ -478,11 +478,23 @@ public class WebMediatorImpl implements ViewMediator {
             resourceVOS = resourceVOList;
         }
 
+        // 获取工具
+        List<Tool> toolList = toolRepo.getAllTools();
+        List<ToolVO> toolVOS = new ArrayList<>();
+        List<ToolVO> toolVOList = toolList.stream().map(tool -> new ToolVO(tool)).collect(Collectors.toList());
+        if (toolVOList.size() > 12) {
+            for (int i = 0; i < 12; i++) {
+                toolVOS.add(toolVOList.get(i));
+            }
+        } else {
+            toolVOS = toolVOList;
+        }
+
         indexInfoDTO.setApplicationTypeRank(applicationTypeRanks);
         indexInfoDTO.setAgencyRank(agencyRanks);
         indexInfoDTO.setUserRank(userRanks);
         indexInfoDTO.setResourceList(resourceVOS);
-
+        indexInfoDTO.setToolList(toolVOS);
         return indexInfoDTO;
     }