Kaynağa Gözat

热门众测根据类型展示

git 5 yıl önce
ebeveyn
işleme
51bd70e09b

+ 2 - 0
core/src/main/java/com/mooctest/crowd/domain/dao/CrowdTestProjectDao.java

@@ -3,6 +3,7 @@ package com.mooctest.crowd.domain.dao;
 import com.mooctest.crowd.domain.model.CrowdTestProjectPO;
 import com.mooctest.crowd.domain.model.RankInfos;
 import com.mooctest.crowd.domain.model.RankInfo;
+import com.mooctest.crowd.domain.model.TechnicalArticlesPO;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.Pageable;
 import org.springframework.data.jpa.domain.Specification;
@@ -75,4 +76,5 @@ public interface CrowdTestProjectDao extends CrudRepository<CrowdTestProjectPO,
 
     @Override
     <S extends CrowdTestProjectPO> S save(S s);
+
 }

+ 22 - 0
core/src/main/java/com/mooctest/crowd/domain/repository/CommonRepo.java

@@ -62,6 +62,9 @@ public class CommonRepo {
     @Autowired
     private  ResourceTypeDao resourceTypeDao;
 
+    @Autowired
+    private CrowdTestProjectDao crowdTestProjectDao;
+
     public List<TestType> getAllTestType(){
         return testTypeDao.findAll().stream().map(testTypePO -> Converter.convert(TestType.class, testTypePO)).collect(Collectors.toList());
     }
@@ -195,4 +198,23 @@ public class CommonRepo {
             }
         };
     }
+
+    public Page<CrowdTestProject> getProjectList(Pageable pageable, String code){
+        Specifications<CrowdTestProjectPO> where =  Specifications.where(getCode(code));
+        return crowdTestProjectDao.findAll(where, pageable).map(crowdTestProjectPO -> Converter.convert(CrowdTestProject.class, crowdTestProjectPO));
+    }
+    private Specification<CrowdTestProjectPO> getCode(String code) {
+        return new Specification<CrowdTestProjectPO>() {
+            @Override
+            public Predicate toPredicate(Root<CrowdTestProjectPO> a, CriteriaQuery<?> q, CriteriaBuilder cb) {
+                Predicate predicate = cb.conjunction();
+                if(code != null) {
+                    predicate.getExpressions().add(
+                            cb.equal(a.get("platform"), code)
+                    );
+                }
+                return predicate;
+            }
+        };
+    }
 }

Dosya farkı çok büyük olduğundan ihmal edildi
+ 0 - 0
site/src/main/java/com/mooctest/crowd/site/controller/CommonController.java


+ 2 - 0
site/src/main/java/com/mooctest/crowd/site/data/vo/CrowdProjectVO.java

@@ -45,6 +45,7 @@ public class CrowdProjectVO implements Serializable {
     private Long regionManagerId;
     private StatusVO statusVO;
     private Boolean needHandle = false; //该项目需要处理
+    private Timestamp createTime;
 
     public CrowdProjectVO(CrowdTestProject project){
         this.id = project.getCode();
@@ -71,6 +72,7 @@ public class CrowdProjectVO implements Serializable {
         this.joinCount = project.getJoinCount();
         this.regionManagerId = project.getRegionalManagerId();
         this.renderStatus();
+        this.createTime=project.getCreateTime();
     }
 
     private void renderStatus(){

+ 2 - 0
site/src/main/java/com/mooctest/crowd/site/service/CommonService.java

@@ -34,4 +34,6 @@ public interface CommonService {
     Page<CompetitionVO> getCompetition(Pageable pageable,String keyword);
 
     Page<ResourceVO> getResource(Pageable pageable,String keyword);
+
+    Page<CrowdProjectVO> getProjectList(Pageable pageable,String code);
 }

+ 5 - 0
site/src/main/java/com/mooctest/crowd/site/service/impl/CommonServiceImpl.java

@@ -106,4 +106,9 @@ public class CommonServiceImpl implements CommonService {
     public Page<ResourceVO> getResource(Pageable pageable, String keyword) {
         return commonRepo.findAllResourceByPage(pageable, keyword).map(resource -> new ResourceVO(resource));
     }
+
+    @Override
+    public Page<CrowdProjectVO> getProjectList(Pageable pageable, String code) {
+        return commonRepo.getProjectList(pageable,code).map(project->new CrowdProjectVO(project));
+    }
 }

Bu fark içinde çok fazla dosya değişikliği olduğu için bazı dosyalar gösterilmiyor