git 5 years ago
parent
commit
49be09f1ed
26 changed files with 313 additions and 74 deletions
  1. 0 4
      core/src/main/java/com/mooctest/crowd/domain/controller/CrowdTestProjectController.java
  2. 11 6
      core/src/main/java/com/mooctest/crowd/domain/dao/CrowdTestProjectDao.java
  3. 10 0
      core/src/main/java/com/mooctest/crowd/domain/dao/CrowdTestTaskDao.java
  4. 28 9
      core/src/main/java/com/mooctest/crowd/domain/domainobject/EvaluationAgency.java
  5. 16 0
      core/src/main/java/com/mooctest/crowd/domain/domainobject/User.java
  6. 1 1
      core/src/main/java/com/mooctest/crowd/domain/model/PersonalAuthenticationPO.java
  7. 4 0
      site/pom.xml
  8. 2 0
      site/src/main/java/com/mooctest/crowd/site/SiteApplication.java
  9. 2 1
      site/src/main/java/com/mooctest/crowd/site/configuration/WebMvcConfiguration.java
  10. 37 10
      site/src/main/java/com/mooctest/crowd/site/controller/AgencyController.java
  11. 0 0
      site/src/main/java/com/mooctest/crowd/site/controller/CommonController.java
  12. 38 22
      site/src/main/java/com/mooctest/crowd/site/controller/CrowTestSquareController.java
  13. 5 1
      site/src/main/java/com/mooctest/crowd/site/data/vo/EvolutionAgencyVO.java
  14. 6 1
      site/src/main/java/com/mooctest/crowd/site/data/vo/UserVO.java
  15. 11 0
      site/src/main/java/com/mooctest/crowd/site/mediator/ViewMediator.java
  16. 47 0
      site/src/main/java/com/mooctest/crowd/site/mediator/impl/WebMediatorImpl.java
  17. 3 0
      site/src/main/java/com/mooctest/crowd/site/service/AgencyService.java
  18. 7 4
      site/src/main/java/com/mooctest/crowd/site/service/CommonService.java
  19. 3 0
      site/src/main/java/com/mooctest/crowd/site/service/CrowdProjectService.java
  20. 1 0
      site/src/main/java/com/mooctest/crowd/site/service/CrowdTaskService.java
  21. 41 3
      site/src/main/java/com/mooctest/crowd/site/service/impl/AgencyServiceImpl.java
  22. 10 8
      site/src/main/java/com/mooctest/crowd/site/service/impl/CommonServiceImpl.java
  23. 8 0
      site/src/main/java/com/mooctest/crowd/site/service/impl/CrowdProjectServiceImpl.java
  24. 7 0
      site/src/main/java/com/mooctest/crowd/site/service/impl/CrowdTaskServiceImpl.java
  25. 2 1
      site/src/main/resources/application.yml
  26. 13 3
      site/src/test/java/com/mooctest/crowd/site/SiteApplicationTests.java

+ 0 - 4
core/src/main/java/com/mooctest/crowd/domain/controller/CrowdTestProjectController.java

@@ -15,11 +15,7 @@ import org.springframework.web.bind.annotation.RestController;
 @RequestMapping("/project/")
 public class CrowdTestProjectController {
 
-    @Autowired
-    private CrowdTestProjectRepo crowdTestProjectRepo;
 
-    @Autowired
-    private UserRepo userRepo;
 
 //    @RequestMapping(value = "findById/{crowdTestProjectId}", method = RequestMethod.GET)
 //    public String getCrowdTestProjectById(@PathVariable("crowdTestProjectId") Long crowdTestProjectId){

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

@@ -22,21 +22,26 @@ import java.util.List;
  */
 
 @Transactional
-public interface CrowdTestProjectDao extends CrudRepository<CrowdTestProjectPO, Long>, JpaRepository<CrowdTestProjectPO,Long>, PagingAndSortingRepository<CrowdTestProjectPO,Long>, JpaSpecificationExecutor<CrowdTestProjectPO> {
+public interface CrowdTestProjectDao extends CrudRepository<CrowdTestProjectPO, Long>, JpaRepository<CrowdTestProjectPO, Long>, PagingAndSortingRepository<CrowdTestProjectPO, Long>, JpaSpecificationExecutor<CrowdTestProjectPO> {
     //    @Override
 //    Optional<CrowdTestProjectPO> findById(Long id);
 
     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 ORDER BY CTP_CREATE_TIME DESC", nativeQuery = true)
+    List<CrowdTestProjectPO> findMoreHotProjects();
 
 
-      @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 )
+    @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);
+    Page<CrowdTestProjectPO> findAll(Specification<CrowdTestProjectPO> spec, Pageable pageable);
 
     CrowdTestProjectPO findByIdAndIsDeleted(Long id, int isDeleted);
 

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

@@ -26,6 +26,16 @@ public interface CrowdTestTaskDao extends CrudRepository<CrowdTestTaskPO, Long>,
          "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 ORDER BY CTT_CREATE_TIME DESC",nativeQuery = true)
+   List<CrowdTestTaskPO> findMoreHotTasks();
+
    List<CrowdTestTaskPO>  findByNameLike(String name);
 
     Page<CrowdTestTaskPO> findAll(Specification specification, Pageable pageable);

+ 28 - 9
core/src/main/java/com/mooctest/crowd/domain/domainobject/EvaluationAgency.java

@@ -1,6 +1,7 @@
 package com.mooctest.crowd.domain.domainobject;
 
 import com.mooctest.crowd.domain.exception.BaseException;
+import com.mooctest.crowd.domain.model.EvaluationAgencyPO;
 import lombok.Data;
 import org.springframework.beans.BeanUtils;
 
@@ -50,6 +51,24 @@ public class EvaluationAgency {
                 '}';
     }
 
+    public EvaluationAgency() {
+
+    }
+
+
+    public EvaluationAgency(EvaluationAgencyPO evaluationAgencyPO) {
+        BeanUtils.copyProperties(evaluationAgencyPO, this);
+
+
+    }
+
+
+    public EvaluationAgency EvaluationAgency(EvaluationAgencyPO evaluationAgencyPO) {
+        BeanUtils.copyProperties(evaluationAgencyPO, this);
+        return this;
+    }
+
+
     public EvaluationAgency applyAuthentication(Long userId) {
         this.setUserId(userId);
         this.setIsAuthentication(AuthenticationStatus.isAuthenIng);
@@ -61,11 +80,11 @@ public class EvaluationAgency {
     }
 
     public EvaluationAgency passAuthentication() {
-        if(this.getIsAuthentication() == AuthenticationStatus.isNotAuthenticated){
+        if (this.getIsAuthentication() == AuthenticationStatus.isNotAuthenticated) {
             throw new BaseException("当前是未通过认证状态,不可通过认证,需对认证信息进行修改后再提交认证申请");
-        }else if(this.getIsAuthentication() == AuthenticationStatus.isAuthenticated){
+        } else if (this.getIsAuthentication() == AuthenticationStatus.isAuthenticated) {
             throw new BaseException("当前已通过认证,不可再次进行认证");
-        }else{
+        } else {
             this.setIsAuthentication(AuthenticationStatus.isAuthenticated);
             this.setCheckTime(new Timestamp(System.currentTimeMillis()));
             this.setExplain("");
@@ -75,14 +94,14 @@ public class EvaluationAgency {
     }
 
     public EvaluationAgency rejectAuthentication(String explain) {
-        if(this.getIsDeleted() == DeletedStatus.isDeleted){
+        if (this.getIsDeleted() == DeletedStatus.isDeleted) {
             throw new BaseException("当前认证信息已被删除,不可做认证状态改变操作");
-        }else {
-            if(this.getIsAuthentication() == AuthenticationStatus.isNotAuthenticated){
+        } else {
+            if (this.getIsAuthentication() == AuthenticationStatus.isNotAuthenticated) {
                 throw new BaseException("当前已是未通过认证状态,不可再次拒绝认证");
-            }else if(this.getIsAuthentication() == AuthenticationStatus.isAuthenticated){
+            } else if (this.getIsAuthentication() == AuthenticationStatus.isAuthenticated) {
                 throw new BaseException("当前已通过认证,不可拒绝认证");
-            }else {
+            } else {
                 this.setIsAuthentication(AuthenticationStatus.isNotAuthenticated);
                 this.setExplain(explain);
                 this.setCheckTime(new Timestamp(System.currentTimeMillis()));
@@ -94,7 +113,7 @@ public class EvaluationAgency {
     public EvaluationAgency updateAuthInfo(EvaluationAgency modifyAuth) {
         modifyAuth.userId = this.userId;
         modifyAuth.id = this.id;
-        BeanUtils.copyProperties(modifyAuth,this);
+        BeanUtils.copyProperties(modifyAuth, this);
         this.setIsAuthentication(AuthenticationStatus.isAuthenIng);
         this.setIsDeleted(DeletedStatus.isNotDeleted);
         this.setIsAuthentication(AuthenticationStatus.isAuthenIng);

+ 16 - 0
core/src/main/java/com/mooctest/crowd/domain/domainobject/User.java

@@ -2,7 +2,11 @@ package com.mooctest.crowd.domain.domainobject;
 
 import com.mooctest.crowd.domain.exception.BaseException;
 import com.mooctest.crowd.domain.exception.SystemAdministratorException;
+import com.mooctest.crowd.domain.model.UserPO;
+import lombok.AllArgsConstructor;
 import lombok.Data;
+import lombok.NoArgsConstructor;
+import org.springframework.beans.BeanUtils;
 
 import java.sql.Timestamp;
 import java.util.List;
@@ -12,6 +16,7 @@ import java.util.List;
  * @date 2019/7/6 18:17
  */
 @Data
+
 public class User {
     private Long id;
     private String name;
@@ -34,6 +39,10 @@ public class User {
     private SystemAdministratorToUser systemAdministratorToUser;
     private List<Role> roleList;
 
+
+    public User() {
+    }
+
     @Override
     public String toString() {
         return "User{" +
@@ -59,6 +68,13 @@ public class User {
                 '}';
     }
 
+
+    public   User(UserPO userPO){
+        BeanUtils.copyProperties(userPO,this);
+    }
+
+
+
     /**
      * 机构认证——申请
      * @param evaluationAgency

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

@@ -56,7 +56,7 @@ public class PersonalAuthenticationPO {
     private String  idCardPositivePhoto;//身份证正面照片
 
 
-    @Column(name = "PA_ID_CARD_Back_PHOTO")
+    @Column(name = "PA_ID_CARD_BACK_PHOTO")
     private String  idCardBackPhoto;//身份证正面照片
 
 

+ 4 - 0
site/pom.xml

@@ -138,6 +138,10 @@
 <!--			<artifactId>spring-boot-starter-cache</artifactId>-->
 <!--			<version>2.1.3.RELEASE</version>-->
 <!--		</dependency>-->
+		<dependency>
+			<groupId>org.yaml</groupId>
+			<artifactId>snakeyaml</artifactId>
+		</dependency>
 	</dependencies>
 
 	<build>

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

@@ -3,6 +3,8 @@ package com.mooctest.crowd.site;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
 import org.springframework.cache.annotation.EnableCaching;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.support.PropertySourcesPlaceholderConfigurer;
 
 @SpringBootApplication(scanBasePackages = "com.mooctest.crowd")
 @EnableCaching

+ 2 - 1
site/src/main/java/com/mooctest/crowd/site/configuration/WebMvcConfiguration.java

@@ -35,4 +35,5 @@ public class WebMvcConfiguration implements WebMvcConfigurer {
 //        registry.addInterceptor(sysAdminCheckInterceptor)
 //                .addPathPatterns("/api/user/**");
     }
-}
+    }
+

+ 37 - 10
site/src/main/java/com/mooctest/crowd/site/controller/AgencyController.java

@@ -9,11 +9,17 @@ import com.mooctest.crowd.site.command.ApplyAgencyAuthCommand;
 import com.mooctest.crowd.site.command.AuthRejectCommand;
 import com.mooctest.crowd.site.command.GenerateAgencyCommand;
 import com.mooctest.crowd.site.data.dto.UserDTO;
+import com.mooctest.crowd.site.data.response.ResponseVO;
+import com.mooctest.crowd.site.data.response.ServerCode;
 import com.mooctest.crowd.site.data.vo.AgencyVO;
 import com.mooctest.crowd.site.data.vo.EvolutionAgencyVO;
+import com.mooctest.crowd.site.data.vo.SearchConditionVO;
 import com.mooctest.crowd.site.service.AgencyService;
+import com.mooctest.crowd.site.util.DataUtils;
 import lombok.extern.java.Log;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Page;
+import org.springframework.data.domain.Pageable;
 import org.springframework.validation.BindingResult;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
@@ -29,18 +35,19 @@ import java.util.List;
  */
 @RestController
 @RequestMapping("/api")
-public class AgencyController {
+public class AgencyController extends BaseSearchController {
 
     @Autowired
     private AgencyService agencyService;
 
     /**
      * 绿色通道:未登录情况直接录入认证信息,生成用户和评测机构信息
+     *
      * @param command
      * @return
      */
     @RequestMapping(value = "/greenChannel/agency", method = RequestMethod.POST)
-    public UserDTO generateAgency(@RequestBody @Validated GenerateAgencyCommand command, BindingResult result){
+    public UserDTO generateAgency(@RequestBody @Validated GenerateAgencyCommand command, BindingResult result) {
         if (result.hasErrors())
             throw new BaseException(result.getFieldError().getDefaultMessage());
         return agencyService.generateAgency(command);
@@ -48,6 +55,7 @@ public class AgencyController {
 
     /**
      * 申请机构认证
+     *
      * @param userId
      * @param command
      * @param result
@@ -55,7 +63,7 @@ public class AgencyController {
      */
     @LoginRequired
     @RequestMapping(value = "/user/{userId}/agency", method = RequestMethod.POST)
-    public UserDTO applyAgencyAuth(@PathVariable("userId") Long userId, @RequestBody @Validated ApplyAgencyAuthCommand command, BindingResult result){
+    public UserDTO applyAgencyAuth(@PathVariable("userId") Long userId, @RequestBody @Validated ApplyAgencyAuthCommand command, BindingResult result) {
         if (result.hasErrors())
             throw new BaseException(result.getFieldError().getDefaultMessage());
         return agencyService.applyAgency(userId, command);
@@ -63,6 +71,7 @@ public class AgencyController {
 
     /**
      * 更新机构认证信息
+     *
      * @param userId
      * @param command
      * @param result
@@ -70,7 +79,7 @@ public class AgencyController {
      */
     @LoginRequired
     @RequestMapping(value = "/user/{userId}/agency", method = RequestMethod.PUT)
-    public AgencyVO updateAgencyInfo(@PathVariable("userId") Long userId, @RequestBody @Validated ApplyAgencyAuthCommand command, BindingResult result){
+    public AgencyVO updateAgencyInfo(@PathVariable("userId") Long userId, @RequestBody @Validated ApplyAgencyAuthCommand command, BindingResult result) {
         if (result.hasErrors())
             throw new BaseException(result.getFieldError().getDefaultMessage());
         return agencyService.updateAgencyInfo(userId, command);
@@ -78,13 +87,14 @@ public class AgencyController {
 
     /**
      * 审核认证请求(修改认证申请的状态)
+     *
      * @param userId
      * @param status
      * @return
      */
     @LoginRequired
     @RequestMapping(value = "/user/{userId}/agency/status/", method = RequestMethod.PUT)
-    public UserDTO checkAuth(@PathVariable("userId") Long userId, @PathVariable("status") Integer status){
+    public UserDTO checkAuth(@PathVariable("userId") Long userId, @PathVariable("status") Integer status) {
         if (status > 1 || status < -1)
             throw new BaseException("错误的状态信息,无法更新认证状态为所选状态");
         return agencyService.updateAgencyStatus(userId, status);
@@ -93,26 +103,27 @@ public class AgencyController {
     @LoginRequired
     @SysAdminRequired
     @RequestMapping(value = "/user/{userId}/agency/status/accept", method = RequestMethod.PUT)
-    public AgencyVO passAuth(@PathVariable("userId") Long userId){
+    public AgencyVO passAuth(@PathVariable("userId") Long userId) {
         return agencyService.passAuth(userId);
     }
 
     @LoginRequired
     @SysAdminRequired
     @RequestMapping(value = "/user/{userId}/agency/status/reject", method = RequestMethod.PUT)
-    public AgencyVO rejectAuth(@PathVariable("userId") Long userId, @RequestBody @Validated AuthRejectCommand command){
+    public AgencyVO rejectAuth(@PathVariable("userId") Long userId, @RequestBody @Validated AuthRejectCommand command) {
         return agencyService.rejectAuth(userId, command.getExplain());
     }
 
     /**
      * 测评机构修改能力和资源信息
+     *
      * @param userId
      * @param command
      * @return
      */
     @LoginRequired
     @RequestMapping(value = "/user/{userId}/agency/resource", method = RequestMethod.POST)
-    public AgencyVO updateAgencyResourceAndAbility(@PathVariable("userId") Long userId, @RequestBody @Validated AgencyResourceAbilityUpdateCommand command, BindingResult result){
+    public AgencyVO updateAgencyResourceAndAbility(@PathVariable("userId") Long userId, @RequestBody @Validated AgencyResourceAbilityUpdateCommand command, BindingResult result) {
         if (result.hasErrors())
             throw new BaseException(result.getFieldError().getDefaultMessage());
         return agencyService.upadteResourceAndAbility(userId, command);
@@ -120,17 +131,33 @@ public class AgencyController {
 
     /**
      * 获取机构认证信息
+     *
      * @param userId
      * @return
      */
     @LoginRequired
     @RequestMapping(value = "/user/{userId}/agency", method = RequestMethod.GET)
-    public AgencyVO getAgencyInfo(@PathVariable("userId") Long userId){
+    public AgencyVO getAgencyInfo(@PathVariable("userId") Long userId) {
         return agencyService.getAgencyDetails(userId);
     }
 
     @RequestMapping(value = "/agency/list", method = RequestMethod.GET)
-    public List<EvolutionAgencyVO> getAgencyList(){
+    public List<EvolutionAgencyVO> getAgencyList() {
         return agencyService.getAgencyList();
     }
+
+
+    @RequestMapping(value = "/agency/list/more", method = RequestMethod.GET)
+    public ResponseVO getMoreAgencyList(@RequestBody SearchConditionVO searchConditionVO) {
+        Pageable pageable = this.getPageable(searchConditionVO);
+        List<EvolutionAgencyVO> list = agencyService.findMoreAgencyVO();
+        Page<EvolutionAgencyVO> page = DataUtils.listToPage(list, pageable);
+        return new ResponseVO(ServerCode.SUCCESS, page);
+    }
+
+
+    @Override
+    public Page<?> search(String searchCondition) {
+        return null;
+    }
 }

File diff suppressed because it is too large
+ 0 - 0
site/src/main/java/com/mooctest/crowd/site/controller/CommonController.java


+ 38 - 22
site/src/main/java/com/mooctest/crowd/site/controller/CrowTestSquareController.java

@@ -10,6 +10,7 @@ import com.mooctest.crowd.site.data.vo.SearchConditionVO;
 import com.mooctest.crowd.site.service.CommonService;
 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;
@@ -38,11 +39,12 @@ public class CrowTestSquareController extends BaseSearchController {
     private CrowdTaskService crowdTaskService;
     @Autowired
     private CommonService commonService;
+    @Autowired
+    private CrowdTestSquareService crowdTestSquareService;
 
 
     /**
-     * 获取众测广场首页所有的数据,包装到CrowdTestSquareIndexDTO里面
-     *
+     * 获取众测广场首页所有的数据,包装到CrowdTestSquareIndexDTO里面     *
      * @return
      */
     @GetMapping("/list")
@@ -57,34 +59,48 @@ public class CrowTestSquareController extends BaseSearchController {
     }
 
 
+
     /**
      * 搜索框模糊分页查询接口
      */
     @PostMapping("search/list")
     public ResponseVO findByNameLike(@RequestBody SearchConditionVO searchConditionVO) {
-        Map<String, String> extraCondition = searchConditionVO.getColumnFilters() == null ? new HashMap<>() : super.getExtraCondition(searchConditionVO);
-        LOG.info("想要查询的是" + searchConditionVO.getColumnFilters().get(0).getType());
+        return crowdTestSquareService.findByNameLike(searchConditionVO);
+    }
+
+    /**
+     * 获取更多热门项目
+     *
+     * @param searchConditionVO
+     * @return
+     */
+
+    @GetMapping("hotProject/list/more")
+    public ResponseVO findMoreHotProjects(@RequestBody SearchConditionVO 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);
+        List<CrowdTestProjectVO> crowdTestProjectVOList = crowdProjectService.findAllMoreHotProjects();
+        Page<CrowdTestProjectVO> projectVOPage = DataUtils.listToPage(crowdTestProjectVOList, pageable);
+        return new ResponseVO(ServerCode.SUCCESS, projectVOPage);
     }
 
+    /**
+     * 获取更多热门任务
+     *
+     * @param searchConditionVO
+     * @return
+     */
+
+    @GetMapping("hotTasks/list/more")
+    public ResponseVO findMoreHotTasks(@RequestBody SearchConditionVO searchConditionVO) {
+        Pageable pageable = this.getPageable(searchConditionVO);
+        List<CrowdTaskVO> crowdTestProjectVOList = crowdTaskService.findMoreHotTasks();
+        Page<CrowdTaskVO> taskVOPage = DataUtils.listToPage(crowdTestProjectVOList, pageable);
+        return new ResponseVO(ServerCode.SUCCESS, taskVOPage);
+
+
+    }
+
+
     @Override
     public Page<?> search(String searchCondition) {
         return null;

+ 5 - 1
site/src/main/java/com/mooctest/crowd/site/data/vo/EvolutionAgencyVO.java

@@ -15,14 +15,18 @@ import java.io.Serializable;
 @NoArgsConstructor
 @AllArgsConstructor
 public class EvolutionAgencyVO implements Serializable {
+
     private Long id;
     private Long userId;
     private String logo;
     private String name;
     private Double allTaskPrice;
     private Long taskCount;
+    private String address;
+
+
 
-    public EvolutionAgencyVO(EvaluationAgency evaluationAgency){
+    public EvolutionAgencyVO(EvaluationAgency evaluationAgency) {
         id = evaluationAgency.getId();
         logo = evaluationAgency.getAgencyPhoto();
         name = evaluationAgency.getEvaluationAgencyName();

+ 6 - 1
site/src/main/java/com/mooctest/crowd/site/data/vo/UserVO.java

@@ -1,5 +1,7 @@
 package com.mooctest.crowd.site.data.vo;
 
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
 import com.mooctest.crowd.domain.domainobject.Account;
 import com.mooctest.crowd.domain.domainobject.User;
 import com.mooctest.crowd.domain.model.UserPO;
@@ -26,7 +28,9 @@ public class UserVO implements Serializable {
     private String email;
     private String mobile;
     private String password;
+    @JsonIgnore
     private String province;
+    @JsonIgnore
     private String city;
     private String photoUrl;
     private Double allProjectPrice;
@@ -36,9 +40,10 @@ public class UserVO implements Serializable {
     private String personalCompetence;
     private String unit;
     private String county;
-
+    private String address;
     public UserVO(User user) {
         BeanUtils.copyProperties(user, this);
+        this.address=this.province+this.city;
         this.password = "********";
         if (user.getEvaluationAgency() != null) {
             this.authType = "agency";

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

@@ -5,9 +5,11 @@ import com.mooctest.crowd.domain.domainobject.User;
 import com.mooctest.crowd.domain.exception.AccountNotExistException;
 import com.mooctest.crowd.domain.exception.BadRequestException;
 import com.mooctest.crowd.domain.exception.PasswordErrorException;
+import com.mooctest.crowd.domain.model.EvaluationAgencyPO;
 import com.mooctest.crowd.domain.model.PersonalAuthenticationPO;
 import com.mooctest.crowd.site.data.vo.*;
 import org.codehaus.jettison.json.JSONException;
+import org.springframework.data.domain.Page;
 import org.springframework.data.domain.Pageable;
 import com.mooctest.crowd.site.command.LoginCommand;
 import com.mooctest.crowd.site.command.RegisterCommand;
@@ -18,12 +20,21 @@ import com.mooctest.crowd.site.data.vo.RegionalManagerVO;
 
 
 import java.util.List;
+import java.util.Optional;
 
 /**
  * @Author: xuexb
  * @Date: 2019.7.16 20:25
  */
 public interface ViewMediator {
+
+    Page<UserVO> renderMoreUser(Pageable pageable);
+
+
+
+    List<CrowdTaskVO> findMoreHotTasks();
+    List<CrowdTestProjectVO> findMoreHotProjects();
+
     EnterpriseAuthVO getEnterpriseAuthByUserId(Long userId);
     PersonalAuthVO getByUserId(Long userId);
 

+ 47 - 0
site/src/main/java/com/mooctest/crowd/site/mediator/impl/WebMediatorImpl.java

@@ -19,16 +19,19 @@ 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.UploadService;
+import com.mooctest.crowd.site.util.DataUtils;
 import lombok.extern.slf4j.Slf4j;
 import org.codehaus.jettison.json.JSONException;
 import org.codehaus.jettison.json.JSONObject;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
+import org.springframework.data.domain.Page;
 import org.springframework.data.domain.PageRequest;
 import org.springframework.data.domain.Pageable;
 import org.springframework.stereotype.Component;
 import org.springframework.web.client.RestTemplate;
+import org.springframework.web.multipart.MultipartFile;
 
 import java.awt.*;
 import java.io.File;
@@ -107,6 +110,50 @@ public class WebMediatorImpl implements ViewMediator {
     private String agencyId;
 
     @Override
+    public Page<UserVO> renderMoreUser(Pageable pageable) {
+        List<UserVO> userVOS=new ArrayList<>();
+        List<RankCountInfo> rankCountInfos=taskToUserDao.findTotalCountOfUser();
+        long []ids=new long[rankCountInfos.size()];
+        for(int i=0;i<rankCountInfos.size();i++){
+            if(userDao.findById(rankCountInfos.get(i).getEntityId()).isPresent()){
+                ids[i]=rankCountInfos.get(i).getEntityId();
+                Optional<UserPO> userPO=userDao.findById(ids[i]);
+                User  user=new User(userPO.get());
+                UserVO userVO=new UserVO(user);
+                userVO.setTaskCount(rankCountInfos.get(i).getCount());
+                userVOS.add(userVO);
+            }
+
+        }
+        Page<UserVO> Page= DataUtils.listToPage(userVOS,pageable);
+        return  Page;
+    }
+
+    @Override
+    public List<CrowdTaskVO> findMoreHotTasks() {
+        List<CrowdTestTaskPO> list=taskDao.findMoreHotTasks();//已经根据创建时间排序好了。
+        List<CrowdTaskVO> hotMoreTestprojects = taskDao.findMoreHotTasks().stream().map(crowdTestTaskPO -> {
+            CrowdTestTask task = new CrowdTestTask();
+            BeanUtils.copyProperties(crowdTestTaskPO, task);
+            return new CrowdTaskVO(task);
+        }).collect(Collectors.toList());
+        return hotMoreTestprojects;
+    }
+
+    @Override
+    public List<CrowdTestProjectVO> findMoreHotProjects() {
+       List<CrowdTestProjectPO> list=projectDao.findMoreHotProjects();//已经根据创建时间排序好了。
+       //根据 参加人数倒序排序
+        List<CrowdTestProjectVO> hotMoreTestprojects = projectDao.findMoreHotProjects().stream().map(crowdTestProjectPO -> {
+            CrowdTestProject project = new CrowdTestProject();
+            BeanUtils.copyProperties(crowdTestProjectPO, project);
+            return new CrowdTestProjectVO(project);
+        }).collect(Collectors.toList());
+        return hotMoreTestprojects;
+    }
+
+
+    @Override
     public EnterpriseAuthVO getEnterpriseAuthByUserId(Long userId) {
         EnterpriseAuthentication enterpriseAuthentication = new EnterpriseAuthentication();
         EnterpriseAuthenticationPO enterpriseAuthenticationPO = enterpriseAuthenticationDao.findByUserId(userId);

+ 3 - 0
site/src/main/java/com/mooctest/crowd/site/service/AgencyService.java

@@ -15,6 +15,9 @@ import java.util.List;
  * @date 2019-08-12 01:18
  */
 public interface AgencyService {
+
+    List<EvolutionAgencyVO> findMoreAgencyVO();
+
     UserDTO applyAgency(Long userId, ApplyAgencyAuthCommand command);
 
     UserDTO generateAgency(GenerateAgencyCommand command);

+ 7 - 4
site/src/main/java/com/mooctest/crowd/site/service/CommonService.java

@@ -4,8 +4,7 @@ import com.mooctest.crowd.site.data.dto.IndexDTO;
 import com.mooctest.crowd.site.data.dto.IndexInfoDTO;
 import com.mooctest.crowd.site.data.dto.IndexPageDTO;
 import com.mooctest.crowd.site.data.dto.MyCrowdDTO;
-import com.mooctest.crowd.site.data.vo.CrowdProjectVO;
-import com.mooctest.crowd.site.data.vo.CrowdTaskVO;
+import com.mooctest.crowd.site.data.vo.*;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.Pageable;
 import org.springframework.stereotype.Service;
@@ -14,6 +13,10 @@ import java.util.Map;
 
 @Service
 public interface CommonService {
+
+
+    Page<UserVO> getMoreUser(Pageable pageable);
+
     IndexDTO getIndexInfo();
 
     MyCrowdDTO getPersonCrowd(Long userId);
@@ -26,7 +29,7 @@ public interface CommonService {
 
     Page<CrowdTaskVO> getTaskinfo(Pageable pageable, String keyword, int deletedStatus);
 
-    IndexPageDTO getHotTesting(Pageable pageable);
+    Page<ApplicationTypeVO> getHotTesting(Pageable pageable);
 
-    IndexPageDTO getCompetition(Pageable pageable);
+    Page<CompetitionVO> getCompetition(Pageable pageable);
 }

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

@@ -17,6 +17,9 @@ import java.util.List;
  * @date 2019-07-29 10:49
  */
 public interface CrowdProjectService {
+
+    List<CrowdTestProjectVO>  findAllMoreHotProjects();
+
     List<CrowdTestProjectVO> findByNameLike(String name);
 
     List<CrowdTestProjectVO> findAll(Pageable pageable);

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

@@ -16,6 +16,7 @@ import java.util.List;
  * @date 2019-07-29 18:47
  */
 public interface CrowdTaskService {
+    List<CrowdTaskVO> findMoreHotTasks();
 
      List<CrowdTaskVO> findAll();
 

+ 41 - 3
site/src/main/java/com/mooctest/crowd/site/service/impl/AgencyServiceImpl.java

@@ -1,9 +1,16 @@
 package com.mooctest.crowd.site.service.impl;
 
+import com.mooctest.crowd.domain.dao.EvaluationAgencyDao;
+import com.mooctest.crowd.domain.dao.TaskToUserDao;
+import com.mooctest.crowd.domain.dao.UserDao;
 import com.mooctest.crowd.domain.domainobject.*;
 import com.mooctest.crowd.domain.exception.BaseException;
 import com.mooctest.crowd.domain.exception.EvaluationAgencyNotExistException;
 import com.mooctest.crowd.domain.exception.UserNotExistException;
+
+import com.mooctest.crowd.domain.model.EvaluationAgencyPO;
+import com.mooctest.crowd.domain.model.RankCountInfo;
+import com.mooctest.crowd.domain.model.UserPO;
 import com.mooctest.crowd.domain.repository.EvaluationAgencyRepo;
 import com.mooctest.crowd.domain.repository.UserRepo;
 import com.mooctest.crowd.site.anticorruption.UserAntiCorruption;
@@ -15,11 +22,14 @@ import com.mooctest.crowd.site.data.vo.UserVO;
 import com.mooctest.crowd.site.mediator.ViewMediator;
 import com.mooctest.crowd.site.service.AgencyService;
 import lombok.extern.slf4j.Slf4j;
+
 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;
 
 /**
@@ -35,6 +45,8 @@ public class AgencyServiceImpl implements AgencyService {
     private UserAntiCorruption userAnti;
 
     @Autowired
+    private UserDao userDao;
+    @Autowired
     private UserRepo userRepo;
 
     @Autowired
@@ -42,6 +54,32 @@ public class AgencyServiceImpl implements AgencyService {
 
     @Autowired
     private EvaluationAgencyRepo evaluationAgencyRepo;
+    @Autowired
+    private TaskToUserDao taskToUserDao;
+    @Autowired
+    private EvaluationAgencyDao agencyDao;
+
+    @Override
+    public List<EvolutionAgencyVO> findMoreAgencyVO() {
+        List<EvolutionAgencyVO> list = new ArrayList<EvolutionAgencyVO>();
+        List<RankCountInfo> rankInfos = taskToUserDao.findTotalCountOfUser();
+        long[] ids = new long[rankInfos.size()];
+        for (int i = 0; i < rankInfos.size(); i++) {
+            ids[i] = rankInfos.get(i).getEntityId();
+            Optional<UserPO> user = userDao.findById(ids[i]);
+            EvaluationAgencyPO evaluationAgencyPO = agencyDao.findByUserId(ids[i]);
+            ids[i] = rankInfos.get(i).getEntityId();
+            if (evaluationAgencyPO != null) {
+                EvaluationAgency evaluationAgency = new EvaluationAgency(evaluationAgencyPO);
+                EvolutionAgencyVO evolutionAgencyVO = new EvolutionAgencyVO(evaluationAgency);
+                evolutionAgencyVO.setTaskCount(rankInfos.get(i).getCount());
+                evolutionAgencyVO.setAddress(user.get().getProvince() + user.get().getCity());
+                list.add(evolutionAgencyVO);
+            }
+        }
+        return list.stream().sorted(Comparator.comparing(EvolutionAgencyVO::getTaskCount).reversed()).collect(Collectors.toList());
+    }
+
 
     @Override
     public UserDTO applyAgency(Long userId, ApplyAgencyAuthCommand command) {
@@ -57,12 +95,12 @@ public class AgencyServiceImpl implements AgencyService {
         try {
             userRepo.getByMobileNum(command.getMobile());
             mobileExists = true;
-        }catch (UserNotExistException u){
+        } catch (UserNotExistException u) {
             log.info("电话号码不存在,可以生成新用户");
         }
         if (mobileExists)
             throw new BaseException("手机号码已经存在,请直接登录");
-        User user = userAnti.register(command.getEvaluationAgencyName(),command.getEmail(), command.getMobile(), command.getMobile());
+        User user = userAnti.register(command.getEvaluationAgencyName(), command.getEmail(), command.getMobile(), command.getMobile());
         EvaluationAgency agency = command.toAgency();
         List<Role> roles = new ArrayList<>();
         roles.add(userRepo.getRole("evaluationAgency"));
@@ -83,7 +121,7 @@ public class AgencyServiceImpl implements AgencyService {
     @Override
     public UserDTO updateAgencyStatus(Long userId, Integer status) {
         User user = userRepo.getByID(userId);
-        if (user.getEvaluationAgency()==null)
+        if (user.getEvaluationAgency() == null)
             throw new BaseException("该用户未申请认证机构");
         user.getEvaluationAgency().setIsAuthentication(status);
         return mediator.renderUser(userRepo.saveUser(user));

+ 10 - 8
site/src/main/java/com/mooctest/crowd/site/service/impl/CommonServiceImpl.java

@@ -42,6 +42,12 @@ public class CommonServiceImpl implements CommonService {
 //    private CacheUtil cacheUtil;
 
     @Override
+    public Page<UserVO> getMoreUser(Pageable pageable) {
+
+        return  viewMediator.renderMoreUser(pageable);
+    }
+
+    @Override
     public IndexDTO getIndexInfo() {
         return viewMediator.renderIndex();
     }
@@ -87,17 +93,13 @@ public class CommonServiceImpl implements CommonService {
     }
 
     @Override
-    public IndexPageDTO getHotTesting(Pageable pageable) {
-        IndexPageDTO indexPageDTO = new IndexPageDTO();
-        indexPageDTO.setApplicationTypePage(applicationTypeRepo.getHotTesting(pageable).map(applicationType -> new ApplicationTypeVO(applicationType)));
-        return  indexPageDTO;
+    public Page<ApplicationTypeVO> getHotTesting(Pageable pageable) {
+        return applicationTypeRepo.getHotTesting(pageable).map(applicationType -> new ApplicationTypeVO(applicationType));
     }
 
     @Override
-    public IndexPageDTO getCompetition(Pageable pageable) {
-        IndexPageDTO indexPageDTO = new IndexPageDTO();
-        indexPageDTO.setCompetitionPage(commonRepo.findAllCompetition(pageable).map(competition -> new CompetitionVO(competition)));
-        return indexPageDTO;
+    public Page<CompetitionVO> getCompetition(Pageable pageable) {
+        return commonRepo.findAllCompetition(pageable).map(competition -> new CompetitionVO(competition));
     }
 
 }

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

@@ -61,6 +61,14 @@ public class CrowdProjectServiceImpl implements CrowdProjectService {
 
 
     @Override
+    public List<CrowdTestProjectVO> findAllMoreHotProjects() {
+        List<CrowdTestProjectVO> list=viewMediator.findMoreHotProjects();//根据创建时间已经倒叙排序好
+        //根据参与人数倒叙排序
+        List<CrowdTestProjectVO>  moreHotProjects=list.stream().sorted(Comparator.comparing(CrowdTestProjectVO::getJoinCount).reversed()).collect(Collectors.toList());
+        return   moreHotProjects;
+    }
+
+    @Override
     public List<CrowdTestProjectVO> findByNameLike(String name) {
         if(name==null||name.trim().equals("")){
             return  viewMediator.crowdTestProjects().stream().sorted(Comparator.comparing(CrowdTestProjectVO::getCreateTime).reversed()).collect(Collectors.toList());

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

@@ -57,6 +57,13 @@ public class CrowdTaskServiceImpl implements CrowdTaskService {
     @Autowired
     private EvaluationAgencyDao agencyDao;
 
+    @Override
+    public List<CrowdTaskVO> findMoreHotTasks(){
+        List<CrowdTaskVO> list=viewMediator.findMoreHotTasks();//根据创建时间已经倒叙排序好
+        //根据参与人数倒叙排序
+        List<CrowdTaskVO>  morehotTasks=list.stream().sorted(Comparator.comparing(CrowdTaskVO::getAcceptedCount).reversed()).collect(Collectors.toList());
+        return   morehotTasks;
+    }
 
     @Override
     public List<CrowdTaskVO> findAll() {

+ 2 - 1
site/src/main/resources/application.yml

@@ -106,7 +106,8 @@ spring:
     database: 6
 user:
   service:
-    baseUrl: http://127.0.0.1:8081
+#    baseUrl: http://127.0.0.1:8081
+    baseUrl: http://59.42.10.53:8081
 
 website:
   domain: mooctest.net

+ 13 - 3
site/src/test/java/com/mooctest/crowd/site/SiteApplicationTests.java

@@ -1,16 +1,26 @@
 package com.mooctest.crowd.site;
 
+import com.mooctest.crowd.domain.dao.*;
+import com.mooctest.crowd.domain.domainobject.EvaluationAgency;
+import com.mooctest.crowd.domain.model.*;
+import com.mooctest.crowd.site.data.vo.EvolutionAgencyVO;
+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.awt.*;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Optional;
+
 @RunWith(SpringRunner.class)
 @SpringBootTest
 public class SiteApplicationTests {
+@Autowired
+private AgencyService agencyService;
 
-	@Test
-	public void contextLoads() {
-	}
 
 }

Some files were not shown because too many files changed in this diff