Browse Source

众测广场项目只显示项目状态为1的。项目截止时间小于当前时间的 将状态设置成已截止。

xuxuan 5 years ago
parent
commit
ad3f62a784

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

@@ -27,21 +27,21 @@ public interface CrowdTestProjectDao extends CrudRepository<CrowdTestProjectPO,
     //    @Override
 //    Optional<CrowdTestProjectPO> findById(Long id);
 
+
     List<CrowdTestProjectPO> findByNameLike(String name);
 
     @Query(value = "SELECT * FROM crowd_test_project ORDER BY CTP_CREATE_TIME DESC", nativeQuery = true)
     List<CrowdTestProjectPO> findMoreHotProjects();
 
 
-    @Query(value = "SELECT * FROM crowd_test_project p WHERE CTP_STATUS !=4 ORDER BY CTP_CREATE_TIME DESC", nativeQuery = true)
+    @Query(value = "SELECT * FROM crowd_test_project p WHERE CTP_STATUS=1 ORDER BY CTP_CREATE_TIME DESC", nativeQuery = true)
     List<CrowdTestProjectPO> findAll();
 
     //这个指定了查询条数 适用于众测广场首页 这样性能会高一点。
-    @Query(value = "SELECT * FROM crowd_test_project p WHERE CTP_STATUS !=4 ORDER BY CTP_JOIN_COUNT DESC ,CTP_CREATE_TIME LIMIT 6; ", nativeQuery = true)
+    @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)
     List<CrowdTestProjectPO> findindexProject();
 
 
-
     //这个指定了查询条数 适用于众测广场首页 这样性能会高一点对应热门项目
     @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)
     List<CrowdTestProjectPO> findall();

+ 3 - 1
site/src/main/java/com/mooctest/crowd/site/controller/CrowTestSquareController.java

@@ -1,5 +1,7 @@
 package com.mooctest.crowd.site.controller;
 
+import com.mooctest.crowd.domain.domainobject.CrowdTestProject;
+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;
@@ -45,7 +47,7 @@ public class CrowTestSquareController extends BaseSearchController {
      * @return
      */
     @GetMapping("/list")
-    public ResponseVO getAll(){
+    public ResponseVO getAll() {
         CrowdTestSquareIndexDTO crowdTestSquareIndexDTO = new CrowdTestSquareIndexDTO();
         List<CrowdTestProjectVO> list = crowdProjectService.findIndexProject();
         List<CrowdTaskVO> crowdTestTasks = crowdTaskService.findAll();

+ 0 - 19
site/src/main/java/com/mooctest/crowd/site/data/dto/CrowdTestSquareIndexDTO.java

@@ -23,23 +23,4 @@ public class CrowdTestSquareIndexDTO {
     private List<CrowdTestProjectVO> hotCrowdTestProjectVOs;
     //热门任务
     private List<CrowdTaskVO> hotCrowdTaskVOs;
-
-
-    /**
-     * 初始化热门任务 ,热门项目
-     */
-    public void initHotTaskAndProject(){
-        List<CrowdTestProjectVO> projectVOS = this.crowdTestProjectVOs;
-        this.crowdTestProjectVOs = projectVOS.size() <= 6 ? projectVOS : projectVOS.subList(0, 6);
-        
-
-        //根据参与人数和创建时间进行排序
-        List<CrowdTestProjectVO> list1 = projectVOS.stream().sorted(Comparator.comparing(CrowdTestProjectVO::getJoinCount).reversed()).collect(Collectors.toList());
-        //截取前七条
-        this.hotCrowdTestProjectVOs = list1.size() <= 7 ? list1 :list1.subList(0, 7);
-        List<CrowdTaskVO> tasklist1 = crowdTestTaskVOS.size() <= 6 ? crowdTestTaskVOS : crowdTestTaskVOS.subList(0, 6);
-        List<CrowdTaskVO> tasklist2 = crowdTestTaskVOS.stream().sorted(Comparator.comparing(CrowdTaskVO::getAcceptedCount).reversed()).collect(Collectors.toList());
-        this.hotCrowdTaskVOs = tasklist2.size() <= 7 ? tasklist2 : tasklist2.subList(0, 7);
-        this.crowdTestTaskVOS = tasklist1;
-    }
 }

+ 5 - 1
site/src/main/java/com/mooctest/crowd/site/mediator/impl/WebMediatorImpl.java

@@ -22,6 +22,7 @@ import com.mooctest.crowd.site.data.dto.*;
 import com.mooctest.crowd.site.data.enums.RoleType;
 import com.mooctest.crowd.site.data.vo.*;
 import com.mooctest.crowd.site.mediator.ViewMediator;
+import com.mooctest.crowd.site.service.ThemeStatusService;
 import lombok.extern.slf4j.Slf4j;
 import org.codehaus.jettison.json.JSONException;
 import org.jetbrains.annotations.NotNull;
@@ -44,6 +45,8 @@ import java.util.stream.Collectors;
 @Component("WebMediator")
 public class WebMediatorImpl implements ViewMediator {
     @Autowired
+    private ThemeStatusService themeStatusService;
+    @Autowired
     private TestTypeDao testTypeDao;
 
     @Autowired
@@ -1067,11 +1070,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 -> {
             CrowdTestProject crowdTestProject = new CrowdTestProject();
             BeanUtils.copyProperties(crowdTestProjectPO, crowdTestProject);
+            themeStatusService.updateStatus(crowdTestProject);
             return new CrowdTestProjectVO(crowdTestProject);
         }).collect(Collectors.toList()));
         return authingList;

+ 1 - 0
site/src/main/java/com/mooctest/crowd/site/service/ThemeStatusService.java

@@ -1,5 +1,6 @@
 package com.mooctest.crowd.site.service;
 import com.mooctest.crowd.domain.domainobject.CrowdTestProject;
+import com.mooctest.crowd.domain.model.CrowdTestProjectPO;
 
 
 public interface ThemeStatusService {

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

@@ -24,6 +24,7 @@ import com.mooctest.crowd.site.mediator.OperationMediator;
 import com.mooctest.crowd.site.mediator.ViewMediator;
 import com.mooctest.crowd.site.service.CrowdProjectService;
 import com.mooctest.crowd.site.service.ThemeSchedulerService;
+import com.mooctest.crowd.site.service.ThemeStatusService;
 import com.mooctest.crowd.site.util.GenerateFlowCodeUtil;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.poi.hssf.usermodel.HSSFWorkbook;
@@ -55,6 +56,8 @@ import java.util.stream.Collectors;
 @Service
 public class CrowdProjectServiceImpl implements CrowdProjectService {
     @Autowired
+    private ThemeStatusService themeStatusService;
+    @Autowired
     private  CrowdTestProjectDao projectDao;
     @Autowired
     private RoleDao roleDao;
@@ -108,8 +111,10 @@ public class CrowdProjectServiceImpl implements CrowdProjectService {
     @Override
     public List<CrowdTestProjectVO> findByNameLike(String name) {
         if (name == null || name.trim().equals("")){
+            System.out.println("进来进来");
             return viewMediator.AllByPage();
         }
+
         return viewMediator.findByNameLike(name);
 
     }

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

@@ -39,7 +39,7 @@ public class CrowdTestSquareServiceImpl implements CrowdTestSquareService {
     private CrowdTaskService crowdTaskService;
 
     @Override
-    public ResponseVO findByNameLike(SearchConditionVO searchConditionVO) {
+    public ResponseVO findByNameLike(SearchConditionVO searchConditionVO){
         Map<String, String> extraCondition = searchConditionVO.getColumnFilters() == null ? new HashMap<>() : this.getExtraCondition(searchConditionVO);
         Pageable pageable = this.getPageable(searchConditionVO);
         String keyword = searchConditionVO.getKeyword();

+ 19 - 4
site/src/main/java/com/mooctest/crowd/site/service/impl/ThemeStatusServiceImpl.java

@@ -2,16 +2,25 @@ package com.mooctest.crowd.site.service.impl;
 
 import com.mooctest.crowd.domain.dao.CrowdTestProjectDao;
 import com.mooctest.crowd.domain.domainobject.CrowdTestProject;
+import com.mooctest.crowd.domain.domainobject.CrowdTestProjectStatus;
+import com.mooctest.crowd.domain.model.CrowdTestProjectPO;
 import com.mooctest.crowd.site.service.ThemeStatusService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.sql.Timestamp;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
 /**
  * @program: crowd
  * @author: hanyuwei
  * @create: 2020-07-13 13:11
  **/
 @Service
+@Slf4j
 public class ThemeStatusServiceImpl implements ThemeStatusService {
 
     @Autowired
@@ -19,12 +28,18 @@ public class ThemeStatusServiceImpl implements ThemeStatusService {
 
     @Override
     public Integer updateStatus(CrowdTestProject crowdTestProject) {
-        int status = 0;
+
+        int  status=0;
+
         long curr = System.currentTimeMillis();
-        if (crowdTestProject.getDeadTime().getTime() < curr) {
-            status = CrowdTestProject.HAS_TIME_OUT;
+        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);
         }
-        crowdTestProjectDao.updateStatusById(status,crowdTestProject.getCode());
         return status;
     }
 }