Parcourir la source

优化众测广场首页获取信息接口。

xuxuan il y a 5 ans
Parent
commit
e4ffefa526

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

@@ -12,6 +12,7 @@ import org.springframework.data.jpa.repository.Query;
 import org.springframework.data.repository.CrudRepository;
 import org.springframework.data.repository.PagingAndSortingRepository;
 
+import javax.persistence.criteria.From;
 import javax.transaction.Transactional;
 import java.util.List;
 
@@ -27,6 +28,12 @@ public interface CrowdTestProjectDao extends CrudRepository<CrowdTestProjectPO,
 
     List<CrowdTestProjectPO> findByNameLike(String name);
 
+
+
+      @Query(value = "SELECT CTP_ID,CTP_CODE,CTP_NAME," +
+              "CTP_U_ID,CTP_RM_ID,CTP_PDT_ID,CTP_FIELD_TYPE,CTP_PLATFORM,CTP_TYPE,CTP_LINK_MAN,"+
+              "CTP_Link_MAN_MOBILE,CTP_TYPE,CTP_DESCRIPTION,CTP_PROJECT_FILE,CTP_REQUIREMENT_FILE,CTP_DISTRIBUTION_TYPE,CTP_DISTRIBUTION_PROVINCE,CTP_DISTRIBUTION_CITY,"+
+              "CTP_QUOTED_PRICE,CTP_REST_PRICE,CTP_FIXED_PRICE,CTP_STATUS,CTP_DEAD_LINE,CTP_END_TIME,CTP_IS_DELETED,CTP_JOIN_COUNT,CTP_CREATE_TIME FROM crowd_test_project p WHERE CTP_STATUS !=4 ORDER BY CTP_CREATE_TIME DESC",nativeQuery = true )
     List<CrowdTestProjectPO> findAll();
 
     Page<CrowdTestProjectPO> findAll(Specification<CrowdTestProjectPO> spec,Pageable pageable);

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

@@ -19,6 +19,13 @@ import java.util.List;
 @Transactional
 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();
+
    List<CrowdTestTaskPO>  findByNameLike(String name);
 
     Page<CrowdTestTaskPO> findAll(Specification specification, Pageable pageable);

+ 2 - 1
core/src/main/java/com/mooctest/crowd/domain/domainobject/PersonalAuthentication.java

@@ -28,6 +28,7 @@ public class PersonalAuthentication{
     private String explain;
     private Timestamp applyTime;
     private Timestamp checkTime;
+    private Timestamp IDCardDeadTime;//身份证过期时间
 
     /**
      * 转换类型
@@ -47,7 +48,7 @@ public class PersonalAuthentication{
 
 
 
-    public PersonalAuthentication applyAuthentication(Long userId) {
+    public PersonalAuthentication applyAuthentication(Long userId){
         this.setUserId(userId);
         this.setIsAuthentication(AuthenticationStatus.isAuthenIng);
         this.setIsDeleted(DeletedStatus.isNotDeleted);

+ 13 - 0
core/src/main/java/com/mooctest/crowd/domain/model/PersonalAuthenticationPO.java

@@ -52,4 +52,17 @@ public class PersonalAuthenticationPO {
     @Column(name = "PA_CHECK_TIME")
     private Timestamp checkTime;
 
+    @Column(name = "PA_ID_CARD_POS_PHOTO")
+    private String  idCardPositivePhoto;//身份证正面照片
+
+
+    @Column(name = "PA_ID_CARD_Back_PHOTO")
+    private String  idCardBackPhoto;//身份证正面照片
+
+
+    @Column(name = "PA_EXPIRE_TIME")
+    private Timestamp  IDCardDeadTime;
+
+
+
 }

+ 1 - 1
site/src/main/java/com/mooctest/crowd/site/command/ApplyPersonalAuthCommand.java

@@ -39,7 +39,7 @@ public class ApplyPersonalAuthCommand {
     private String IDCardBackPhoto;
 
     @JsonProperty(value = "IDCardDeadTime")
-    @NotNull(message = "请正确填写过期时间")
+    @NotNull(message = "请正确填写身份证过期时间")
     private Timestamp IDCardDeadTime;
 
 

+ 2 - 3
site/src/main/java/com/mooctest/crowd/site/controller/UserController.java

@@ -136,7 +136,6 @@ public class UserController extends BaseController {
     public PersonalAuthVO applyPersonalAuthentication(@PathVariable("userId") Long userId,
                                                       @Validated @RequestBody ApplyPersonalAuthCommand command,
                                                       BindingResult result, HttpSession session) {
-
 //        if (!userId.equals(Long.parseLong((String) session.getAttribute("userId"))))
 //            throw new UnauthorizedException("没有权限对他人账号进行操作!");
         LOG.info("当前用户申请的认证信息为" + command);
@@ -145,6 +144,8 @@ public class UserController extends BaseController {
         return userService.applyPersonalAuth(userId, command);
     }
 
+
+
     /**
      * 修改个人认证信息
      *
@@ -193,8 +194,6 @@ public class UserController extends BaseController {
     }
 
 
-
-
     /**
      * 查看个人认证信息
      *

+ 9 - 8
site/src/main/java/com/mooctest/crowd/site/data/dto/CrowdTestSquareIndexDTO.java

@@ -1,5 +1,6 @@
 package com.mooctest.crowd.site.data.dto;
 
+import com.mooctest.crowd.domain.domainobject.CrowdTestProjectStatus;
 import com.mooctest.crowd.domain.domainobject.CrowdTestTaskStatus;
 import com.mooctest.crowd.domain.model.CrowdTestProjectPO;
 import com.mooctest.crowd.domain.model.CrowdTestTaskPO;
@@ -32,17 +33,17 @@ public class CrowdTestSquareIndexDTO {
      * 初始化热门任务 ,热门项目
      */
     public void initHotTaskAndProject(){
-        List<CrowdTestProjectVO> projectVOS = this.crowdTestProjectVOs.stream().sorted(Comparator.comparing(CrowdTestProjectVO::getCreateTime).reversed()).collect(Collectors.toList());
-        this.crowdTestProjectVOs = projectVOS.subList(0,6);
+        List<CrowdTestProjectVO> projectVOS = this.crowdTestProjectVOs;
+
+        this.crowdTestProjectVOs = projectVOS.subList(0, 6);
+
         //根据参与人数和创建时间进行排序
         List<CrowdTestProjectVO> list1 = projectVOS.stream().sorted(Comparator.comparing(CrowdTestProjectVO::getJoinCount).reversed()).collect(Collectors.toList());
         //截取前七条
         this.hotCrowdTestProjectVOs = list1.subList(0, 7);
-        List<CrowdTaskVO> tasklist1 = crowdTestTaskVOS.stream().sorted(Comparator.comparing(CrowdTaskVO::getCreateTime).reversed()).collect(Collectors.toList());
-        this.crowdTestTaskVOS=tasklist1.subList(0,6);
-        List<CrowdTaskVO> tasklist2 = tasklist1.stream().sorted(Comparator.comparing(CrowdTaskVO::getAcceptedCount).reversed()).collect(Collectors.toList());
-        //过滤掉已完成的
-        tasklist2.stream().filter(ct -> ct.getStatus() != CrowdTestTaskStatus.HAS_FINISHED);
-        this.hotCrowdTaskVOs = tasklist2.subList(0, 7);
+        List<CrowdTaskVO> tasklist1 = crowdTestTaskVOS.subList(0, 6);
+        List<CrowdTaskVO> tasklist2 = crowdTestTaskVOS.stream().sorted(Comparator.comparing(CrowdTaskVO::getAcceptedCount).reversed()).collect(Collectors.toList());
+        this.hotCrowdTaskVOs = crowdTestTaskVOS.subList(0, 7);
+        this.crowdTestTaskVOS = tasklist1;
     }
 }

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

@@ -128,7 +128,10 @@ public class WebMediatorImpl implements ViewMediator {
 
     @Override
     public UserDTO loginByMobileAndPwd(LoginCommand cmd) {
-        return null;
+         
+
+
+        return  null;
     }
 
     @Override
@@ -782,7 +785,6 @@ public class WebMediatorImpl implements ViewMediator {
             userVO.setProvince(userPO.get().getProvince());
             userVO.setCity(userPO.get().getCity());
             userVO.setCounty(userPO.get().getCounty());
-            userVO.setDetailedAddress(userPO.get().getDetailedAddress());
             userVO.setPersonalCompetence(userPO.get().getPersonalCompetence());
             userDTO.setUserVO(userVO);
             return userDTO;
@@ -799,7 +801,7 @@ public class WebMediatorImpl implements ViewMediator {
         userPO.get().setProvince(userVO.getProvince());
         userPO.get().setCity(userVO.getCity());
         userPO.get().setCounty(userVO.getCounty());
-        userPO.get().setDetailedAddress(userVO.getDetailedAddress());
+//        userPO.get().setDetailedAddress(userVO.getDetailedAddress());
         userPO.get().setPersonalCompetence(userVO.getPersonalCompetence());
         userDao.save(userPO.get());
         return this.getInformation(userId);

+ 10 - 0
site/src/main/java/com/mooctest/crowd/site/service/CrowdTestSquareService.java

@@ -0,0 +1,10 @@
+package com.mooctest.crowd.site.service;
+
+import com.mooctest.crowd.site.data.response.ResponseVO;
+import com.mooctest.crowd.site.data.vo.SearchConditionVO;
+
+public interface CrowdTestSquareService {
+
+    ResponseVO  findByNameLike(SearchConditionVO searchConditionVO);
+
+}

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

@@ -0,0 +1,94 @@
+package com.mooctest.crowd.site.service.impl;
+
+import com.mooctest.crowd.site.constants.CommonConstant;
+import com.mooctest.crowd.site.data.ColumnFilter;
+import com.mooctest.crowd.site.data.dto.ProjectAndTaskDTO;
+import com.mooctest.crowd.site.data.enums.ColumnFilterType;
+import com.mooctest.crowd.site.data.response.ResponseVO;
+import com.mooctest.crowd.site.data.response.ServerCode;
+import com.mooctest.crowd.site.data.vo.CrowdTaskVO;
+import com.mooctest.crowd.site.data.vo.CrowdTestProjectVO;
+import com.mooctest.crowd.site.data.vo.SearchConditionVO;
+import com.mooctest.crowd.site.service.CrowdProjectService;
+import com.mooctest.crowd.site.service.CrowdTaskService;
+import com.mooctest.crowd.site.service.CrowdTestSquareService;
+import com.mooctest.crowd.site.util.DataUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Page;
+import org.springframework.data.domain.PageRequest;
+import org.springframework.data.domain.Pageable;
+import org.springframework.data.domain.Sort;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @author:xx
+ * @date:2020/7/6
+ * @description:众测广场服务
+ */
+
+@Service
+public class CrowdTestSquareServiceImpl implements CrowdTestSquareService {
+    @Autowired
+    private CrowdProjectService crowdProjectService;
+    @Autowired
+    private CrowdTaskService crowdTaskService;
+
+    @Override
+    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();
+        ProjectAndTaskDTO projectAndTaskDTO = new ProjectAndTaskDTO();
+        List<CrowdTestProjectVO> list = crowdProjectService.findByNameLike(keyword);
+        List<CrowdTaskVO> taskVOList = crowdTaskService.findByNameLike(keyword);
+        projectAndTaskDTO.setCrowdTaskVOList(taskVOList);
+        projectAndTaskDTO.setProjectVOList(list);
+        List projectAndTaskDTOList = new ArrayList<>();
+        projectAndTaskDTOList.addAll(list);
+        projectAndTaskDTOList.addAll(taskVOList);
+        Page<ProjectAndTaskDTO> projectAndTaskDTOPage = DataUtils.listToPage(projectAndTaskDTOList, pageable);
+        Page<CrowdTestProjectVO> projectVOPage = DataUtils.listToPage(list, pageable);
+        Page<CrowdTaskVO> crowdTaskVOPage = DataUtils.listToPage(taskVOList, pageable);
+        if (searchConditionVO.getColumnFilters().get(0).getType().equals("project")) {
+            return new ResponseVO<>(ServerCode.SUCCESS, projectVOPage);
+        } else if (searchConditionVO.getColumnFilters().get(0).getType().equals("task")) {
+            return new ResponseVO(ServerCode.SUCCESS, crowdTaskVOPage);
+        }
+        return new ResponseVO<>(ServerCode.SUCCESS, projectAndTaskDTOPage);
+    }
+
+
+    Pageable getPageable(SearchConditionVO searchConditionVO) {
+        int activePage = searchConditionVO.getActivePage() == 0 ? 1 : searchConditionVO.getActivePage();
+        Sort sort = new Sort(Sort.Direction.DESC, "id");
+        if (searchConditionVO.getColumnFilters() != null) {
+            for (ColumnFilter columnFilter : searchConditionVO.getColumnFilters()) {
+                if (ColumnFilterType.SORT.getName().equals(columnFilter.getType()) && columnFilter.getValue() != null) {
+                    sort = new Sort(Sort.Direction.fromString(columnFilter.getValue()), columnFilter.getField());
+                    break;
+                }
+            }
+        }
+        return new PageRequest(activePage - 1, CommonConstant.SQUARE_ROWS_ON_PAGE, sort);
+    }
+
+    Map<String, String> getExtraCondition(SearchConditionVO searchConditionVO) {
+        Map<String, String> result = searchConditionVO.getExtraCondition();
+        if (result == null) {
+            result = new HashMap<>();
+        }
+        for (ColumnFilter columnFilter : searchConditionVO.getColumnFilters()) {
+            if (ColumnFilterType.ENUM.getName().equals(columnFilter.getType())
+                    && columnFilter.getValue() != null && !columnFilter.getValue().equals("all")) {
+                result.put(columnFilter.getField(), columnFilter.getValue());
+            }
+        }
+        return result;
+    }
+}
+