Browse Source

Merge branch 'feature-V1.0' into 'Dev'

Feature v1.0

See merge request crowd-2019/crowd-test-service-backend!57
郭超 5 years ago
parent
commit
8ad5a74fae

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

@@ -1,5 +1,6 @@
 package com.mooctest.crowd.domain.dao;
 
+import com.mooctest.crowd.domain.domainobject.CrowdTestProject;
 import com.mooctest.crowd.domain.model.CrowdTestProjectPO;
 import com.mooctest.crowd.domain.model.RankInfo;
 import org.springframework.data.domain.Pageable;
@@ -19,6 +20,7 @@ public interface CrowdTestProjectDao extends CrudRepository<CrowdTestProjectPO,
 
 //    @Override
 //    Optional<CrowdTestProjectPO> findById(Long id);
+    List<CrowdTestProjectPO> findAll();
 
     CrowdTestProjectPO findByIdAndIsDeleted(Long id, int isDeleted);
 
@@ -30,9 +32,9 @@ public interface CrowdTestProjectDao extends CrudRepository<CrowdTestProjectPO,
 
     List<CrowdTestProjectPO> findByRegionalManagerIdAndIsDeleted(Long regionalManagerId, int isDeleted);
 
-    List<CrowdTestProjectPO> findAllByStatusLessThanAndProjectDistributionTypeId(Integer status, Long distribution);
+    List<CrowdTestProjectPO> findAllByStatusLessThanAndProjectDistributionTypeIdAndIsDeletedAndUserIdIsNot(Integer status, Long distribution, int isDeleted, Long userId);
 
-    List<CrowdTestProjectPO> findByStatusLessThanAndProjectDistributionTypeId(Integer status, Long distributionType);
+    List<CrowdTestProjectPO> findByStatusLessThanAndProjectDistributionTypeIdAndIsDeletedAndUserIdIsNot(Integer status, Long distributionType, int isDeleted, Long userId);
 
     @Query(value = "SELECT new com.mooctest.crowd.domain.model.RankInfo(SUM(p.quotedPrice), p.userId) FROM CrowdTestProjectPO p where p.status>1 GROUP BY p.userId ORDER BY SUM(p.quotedPrice) DESC")
     List<RankInfo> findTotalPriceOfUser(Pageable pageable);

+ 6 - 1
core/src/main/java/com/mooctest/crowd/domain/repository/CrowdTestProjectRepo.java

@@ -39,6 +39,11 @@ public class CrowdTestProjectRepo implements ICrowdTestProjectRepo {
     private UserDao userDao;
 
     @Override
+    public List<CrowdTestProjectPO> findAll(){
+        return crowdTestProjectDao.findAll();
+    }
+
+    @Override
     public CrowdTestProject getByID(Long crowdTestProjectId) throws CrowdTestProjectNotExistException {
 
         CrowdTestProjectPO crowdTestProjectPO = crowdTestProjectDao.findByIdAndIsDeleted(crowdTestProjectId, DeletedStatus.isNotDeleted);
@@ -75,7 +80,7 @@ public class CrowdTestProjectRepo implements ICrowdTestProjectRepo {
 
 
     @Override
-    public List<CrowdTestProject> getAllCrowdTestProject() {
+    public List<CrowdTestProject> getAllCrowdTestProject(){
         List<CrowdTestProjectPO> crowdTestProjectPOList = crowdTestProjectDao.findAllByIsDeleted(DeletedStatus.isNotDeleted);
         return getCrowdTestProjects(crowdTestProjectPOList);
     }

+ 3 - 0
core/src/main/java/com/mooctest/crowd/domain/repository/ICrowdTestProjectRepo.java

@@ -2,6 +2,7 @@ package com.mooctest.crowd.domain.repository;
 
 import com.mooctest.crowd.domain.domainobject.CrowdTestProject;
 import com.mooctest.crowd.domain.exception.CrowdTestProjectNotExistException;
+import com.mooctest.crowd.domain.model.CrowdTestProjectPO;
 
 import java.util.List;
 
@@ -10,6 +11,8 @@ import java.util.List;
  * @date 2019/7/6 19:10
  */
 public interface ICrowdTestProjectRepo {
+      List<CrowdTestProjectPO> findAll();
+
     CrowdTestProject getByID(Long id) throws CrowdTestProjectNotExistException;
 
     CrowdTestProject getByProjectCode(String crowdTestProjectCode);

+ 12 - 6
site/src/main/java/com/mooctest/crowd/site/controller/CrowTestSquareController.java

@@ -1,9 +1,13 @@
 package com.mooctest.crowd.site.controller;
 
 import com.mooctest.crowd.domain.domainobject.CrowdTestProject;
+import com.mooctest.crowd.domain.domainobject.CrowdTestTask;
 import com.mooctest.crowd.domain.model.CrowdTestProjectPO;
+import com.mooctest.crowd.domain.model.CrowdTestTaskPO;
 import com.mooctest.crowd.site.data.dto.CrowdTestSquareIndexDTO;
+import com.mooctest.crowd.site.data.dto.TaskSquareDTO;
 import com.mooctest.crowd.site.service.CrowdProjectService;
+import com.mooctest.crowd.site.service.CrowdTaskService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -22,22 +26,24 @@ import java.util.List;
 public class CrowTestSquareController {
     @Autowired
     private CrowdProjectService crowdProjectService;
+    @Autowired
+    private CrowdTaskService  crowdTaskService;
 
 
     /**
-     * 获取众测广场首页所有的数据 包装到CrowdTestSquareIndexDTO里面
+     * 获取众测广场首页所有的数据包装到CrowdTestSquareIndexDTO里面
      *
      * @return
      */
 
     @GetMapping("/list")
-    public CrowdTestSquareIndexDTO getAll() {
+    public CrowdTestSquareIndexDTO getAll(){
         CrowdTestSquareIndexDTO crowdTestSquareIndexDTO = new CrowdTestSquareIndexDTO();
-        List<CrowdTestProject> list = crowdProjectService.getAll();
-        crowdTestSquareIndexDTO.setCrowdTestProjectPOS(list);
+        List<CrowdTestProjectPO> list = crowdProjectService.findAll();
+        List<CrowdTestTaskPO> crowdTestTasks= crowdTaskService.getAll();
+        crowdTestSquareIndexDTO.setCowdTestProjects(list);
+        crowdTestSquareIndexDTO.setCrowdTestTaskPOS(crowdTestTasks);
         return crowdTestSquareIndexDTO;
-
-
     }
 
 

+ 11 - 2
site/src/main/java/com/mooctest/crowd/site/data/dto/CrowdTestSquareIndexDTO.java

@@ -18,8 +18,17 @@ import java.util.List;
 @Data
 public class CrowdTestSquareIndexDTO {
 
-    private List<CrowdTestProject> crowdTestProjectPOS;
+    //众测项目
+    private List<CrowdTestProjectPO> cowdTestProjects;
+
+    //众测任务
+    private List<CrowdTestTaskPO>  crowdTestTaskPOS;
+
+
+
+
+
+
 
 
-    private  List<CrowdTestTask> crowdTestTaskPOS;
 }

+ 7 - 4
site/src/main/java/com/mooctest/crowd/site/mediator/impl/WebMediatorImpl.java

@@ -108,9 +108,10 @@ public class WebMediatorImpl implements ViewMediator {
             return null;
         }).filter(Objects::nonNull).collect(Collectors.toList());
         //获取机构排名
+        String agencyName = agencyDao.findById(Long.parseLong(agencyId)).get().getEvaluationAgencyName();
         List<EvolutionAgencyVO> agencyRanks = taskToUserDao.findTotalPriceOfAgency(pageable).stream().map(rankInfo -> {
             EvaluationAgencyPO agency = agencyDao.findByUserId(rankInfo.getEntityId());
-            if (agency!=null) {
+            if (agency!=null && !agency.getEvaluationAgencyName().equals(agencyName)) {
                 EvolutionAgencyVO agencyVO = new EvolutionAgencyVO();
                 agencyVO.setName(agency.getEvaluationAgencyName());
                 agencyVO.setLogo(agency.getAgencyPhoto());
@@ -189,9 +190,9 @@ public class WebMediatorImpl implements ViewMediator {
             //定向
             List<CrowdTestProjectPO> acceptableProject = crowdTestProjectPOList.stream().filter(crowdTestProjectPO -> crowdTestProjectPO.getStatus()==CrowdTestProjectStatus.HAS_RELEASED).collect(Collectors.toList());
             //广场的
-            acceptableProject.addAll(projectDao.findAllByStatusLessThanAndProjectDistributionTypeId(CrowdTestProjectStatus.HAS_RECEIVED, 2L));
+            acceptableProject.addAll(projectDao.findAllByStatusLessThanAndProjectDistributionTypeIdAndIsDeletedAndUserIdIsNot(CrowdTestProjectStatus.HAS_RECEIVED, 2L,DeletedStatus.isNotDeleted, userId));
             //区域的
-            acceptableProject.addAll(projectDao.findByStatusLessThanAndProjectDistributionTypeId(CrowdTestProjectStatus.HAS_RECEIVED, 1L)
+            acceptableProject.addAll(projectDao.findByStatusLessThanAndProjectDistributionTypeIdAndIsDeletedAndUserIdIsNot(CrowdTestProjectStatus.HAS_RECEIVED, 1L,DeletedStatus.isNotDeleted, userId)
                     .stream().filter(crowdTestProjectPO -> user.getRegionalManager().getRegionalList().stream()
                             .anyMatch(reg -> (reg.getProvince().equals("*") || reg.getProvince().equals(crowdTestProjectPO.getDistributionProvince())) && (reg.getCity().equals("*")||reg.getCity().equals(crowdTestProjectPO.getDistributionCity())))).collect(Collectors.toList()));
             myCrowdDTO.setAcceptableProjects(acceptableProject.stream().sorted(Comparator.comparing(CrowdTestProjectPO::getCreateTime).thenComparing(CrowdTestProjectPO::getStatus).reversed())
@@ -535,12 +536,14 @@ public class WebMediatorImpl implements ViewMediator {
         if (project.getUserId().equals(user.getId())||user.getRoleList().stream().anyMatch(role -> role.getName().equals("SystemAdministrator"))){
             if (project.getStatus() < CrowdTestProjectStatus.HAS_RECEIVED){
                 operationControl.setUpdate(true);
+                operationControl.setReceive(false);
             } else if (project.getStatus() == CrowdTestProjectStatus.HAS_COMMITED){
                 operationControl.setConfirmFinish(true);
             }
         }
         //区域管理员视角
-        if (user.getRoleList().stream().anyMatch(role -> role.getName().equals("RegionalManager"))){
+        else if (user.getRoleList().stream().anyMatch(role -> role.getName().equals("RegionalManager"))){
+            operationControl.setUpdate(false);
             if ((project.getProjectDistributionTypeId() == 0 && project.getRegionalManagerId().equals(user.getId()))
                     || (project.getProjectDistributionTypeId()>0 && project.getStatus()>=CrowdTestProjectStatus.HAS_RECEIVED && project.getRegionalManagerId().equals(user.getId()))){
                 if (project.getStatus() == CrowdTestProjectStatus.HAS_RELEASED){

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

@@ -16,7 +16,7 @@ import java.util.List;
  * @date 2019-07-29 10:49
  */
 public interface CrowdProjectService {
-    List<CrowdTestProject> getAll();
+    List<CrowdTestProjectPO> findAll();
     ProjectDetailsDTO getProjectDetails(String projectCode, Long userId);
 
     ProjectDetailsDTO createCrowdProject(CrowdTestProjectCommand command);

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

@@ -1,12 +1,11 @@
 package com.mooctest.crowd.site.service;
 
+import com.mooctest.crowd.domain.domainobject.CrowdTestTask;
+import com.mooctest.crowd.domain.model.CrowdTestTaskPO;
 import com.mooctest.crowd.site.command.CrowdTestTaskCommand;
-import com.mooctest.crowd.site.data.TaskOperationControl;
 import com.mooctest.crowd.site.data.dto.TaskDetailsDTO;
 import com.mooctest.crowd.site.data.dto.TaskSquareDTO;
-import com.mooctest.crowd.site.data.vo.EvolutionAgencyVO;
 
-import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -15,6 +14,8 @@ import java.util.List;
  * @date 2019-07-29 18:47
  */
 public interface CrowdTaskService {
+    List<CrowdTestTaskPO> getAll();
+
     TaskDetailsDTO getTaskDetails(String projectCode, String taskCode, Long userId);
 
     TaskDetailsDTO createTask(String projectCode, CrowdTestTaskCommand command, Long userId);

+ 4 - 2
site/src/main/java/com/mooctest/crowd/site/service/impl/CrowdProjectServiceImpl.java

@@ -58,9 +58,11 @@ public class CrowdProjectServiceImpl implements CrowdProjectService {
     private OperationMediator operationMediator;
 
 
+
+
     @Override
-    public List<CrowdTestProject> getAll() {
-          return projectRepo.getAllCrowdTestProject();
+    public List<CrowdTestProjectPO> findAll() {
+        return  projectRepo.findAll();
     }
 
     @Override

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

@@ -6,6 +6,7 @@ import com.mooctest.crowd.domain.domainobject.*;
 import com.mooctest.crowd.domain.exception.BaseException;
 import com.mooctest.crowd.domain.exception.CrowdTestTaskNotExistException;
 import com.mooctest.crowd.domain.exception.UnauthorizedException;
+import com.mooctest.crowd.domain.model.CrowdTestTaskPO;
 import com.mooctest.crowd.domain.repository.CrowdTestProjectRepo;
 import com.mooctest.crowd.domain.repository.UserRepo;
 import com.mooctest.crowd.site.command.CrowdTestTaskCommand;
@@ -20,7 +21,7 @@ import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import java.sql.Timestamp;
+import java.util.List;
 import java.util.Optional;
 
 /**
@@ -50,6 +51,12 @@ public class CrowdTaskServiceImpl implements CrowdTaskService {
 //    @Autowired
 //    GenerateFlowCodeUtil codeUtil;
 
+
+    @Override
+    public List<CrowdTestTaskPO> getAll() {
+        return  taskDao.findAllByIsDeleted(0);
+    }
+
     @Override
     public TaskDetailsDTO getTaskDetails(String projectCode, String taskCode, Long userId) {
         return viewMediator.renderTaskDetails(projectCode, taskCode, userId);