浏览代码

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

guo00guo 5 年之前
父节点
当前提交
87d3126efc

+ 9 - 0
core/src/main/java/com/mooctest/crowd/domain/dao/UserTaskCountDao.java

@@ -2,7 +2,10 @@ package com.mooctest.crowd.domain.dao;
 
 import com.mooctest.crowd.domain.model.UserTaskCountPO;
 import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.data.jpa.repository.Modifying;
+import org.springframework.data.jpa.repository.Query;
 import org.springframework.data.repository.CrudRepository;
+import org.springframework.data.repository.query.Param;
 
 import javax.transaction.Transactional;
 import java.util.List;
@@ -17,4 +20,10 @@ public interface UserTaskCountDao extends CrudRepository<UserTaskCountPO, Long>,
 
     Optional<UserTaskCountPO> findById(Long id);
 
+    List<UserTaskCountPO> findAll();
+
+    @Modifying
+    @Query(nativeQuery = true,value="UPDATE user_task_count SET UTC_COUNT=?1 WHERE UTC_USER_ID=?2")
+    void updateCount(@Param("userId") long userId,@Param("count") long count);
+
 }

+ 0 - 1
site/pom.xml

@@ -143,7 +143,6 @@
 			<artifactId>snakeyaml</artifactId>
 		</dependency>
 	</dependencies>
-
 	<build>
 		<plugins>
 			<plugin>

文件差异内容过多而无法显示
+ 0 - 0
site/src/main/java/com/mooctest/crowd/site/controller/CommonController.java


+ 2 - 33
site/src/main/java/com/mooctest/crowd/site/controller/CrowTestSquareController.java

@@ -1,7 +1,5 @@
 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;
@@ -54,8 +52,8 @@ public class CrowTestSquareController extends BaseSearchController {
         List<CrowdTaskVO> crowdTestTasks = crowdTaskService.findAll();
         crowdTestSquareIndexDTO.setCrowdTestProjectVOs(list);//众测项目
         crowdTestSquareIndexDTO.setCrowdTestTaskVOS(crowdTestTasks);//众测任务
-        crowdTestSquareIndexDTO.setHotCrowdTaskVOs(crowdTaskService.findMoreHotTasks());
-        crowdTestSquareIndexDTO.setHotCrowdTestProjectVOs(crowdProjectService.findAllMoreHotProjects());
+        crowdTestSquareIndexDTO.setHotCrowdTaskVOs(crowdTaskService.findMoreHotTasks());//热门任务
+        crowdTestSquareIndexDTO.setHotCrowdTestProjectVOs(crowdProjectService.findAllMoreHotProjects());//热门项目
         return new ResponseVO(ServerCode.SUCCESS, crowdTestSquareIndexDTO);
     }
 
@@ -68,20 +66,6 @@ public class CrowTestSquareController extends BaseSearchController {
         return crowdTestSquareService.findByNameLike(searchConditionVO);
     }
 
-    /**
-     * 获取更多热门项目
-     *
-     * @param searchConditionVO
-     * @return
-     */
-
-    @PostMapping("/hotProject/list/more")
-    public ResponseVO findMoreHotProjects(@RequestBody SearchConditionVO searchConditionVO) {
-        Pageable pageable = this.getPageable(searchConditionVO);
-        List<CrowdTestProjectVO> crowdTestProjectVOList = crowdProjectService.findAllMoreHotProjects();
-        Page<CrowdTestProjectVO> projectVOPage = DataUtils.listToPage(crowdTestProjectVOList, pageable);
-        return new ResponseVO(ServerCode.SUCCESS, projectVOPage);
-    }
 
     /**
      * 更多热门项目列表
@@ -98,21 +82,6 @@ public class CrowTestSquareController extends BaseSearchController {
         return new ResponseVO(ServerCode.SUCCESS, projectVOPage);
     }
 
-    /**
-     * 获取更多热门任务
-     *
-     * @param searchConditionVO
-     * @return
-     */
-
-    @PostMapping("/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);
-
-    }
 
     /**
      * 更多热门任务列表

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

@@ -124,4 +124,6 @@ List<CrowdTestProjectVO>   AllByPage();
     BankCardDTO getBankType();
 
     List<CrowdTestProjectVO> crowdTestProjectsWaitingAccept();
+
+    List<UserTaskCountVO> getCount();
 }

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

@@ -128,7 +128,6 @@ public class WebMediatorImpl implements ViewMediator {
     @Autowired
     private ThemeStatusTaskService themeStatusTaskService;
 
-
     @Override
     public List<CrowdTestProjectVO> crowdTestProjects() {
         List<CrowdTestProjectVO> authingList = new ArrayList<>();
@@ -1072,6 +1071,10 @@ public class WebMediatorImpl implements ViewMediator {
         return authingList;
     }
 
+    /**
+     * 更多热门任务
+     * @return
+     */
     @Override
     public List<CrowdTestProjectVO> hotCrowdTestProjects() {
         List<CrowdTestProjectVO> authingList = new ArrayList<>();
@@ -1131,6 +1134,28 @@ public class WebMediatorImpl implements ViewMediator {
     }
 
     @Override
+    public List<UserTaskCountVO> getCount() {
+        List<RankCountInfo> rankCountInfos = taskToUserDao.findTotalCountOfUser();
+        for(int i=0;i<rankCountInfos.size();i++){
+            userTaskCountDao.updateCount(rankCountInfos.get(i).getEntityId(),rankCountInfos.get(i).getCount());
+        }
+        List<UserTaskCountVO> userTaskCountVOList = new ArrayList<>();
+        userTaskCountDao.findAll().forEach(userTaskCountPO ->{
+            UserTaskCountVO userTaskCountVO =new UserTaskCountVO();
+            userTaskCountVO.setId(userTaskCountPO.getId());
+            userTaskCountVO.setUserId(userTaskCountPO.getUserId());
+            userTaskCountVO.setCount(userTaskCountPO.getCount());
+            userTaskCountVO.setType(userTaskCountPO.getType());
+            userTaskCountVOList.add(userTaskCountVO);
+        });
+        return userTaskCountVOList;
+    }
+
+    /**
+     * 众测广场首页展示的众测任务
+     * @return
+     */
+    @Override
     public List<CrowdTaskVO> crowdTaskVos(){
         List<CrowdTaskVO> authingList = new ArrayList<>();
         authingList.addAll(taskDao.findindexTask().stream().map(crowdTestTaskPO -> {

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

@@ -48,4 +48,5 @@ public interface CommonService {
 
     DataDTO getAllData();
 
+    List<UserTaskCountVO> getCount();
 }

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

@@ -198,6 +198,11 @@ public class CommonServiceImpl implements CommonService {
         return dataDTO;
     }
 
+    @Override
+    public List<UserTaskCountVO> getCount() {
+        return viewMediator.getCount();
+    }
+
     Pageable getPageable(SearchConditionVO searchConditionVO) {
         int activePage = searchConditionVO.getActivePage() == 0 ? 1 : searchConditionVO.getActivePage();
         Sort sort = new Sort(Sort.Direction.DESC, "id");

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

@@ -55,7 +55,7 @@ import java.util.stream.Collectors;
 @Service
 public class CrowdProjectServiceImpl implements CrowdProjectService {
     @Autowired
-    private  CrowdTestProjectDao projectDao;
+    private CrowdTestProjectDao projectDao;
 
     @Autowired
     private UserToRoleDao userToRoleDao;
@@ -90,6 +90,12 @@ public class CrowdProjectServiceImpl implements CrowdProjectService {
     @Autowired
     private ThemeSchedulerService themeSchedulerService;
 
+    /**
+     * 众测广场首页展示的项目
+     *
+     * @return
+     */
+
     @Override
     public List<CrowdTestProjectVO> findIndexProject() {
         List<CrowdTestProjectVO> authingList = new ArrayList<>();
@@ -101,13 +107,20 @@ public class CrowdProjectServiceImpl implements CrowdProjectService {
         return authingList;
     }
 
+
+    /**
+     * 更多热门项目
+     *
+     * @return
+     */
+
     @Override
     public List<CrowdTestProjectVO> findAllMoreHotProjects() {
         return viewMediator.hotCrowdTestProjects();
     }
 
     @Override
-    public List<CrowdProjectVO> findAllMoreHotProjectList(String keyword){
+    public List<CrowdProjectVO> findAllMoreHotProjectList(String keyword) {
         List<CrowdProjectVO> crowdProjectVOS = projectDao.findAllHotProject().stream().map(crowdTestProjectPO -> {
             CrowdTestProject crowdTestProject = new CrowdTestProject();
             BeanUtils.copyProperties(crowdTestProjectPO, crowdTestProject);
@@ -116,8 +129,8 @@ public class CrowdProjectServiceImpl implements CrowdProjectService {
             crowdTestProject.setApplicationType(applicationName);
             return new CrowdProjectVO(crowdTestProject);
         }).collect(Collectors.toList());
-        if(keyword != null && keyword != ""){
-            System.out.println("keyword  " +  keyword);
+        if (keyword != null && keyword != "") {
+            System.out.println("keyword  " + keyword);
             crowdProjectVOS = crowdProjectVOS.stream().filter(crowdProjectVO -> crowdProjectVO.getName().contains(keyword)).collect(Collectors.toList());
         }
         return crowdProjectVOS;
@@ -125,7 +138,7 @@ public class CrowdProjectServiceImpl implements CrowdProjectService {
 
     @Override
     public List<CrowdTestProjectVO> findByNameLike(String name) {
-        if (name == null || name.trim().equals("")){
+        if (name == null || name.trim().equals("")) {
             System.out.println("进来进来");
             return viewMediator.AllByPage();
         }
@@ -164,9 +177,9 @@ public class CrowdProjectServiceImpl implements CrowdProjectService {
     public ProjectDetailsDTO createCrowdProject(CrowdTestProjectCommand command, long userId) {
         // 获取用户所有角色
         List<UserToRolePO> userToRole = userToRoleDao.findByUserId(userId);
-        if(userToRole.stream().anyMatch(userToRolePO -> userToRolePO.getRoleId().equals(RoleType.PARTY_USER.getId()) ||
+        if (userToRole.stream().anyMatch(userToRolePO -> userToRolePO.getRoleId().equals(RoleType.PARTY_USER.getId()) ||
                 userToRolePO.getRoleId().equals(RoleType.PARTY_AGENCY.getId()) || userToRolePO.getRoleId().equals(RoleType.AGENCY.getId()) ||
-                userToRolePO.getRoleId().equals(RoleType.REGIONAL_MANAGER.getId()) || userToRolePO.getRoleId().equals(RoleType.SYSTEM_ADMIN.getId()))){
+                userToRolePO.getRoleId().equals(RoleType.REGIONAL_MANAGER.getId()) || userToRolePO.getRoleId().equals(RoleType.SYSTEM_ADMIN.getId()))) {
             CrowdTestProject project = command.toCrowdProject();
             project.setStatus(CrowdTestProjectStatus.HAS_RELEASED);
             log.info("\n" + project.toString() + "\n");
@@ -180,7 +193,7 @@ public class CrowdProjectServiceImpl implements CrowdProjectService {
             projectDetailsDTO.setProjectDetails(new CrowdProjectVO(project));
             themeSchedulerService.createNewThemeScheduler(project);
             return projectDetailsDTO;
-        }else{
+        } else {
             throw new BaseException("用户权限不足无法创建项目,需要认证为发包用户或者发包机构!");
         }
     }

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

@@ -2,7 +2,6 @@ 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;
@@ -20,7 +19,6 @@ 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;
@@ -38,12 +36,17 @@ public class CrowdTestSquareServiceImpl implements CrowdTestSquareService {
     @Autowired
     private CrowdTaskService crowdTaskService;
 
+
+    /**
+     * 任务和项目的模糊查询
+     * @param searchConditionVO
+     * @return
+     */
     @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();
-        List projectAndTaskDTOList = new ArrayList<>();
         if (searchConditionVO.getColumnFilters().get(0).getType().equals("project")) {
             List<CrowdTestProjectVO> list = crowdProjectService.findByNameLike(keyword);
             Page<CrowdTestProjectVO> projectVOPage = DataUtils.listToPage(list, pageable);

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

@@ -10,7 +10,6 @@ import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.web.multipart.MultipartFile;
-
 import java.awt.*;
 
 /**
@@ -30,8 +29,7 @@ public class OSSUploadServiceImpl implements UploadService {
 
     @Override
     public String uploadImage(MultipartFile file, Long userId) {
-        String fileName = UploadType.IMAGE+file.getOriginalFilename().substring(0,file.getOriginalFilename().lastIndexOf("."))+"_"
-                +userId+"_"
+        String fileName = UploadType.IMAGE+userId+"_"
                 +System.currentTimeMillis()+""
                 +file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf("."), file.getOriginalFilename().length());
         return doUpload(fileName, file);

部分文件因为文件数量过多而无法显示