Prechádzať zdrojové kódy

Merge branch 'feature-V2.0' of ssh://git.mooctest.com:1022/crowd-2019/crowd-test-service-backend into feature-V2.0

git 5 rokov pred
rodič
commit
2c6e68ccb4

+ 6 - 3
core/src/main/java/com/mooctest/crowd/domain/dao/CrowdTestProjectDao.java

@@ -34,16 +34,19 @@ public interface CrowdTestProjectDao extends CrudRepository<CrowdTestProjectPO,
     List<CrowdTestProjectPO> findMoreHotProjects();
 
 
-    @Query(value = "SELECT * FROM crowd_test_project p WHERE CTP_STATUS=1 ORDER BY CTP_CREATE_TIME DESC", nativeQuery = true)
+    @Query(value = "SELECT * FROM crowd_test_project p WHERE CTP_STATUS !=4 and CTP_STATUS !=5 ORDER BY CTP_CREATE_TIME DESC", nativeQuery = true)
     List<CrowdTestProjectPO> findAll();
 
     //这个指定了查询条数 适用于众测广场首页 这样性能会高一点。
-    @Query(value = "SELECT * FROM crowd_test_project p WHERE CTP_STATUS=1 ORDER BY CTP_JOIN_COUNT DESC ,CTP_CREATE_TIME LIMIT 6; ", nativeQuery = true)
+    @Query(value = "SELECT * FROM crowd_test_project p WHERE CTP_STATUS !=4 and CTP_STATUS !=5 ORDER BY CTP_JOIN_COUNT DESC ,CTP_CREATE_TIME LIMIT 6; ", nativeQuery = true)
     List<CrowdTestProjectPO> findindexProject();
 
 
+    @Query(value = "SELECT * FROM crowd_test_project p WHERE CTP_STATUS !=4 and CTP_STATUS !=5 ORDER BY CTP_JOIN_COUNT DESC ,CTP_CREATE_TIME; ", nativeQuery = true)
+    List<CrowdTestProjectPO> findAllHotProject();
+
     //这个指定了查询条数 适用于众测广场首页 这样性能会高一点对应热门项目
-    @Query(value = "SELECT * FROM crowd_test_project p WHERE CTP_STATUS !=4 ORDER BY CTP_JOIN_COUNT DESC ,CTP_CREATE_TIME LIMIT 7; ", nativeQuery = true)
+    @Query(value = "SELECT * FROM crowd_test_project p WHERE CTP_STATUS !=4 and CTP_STATUS !=5 ORDER BY CTP_JOIN_COUNT DESC ,CTP_CREATE_TIME LIMIT 7; ", nativeQuery = true)
     List<CrowdTestProjectPO> findall();
 
     Page<CrowdTestProjectPO> findAll(Specification<CrowdTestProjectPO> spec, Pageable pageable);

+ 16 - 12
core/src/main/java/com/mooctest/crowd/domain/dao/CrowdTestTaskDao.java

@@ -23,21 +23,25 @@ import java.util.List;
 public interface CrowdTestTaskDao extends CrudRepository<CrowdTestTaskPO, Long>, JpaRepository<CrowdTestTaskPO, Long>, PagingAndSortingRepository<CrowdTestTaskPO, Long> {
 
 
- @Query(value = "select CTT_ID,CTT_CODE,CTT_NAME,CTT_CTP_CODE,CTT_EA_ID," +
-         "CTT_TYPE,CTT_DISTRIBUTION_TYPE,CTT_DISTRIBUTION_PROVINCE,CTT_DISTRIBUTION_CITY," +
-         "CTT_REQUIREMENT_FILE,CTT_DESCRIPTION,CTT_QUOTED_PRICE,CTT_FIXED_PRICE," +
-         "CTT_STATUS,CTT_FULL_STATUS,CTT_DEAD_LINE,CTT_IS_DELETED,CTT_PARTICIPANT_COUNT,CTT_ACCEPTED_COUNT,CTT_PARTICIPANT_HAS_COMMITTED_COUNT,CTT_CREATE_TIME,CTT_END_TIME FROM  crowd_test_task t where CTT_STATUS=1 or CTT_STATUS=2 ORDER BY CTT_CREATE_TIME DESC",nativeQuery = true)
-  List<CrowdTestTaskPO> findAll();
+    @Query(value = "select CTT_ID,CTT_CODE,CTT_NAME,CTT_CTP_CODE,CTT_EA_ID," +
+            "CTT_TYPE,CTT_DISTRIBUTION_TYPE,CTT_DISTRIBUTION_PROVINCE,CTT_DISTRIBUTION_CITY," +
+            "CTT_REQUIREMENT_FILE,CTT_DESCRIPTION,CTT_QUOTED_PRICE,CTT_FIXED_PRICE," +
+            "CTT_STATUS,CTT_FULL_STATUS,CTT_DEAD_LINE,CTT_IS_DELETED,CTT_PARTICIPANT_COUNT,CTT_ACCEPTED_COUNT,CTT_PARTICIPANT_HAS_COMMITTED_COUNT,CTT_CREATE_TIME,CTT_END_TIME FROM  crowd_test_task t where CTT_STATUS=1 or CTT_STATUS=2 ORDER BY CTT_CREATE_TIME DESC", nativeQuery = true)
+    List<CrowdTestTaskPO> findAll();
 
-   @Query(value = "select * FROM  crowd_test_task  ORDER BY CTT_CREATE_TIME DESC LIMIT 6 ",nativeQuery = true)
-   List<CrowdTestTaskPO> findindexTask();
+    @Query(value = "select * FROM  crowd_test_task  ORDER BY CTT_CREATE_TIME DESC LIMIT 6 ", nativeQuery = true)
+    List<CrowdTestTaskPO> findindexTask();
 
 
-//热门任务
- @Query(value = "select * FROM  crowd_test_task  ORDER BY CTT_ACCEPTED_COUNT DESC,CTT_CREATE_TIME DESC LIMIT 7",nativeQuery = true)
-   List<CrowdTestTaskPO> findMoreHotTasks();
+    //热门任务
+    @Query(value = "select * FROM  crowd_test_task WHERE CTT_STATUS !=4 and CTT_STATUS !=5  ORDER BY CTT_ACCEPTED_COUNT DESC,CTT_CREATE_TIME DESC LIMIT 7", nativeQuery = true)
+    List<CrowdTestTaskPO> findMoreHotTasks();
 
-   List<CrowdTestTaskPO>  findByNameLike(String name);
+    //热门任务
+    @Query(value = "select * FROM  crowd_test_task WHERE CTT_STATUS !=4 and CTT_STATUS !=5  ORDER BY CTT_ACCEPTED_COUNT DESC,CTT_CREATE_TIME", nativeQuery = true)
+    List<CrowdTestTaskPO> findMoreHotTasksList();
+
+    List<CrowdTestTaskPO> findByNameLike(String name);
 
     Page<CrowdTestTaskPO> findAll(Specification specification, Pageable pageable);
 
@@ -67,6 +71,6 @@ public interface CrowdTestTaskDao extends CrudRepository<CrowdTestTaskPO, Long>,
     <S extends CrowdTestTaskPO> S save(S s);
 
     @Modifying
-    @Query(nativeQuery = true,value="update crowd_test_task set CTT_STATUS= ?1 where CTT_CODE=?2")
+    @Query(nativeQuery = true, value = "update crowd_test_task set CTT_STATUS= ?1 where CTT_CODE=?2")
     void updateStatusById(@Param("status") int status, @Param("code") String code);
 }

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

@@ -5,6 +5,7 @@ import com.mooctest.crowd.domain.domainobject.CrowdTestProjectStatus;
 import com.mooctest.crowd.site.data.dto.CrowdTestSquareIndexDTO;
 import com.mooctest.crowd.site.data.response.ResponseVO;
 import com.mooctest.crowd.site.data.response.ServerCode;
+import com.mooctest.crowd.site.data.vo.CrowdProjectVO;
 import com.mooctest.crowd.site.data.vo.CrowdTaskVO;
 import com.mooctest.crowd.site.data.vo.CrowdTestProjectVO;
 import com.mooctest.crowd.site.data.vo.SearchConditionVO;
@@ -83,6 +84,21 @@ public class CrowTestSquareController extends BaseSearchController {
     }
 
     /**
+     * 更多热门项目列表
+     *
+     * @param searchConditionVO
+     * @return
+     */
+
+    @PostMapping("/hotProject/list")
+    public ResponseVO findMoreHotProjectLists(@RequestBody SearchConditionVO searchConditionVO) {
+        Pageable pageable = this.getPageable(searchConditionVO);
+        List<CrowdProjectVO> crowdTestProjectVOList = crowdProjectService.findAllMoreHotProjectList(searchConditionVO.getKeyword());
+        Page<CrowdProjectVO> projectVOPage = DataUtils.listToPage(crowdTestProjectVOList, pageable);
+        return new ResponseVO(ServerCode.SUCCESS, projectVOPage);
+    }
+
+    /**
      * 获取更多热门任务
      *
      * @param searchConditionVO
@@ -98,6 +114,21 @@ public class CrowTestSquareController extends BaseSearchController {
 
     }
 
+    /**
+     * 更多热门任务列表
+     *
+     * @param searchConditionVO
+     * @return
+     */
+
+    @PostMapping("/hotTasks/list")
+    public ResponseVO findMoreHotTasksList(@RequestBody SearchConditionVO searchConditionVO) {
+        Pageable pageable = this.getPageable(searchConditionVO);
+        List<CrowdTaskVO> crowdTestProjectVOList = crowdTaskService.findMoreHotTasksList(searchConditionVO.getKeyword());
+        Page<CrowdTaskVO> taskVOPage = DataUtils.listToPage(crowdTestProjectVOList, pageable);
+        return new ResponseVO(ServerCode.SUCCESS, taskVOPage);
+    }
+
 
     @Override
     public Page<?> search(String searchCondition) {

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

@@ -1076,11 +1076,12 @@ public class WebMediatorImpl implements ViewMediator {
     }
 
     @Override
-    public List<CrowdTestProjectVO> AllByPage() {
+    public List<CrowdTestProjectVO> AllByPage(){
         List<CrowdTestProjectVO> authingList = new ArrayList<>();
-        authingList.addAll(projectDao.findAll().stream().map(crowdTestProjectPO -> {
+        authingList.addAll(projectDao.findAll().stream().map(crowdTestProjectPO ->{
             CrowdTestProject crowdTestProject = new CrowdTestProject();
             BeanUtils.copyProperties(crowdTestProjectPO, crowdTestProject);
+            themeStatusService.updateStatus(crowdTestProject);
             return new CrowdTestProjectVO(crowdTestProject);
         }).collect(Collectors.toList()));
         return authingList;

+ 4 - 0
site/src/main/java/com/mooctest/crowd/site/service/CrowdProjectService.java

@@ -4,6 +4,7 @@ import com.mooctest.crowd.domain.domainobject.CrowdTestProject;
 import com.mooctest.crowd.site.command.CrowdTestProjectCommand;
 import com.mooctest.crowd.site.command.GenerateProjectCommand;
 import com.mooctest.crowd.site.data.dto.ProjectDetailsDTO;
+import com.mooctest.crowd.site.data.vo.CrowdProjectVO;
 import com.mooctest.crowd.site.data.vo.CrowdTestProjectVO;
 import com.mooctest.crowd.site.data.vo.RegionalManagerVO;
 import org.springframework.data.domain.Pageable;
@@ -19,8 +20,11 @@ import java.util.List;
 public interface CrowdProjectService {
 
     List<CrowdTestProjectVO>    findIndexProject();
+
     List<CrowdTestProjectVO>  findAllMoreHotProjects();
 
+    List<CrowdProjectVO>  findAllMoreHotProjectList(String keyword);
+
     List<CrowdTestProjectVO> findByNameLike(String name);
 
     List<CrowdTestProjectVO> findAll(Pageable pageable);

+ 3 - 4
site/src/main/java/com/mooctest/crowd/site/service/CrowdTaskService.java

@@ -1,13 +1,10 @@
 package com.mooctest.crowd.site.service;
 
-import com.mooctest.crowd.domain.domainobject.CrowdTestTask;
 import com.mooctest.crowd.site.command.CrowdTestTaskCommand;
 import com.mooctest.crowd.site.data.dto.TaskDetailsDTO;
 import com.mooctest.crowd.site.data.dto.TaskSquareDTO;
 import com.mooctest.crowd.site.data.vo.CrowdTaskVO;
-import com.mooctest.crowd.site.data.vo.CrowdTestProjectVO;
-import org.springframework.data.domain.Page;
-import org.springframework.data.domain.Pageable;
+
 import java.util.List;
 
 /**
@@ -42,4 +39,6 @@ List<CrowdTaskVO> findIndexCrwodTasks();
     TaskDetailsDTO commitTask(String projectCode, String taskCode, Long userId);
 
     TaskDetailsDTO confirmFinish(String projectCode, String taskCode, Long userId);
+
+    List<CrowdTaskVO> findMoreHotTasksList(String keyword);
 }

+ 22 - 1
site/src/main/java/com/mooctest/crowd/site/service/impl/CrowdProjectServiceImpl.java

@@ -6,7 +6,9 @@ import com.mooctest.crowd.domain.domainobject.*;
 import com.mooctest.crowd.domain.exception.BadRequestException;
 import com.mooctest.crowd.domain.exception.BaseException;
 import com.mooctest.crowd.domain.exception.Excel2ProjectException;
+import com.mooctest.crowd.domain.exception.HttpBadRequestException;
 import com.mooctest.crowd.domain.factory.CrowdTestProjectFactory;
+import com.mooctest.crowd.domain.model.ApplicationTypePO;
 import com.mooctest.crowd.domain.model.UserTaskCountPO;
 import com.mooctest.crowd.domain.model.UserToRolePO;
 import com.mooctest.crowd.domain.repository.CrowdTestProjectRepo;
@@ -39,7 +41,6 @@ import org.springframework.web.multipart.MultipartFile;
 import java.io.IOException;
 import java.sql.Timestamp;
 import java.util.ArrayList;
-import java.util.Comparator;
 import java.util.List;
 import java.util.Optional;
 import java.util.regex.Matcher;
@@ -109,6 +110,26 @@ public class CrowdProjectServiceImpl implements CrowdProjectService {
     }
 
     @Override
+    public List<CrowdProjectVO> findAllMoreHotProjectList(String keyword){
+        List<CrowdProjectVO> crowdProjectVOS = projectDao.findAllHotProject().stream().map(crowdTestProjectPO -> {
+            CrowdTestProject crowdTestProject = new CrowdTestProject();
+            BeanUtils.copyProperties(crowdTestProjectPO, crowdTestProject);
+            // 应用类型值的转换
+            Optional<ApplicationTypePO> applicationTypePO = applicationTypeDao.findByCode(crowdTestProject.getApplicationType());
+            if (applicationTypePO.isPresent()) {
+                crowdTestProject.setApplicationType(applicationTypePO.get().getName());
+            } else {
+                throw new HttpBadRequestException("请选择应用类型");
+            }
+            return new CrowdProjectVO(crowdTestProject);
+        }).collect(Collectors.toList());
+        if(keyword != null && keyword != ""){
+            crowdProjectVOS = crowdProjectVOS.stream().filter(crowdProjectVO -> crowdProjectVO.getName().contains(keyword)).collect(Collectors.toList());
+        }
+        return crowdProjectVOS;
+    }
+
+    @Override
     public List<CrowdTestProjectVO> findByNameLike(String name) {
         if (name == null || name.trim().equals("")){
             System.out.println("进来进来");

+ 18 - 4
site/src/main/java/com/mooctest/crowd/site/service/impl/CrowdTaskServiceImpl.java

@@ -2,7 +2,10 @@ package com.mooctest.crowd.site.service.impl;
 
 import com.mooctest.crowd.domain.dao.CrowdTestTaskDao;
 import com.mooctest.crowd.domain.dao.EvaluationAgencyDao;
-import com.mooctest.crowd.domain.domainobject.*;
+import com.mooctest.crowd.domain.domainobject.CrowdTestProject;
+import com.mooctest.crowd.domain.domainobject.CrowdTestTask;
+import com.mooctest.crowd.domain.domainobject.CrowdTestTaskStatus;
+import com.mooctest.crowd.domain.domainobject.DistributeType;
 import com.mooctest.crowd.domain.exception.BaseException;
 import com.mooctest.crowd.domain.exception.CrowdTestTaskNotExistException;
 import com.mooctest.crowd.domain.exception.UnauthorizedException;
@@ -15,7 +18,6 @@ import com.mooctest.crowd.site.data.dto.TaskSquareDTO;
 import com.mooctest.crowd.site.data.enums.ProjectType;
 import com.mooctest.crowd.site.data.enums.RoleType;
 import com.mooctest.crowd.site.data.vo.CrowdTaskVO;
-import com.mooctest.crowd.site.data.vo.CrowdTestProjectVO;
 import com.mooctest.crowd.site.mediator.ViewMediator;
 import com.mooctest.crowd.site.service.CrowdTaskService;
 import com.mooctest.crowd.site.util.GenerateFlowCodeUtil;
@@ -24,9 +26,7 @@ import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-
 import java.util.ArrayList;
-import java.util.Comparator;
 import java.util.List;
 import java.util.Optional;
 import java.util.stream.Collectors;
@@ -73,6 +73,20 @@ public class CrowdTaskServiceImpl implements CrowdTaskService {
     }
 
     @Override
+    public List<CrowdTaskVO> findMoreHotTasksList(String keyword){
+        List<CrowdTaskVO> crowdTaskVOS = taskDao.findMoreHotTasksList().stream().map(crowdTestTaskPO -> {
+            CrowdTestTask task = new CrowdTestTask();
+            BeanUtils.copyProperties(crowdTestTaskPO, task);
+            return new CrowdTaskVO(task);
+        }).collect(Collectors.toList());
+        if(keyword != null && keyword != ""){
+            crowdTaskVOS = crowdTaskVOS.stream().filter(crowdTaskVO -> crowdTaskVO.getTitle().contains(keyword)).collect(Collectors.toList());
+        }
+        return crowdTaskVOS;
+    }
+
+
+    @Override
     public List<CrowdTaskVO> findIndexTask() {
         List<CrowdTaskVO> authingList = new ArrayList<>();
         authingList.addAll(taskDao.findindexTask().stream().map(crowdTestProjectPO -> {

+ 7 - 8
site/src/main/java/com/mooctest/crowd/site/service/impl/ThemeStatusServiceImpl.java

@@ -13,6 +13,7 @@ import org.springframework.stereotype.Service;
 import java.sql.Timestamp;
 import java.text.SimpleDateFormat;
 import java.util.Date;
+import java.util.Optional;
 
 /**
  * @program: crowd
@@ -29,16 +30,14 @@ public class ThemeStatusServiceImpl implements ThemeStatusService {
     @Override
     public Integer updateStatus(CrowdTestProject crowdTestProject) {
 
-        int  status=0;
+        int status = 0;
 
         long curr = System.currentTimeMillis();
-        if ((crowdTestProject.getDeadTime().before(new Timestamp(System.currentTimeMillis())))){
-            CrowdTestProjectPO crowdTestProjectPO = crowdTestProjectDao.findById(crowdTestProject.getId()).get();
-            System.out.println(crowdTestProjectPO+"weihanyushishabi ");
-            BeanUtils.copyProperties(crowdTestProject, crowdTestProjectPO);
-            crowdTestProjectPO.setStatus(CrowdTestProjectStatus.HAS_TIME_OUT);
-
-            crowdTestProjectDao.save(crowdTestProjectPO);
+        if ((crowdTestProject.getDeadTime().before(new Timestamp(System.currentTimeMillis())))) {
+           Optional<CrowdTestProjectPO> crowdTestProjectPO =crowdTestProjectDao.findById(crowdTestProject.getId());
+           CrowdTestProjectPO crowdTestProjectPO1=crowdTestProjectPO.get();
+            crowdTestProjectPO1.setStatus(CrowdTestProjectStatus.HAS_TIME_OUT);
+            crowdTestProjectDao.save(crowdTestProjectPO1);
         }
         return status;
     }

Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 0
site/src/main/java/com/mooctest/crowd/site/service/impl/UserServiceImpl.java


+ 1 - 1
site/src/main/java/com/mooctest/crowd/site/util/DataUtils.java

@@ -61,7 +61,7 @@ public class DataUtils {
     }
 
     private static <T> PageImpl<T> getRealSubList(int pageStart, int expectPageEnd, List<T> list, Pageable pageable) {
-        int realPageEnd = (list.size() > expectPageEnd || list.size() == expectPageEnd) ? expectPageEnd + 1 : list.size();
+        int realPageEnd = (list.size() > expectPageEnd) ? expectPageEnd + 1 : list.size();
         return new PageImpl<>(list.subList(pageStart, realPageEnd), pageable, list.size());
     }
 

+ 39 - 16
site/src/test/java/com/mooctest/crowd/site/SiteApplicationTests.java

@@ -1,16 +1,39 @@
-//package com.mooctest.crowd.site;
-//
-//import com.mooctest.crowd.site.service.AgencyService;
-//import org.junit.runner.RunWith;
-//import org.springframework.beans.factory.annotation.Autowired;
-//import org.springframework.boot.test.context.SpringBootTest;
-//import org.springframework.test.context.junit4.SpringRunner;
-//
-//@RunWith(SpringRunner.class)
-//@SpringBootTest
-//public class SiteApplicationTests {
-//    @Autowired
-//    private AgencyService agencyService;
-//
-//
-//}
+package com.mooctest.crowd.site;
+
+import com.mooctest.crowd.domain.dao.CrowdTestProjectDao;
+import com.mooctest.crowd.domain.model.CrowdTestProjectPO;
+import com.mooctest.crowd.site.service.AgencyService;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import java.util.Optional;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest
+public class SiteApplicationTests {
+    @Autowired
+    private CrowdTestProjectDao  crowdTestProjectDao;
+
+    @Test
+    public  void test(){
+        Optional<CrowdTestProjectPO> crowdTestProjectPO=crowdTestProjectDao.findById(223l);
+         CrowdTestProjectPO crowdTestProjectPO1=crowdTestProjectPO.get();
+         crowdTestProjectPO1.setStatus(5);
+         crowdTestProjectDao.save(crowdTestProjectPO1);
+
+
+
+
+
+    }
+
+
+
+
+
+
+
+}

Niektoré súbory nie sú zobrazené, pretože je v týchto rozdielových dátach zmenené mnoho súborov