瀏覽代碼

新增跳转至对应测试类型的测试任务下

郭超 4 年之前
父節點
當前提交
52531730e9

+ 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();

+ 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")

+ 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);
-
-
 }

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

@@ -1291,18 +1291,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

@@ -19,6 +19,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

@@ -99,6 +99,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();