Просмотр исходного кода

Merge branch 'Private' into 'feature-V2.0'

Private

See merge request crowd-2019/crowd-test-service-backend!183
郭超 4 лет назад
Родитель
Сommit
9b06576d03

+ 1 - 0
core/src/main/java/com/mooctest/crowd/domain/dao/CrowdTestTaskDao.java

@@ -32,6 +32,7 @@ public interface CrowdTestTaskDao extends CrudRepository<CrowdTestTaskPO, Long>,
     @Query(value = "select * FROM crowd_test_task WHERE (CTT_STATUS =1 or (CTT_STATUS =2 and CTT_FULL_STATUS = 0)) and CTT_DISTRIBUTION_TYPE = 2 and CTT_IS_DELETED = 0  ORDER BY CTT_CREATE_TIME DESC LIMIT 6 ", nativeQuery = true)
     List<CrowdTestTaskPO> findindexTask();
 
+    List<CrowdTestTaskPO> findByType(String type);
 
     @Query(value = "select * FROM crowd_test_task WHERE (CTT_STATUS =1 or (CTT_STATUS =2 and CTT_FULL_STATUS = 0)) and CTT_DISTRIBUTION_TYPE = 2 and CTT_IS_DELETED = 0 ORDER BY CTT_CREATE_TIME DESC", nativeQuery = true)
     List<CrowdTestTaskPO> findCanAcceptTask();

Разница между файлами не показана из-за своего большого размера
+ 0 - 0
site/src/main/java/com/mooctest/crowd/site/controller/CommonController.java


+ 15 - 0
site/src/main/java/com/mooctest/crowd/site/controller/CrowTestSquareController.java

@@ -58,6 +58,21 @@ public class CrowTestSquareController extends BaseSearchController {
 
 
     /**
+     * 根据测试类型筛选测试任务
+     *
+     * @return
+     */
+    @GetMapping("/task/{testTypeCode}")
+    public ResponseVO getAll(@PathVariable("testTypeCode") String testTypeCode) {
+        CrowdTestSquareIndexDTO crowdTestSquareIndexDTO = new CrowdTestSquareIndexDTO();
+        List<CrowdTaskVO> crowdTestTasks = crowdTaskService.findAllByTestTypeCode(testTypeCode);
+        crowdTestSquareIndexDTO.setCrowdTestTaskVOS(crowdTestTasks);//众测任务
+        crowdTestSquareIndexDTO.setHotCrowdTaskVOs(crowdTaskService.findMoreHotTasks());//热门任务
+        crowdTestSquareIndexDTO.setHotCrowdTestProjectVOs(crowdProjectService.findAllMoreHotProjects());//热门项目
+        return new ResponseVO(ServerCode.SUCCESS, crowdTestSquareIndexDTO);
+    }
+
+    /**
      * 搜索框模糊分页查询接口
      */
     @PostMapping("search/list")

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

@@ -23,4 +23,5 @@ public class IndexInfoDTO implements Serializable {
     private List<ToolVO> toolList;
     private List<EvaluationAgencyVO> residentAgencyList;
     private List<PartnerVO> partnerList;
+    private List<CrowdTaskVO> taskList;
 }

+ 2 - 2
site/src/main/java/com/mooctest/crowd/site/mediator/ViewMediator.java

@@ -93,6 +93,8 @@ public interface ViewMediator {
 
     List<CrowdTaskVO> crowdTaskVos();
 
+    List<CrowdTaskVO> crowdTaskVOSByTestTypeCode(String testTypeCode);
+
     List<CrowdTaskVO> crowdTaskVosWaitingAccept();
 
     UserDTO getInformation(long userId);
@@ -130,6 +132,4 @@ public interface ViewMediator {
     List<UserTaskCountVO> getCount();
 
     void  jumpPublicTesting(String projectCode, String taskCode, Long userId);
-
-
 }

+ 31 - 3
site/src/main/java/com/mooctest/crowd/site/mediator/impl/WebMediatorImpl.java

@@ -371,6 +371,23 @@ public class WebMediatorImpl implements ViewMediator {
             agencyVOS = agencyVOList;
         }
 
+        // 获取热门任务
+
+        List<CrowdTaskVO> taskVOList = taskDao.findMoreHotTasks().stream().map(crowdTestTaskPO -> {
+            CrowdTestTask task = new CrowdTestTask();
+            BeanUtils.copyProperties(crowdTestTaskPO, task);
+            return new CrowdTaskVO(task);
+        }).collect(Collectors.toList());
+
+        List<CrowdTaskVO> taskVOS = new ArrayList<>();
+        if (taskVOList.size() > top) {
+            for (int i = 0; i < top; i++) {
+                taskVOS.add(taskVOList.get(i));
+            }
+        } else {
+            taskVOS = taskVOList;
+        }
+
         // 获取合作机构
 //        List<Partner> partnerList = commonRepo.getAllPartner();
 //        List<PartnerVO> partnerVOS = partnerList.stream().map(partner -> {
@@ -384,6 +401,7 @@ public class WebMediatorImpl implements ViewMediator {
         indexInfoDTO.setCompetitionList(competitionVOS);
         indexInfoDTO.setResidentAgencyList(agencyVOS);
 //        indexInfoDTO.setPartnerList(partnerVOS);
+        indexInfoDTO.setTaskList(taskVOS);
         return indexInfoDTO;
     }
 
@@ -1272,18 +1290,28 @@ public class WebMediatorImpl implements ViewMediator {
     @Override
     public List<CrowdTaskVO> crowdTaskVos(){
         List<CrowdTaskVO> authingList = new ArrayList<>();
+        Map<String, String> typeMap = commonRepo.getTypeCodeNameMap();
         authingList.addAll(taskDao.findindexTask().stream().filter(crowdTestTaskPO -> crowdTestTaskPO.getDeadTime().getTime() > System.currentTimeMillis()).map(crowdTestTaskPO -> {
-            //根据code值查询出来该任务的type
-            Optional<TestTypePO> serviceType = testTypeDao.findByCode(crowdTestTaskPO.getType());
             CrowdTestTask crowdTestTask = new CrowdTestTask();
             BeanUtils.copyProperties(crowdTestTaskPO, crowdTestTask);
-            crowdTestTask.setType(serviceType.get().getName());
+            crowdTestTask.setType(typeMap.get(crowdTestTaskPO.getType()));
             return new CrowdTaskVO(crowdTestTask);
         }).collect(Collectors.toList()));
         return authingList;
     }
 
     @Override
+    public List<CrowdTaskVO> crowdTaskVOSByTestTypeCode(String testTypeCode) {
+        Map<String, String> typeMap = commonRepo.getTypeCodeNameMap();
+        return taskDao.findByType(testTypeCode).stream().map(crowdTestTaskPO -> {
+            CrowdTestTask crowdTestTask = new CrowdTestTask();
+            BeanUtils.copyProperties(crowdTestTaskPO, crowdTestTask);
+            crowdTestTask.setType(typeMap.get(crowdTestTaskPO.getType()));
+            return new CrowdTaskVO(crowdTestTask);
+        }).collect(Collectors.toList());
+    }
+
+    @Override
     public List<CrowdTaskVO> crowdTaskVosWaitingAccept() {
         List<CrowdTestTaskPO> canAcceptTask = taskDao.findCanAcceptTask();
         List<CrowdTaskVO> taskVOList = canAcceptTask.stream().filter(crowdTestTaskPO -> crowdTestTaskPO.getDeadTime().getTime() > System.currentTimeMillis()).map(crowdTestTaskPO -> {

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

@@ -21,6 +21,8 @@ public interface CrowdTaskService {
 
      List<CrowdTaskVO> findAll();
 
+    List<CrowdTaskVO> findAllByTestTypeCode(String testTypeCode);
+
      List<CrowdTaskVO> findByNameLike(String name);
 
     TaskDetailsDTO getTaskDetails(String projectCode, String taskCode, Long userId);

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

@@ -135,6 +135,11 @@ public class CrowdTaskServiceImpl implements CrowdTaskService {
     }
 
     @Override
+    public List<CrowdTaskVO> findAllByTestTypeCode(String testTypeCode) {
+        return viewMediator.crowdTaskVOSByTestTypeCode(testTypeCode);
+    }
+
+    @Override
     public List<CrowdTaskVO> findByNameLike(String name) {
         if (name == null || name.trim().equals("")) {
             return viewMediator.crowdTaskVosWaitingAccept();

Некоторые файлы не были показаны из-за большого количества измененных файлов