Przeglądaj źródła

优化认证相关的接口

郭超 4 lat temu
rodzic
commit
311f6fba44
19 zmienionych plików z 694 dodań i 1191 usunięć
  1. 0 570
      core/src/main/java/com/mooctest/crowd/domain/controller/CrowdTestProjectController.java
  2. 0 0
      core/src/main/java/com/mooctest/crowd/domain/controller/TestUserController.java
  3. 3 3
      core/src/main/java/com/mooctest/crowd/domain/domainobject/CrowdTestProject.java
  4. 2 2
      core/src/main/java/com/mooctest/crowd/domain/domainobject/CrowdTestTask.java
  5. 53 56
      core/src/main/java/com/mooctest/crowd/domain/domainobject/User.java
  6. 12 2
      core/src/main/java/com/mooctest/crowd/domain/repository/IUserRepo.java
  7. 510 427
      core/src/main/java/com/mooctest/crowd/domain/repository/UserRepo.java
  8. 1 1
      site/src/main/java/com/mooctest/crowd/site/controller/AgencyController.java
  9. 78 76
      site/src/main/java/com/mooctest/crowd/site/controller/UserController.java
  10. 0 3
      site/src/main/java/com/mooctest/crowd/site/data/vo/StatusVO.java
  11. 0 2
      site/src/main/java/com/mooctest/crowd/site/data/vo/UserVO.java
  12. 10 5
      site/src/main/java/com/mooctest/crowd/site/mediator/impl/WebMediatorImpl.java
  13. 1 3
      site/src/main/java/com/mooctest/crowd/site/service/AgencyService.java
  14. 0 0
      site/src/main/java/com/mooctest/crowd/site/service/UserService.java
  15. 14 31
      site/src/main/java/com/mooctest/crowd/site/service/impl/AgencyServiceImpl.java
  16. 2 2
      site/src/main/java/com/mooctest/crowd/site/service/impl/CommonServiceImpl.java
  17. 5 5
      site/src/main/java/com/mooctest/crowd/site/service/impl/CrowdProjectServiceImpl.java
  18. 3 3
      site/src/main/java/com/mooctest/crowd/site/service/impl/CrowdTaskServiceImpl.java
  19. 0 0
      site/src/main/java/com/mooctest/crowd/site/service/impl/UserServiceImpl.java

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

@@ -1,570 +0,0 @@
-package com.mooctest.crowd.domain.controller;
-
-import com.mooctest.crowd.domain.repository.CrowdTestProjectRepo;
-import com.mooctest.crowd.domain.repository.UserRepo;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-/**
- * @author guochao
- * @date 2019-07-27 15:46
- */
-
-@RestController
-@RequestMapping("/project/")
-public class CrowdTestProjectController {
-
-
-
-//    @RequestMapping(value = "findById/{crowdTestProjectId}", method = RequestMethod.GET)
-//    public String getCrowdTestProjectById(@PathVariable("crowdTestProjectId") Long crowdTestProjectId){
-//        CrowdTestProject crowdTestProject = crowdTestProjectRepo.getByID(crowdTestProjectId);
-//        return crowdTestProject.toString();
-//    }
-//
-//    @RequestMapping(value = "findByProjectCode/{crowdTestProjectCode}", method = RequestMethod.GET)
-//    public String getCrowdTestProjectByProjectCode(@PathVariable("crowdTestProjectCode") String crowdTestProjectCode){
-//        CrowdTestProject crowdTestProject = crowdTestProjectRepo.getByProjectCode(crowdTestProjectCode);
-//        return crowdTestProject.toString();
-//    }
-//
-//    @RequestMapping(value = "findByUserId/{userId}", method = RequestMethod.GET)
-//    public String getAllCrowdTestProjectByUserId(@PathVariable("userId") Long userId){
-//        List<CrowdTestProject> allCrowdTestProject = crowdTestProjectRepo.getCrowdListByUserId(userId);
-//        return allCrowdTestProject.toString();
-//    }
-//
-//    @RequestMapping(value = "findByRMId/{regionalManagerId}", method = RequestMethod.GET)
-//    public String getAllCrowdTestProjectByRMId(@PathVariable("regionalManagerId") Long regionalManagerId){
-//        List<CrowdTestProject> allCrowdTestProject = crowdTestProjectRepo.getCrowdListByRegionalManagerId(regionalManagerId);
-//        return allCrowdTestProject.toString();
-//    }
-//
-//    @RequestMapping(value = "findAll", method = RequestMethod.GET)
-//    public String getAllCrowdTestProject(){
-//        List<CrowdTestProject> allCrowdTestProject = crowdTestProjectRepo.getAllCrowdTestProject();
-//        return allCrowdTestProject.toString();
-//    }
-//
-//    /**
-//     * 删除项目(普通用户)
-//     * @param crowdTestProjectCode
-//     * @return
-//     */
-//    @RequestMapping(value = "deleteProject/{userId}/{crowdTestProjectCode}", method = RequestMethod.GET)
-//    public String deleteCrowdTestProjectByProjectCode(@PathVariable("crowdTestProjectCode") String crowdTestProjectCode,@PathVariable("userId") Long userId) {
-//
-//        User user = userRepo.getByID(userId);
-//        CrowdTestProject crowdTestProject = crowdTestProjectRepo.getByProjectCode(crowdTestProjectCode);
-//        CrowdTestProject crowdTestProjectResult = crowdTestProject.removeCrowdTestProject(user);
-//        crowdTestProjectRepo.saveCrowdTestProject(crowdTestProjectResult);
-//        return "success";
-//    }
-//
-//    /**
-//     * 删除任务(区域管理员)
-//     * @param crowdTestProjectCode
-//     * @param crowdTestTaskCode
-//     * @return
-//     */
-//    @RequestMapping(value = "deleteTask/{userId}/{crowdTestProjectCode}/{crowdTestTaskCode}", method = RequestMethod.GET)
-//    public String deleteCrowdTestTask(@PathVariable("crowdTestProjectCode") String crowdTestProjectCode,
-//                                      @PathVariable("crowdTestTaskCode") String crowdTestTaskCode,
-//                                      @PathVariable("userId") Long userId) {
-//        User user = userRepo.getByID(userId);
-//        CrowdTestProject crowdTestProject = crowdTestProjectRepo.getByProjectCode(crowdTestProjectCode);
-//        CrowdTestProject crowdTestProjectResult = crowdTestProject.removeCrowdTestTask(crowdTestTaskCode,user);
-//        crowdTestProjectRepo.saveCrowdTestProject(crowdTestProjectResult);
-//        return crowdTestProjectRepo.getByProjectCode(crowdTestProjectResult.getCode()).toString();
-//    }
-//
-//    /**
-//     * 删除任务报告(测评机构)
-//     * @param crowdTestProjectCode
-//     * @param crowdTestTaskCode
-//     * @param crowdTestReportCode
-//     * @return
-//     */
-//    @RequestMapping(value = "deleteReport/{userId}/{crowdTestProjectCode}/{crowdTestTaskCode}/{crowdTestReportCode}", method = RequestMethod.GET)
-//    public String deleteCrowdTestReport(@PathVariable("crowdTestProjectCode") String crowdTestProjectCode,
-//                                        @PathVariable("crowdTestTaskCode") String crowdTestTaskCode,
-//                                        @PathVariable("crowdTestReportCode") String crowdTestReportCode,
-//                                        @PathVariable("userId") Long userId) {
-//        User user = userRepo.getByID(userId);
-//        CrowdTestProject crowdTestProject = crowdTestProjectRepo.getByProjectCode(crowdTestProjectCode);
-//        CrowdTestProject crowdTestProjectResult = crowdTestProject.removeCrowdTestReport(crowdTestTaskCode,crowdTestReportCode,user);
-//        crowdTestProjectRepo.saveCrowdTestProject(crowdTestProjectResult);
-//        return crowdTestProjectRepo.getByProjectCode(crowdTestProjectResult.getCode()).toString();
-//    }
-//
-//    /**
-//     * 删除项目报告(区域管理员)
-//     * @param crowdTestProjectCode
-//     * @return
-//     */
-//    @RequestMapping(value = "deleteProjectReport/{userId}/{crowdTestProjectCode}/{crowdTestProjectReportCode}", method = RequestMethod.GET)
-//    public String deleteCrowdTestReport(@PathVariable("userId") Long userId,
-//                                        @PathVariable("crowdTestProjectCode") String crowdTestProjectCode,
-//                                        @PathVariable("crowdTestProjectReportCode") String crowdTestProjectReportCode) {
-//        User user = userRepo.getByID(userId);
-//        CrowdTestProject crowdTestProject = crowdTestProjectRepo.getByProjectCode(crowdTestProjectCode);
-//        CrowdTestProject crowdTestProjectResult = crowdTestProject.removeCrowdTestProjectReport(crowdTestProjectReportCode,user);
-//        crowdTestProjectRepo.saveCrowdTestProject(crowdTestProjectResult);
-//        return crowdTestProjectRepo.getByProjectCode(crowdTestProjectResult.getCode()).toString();
-//    }
-//
-//
-//    @RequestMapping(value = "deleteListByProjectCode/{crowdTestProjectCode1}/{crowdTestProjectCode2}", method = RequestMethod.GET)
-//    public void deleteCrowdTestProjectByProjectCode(@PathVariable("crowdTestProjectCode1") String crowdTestProjectCode1,
-//                                                    @PathVariable("crowdTestProjectCode2") String crowdTestProjectCode2) {
-//        CrowdTestProject crowdTestProject1 = crowdTestProjectRepo.getByProjectCode(crowdTestProjectCode1);
-//        CrowdTestProject crowdTestProject2 = crowdTestProjectRepo.getByProjectCode(crowdTestProjectCode2);
-//        List<CrowdTestProject> crowdTestProjectList = new ArrayList<>();
-//        crowdTestProjectList.add(crowdTestProject1);
-//        crowdTestProjectList.add(crowdTestProject2);
-//        crowdTestProjectRepo.removeCrowdTestProjectList(crowdTestProjectList);
-//    }
-//
-//
-//    /**
-//     * 对项目聚合根的操作
-//     */
-//
-//    @RequestMapping(value = "modifyProject/{crowdTestProjectCode}/{linkMan}", method = RequestMethod.GET)
-//    public void modifyCrowdTestProject(@PathVariable("crowdTestProjectCode") String crowdTestProjectCode,@PathVariable("linkMan") String linkMan){
-//        CrowdTestProject crowdTestProjectModify;
-//
-//        CrowdTestProject crowdTestProject = crowdTestProjectRepo.getByProjectCode(crowdTestProjectCode);
-//        Gson gson = new Gson();
-//        crowdTestProjectModify = gson.fromJson(gson.toJson(crowdTestProject), CrowdTestProject.class);
-//        crowdTestProjectModify.setLinkMan(linkMan);
-//        CrowdTestProject updateCrowdTestProject = crowdTestProject.updateCrowdTestProject(crowdTestProjectModify);
-//        crowdTestProjectRepo.saveCrowdTestProject(updateCrowdTestProject);
-//    }
-//
-//
-//    @RequestMapping(value = "modifyTask/{crowdTestProjectCode}/{crowdTestTaskCode}/{taskName}", method = RequestMethod.GET)
-//    public void modifyCrowdTestTask(@PathVariable("crowdTestProjectCode") String crowdTestProjectCode, @PathVariable("crowdTestTaskCode") String crowdTestTaskCode,
-//                                      @PathVariable("taskName") String taskName){
-//        CrowdTestTask crowdTestTaskModify = new CrowdTestTask();
-//        CrowdTestProject crowdTestProject = crowdTestProjectRepo.getByProjectCode(crowdTestProjectCode);
-//        List<CrowdTestTask> crowdTestTaskList = crowdTestProject.getCrowdTestTaskList();
-//        for(CrowdTestTask crowdTestTaskSelect : crowdTestTaskList){
-//            if(crowdTestTaskCode.equals(crowdTestTaskSelect.getCode())){
-//                // 使用Gson序列化进行深拷贝
-//                Gson gson = new Gson();
-//                crowdTestTaskModify = gson.fromJson(gson.toJson(crowdTestTaskSelect), CrowdTestTask.class);
-//            }
-//        }
-//        crowdTestTaskModify.setName(taskName);
-//        CrowdTestProject updateCrowdTestProject = crowdTestProject.updateCrowdTestTask(crowdTestTaskCode, crowdTestTaskModify);
-//        crowdTestProjectRepo.saveCrowdTestProject(updateCrowdTestProject);
-//    }
-//
-////    @RequestMapping(value = "modifyReport/{crowdTestProjectCode}/{crowdTestTaskCode}/{crowdTestReportCode}/{reportName}", method = RequestMethod.GET)
-////    public void modifyCrowdTestReport(@PathVariable("crowdTestProjectCode") String crowdTestProjectCode, @PathVariable("crowdTestTaskCode") String crowdTestTaskCode,
-////                                      @PathVariable("crowdTestReportCode") String crowdTestReportCode, @PathVariable("reportName") String reportName){
-////        CrowdTestReport crowdTestReportModify = new CrowdTestReport();
-////        CrowdTestProject crowdTestProject = crowdTestProjectRepo.getByProjectCode(crowdTestProjectCode);
-////        for(CrowdTestTask crowdTestTask : crowdTestProject.getCrowdTestTaskList()){
-////            if(crowdTestTaskCode.equals(crowdTestTask.getCode())){
-////                for(CrowdTestReport crowdTestReport : crowdTestTask.getCrowdTestReportList()){
-////                    if(crowdTestReportCode.equals(crowdTestReport.getCode())){
-////                        Gson gson = new Gson();
-////                        crowdTestReportModify = gson.fromJson(gson.toJson(crowdTestReport), CrowdTestReport.class);
-////                    }
-////                }
-////            }
-////        }
-////        crowdTestReportModify.setName(reportName);
-////        CrowdTestProject updateCrowdTestProject = crowdTestProject.updateCrowdTestReport(crowdTestTaskCode, crowdTestReportCode, crowdTestReportModify);
-////        crowdTestProjectRepo.saveCrowdTestProject(updateCrowdTestProject);
-////    }
-//
-//    /*普通用户DO*/
-//    /**
-//     * 新建项目(普通用户)
-//     * @param userId
-//     * @param projectName
-//     * @return
-//     */
-//    @RequestMapping(value = "createProject/{userId}/{projectName}", method = RequestMethod.GET)
-//    public String createCrowdTestProject(@PathVariable("userId") Long userId,@PathVariable("projectName") String projectName){
-//        //数据准备
-//        CrowdTestProject crowdTestProject = new CrowdTestProject();
-//        crowdTestProject.setCode("PRO"+System.currentTimeMillis());
-//        crowdTestProject.setName(projectName);
-//        crowdTestProject.setProjectDistributionTypeId(1L);
-//        crowdTestProject.setLinkMan("郭超");
-//        crowdTestProject.setApplicationType("IOS");
-//        crowdTestProject.setType("安卓测试");
-//        crowdTestProject.setDescription("测试内容");
-//        crowdTestProject.setLinkManMobile("13657094936");
-//        crowdTestProject.setQuotedPrice(200.00);
-//        crowdTestProject.setDeadTime(new Timestamp(getNextDay(new Date(System.currentTimeMillis()),1).getTime()));
-//
-//        User user = userRepo.getByID(userId);
-//        crowdTestProject.setUserId(user.getId());
-//        crowdTestProject.setDistributionProvince(user.getProvince());
-//        crowdTestProject.setDistributionCity(user.getCity());
-//
-//        CrowdTestProject crowdTestProjectResult = crowdTestProject.createCrowdTestProject(user);
-//        crowdTestProjectRepo.saveCrowdTestProject(crowdTestProjectResult);
-//        return crowdTestProjectRepo.getByProjectCode(crowdTestProjectResult.getCode()).toString();
-//    }
-//
-//    /**
-//     * 发布项目(普通用户)
-//     * @param userId
-//     * @param crowdTestProjectCode
-//     * @return
-//     */
-//    @RequestMapping(value = "releaseProject/{userId}/{crowdTestProjectCode}", method = RequestMethod.GET)
-//    public String releaseCrowdTestProject(@PathVariable("userId") Long userId,@PathVariable("crowdTestProjectCode") String crowdTestProjectCode){
-//        CrowdTestProject crowdTestProject = crowdTestProjectRepo.getByProjectCode(crowdTestProjectCode);
-//        User user = userRepo.getByID(userId);
-//        CrowdTestProject  crowdTestProjectResult = crowdTestProject.releaseCrowdTestProject(user);
-//        crowdTestProjectRepo.saveCrowdTestProject(crowdTestProjectResult);
-//        return crowdTestProjectRepo.getByProjectCode(crowdTestProjectResult.getCode()).toString();
-//    }
-//
-//
-//    /**
-//     * 对区域管理员的操作
-//     */
-//
-//
-//    /**
-//     * 接收项目(区域管理员)
-//     * @param userForRegionalManagerId
-//     * @param crowdTestProjectCode
-//     * @return
-//     */
-//    @RequestMapping(value = "receiveProject/{userForRegionalManagerId}/{crowdTestProjectCode}", method = RequestMethod.GET)
-//    public String receiveTaskByProjectCode(@PathVariable("userForRegionalManagerId") Long userForRegionalManagerId, @PathVariable("crowdTestProjectCode") String crowdTestProjectCode) {
-//        CrowdTestProject crowdTestProject = crowdTestProjectRepo.getByProjectCode(crowdTestProjectCode);
-//
-//        User userForRegionalManager = userRepo.getByID(userForRegionalManagerId);
-////        RegionalManager regionalManager = userForRegionalManager.getRegionalManager();
-////        CrowdTestProject crowdTestProjectResult = regionalManager.receiveProject(crowdTestProject);
-//
-//        CrowdTestProject crowdTestProjectResult = crowdTestProject.receiveProject(userForRegionalManager);
-//        crowdTestProjectResult.setRegionalManagerId(userForRegionalManagerId);
-//        crowdTestProjectRepo.saveCrowdTestProject(crowdTestProject);
-//        return crowdTestProjectResult.toString();
-//    }
-//
-//
-//    /**
-//     * 项目中新建任务(区域管理员拆分项目)
-//     * @param crowdTestProjectCode
-//     * @param taskName
-//     * @return
-//     */
-//    @RequestMapping(value = "createTask/{regionalManagerId}/{crowdTestProjectCode}/{taskName}", method = RequestMethod.GET)
-//    public String createCrowdTestTask(@PathVariable("regionalManagerId") Long regionalManagerId,@PathVariable("crowdTestProjectCode") String crowdTestProjectCode,@PathVariable("taskName") String taskName){
-//        //数据准备
-//        CrowdTestTask crowdTestTask = new CrowdTestTask();
-//        crowdTestTask.setCode(crowdTestProjectCode+"_TASK"+System.currentTimeMillis());
-//        crowdTestTask.setName(taskName);
-//        crowdTestTask.setCrowdTestProjectCode(crowdTestProjectCode);
-//        crowdTestTask.setType("接口测试");
-//        crowdTestTask.setDescription("测试任务");
-//        crowdTestTask.setDistributionType(0L);
-//        crowdTestTask.setQuotedPrice(200.00);
-//        crowdTestTask.setDeadTime(new Timestamp(getNextDay(new Date(System.currentTimeMillis()),1).getTime()));
-//        crowdTestTask.setCreateTime(new Timestamp(System.currentTimeMillis()));
-//
-//        //具体操作
-//        CrowdTestProject crowdTestProject = crowdTestProjectRepo.getByProjectCode(crowdTestProjectCode);
-//
-//        User userForRegionalManager = userRepo.getByID(regionalManagerId);
-////        RegionalManager regionalManager = userForRegionalManager.getRegionalManager();
-////        CrowdTestProject crowdTestProjectResult = regionalManager.createCrowdTestTask(crowdTestProject, crowdTestTask);
-//        CrowdTestProject crowdTestProjectResult = crowdTestProject.createCrowdTestTask(crowdTestTask, userForRegionalManager);
-//        crowdTestTask.setDistributionProvince(crowdTestProject.getDistributionProvince());
-//        crowdTestTask.setDistributionCity(crowdTestProject.getDistributionCity());
-//        crowdTestProjectRepo.saveCrowdTestProject(crowdTestProjectResult);
-//        return crowdTestProjectRepo.getByProjectCode(crowdTestProjectResult.getCode()).toString();
-//    }
-//
-//    /**
-//     * 发布任务(区域管理员)
-//     * @param crowdTestProjectCode
-//     * @return
-//     */
-//    @RequestMapping(value = "releaseTask/{regionalManagerId}/{crowdTestProjectCode}/{crowdTestTaskCode}", method = RequestMethod.GET)
-//    public String releaseCrowdTestTask(@PathVariable("regionalManagerId") Long regionalManagerId,@PathVariable("crowdTestProjectCode") String crowdTestProjectCode,
-//                                       @PathVariable("crowdTestTaskCode") String crowdTestTaskCode){
-//        CrowdTestProject crowdTestProject = crowdTestProjectRepo.getByProjectCode(crowdTestProjectCode);
-//        User user = userRepo.getByID(regionalManagerId);
-//        CrowdTestProject crowdTestProjectResult = crowdTestProject.releaseCrowdTestTask(crowdTestTaskCode, user);
-//        crowdTestProjectRepo.saveCrowdTestProject(crowdTestProjectResult);
-//        return crowdTestProjectRepo.getByProjectCode(crowdTestProjectResult.getCode()).toString();
-//    }
-//
-//    /**
-//     * 对测评机构的操作
-//     */
-//
-//    /**
-//     * 接收任务(测评机构)
-//     * @param userForEvaluationAgencyId
-//     * @param crowdTestProjectCode
-//     * @param crowdTestTaskCode
-//     * @return
-//     */
-//    @RequestMapping(value = "receiveTask/{userForEvaluationAgencyId}/{crowdTestProjectCode}/{crowdTestTaskCode}", method = RequestMethod.GET)
-//    public String receiveTaskByProjectCode(@PathVariable("userForEvaluationAgencyId") Long userForEvaluationAgencyId, @PathVariable("crowdTestProjectCode") String crowdTestProjectCode,
-//                                                    @PathVariable("crowdTestTaskCode") String crowdTestTaskCode) {
-//        CrowdTestProject crowdTestProject = crowdTestProjectRepo.getByProjectCode(crowdTestProjectCode);
-//
-//        User userForEvaluationAgency = userRepo.getByID(userForEvaluationAgencyId);
-////        CrowdTestProject crowdTestProjectResult = userForEvaluationAgency.receiveTask(crowdTestProject, crowdTestTaskCode);
-//
-//        CrowdTestProject crowdTestProjectResult = crowdTestProject.receiveTask(crowdTestTaskCode, userForEvaluationAgency);
-//
-//        crowdTestProjectRepo.saveCrowdTestProject(crowdTestProjectResult);
-//        return crowdTestProjectRepo.getByProjectCode(crowdTestProjectResult.getCode()).toString();
-//    }
-//
-//    /**
-//     * 项目的任务中新建报告(测评机构)
-//     * @param crowdTestProjectCode
-//     * @param reportName
-//     * @return
-//     */
-//    @RequestMapping(value = "createReport/{userForEvaluationAgencyId}/{crowdTestProjectCode}/{crowdTestTaskCode}/{reportName}", method = RequestMethod.GET)
-//    public String createCrowdTestReport(@PathVariable("crowdTestProjectCode") String crowdTestProjectCode,@PathVariable("userForEvaluationAgencyId") Long userForEvaluationAgencyId,
-//                                        @PathVariable("reportName") String reportName, @PathVariable("crowdTestTaskCode") String crowdTestTaskCode){
-//
-//
-//        //report数据准备
-//        CrowdTestReport crowdTestReport = new CrowdTestReport();
-//        crowdTestReport.setCode(crowdTestTaskCode+"_REP"+System.currentTimeMillis());
-//        crowdTestReport.setName(reportName);
-//        crowdTestReport.setCreateTime(new Timestamp(System.currentTimeMillis()));
-//
-//        CrowdTestProject crowdTestProject = crowdTestProjectRepo.getByProjectCode(crowdTestProjectCode);
-//        User userForEvaluationAgency = userRepo.getByID(userForEvaluationAgencyId);
-////        CrowdTestProject crowdTestProjectResult = userForEvaluationAgency.createCrowdTestReport(crowdTestProject, crowdTestTaskCode, crowdTestReport);
-//        CrowdTestProject crowdTestProjectResult = crowdTestProject.createCrowdTestReport(crowdTestTaskCode, crowdTestReport, userForEvaluationAgency);
-//
-//        crowdTestProjectRepo.saveCrowdTestProject(crowdTestProjectResult);
-//        return crowdTestProjectRepo.getByProjectCode(crowdTestProjectResult.getCode()).toString();
-//    }
-//
-//    /**
-//     * 提交任务(测评机构)
-//     * @param crowdTestProjectCode
-//     * @param userForEvaluationAgencyId
-//     * @param crowdTestTaskCode
-//     * @return
-//     */
-//    @RequestMapping(value = "commitTask/{userForEvaluationAgencyId}/{crowdTestProjectCode}/{crowdTestTaskCode}", method = RequestMethod.GET)
-//    public String commitCrowdTestReport(@PathVariable("crowdTestProjectCode") String crowdTestProjectCode,@PathVariable("userForEvaluationAgencyId") Long userForEvaluationAgencyId,
-//                                        @PathVariable("crowdTestTaskCode") String crowdTestTaskCode){
-//
-//        CrowdTestProject crowdTestProject = crowdTestProjectRepo.getByProjectCode(crowdTestProjectCode);
-//        User userForEvaluationAgency = userRepo.getByID(userForEvaluationAgencyId);
-////        CrowdTestProject crowdTestProjectResult = userForEvaluationAgency.commitCrowdTestTask(crowdTestProject, crowdTestTaskCode);
-//
-//        CrowdTestProject crowdTestProjectResult = crowdTestProject.commitCrowdTestTask(crowdTestTaskCode, userForEvaluationAgency);
-//
-//        crowdTestProjectRepo.saveCrowdTestProject(crowdTestProjectResult);
-//        return crowdTestProjectRepo.getByProjectCode(crowdTestProjectResult.getCode()).toString();
-//    }
-//
-//    /**
-//     * 区域管理员的操作
-//     */
-//
-//
-//    /**
-//     * 确认结束任务(区域管理员)
-//     * @param crowdTestProjectCode
-//     * @return
-//     */
-//    @RequestMapping(value = "finishTask/{regionalManagerId}/{crowdTestProjectCode}/{crowdTestTaskCode}", method = RequestMethod.GET)
-//    public String commitCrowdTestTask(@PathVariable("regionalManagerId") Long regionalManagerId,@PathVariable("crowdTestProjectCode") String crowdTestProjectCode,
-//                                      @PathVariable("crowdTestTaskCode") String crowdTestTaskCode){
-//        CrowdTestProject crowdTestProject = crowdTestProjectRepo.getByProjectCode(crowdTestProjectCode);
-//        User user = userRepo.getByID(regionalManagerId);
-//        CrowdTestProject crowdTestProjectResult = crowdTestProject.finishCrowdTestTask(crowdTestTaskCode,user);
-//        crowdTestProjectRepo.saveCrowdTestProject(crowdTestProjectResult);
-//        return crowdTestProjectRepo.getByProjectCode(crowdTestProjectResult.getCode()).toString();
-//    }
-//
-//    /**
-//     * 创建项目报告(区域管理员)
-//     * @param crowdTestProjectCode
-//     * @return
-//     */
-//    @RequestMapping(value = "createProjectReport/{regionalManagerId}/{crowdTestProjectCode}/{projectReportName}", method = RequestMethod.GET)
-//    public String createCrowdTestReport(@PathVariable("crowdTestProjectCode") String crowdTestProjectCode,
-//                                        @PathVariable("regionalManagerId") Long regionalManagerId,
-//                                        @PathVariable("projectReportName") String projectReportName){
-//
-//        CrowdTestProject crowdTestProject = crowdTestProjectRepo.getByProjectCode(crowdTestProjectCode);
-//
-//        //report数据准备
-//        CrowdTestReport crowdTestReport = new CrowdTestReport();
-//        crowdTestReport.setCode(crowdTestProjectCode+"_REP"+System.currentTimeMillis());
-//        crowdTestReport.setName(projectReportName);
-//        crowdTestReport.setDependencyCode(crowdTestProjectCode);
-//        crowdTestReport.setCreateTime(new Timestamp(System.currentTimeMillis()));
-//
-//        User userForRegionalManager = userRepo.getByID(regionalManagerId);
-////        RegionalManager regionalManager = userForRegionalManager.getRegionalManager();
-////        CrowdTestProject crowdTestProjectResult = regionalManager.createCrowdTestProjectReport(crowdTestProject, crowdTestReport);
-//
-//        CrowdTestProject crowdTestProjectResult = crowdTestProject.createCrowdTestProjectReport(crowdTestReport, userForRegionalManager);
-//        crowdTestProjectRepo.saveCrowdTestProject(crowdTestProjectResult);
-//        return crowdTestProjectRepo.getByProjectCode(crowdTestProjectResult.getCode()).toString();
-//    }
-//
-//    /**
-//     * 提交项目(区域管理员)
-//     * @param crowdTestProjectCode
-//     * @return
-//     */
-//    @RequestMapping(value = "commitProject/{regionalManagerId}/{crowdTestProjectCode}", method = RequestMethod.GET)
-//    public String commitProject(@PathVariable("regionalManagerId") Long regionalManagerId,@PathVariable("crowdTestProjectCode") String crowdTestProjectCode){
-//        CrowdTestProject crowdTestProject = crowdTestProjectRepo.getByProjectCode(crowdTestProjectCode);
-//        User userForRegionalManager = userRepo.getByID(regionalManagerId);
-////        RegionalManager regionalManager = userForRegionalManager.getRegionalManager();
-////        CrowdTestProject crowdTestProjectResult = regionalManager.commitCrowdTestProject(crowdTestProject);
-//        CrowdTestProject crowdTestProjectResult = crowdTestProject.commitCrowdTestProject(userForRegionalManager);
-//        crowdTestProjectRepo.saveCrowdTestProject(crowdTestProjectResult);
-//        return crowdTestProjectRepo.getByProjectCode(crowdTestProjectResult.getCode()).toString();
-//    }
-//
-//    /**
-//     * 对普通用户的操作
-//     */
-//
-//    /**
-//     * 结束项目(普通用户)
-//     * @param crowdTestProjectCode
-//     * @return
-//     */
-//    @RequestMapping(value = "finishProject/{userId}/{crowdTestProjectCode}", method = RequestMethod.GET)
-//    public String finishProject(@PathVariable("userId") Long userId,@PathVariable("crowdTestProjectCode") String crowdTestProjectCode){
-//        CrowdTestProject crowdTestProject = crowdTestProjectRepo.getByProjectCode(crowdTestProjectCode);
-//        User user = userRepo.getByID(userId);
-////        CrowdTestProject crowdTestProjectResult = user.finishCrowdTestProject(crowdTestProject);
-//        CrowdTestProject crowdTestProjectResult = crowdTestProject.finishCrowdTestProject(user);
-//        crowdTestProjectRepo.saveCrowdTestProject(crowdTestProjectResult);
-//        return crowdTestProjectRepo.getByProjectCode(crowdTestProjectResult.getCode()).toString();
-//    }
-//
-//
-//    @RequestMapping(value = "getNum", method = RequestMethod.GET)
-//    public String getNum(){
-//        return "项目数:" + crowdTestProjectRepo.getAllProjectNum() + " 任务数:" + crowdTestProjectRepo.getAllTaskNum() + " 报告数:" + crowdTestProjectRepo.getAllReportNum() ;
-//    }
-//
-//    /**
-//     * 计算指定时间的后几天
-//     */
-//    private Date getNextDay(Date date, int day){
-//        //计算相关的时间间隔
-//        long addTime = 24*3600*1000;
-//        addTime *= day;
-//        //把时间间隔转换为毫秒数
-//        Date nextDate=new Date(date.getTime() + addTime);
-//        return nextDate;
-//    }
-//
-//    /**
-//     * 计算指定时间的前几天
-//     */
-//    private Date getBeforeDay(Date date, int day){
-//        //计算相关的时间间隔
-//        long subTime = 24*3600*1000;
-//        subTime *= day;
-//        //把时间间隔转换为毫秒数
-//        Date beforeDate=new Date(date.getTime() - subTime);
-//        return beforeDate;
-//    }
-//
-//    /**
-//     * 大陆手机号码11位数,匹配格式:前三位固定格式+后8位任意数
-//     * 此方法中前三位格式有:
-//     * 13+任意数
-//     * 15+除4的任意数
-//     * 18+除1和4的任意数
-//     * 17+除9的任意数
-//     * 147
-//     */
-//    private boolean isChinaPhoneLegal(String str) throws PatternSyntaxException {
-//        String regExp = "^((13[0-9])|(15[^4])|(18[0,2,3,5-9])|(17[0-8])|(147))\\d{8}$";
-//        Pattern p = Pattern.compile(regExp);
-//        Matcher m = p.matcher(str);
-//        return m.matches();
-//    }
-//
-//    /**
-//     * 香港手机号码8位数,5|6|8|9开头+7位任意数
-//     */
-//    private boolean isHKPhoneLegal(String str)throws PatternSyntaxException {
-//        String regExp = "^(5|6|8|9)\\d{7}$";
-//        Pattern p = Pattern.compile(regExp);
-//        Matcher m = p.matcher(str);
-//        return m.matches();
-//    }
-//
-//    /**
-//     * 座机号
-//     */
-//    private boolean isTel(String str)throws PatternSyntaxException {
-//        String regExp = "^0[1-9](\\d{1,2}\\-?)\\d{7,8}";
-//        Pattern p = Pattern.compile(regExp);
-//        Matcher m = p.matcher(str);
-//        return m.matches();
-//    }
-//
-//    /**
-//     * 判断手机号或者座机是正确
-//     * @param phone
-//     * @return
-//     */
-//    private boolean isRightPhone(String phone){
-//        if(phone.startsWith("0")){
-//            if(!isTel(phone)){
-//                return false;
-//            }
-//        }else{
-//            if(!(isChinaPhoneLegal(phone) || isHKPhoneLegal(phone))){
-//                return false;
-//            }
-//        }
-//        return true;
-//    }
-//
-//    /**
-//     * 匹配平台类型 0,1,2 任意  ^[0-2](([,][0-2])?([,][0-2])?)$
-//     */
-//    private boolean isApplicationType(String str)throws PatternSyntaxException {
-//        String regExp = "^[0-2](([,][0-2])?([,][0-2])?)$";
-//        Pattern p = Pattern.compile(regExp);
-//        Matcher m = p.matcher(str);
-//        return m.matches();
-//    }
-//
-//    /**
-//     * 匹配项目类型 0,1,2,3,4,5,6 任意  ^[0-6](([,][0-6])?([,][0-6])?([,][0-6])?([,][0-6])?([,][0-6])?([,][0-6])?)$
-//     */
-//    private boolean isType(String str)throws PatternSyntaxException {
-//        String regExp = "^[0-6](([,][0-6])?([,][0-6])?([,][0-6])?([,][0-6])?([,][0-6])?([,][0-6])?)$";
-//        Pattern p = Pattern.compile(regExp);
-//        Matcher m = p.matcher(str);
-//        return m.matches();
-//    }
-//
-//    @RequestMapping(value = "getAllNum", method = RequestMethod.GET)
-//    public String getAllUserNum(){
-//        return "用户数:" + userRepo.getAllUserNum() + " 测评机构数:" + userRepo.getAllAgencyNum() + " 测试资源数量:" + userRepo.getAllResourceNum() ;
-//    }
-}

Plik diff jest za duży
+ 0 - 0
core/src/main/java/com/mooctest/crowd/domain/controller/TestUserController.java


+ 3 - 3
core/src/main/java/com/mooctest/crowd/domain/domainobject/CrowdTestProject.java

@@ -320,7 +320,7 @@ public class CrowdTestProject {
      */
     public CrowdTestProject releaseCrowdTestProject(User user) {
         //判断用户是否认证
-        if (user.getPersonalAuthentication() == null && user.getEnterpriseAuthentication() == null && user.getRegionalManager() == null && user.getEvaluationAgency() == null) {
+        if (user.getPersonalAuthentication() == null && user.getRegionalManager() == null && user.getEvaluationAgency() == null) {
             throw new CrowdTestProjectException("当前用户未进行认证,无权限对项目操作");
         }
         //判断用户是否为项目发起者
@@ -690,13 +690,13 @@ public class CrowdTestProject {
      *
      * @return
      */
-    public CrowdTestProject finishCrowdTestProject(User user) {
+    public CrowdTestProject finishCrowdTestProject(Long userId) {
         //判断用户是否认证
 //        if(user.getPersonalAuthentication() == null && user.getEnterpriseAuthentication() == null && user.getRegionalManager() == null && user.getEvaluationAgency() == null){
 //            throw new CrowdTestProjectException("当前用户未进行认证,无权限对项目操作");
 //        }
         //判断是否为项目发起者
-        if (!this.getUserId().equals(user.getId())) {
+        if (!this.getUserId().equals(userId)) {
             throw new CrowdTestProjectException("当前用户没有权限结束项目!");
         }
 

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

@@ -55,7 +55,7 @@ public class CrowdTestTask {
      *
      * @return
      */
-    public void receive(User user) {
+    public void receive(Long userId) {
         //任务当前状态
         if (this.getStatus() == CrowdTestTaskStatus.HAS_RECEIVED) {
             if (this.getFullStatus() == CrowdTestTaskAcceptStatus.HAS_FULL)
@@ -90,7 +90,7 @@ public class CrowdTestTask {
             }).collect(Collectors.toList());
         } else {
             TaskToUser taskToUser = new TaskToUser();
-            taskToUser.setValue(this.code, user.getId(), this.quotedPrice, 0, this.getDistributionType(), 1, new Timestamp(System.currentTimeMillis()));
+            taskToUser.setValue(this.code, userId, this.quotedPrice, 0, this.getDistributionType(), 1, new Timestamp(System.currentTimeMillis()));
             this.getAcceptedUserList().add(taskToUser);
         }
         this.setAcceptedUserList(acceptedUserList);

+ 53 - 56
core/src/main/java/com/mooctest/crowd/domain/domainobject/User.java

@@ -37,8 +37,6 @@ public class User {
     private List<Role> roleList;
     private List<String> personAbilities;
 
-
-
     private RegionalManager regionalManager;
     private EvaluationAgency evaluationAgency;
     private PersonalAuthentication personalAuthentication;
@@ -68,7 +66,6 @@ public class User {
                 ", regionalManager=" + regionalManager +
                 ", evaluationAgency=" + evaluationAgency +
                 ", personalAuthentication=" + personalAuthentication +
-                ", enterpriseAuthentication=" + enterpriseAuthentication +
                 ", systemAdministratorToUser=" + systemAdministratorToUser +
                 ", roleList=" + roleList +
                 '}';
@@ -87,7 +84,7 @@ public class User {
      * @return
      */
     public User applyAgencyAuthentication(EvaluationAgency evaluationAgency) {
-        if (this.getPersonalAuthentication()!=null || this.getEnterpriseAuthentication()!=null)
+        if (this.getPersonalAuthentication()!=null)
             throw new BaseException("已有认证信息,不可再次认证");
         this.setEvaluationAgency(evaluationAgency.applyAuthentication(this.id));
         return this;
@@ -132,7 +129,7 @@ public class User {
      * @return
      */
     public User updateAgencyAuthInfo(EvaluationAgency modifyAuth){
-        if (this.getEnterpriseAuthentication()!=null || this.getPersonalAuthentication()!=null)
+        if (this.getPersonalAuthentication()!=null)
             throw new BaseException("已有其他认证信息,不可对认证未企业用户");
         if (this.getEvaluationAgency().getIsAuthentication() == AuthenticationStatus.isAuthenticated){
             throw new BaseException("已通过认证,不可修改认证信息");
@@ -159,7 +156,7 @@ public class User {
      * @return
      */
     public User applyPersonalAuthentication(PersonalAuthentication personalAuth) {
-        if (this.getPersonalAuthentication()!=null || this.getEnterpriseAuthentication()!=null || this.getEvaluationAgency() != null)
+        if (this.getPersonalAuthentication()!=null || this.getEvaluationAgency() != null)
             throw new BaseException("已有认证信息,不可再次认证");
         this.setPersonalAuthentication(personalAuth.applyAuthentication(this.id));
         return this;
@@ -200,7 +197,7 @@ public class User {
     public User updatePersonalAuthInfo(PersonalAuthentication modifyAuth){
         if (this.getPersonalAuthentication() == null)
             throw new BaseException("当前用户未申请个人认证,无法修改");
-        if (this.getEvaluationAgency()!=null || this.getEnterpriseAuthentication()!=null)
+        if (this.getEvaluationAgency()!=null)
             throw new BaseException("已有其他认证信息,不可对个人认证进行操作");
         if (this.getPersonalAuthentication().getIsAuthentication() == AuthenticationStatus.isAuthenticated){
             throw new BaseException("已通过认证,不可修改认证信息");
@@ -222,77 +219,77 @@ public class User {
      * 企业认证——申请
      * @return
      */
-    public User applyEnterpriseAuthentication(EnterpriseAuthentication enterpriseAuth) {
-        if (this.getEvaluationAgency()!=null || this.getPersonalAuthentication()!=null || this.getEnterpriseAuthentication()!=null)
-            throw new BaseException("已有认证信息,不可再次认证");
-        this.setEnterpriseAuthentication(enterpriseAuth.applyAuthentication(this.id));
-        return this;
-    }
+//    public User applyEnterpriseAuthentication(EnterpriseAuthentication enterpriseAuth) {
+//        if (this.getEvaluationAgency()!=null || this.getPersonalAuthentication()!=null || this.getEnterpriseAuthentication()!=null)
+//            throw new BaseException("已有认证信息,不可再次认证");
+//        this.setEnterpriseAuthentication(enterpriseAuth.applyAuthentication(this.id));
+//        return this;
+//    }
 
     /**
      * 企业认证——通过
      * @return
      */
-    public User passEnterpriseAuthApplication(User enterpriseUser) {
-        //判断是否为系统管理员
-        judgeIsSystemAdministrator();
-
-        EnterpriseAuthentication enterpriseAuth = enterpriseUser.getEnterpriseAuthentication();
-        if(enterpriseAuth.getIsAuthentication() == AuthenticationStatus.isNotAuthenticated){
-            throw new BaseException("当前是未通过认证状态,不可通过认证,需对认证信息进行修改后再提交认证申请");
-        }else if(enterpriseAuth.getIsAuthentication() == AuthenticationStatus.isAuthenticated){
-            throw new BaseException("当前已通过认证,不可再次进行认证");
-        }else{
-            enterpriseAuth.passAuthentication();
-            List<Role> roleList = this.getRoleList();
-            Role role = new Role();
-            role.setId(5L);
-            roleList.add(role);
-            enterpriseUser.setRoleList(roleList);
-            return enterpriseUser;
-        }
-    }
+//    public User passEnterpriseAuthApplication(User enterpriseUser) {
+//        //判断是否为系统管理员
+//        judgeIsSystemAdministrator();
+//
+//        EnterpriseAuthentication enterpriseAuth = enterpriseUser.getEnterpriseAuthentication();
+//        if(enterpriseAuth.getIsAuthentication() == AuthenticationStatus.isNotAuthenticated){
+//            throw new BaseException("当前是未通过认证状态,不可通过认证,需对认证信息进行修改后再提交认证申请");
+//        }else if(enterpriseAuth.getIsAuthentication() == AuthenticationStatus.isAuthenticated){
+//            throw new BaseException("当前已通过认证,不可再次进行认证");
+//        }else{
+//            enterpriseAuth.passAuthentication();
+//            List<Role> roleList = this.getRoleList();
+//            Role role = new Role();
+//            role.setId(5L);
+//            roleList.add(role);
+//            enterpriseUser.setRoleList(roleList);
+//            return enterpriseUser;
+//        }
+//    }
 
     /**
      * 企业认证——驳回,并说明驳回原因
      * @param explain
      * @return
      */
-    public User enterpriseAuthReject(User enterpriseUser, String explain) {
-        //判断是否为系统管理员
-        judgeIsSystemAdministrator();
-
-        EnterpriseAuthentication enterpriseAuth = enterpriseUser.getEnterpriseAuthentication();
-        enterpriseAuth.rejectAuthentication(explain);
-        return enterpriseUser;
-    }
+//    public User enterpriseAuthReject(User enterpriseUser, String explain) {
+//        //判断是否为系统管理员
+//        judgeIsSystemAdministrator();
+//
+//        EnterpriseAuthentication enterpriseAuth = enterpriseUser.getEnterpriseAuthentication();
+//        enterpriseAuth.rejectAuthentication(explain);
+//        return enterpriseUser;
+//    }
 
     /**
      * 企业认证——修改
      * @param modifyAuth
      * @return
      */
-    public User updateEnterpriseAuthInfo(EnterpriseAuthentication modifyAuth){
-        if (this.getEnterpriseAuthentication() == null){
-            throw new BaseException("该用户未申请企业认证,无法修改");
-        }
-        if (this.getEvaluationAgency()!=null || this.getPersonalAuthentication()!=null)
-            throw new BaseException("已有其他认证信息,不可对认证未企业用户");
-        if (this.getEnterpriseAuthentication().getIsAuthentication() == AuthenticationStatus.isAuthenticated){
-            throw new BaseException("已通过认证,不可修改认证信息");
-        }
-        this.getEnterpriseAuthentication().updateAuthInfo(modifyAuth);
-        return this;
-    }
+//    public User updateEnterpriseAuthInfo(EnterpriseAuthentication modifyAuth){
+//        if (this.getEnterpriseAuthentication() == null){
+//            throw new BaseException("该用户未申请企业认证,无法修改");
+//        }
+//        if (this.getEvaluationAgency()!=null || this.getPersonalAuthentication()!=null)
+//            throw new BaseException("已有其他认证信息,不可对认证未企业用户");
+//        if (this.getEnterpriseAuthentication().getIsAuthentication() == AuthenticationStatus.isAuthenticated){
+//            throw new BaseException("已通过认证,不可修改认证信息");
+//        }
+//        this.getEnterpriseAuthentication().updateAuthInfo(modifyAuth);
+//        return this;
+//    }
 
     /**
      * 企业认证——删除
      * @return
      */
-    public User deleteEnterpriseAuthInfo() {
-        this.getEnterpriseAuthentication().deleteAuth();
-        return this;
-    }
+//    public User deleteEnterpriseAuthInfo() {
+//        this.getEnterpriseAuthentication().deleteAuth();
+//        return this;
+//    }
 
     //判断是否为系统管理员
     private void judgeIsSystemAdministrator(){

+ 12 - 2
core/src/main/java/com/mooctest/crowd/domain/repository/IUserRepo.java

@@ -19,12 +19,16 @@ public interface IUserRepo {
 
     User getByID(Long id) throws UserNotExistException, RoleNotFoundException;
 
-    User getByUserIDJustAgencyInfo(Long userId) throws UserNotExistException, RoleNotFoundException;
-
     User getByIDJustInfo(Long userId) throws UserNotExistException, RoleNotFoundException;
 
+    User getInfoAndRolesByID(Long userId) throws UserNotExistException;
+
     User getInfoAndRolesAndRegionalMangerByID(Long userId) throws UserNotExistException;
 
+    User getInfoAndPersonalAuthByID(Long userId) throws UserNotExistException;
+
+    User getInfoAndEvaluationAgencyByID(Long userId) throws UserNotExistException;
+
     List<User> getByIdList(List<Long> ids) throws RoleNotFoundException;
 
     List<User> getAllUser() throws RoleNotFoundException;
@@ -41,6 +45,12 @@ public interface IUserRepo {
 
     User saveUser(User user) throws RoleNotFoundException;
 
+    User saveUserJustInfo(User user);
+
+    User saveEvaluationAgencyByUser(User user);
+
+    User savePersonalAuthByUser(User user);
+
     User saveUserAndRole(User user);
 
     List<User> getApplyEvaluationAgencyByIsAuthenticated();

+ 510 - 427
core/src/main/java/com/mooctest/crowd/domain/repository/UserRepo.java

@@ -7,6 +7,7 @@ import com.mooctest.crowd.domain.exception.RoleNotFoundException;
 import com.mooctest.crowd.domain.exception.UserNotExistException;
 import com.mooctest.crowd.domain.model.*;
 import com.mooctest.crowd.domain.util.Converter;
+import org.jetbrains.annotations.NotNull;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
@@ -22,171 +23,215 @@ import java.util.stream.Collectors;
 
 @Component
 public class UserRepo implements IUserRepo {
-    @Autowired
-    private EvaluationAgencyDao agencyDao;
-    @Autowired
-    private TestTypeDao testTypeDao;
+	@Autowired
+	private EvaluationAgencyDao agencyDao;
+	@Autowired
+	private TestTypeDao testTypeDao;
 
-    @Autowired
-    private UserDao userDao;
+	@Autowired
+	private UserDao userDao;
 
-    @Autowired
-    private RoleDao roleDao;
+	@Autowired
+	private RoleDao roleDao;
 
-    @Autowired
-    private PermissionDao permissionDao;
+	@Autowired
+	private PermissionDao permissionDao;
 
-    @Autowired
-    private UserToRoleDao userToRoleDao;
+	@Autowired
+	private UserToRoleDao userToRoleDao;
 
-    @Autowired
-    private UserTaskCountDao userTaskCountDao;
+	@Autowired
+	private UserTaskCountDao userTaskCountDao;
 
-    @Autowired
-    private RoleToPermissionDao roleToPermissionDao;
+	@Autowired
+	private RoleToPermissionDao roleToPermissionDao;
 
-    @Autowired
-    private EvaluationAgencyDao evaluationAgencyDao;
+	@Autowired
+	private EvaluationAgencyDao evaluationAgencyDao;
 
-    @Autowired
-    private RegionalManagerToRegionalDao regionalManagerToRegionalDao;
+	@Autowired
+	private RegionalManagerToRegionalDao regionalManagerToRegionalDao;
 
-    @Autowired
-    private AgencyResourceDao agencyResourceDao;
+	@Autowired
+	private AgencyResourceDao agencyResourceDao;
 
-    @Autowired
-    private AgencyAbilityDao agencyAbilityDao;
+	@Autowired
+	private AgencyAbilityDao agencyAbilityDao;
 
-    @Autowired
-    private EvaluationAgencyRepo resourceRepo;
+	@Autowired
+	private EvaluationAgencyRepo resourceRepo;
 
-    @Autowired
-    private PersonalAuthenticationDao personalAuthenticationDao;
+	@Autowired
+	private PersonalAuthenticationDao personalAuthenticationDao;
 
-    @Autowired
-    private EnterpriseAuthenticationDao enterpriseAuthenticationDao;
+	@Autowired
+	private EnterpriseAuthenticationDao enterpriseAuthenticationDao;
 
-    @Autowired
-    private SystemAdministratorToUserDao systemAdministratorToUserDao;
+	@Autowired
+	private SystemAdministratorToUserDao systemAdministratorToUserDao;
 
-    private Timestamp currentTime = new Timestamp(System.currentTimeMillis());
+	private Timestamp currentTime = new Timestamp(System.currentTimeMillis());
+
+	@Override
+	public User getByID(Long userId) throws UserNotExistException, RoleNotFoundException {
+		Optional<UserPO> userPOOptional = userDao.findById(userId);
+		if (!userPOOptional.isPresent()) {
+			throw new UserNotExistException("用户不存在");
+		} else {
+			User user = getUserAndRoleAndPermissionByUserPO(userPOOptional.get());
+			return user;
+		}
+	}
+
+	@Override
+	public User getByIDJustInfo(Long userId) throws UserNotExistException, RoleNotFoundException {
+		Optional<UserPO> userPOOptional = userDao.findById(userId);
+		if (!userPOOptional.isPresent()) {
+			throw new UserNotExistException("用户不存在");
+		} else {
+			return Converter.convert(User.class, userPOOptional.get());
+		}
+	}
 
     @Override
-    public User getByID(Long userId) throws UserNotExistException, RoleNotFoundException {
+    public User getInfoAndRolesByID(Long userId) throws UserNotExistException {
         Optional<UserPO> userPOOptional = userDao.findById(userId);
         if (!userPOOptional.isPresent()) {
             throw new UserNotExistException("用户不存在");
         } else {
-            User user = getUserAndRoleAndPermissionByUserPO(userPOOptional.get());
+            User user = getUserAndRoleByUserPO(userPOOptional.get());
             return user;
         }
     }
 
+	@Override
+	public User getInfoAndRolesAndRegionalMangerByID(Long userId) throws UserNotExistException {
+		Optional<UserPO> userPOOptional = userDao.findById(userId);
+		if (!userPOOptional.isPresent()) {
+			throw new UserNotExistException("用户不存在");
+		} else {
+			User user = getUserInfoAndRolesAndRegionalManger(userPOOptional.get());
+			return user;
+		}
+	}
+
     @Override
-    public User getByUserIDJustAgencyInfo(Long userId) throws UserNotExistException, RoleNotFoundException {
+    public User getInfoAndPersonalAuthByID(Long userId) throws UserNotExistException {
         Optional<UserPO> userPOOptional = userDao.findById(userId);
         if (!userPOOptional.isPresent()) {
             throw new UserNotExistException("用户不存在");
         } else {
-            User user = getUserAndRoleAndPermissionByUserPO(userPOOptional.get());
-            return this.getEvaluationInfo(user);
+	        User user = Converter.convert(User.class, userPOOptional.get());
+	        this.getPersonalAuthInfo(user);
+            return user;
         }
     }
 
-    @Override
-    public User getByIDJustInfo(Long userId) throws UserNotExistException, RoleNotFoundException {
-        Optional<UserPO> userPOOptional = userDao.findById(userId);
-        if (!userPOOptional.isPresent()){
-            throw new UserNotExistException("用户不存在");
-        } else {
-            return Converter.convert(User.class, userPOOptional.get());
-        }
-    }
+	@Override
+	public User getInfoAndEvaluationAgencyByID(Long userId) throws UserNotExistException {
+		Optional<UserPO> userPOOptional = userDao.findById(userId);
+		if (!userPOOptional.isPresent()) {
+			throw new UserNotExistException("用户不存在");
+		} else {
+			User user = getInfoAndEvaluationAgency(userPOOptional.get());
+			return user;
+		}
+	}
+
+	private User getInfoAndEvaluationAgency(UserPO userPO) {
+		User user = Converter.convert(User.class, userPO);
+		this.getEvaluationAgency(user);
+		return user;
+	}
+
+	private User getInfoAndPersonalAuth(UserPO userPO) {
+		User user = Converter.convert(User.class, userPO);
+		this.getEvaluationAgency(user);
+		return user;
+	}
+
+	private User getUserInfoAndRolesAndRegionalManger(UserPO userPO) throws RoleNotFoundException {
+        User userResult = this.getUserInfoAndRoles(userPO);
+        this.getRegionalInfo(userResult);
+		return userResult;
+	}
 
-    @Override
-    public User getInfoAndRolesAndRegionalMangerByID(Long userId) throws UserNotExistException {
-        Optional<UserPO> userPOOptional = userDao.findById(userId);
-        if (!userPOOptional.isPresent()){
-            throw new UserNotExistException("用户不存在");
-        } else {
-            User user = getUserAndRoleByUserPO(userPOOptional.get());
-            return user;
-        }
+    private User getUserAndRoleByUserPO(UserPO userPO) throws RoleNotFoundException {
+        return this.getUserInfoAndRoles(userPO);
     }
 
-    private User getUserAndRoleByUserPO(UserPO userPO) throws RoleNotFoundException {
+    @NotNull
+    private User getUserInfoAndRoles(UserPO userPO) {
         User userResult = Converter.convert(User.class, userPO);
         Map<Long, Role> roleMap = roleDao.findAll().stream().collect(Collectors.toMap(rolePO -> rolePO.getId(), rolePO -> Converter.convert(Role.class, rolePO)));
         List<UserToRolePO> userToRolePOList = userToRoleDao.findByUserId(userResult.getId());
         List<Role> roleList = userToRolePOList.stream().map(userToRolePO -> roleMap.get(userToRolePO.getRoleId())).collect(Collectors.toList());
         userResult.setRoleList(roleList);
-        this.getRegionalInfo(userPO, userResult);
         return userResult;
     }
 
-
-    @Override
-    public User getByMobileNum(String mobileNum) throws UserNotExistException, RoleNotFoundException {
-        UserPO userPO = userDao.findByMobile(mobileNum);
-        if (userPO == null) {
-            throw new UserNotExistException("用户不存在");
-        } else {
-            User user = getUserAndRoleAndPermissionByUserPO(userPO);
-            return user;
-        }
-    }
-
-    @Override
-    public List<User> getByIdList(List<Long> ids) throws RoleNotFoundException {
-        Iterable<UserPO> allUserPOById = userDao.findAllById(ids);
-        ArrayList<UserPO> userPOArrayList = Lists.newArrayList(allUserPOById);
-        List<User> allUserResult = getUserAndRoleAndPermissionListByUserPOList(userPOArrayList);
-        return allUserResult;
-    }
-
-    /**
-     * 获取机构认证的申请
-     *
-     * @return
-     * @throws RoleNotFoundException
-     */
-    @Override
-    public List<User> getApplyEvaluationAgencyByIsAuthenticated() {
-        List<UserPO> userPOList = new ArrayList<>();
-        evaluationAgencyDao.findByIsAuthentication(AuthenticationStatus.isNotAuthenticated).forEach(evaluationAgencyPO -> {
-            userPOList.add(userDao.findById(evaluationAgencyPO.getUserId()).get());
-        });
-        List<User> allUserResult = getUserAndRoleAndPermissionListByUserPOList(userPOList);
-        return allUserResult;
-    }
-
-    @Override
-    public List<User> getAllUser() throws RoleNotFoundException {
-        Iterable<UserPO> allUserPO = userDao.findAll();
-        ArrayList<UserPO> userPOArrayList = Lists.newArrayList(allUserPO);
-        List<User> userListByIds = getUserAndRoleAndPermissionListByUserPOList(userPOArrayList);
-        return userListByIds;
-    }
-
-    @Override
-    public ArrayList<UserPO> getAllUserInfo() throws RoleNotFoundException {
-        Iterable<UserPO> allUserPO = userDao.findAll();
-        ArrayList<UserPO> userPOArrayList = Lists.newArrayList(allUserPO);
-        return userPOArrayList;
-    }
-
-    @Override
-    public UserTaskCount getUserTaskCountByUserId(Long userId) {
-        Optional<UserTaskCountPO> userTaskCountPO = userTaskCountDao.findByUserId(userId);
-        if (!userTaskCountPO.isPresent()) {
-            return null;
-        } else {
-            return Converter.convert(UserTaskCount.class, userTaskCountPO.get());
-        }
-    }
-
-
-    //add
+	@Override
+	public User getByMobileNum(String mobileNum) throws UserNotExistException, RoleNotFoundException {
+		UserPO userPO = userDao.findByMobile(mobileNum);
+		if (userPO == null) {
+			throw new UserNotExistException("用户不存在");
+		} else {
+			User user = getUserAndRoleAndPermissionByUserPO(userPO);
+			return user;
+		}
+	}
+
+	@Override
+	public List<User> getByIdList(List<Long> ids) throws RoleNotFoundException {
+		Iterable<UserPO> allUserPOById = userDao.findAllById(ids);
+		ArrayList<UserPO> userPOArrayList = Lists.newArrayList(allUserPOById);
+		List<User> allUserResult = getUserAndRoleAndPermissionListByUserPOList(userPOArrayList);
+		return allUserResult;
+	}
+
+	/**
+	 * 获取机构认证的申请
+	 *
+	 * @return
+	 * @throws RoleNotFoundException
+	 */
+	@Override
+	public List<User> getApplyEvaluationAgencyByIsAuthenticated() {
+		List<UserPO> userPOList = new ArrayList<>();
+		evaluationAgencyDao.findByIsAuthentication(AuthenticationStatus.isNotAuthenticated).forEach(evaluationAgencyPO -> {
+			userPOList.add(userDao.findById(evaluationAgencyPO.getUserId()).get());
+		});
+		List<User> allUserResult = getUserAndRoleAndPermissionListByUserPOList(userPOList);
+		return allUserResult;
+	}
+
+	@Override
+	public List<User> getAllUser() throws RoleNotFoundException {
+		Iterable<UserPO> allUserPO = userDao.findAll();
+		ArrayList<UserPO> userPOArrayList = Lists.newArrayList(allUserPO);
+		List<User> userListByIds = getUserAndRoleAndPermissionListByUserPOList(userPOArrayList);
+		return userListByIds;
+	}
+
+	@Override
+	public ArrayList<UserPO> getAllUserInfo() throws RoleNotFoundException {
+		Iterable<UserPO> allUserPO = userDao.findAll();
+		ArrayList<UserPO> userPOArrayList = Lists.newArrayList(allUserPO);
+		return userPOArrayList;
+	}
+
+	@Override
+	public UserTaskCount getUserTaskCountByUserId(Long userId) {
+		Optional<UserTaskCountPO> userTaskCountPO = userTaskCountDao.findByUserId(userId);
+		if (!userTaskCountPO.isPresent()) {
+			return null;
+		} else {
+			return Converter.convert(UserTaskCount.class, userTaskCountPO.get());
+		}
+	}
+
+
+	//add
 //    @Override
 //    public User getByEvaluationAgencyByUserId(Long userId) throws UserNotExistException, RoleNotFoundException {
 //
@@ -207,323 +252,361 @@ public class UserRepo implements IUserRepo {
 //
 //    }
 
-    @Override
-    public void removeUser(User user) {
-        UserPO userPO = Converter.convert(UserPO.class, user);
-        userDao.delete(userPO);
-    }
-
-    @Override
-    public void removeUserList(List<User> userList) {
-        List<UserPO> userPOList = new ArrayList<>();
-        for (User user : userList) {
-            UserPO userPO = Converter.convert(UserPO.class, user);
-            userPOList.add(userPO);
-        }
-        userDao.deleteAll(userPOList);
-    }
-
-    /**
-     * 注册用户时默认为普通用户,分配角色后存入数据库
-     *
-     * @param user
-     * @return
-     */
-    @Override
-    public User saveUserAndRole(User user) {
-        UserPO userPO = userDao.save(Converter.convert(UserPO.class, user));
-        User saveResultUser = Converter.convert(User.class, userPO);
-        List<Role> roleList = user.getRoleList();
-
-        // 存储从数据库中取出的User的Role数据
-        List<Role> roleListResult = new ArrayList<>();
-
-        for (Role role : roleList) {
-            RolePO rolePO = roleDao.findByName(role.getName());
-            Role roleConvert = Converter.convert(Role.class, rolePO);
-
-            UserToRolePO userToRolePO = new UserToRolePO();
-            userToRolePO.setRoleId(roleConvert.getId());
-            userToRolePO.setUserId(saveResultUser.getId());
-            userToRolePO.setCreateTime(currentTime);
-            userToRoleDao.save(userToRolePO);
-
-            Role roleResult = getPermissionByRole(roleConvert);
-            roleListResult.add(roleResult);
+	@Override
+	public void removeUser(User user) {
+		UserPO userPO = Converter.convert(UserPO.class, user);
+		userDao.delete(userPO);
+	}
+
+	@Override
+	public void removeUserList(List<User> userList) {
+		List<UserPO> userPOList = new ArrayList<>();
+		for (User user : userList) {
+			UserPO userPO = Converter.convert(UserPO.class, user);
+			userPOList.add(userPO);
+		}
+		userDao.deleteAll(userPOList);
+	}
+
+	/**
+	 * 注册用户时默认为普通用户,分配角色后存入数据库
+	 *
+	 * @param user
+	 * @return
+	 */
+	@Override
+	public User saveUserAndRole(User user) {
+		UserPO userPO = userDao.save(Converter.convert(UserPO.class, user));
+		User saveResultUser = Converter.convert(User.class, userPO);
+		List<Role> roleList = user.getRoleList();
+
+		// 存储从数据库中取出的User的Role数据
+		List<Role> roleListResult = new ArrayList<>();
+
+		for (Role role : roleList) {
+			RolePO rolePO = roleDao.findByName(role.getName());
+			Role roleConvert = Converter.convert(Role.class, rolePO);
+
+			UserToRolePO userToRolePO = new UserToRolePO();
+			userToRolePO.setRoleId(roleConvert.getId());
+			userToRolePO.setUserId(saveResultUser.getId());
+			userToRolePO.setCreateTime(currentTime);
+			userToRoleDao.save(userToRolePO);
+
+			Role roleResult = getPermissionByRole(roleConvert);
+			roleListResult.add(roleResult);
 //            roleListResult.add(roleConvert);
-        }
-        saveResultUser.setRoleList(roleListResult);
-        return saveResultUser;
-    }
-
-    /**
-     * 保存用户相关的所有信息(包括测评机构信息、角色信息、权限信息)
-     *
-     * @param user
-     * @return
-     * @throws RoleNotFoundException
-     */
-    @Override
-    public User saveUser(User user) throws RoleNotFoundException {
-        User userAndRoleByUser = saveRoleAndPermissionAndEvaluationAgencyByUser(user);
-        return userAndRoleByUser;
-    }
+		}
+		saveResultUser.setRoleList(roleListResult);
+		return saveResultUser;
+	}
+
+	/**
+	 * 保存用户相关的所有信息(包括测评机构信息、角色信息、权限信息)
+	 *
+	 * @param user
+	 * @return
+	 * @throws RoleNotFoundException
+	 */
+	@Override
+	public User saveUser(User user) throws RoleNotFoundException {
+		User userAndRoleByUser = saveRoleAndPermissionAndEvaluationAgencyByUser(user);
+		return userAndRoleByUser;
+	}
+
+	@Override
+	public User saveUserJustInfo(User user) {
+		UserPO userPO = userDao.save(Converter.convert(UserPO.class, user));
+		return Converter.convert(User.class, userPO);
+	}
+
+	/**
+	 * 保存机构认证信息
+	 * @param user
+	 * @return
+	 */
+	@Override
+	public User saveEvaluationAgencyByUser(User user) {
+		this.saveEvaluationAgencyInfo(user);
+		return user;
+	}
+
+	/**
+	 * 保存个人认证信息
+	 * @param user
+	 * @return
+	 */
+	@Override
+	public User savePersonalAuthByUser(User user) {
+		this.savePersonalAuth(user);
+		return user;
+	}
+
+
+	/**
+	 * 保存用户信息(包括测评机构信息、角色信息、权限信息)
+	 *
+	 * @param user
+	 * @return
+	 * @throws RoleNotFoundException
+	 */
+	private User saveRoleAndPermissionAndEvaluationAgencyByUser(User user) throws RoleNotFoundException {
+		UserPO userPO = userDao.save(Converter.convert(UserPO.class, user));
+		User userResult = Converter.convert(User.class, userPO);
+		List<Role> roleList = userResult.getRoleList();
+
+		// 新注册用户默认给
+		if (roleList == null || roleList.size() == 0) {
+			UserToRolePO u2r = new UserToRolePO();
+			u2r.setUserId(userResult.getId());
+			u2r.setRoleId(1L);
+			userToRoleDao.save(u2r);
+		}
+
+		List<UserToRolePO> userToRolePOList = userToRoleDao.findByUserId(userResult.getId());
+		if (roleList != null) {
+			for (Role role : roleList) {
+				if (userToRolePOList.stream().noneMatch(userToRolePO -> userToRolePO.getRoleId().equals(role.getId()))) {
+					UserToRolePO userToRolePO = new UserToRolePO();
+					userToRolePO.setRoleId(role.getId());
+					userToRolePO.setUserId(userResult.getId());
+					userToRoleDao.save(userToRolePO);
+				}
+			}
+		}
+
+		/*机构认证保存机构信息*/
+		this.saveEvaluationAgencyInfo(userResult);
+
+		/*实名认证保存个人信息*/
+		this.savePersonalAuth(user);
+
+		return getByID(userPO.getId());
+	}
+
+	private void savePersonalAuth(User user) {
+		if (user.getPersonalAuthentication() != null) {
+			PersonalAuthenticationPO authenticationPO = Converter.convert(PersonalAuthenticationPO.class, user.getPersonalAuthentication());
+			personalAuthenticationDao.save(authenticationPO);
+		}
+	}
+
+	/**
+	 * 保存机构认证信息
+	 * @param user
+	 */
+	private void saveEvaluationAgencyInfo(User user) {
+		EvaluationAgency evaluationAgency = user.getEvaluationAgency();
+		if (evaluationAgency != null) {
+			EvaluationAgencyPO evaluationAgencyPO = Converter.convert(EvaluationAgencyPO.class, evaluationAgency);
+			evaluationAgencyPO.setUserId(user.getId());
+			evaluationAgencyPO = evaluationAgencyDao.save(evaluationAgencyPO);
+			// 资源能力信息
+			evaluationAgencyPO = evaluationAgencyDao.save(evaluationAgencyPO);
+//			List<EvaluationAgencyResource> resources = evaluationAgency.getEvaluationAgencyResourceList();
+//			List<EvaluationAgencyAbility> abilities = evaluationAgency.getEvaluationAgencyAbilityList();
+//			if (resources != null) {
+//				for (EvaluationAgencyResource resource : resources) {
+//					resource.setEvaluationAgencyId(evaluationAgencyPO.getId());
+//					resourceRepo.saveEvaluationAgencyResource(resource);
+//				}
+//			}
+//			if (abilities != null) {
+//				for (EvaluationAgencyAbility ability : abilities) {
+//					ability.setEvaluationAgencyId(evaluationAgencyPO.getId());
+//					resourceRepo.saveEvaluationAgencyAbility(ability);
+//				}
+//			}
+		}
+	}
+
+	/**
+	 * 通过角色获取角色和权限信息
+	 *
+	 * @param roleResult
+	 * @return
+	 */
+	private Role getPermissionByRole(Role roleResult) {
+		List<Permission> permissionResultList = new ArrayList<>();
+		List<RoleToPermissionPO> roleToPermissionPOList = roleToPermissionDao.findAllByRoleId(roleResult.getId());
+		List<Long> permissionIds = roleToPermissionPOList.stream().map(RoleToPermissionPO::getPermissionId).collect(Collectors.toList());
+
+		for (PermissionPO permissionPO : permissionDao.findAllById(permissionIds)) {
+			permissionResultList.add(Converter.convert(Permission.class, permissionPO));
+		}
+		roleResult.setPermissionList(permissionResultList);
+		return roleResult;
+	}
+
+	/**
+	 * 通过UsePOList获取用户-角色-权限信息
+	 *
+	 * @param userPOList
+	 * @return
+	 * @throws RoleNotFoundException
+	 */
+	private List<User> getUserAndRoleAndPermissionListByUserPOList(List<UserPO> userPOList) throws RoleNotFoundException {
+		List<User> userList = new ArrayList<>();
+		for (UserPO userPO : userPOList) {
+			User userAndRole = getUserAndRoleAndPermissionByUserPO(userPO);
+			userList.add(userAndRole);
+		}
+		return userList;
+	}
+
+	/**
+	 * 通过用户信息获取用户-角色-权限信息
+	 *
+	 * @param userPO
+	 * @return
+	 * @throws RoleNotFoundException
+	 */
+	private User getUserAndRoleAndPermissionByUserPO(UserPO userPO) throws RoleNotFoundException {
+		User userResult = Converter.convert(User.class, userPO);
+		Map<Long, Role> roleMap = roleDao.findAll().stream().collect(Collectors.toMap(rolePO -> rolePO.getId(), rolePO -> Converter.convert(Role.class, rolePO)));
+		List<UserToRolePO> userToRolePOList = userToRoleDao.findByUserId(userResult.getId());
+		List<Role> roleResultList = new ArrayList<>();
+		for (UserToRolePO userToRolePO : userToRolePOList) {
+			Role role = roleMap.get(userToRolePO.getRoleId());
+			Role roleResult = getPermissionByRole(role);
+			roleResultList.add(roleResult);
+//            roleResultList.add(role);
+		}
+		userResult.setRoleList(roleResultList);
 
+		// 获取认证信息
+		userResult = this.getAuthentication(userResult);
+		return userResult;
+	}
 
     /**
-     * 保存用户信息(包括测评机构信息、角色信息、权限信息)
-     *
+     * 获取认证信息
      * @param user
      * @return
-     * @throws RoleNotFoundException
      */
-    private User saveRoleAndPermissionAndEvaluationAgencyByUser(User user) throws RoleNotFoundException {
-        UserPO userPO = userDao.save(Converter.convert(UserPO.class, user));
-        List<Role> roleList = user.getRoleList();
-        Map<Long, String> collect = roleList.stream().collect(Collectors.toMap(Role::getId, Role::getName, (v1,v2) -> v2));
-
-        if (roleList == null || roleList.size() == 0) {
-            UserToRolePO u2r = new UserToRolePO();
-            u2r.setUserId(userPO.getId());
-            u2r.setRoleId(1L);
-            userToRoleDao.save(u2r);
-        }
-        List<UserToRolePO> userToRolePOList = userToRoleDao.findByUserId(userPO.getId());
-        if (roleList != null) {
-            for (Role role : roleList) {
-                if (userToRolePOList.stream().noneMatch(userToRolePO -> userToRolePO.getRoleId().equals(role.getId()))) {
-                    UserToRolePO userToRolePO = new UserToRolePO();
-                    userToRolePO.setRoleId(role.getId());
-                    userToRolePO.setUserId(userPO.getId());
-                    userToRoleDao.save(userToRolePO);
-                }
-            }
-        }
-
-        /*机构认证保存机构信息*/
-        EvaluationAgency evaluationAgency = user.getEvaluationAgency();
-        if (evaluationAgency != null) {
-            EvaluationAgencyPO evaluationAgencyPO = Converter.convert(EvaluationAgencyPO.class, evaluationAgency);
-            evaluationAgencyPO.setUserId(userPO.getId());
-            System.out.println(evaluationAgencyPO + "xxxxxxxxxxxxxxxxxxxxxxxx");
-            evaluationAgencyPO = evaluationAgencyDao.save(evaluationAgencyPO);
-            List<EvaluationAgencyResource> resources = evaluationAgency.getEvaluationAgencyResourceList();
-            List<EvaluationAgencyAbility> abilities = evaluationAgency.getEvaluationAgencyAbilityList();
-            if (resources != null) {
-                for (EvaluationAgencyResource resource : resources) {
-                    resource.setEvaluationAgencyId(evaluationAgencyPO.getId());
-                    resourceRepo.saveEvaluationAgencyResource(resource);
-                }
-            }
-            if (abilities != null) {
-                for (EvaluationAgencyAbility ability : abilities) {
-                    ability.setEvaluationAgencyId(evaluationAgencyPO.getId());
-                    resourceRepo.saveEvaluationAgencyAbility(ability);
-                }
-            }
-//            // save测评机构资源
-//            EvaluationAgencyResource evaluationAgencyResource = evaluationAgency.getEvaluationAgencyResource();
-//            if(evaluationAgencyResource != null){
-//                EvaluationAgencyResourcePO evaluationAgencyResourcePO = Converter.convert(EvaluationAgencyResourcePO.class, evaluationAgencyResource);
-//                evaluationAgencyResourcePO.setEvaluationAgencyId(evaluationAgencyPO.getId());
-//                evaluationAgencyResourceDao.save(evaluationAgencyResourcePO);
-//            }
-        }
-
-        /*实名认证保存个人信息*/
-        if (user.getPersonalAuthentication() != null) {
-            PersonalAuthenticationPO authenticationPO = Converter.convert(PersonalAuthenticationPO.class, user.getPersonalAuthentication());
-            personalAuthenticationDao.save(authenticationPO);
-        }
-
-        /*企业认证保存企业信息*/
-//        if (user.getEnterpriseAuthentication() != null) {
-////            if (user.getEnterpriseAuthentication().getType().contains("研发机构")) {
-////                System.out.println("认证消息为===========" + user.getPersonalAuthentication());
-////                EnterpriseAuthenticationPO authenticationPO = Converter.convert(EnterpriseAuthenticationPO.class, user.getEnterpriseAuthentication());
-////                System.out.println("认证消息为PO===========" + authenticationPO);
-////                enterpriseAuthenticationDao.save(authenticationPO);
-////            }
-////            else if (user.getEnterpriseAuthentication().getIsDaOrEa().equals("评测机构")) {
-//                EvaluationAgencyPO evaluationAgencyPO = new EvaluationAgencyPO();
-//                evaluationAgencyPO.setUserId(user.getId());
-//                evaluationAgencyPO.setAddress(user.getEnterpriseAuthentication().getAddress());
-//                evaluationAgencyPO.setEvaluationAgencyName(user.getEnterpriseAuthentication().getEnterpriseName());
-//                evaluationAgencyPO.setUpdateTime(new Timestamp(System.currentTimeMillis()));
-//                agencyDao.save(evaluationAgencyPO);
-////            }
-//        }
-
-        return getByID(userPO.getId());
-    }
-
-    /**
-     * 通过角色获取角色和权限信息
-     *
-     * @param roleResult
-     * @return
-     */
-    private Role getPermissionByRole(Role roleResult) {
-        List<Permission> permissionResultList = new ArrayList<>();
-        List<RoleToPermissionPO> roleToPermissionPOList = roleToPermissionDao.findAllByRoleId(roleResult.getId());
-        List<Long> permissionIds = roleToPermissionPOList.stream().map(RoleToPermissionPO::getPermissionId).collect(Collectors.toList());
-
-        for (PermissionPO permissionPO : permissionDao.findAllById(permissionIds)) {
-            permissionResultList.add(Converter.convert(Permission.class, permissionPO));
-        }
-        roleResult.setPermissionList(permissionResultList);
-        return roleResult;
-    }
-
-    /**
-     * 通过UsePOList获取用户-角色-权限信息
-     *
-     * @param userPOList
-     * @return
-     * @throws RoleNotFoundException
-     */
-    private List<User> getUserAndRoleAndPermissionListByUserPOList(List<UserPO> userPOList) throws RoleNotFoundException {
-        List<User> userList = new ArrayList<>();
-        for (UserPO userPO : userPOList) {
-            User userAndRole = getUserAndRoleAndPermissionByUserPO(userPO);
-            userList.add(userAndRole);
-        }
-        return userList;
-    }
-
-    /**
-     * 通过用户信息获取用户-角色-权限信息
-     *
-     * @param userPO
-     * @return
-     * @throws RoleNotFoundException
-     */
-    private User getUserAndRoleAndPermissionByUserPO(UserPO userPO) throws RoleNotFoundException {
-        User userResult = Converter.convert(User.class, userPO);
-        Map<Long, Role> roleMap = roleDao.findAll().stream().collect(Collectors.toMap(rolePO -> rolePO.getId(), rolePO -> Converter.convert(Role.class, rolePO)));
-        List<UserToRolePO> userToRolePOList = userToRoleDao.findByUserId(userResult.getId());
-        List<Role> roleResultList = new ArrayList<>();
-        for (UserToRolePO userToRolePO : userToRolePOList) {
-            Role role = roleMap.get(userToRolePO.getRoleId());
-            Role roleResult = getPermissionByRole(role);
-            roleResultList.add(roleResult);
-
-//            roleResultList.add(role);
-        }
-        userResult.setRoleList(roleResultList);
-
-        /*获取机构认证的信息*/
-        userResult = getEvaluationInfo(userResult);
-
-        /*获取个人认证的信息*/
-        Optional<PersonalAuthenticationPO> personalAuthenticationPOOptional = personalAuthenticationDao.findByUserIdAndIsDeleted(userPO.getId(), DeletedStatus.isNotDeleted);
-        if (personalAuthenticationPOOptional.isPresent()) {
-            userResult.setPersonalAuthentication(Converter.convert(PersonalAuthentication.class, personalAuthenticationPOOptional.get()));
-        }
+	@NotNull
+	private User getAuthentication(User user) {
+		/*获取机构认证的信息*/
+//		user = getEvaluationInfo(user);
 
         /*获取企业认证的信息*/
-        EnterpriseAuthenticationPO enterpriseAuthenticationPO = enterpriseAuthenticationDao.findByUserIdAndIsDeleted(userPO.getId(), DeletedStatus.isNotDeleted);
-        if (enterpriseAuthenticationPO != null) {
-            userResult.setEnterpriseAuthentication(Converter.convert(EnterpriseAuthentication.class, enterpriseAuthenticationPO));
-        }
+		this.getEvaluationAgency(user);
+
+		/*获取个人认证的信息*/
+		this.getPersonalAuthInfo(user);
+
+		// 获取个人能力
+        this.getPersonalAbility(user);
+
+		// 获取区域管理员信息
+		this.getRegionalInfo(user);
+
+		//获取系统管理员信息
+		SystemAdministratorToUserPO systemAdministratorToUserPO = systemAdministratorToUserDao.findByUserIdAndIsDeleted(user.getId(), DeletedStatus.isNotDeleted);
+		if (systemAdministratorToUserPO != null) {
+			user.setSystemAdministratorToUser(Converter.convert(SystemAdministratorToUser.class, systemAdministratorToUserPO));
+		}
+		return user;
+	}
+
+	/**
+	 * 获取个人认证的信息
+	 * @param user
+	 */
+	private void getPersonalAuthInfo(User user) {
+		Optional<PersonalAuthenticationPO> personalAuthenticationPOOptional = personalAuthenticationDao.findByUserIdAndIsDeleted(user.getId(), DeletedStatus.isNotDeleted);
+		if (personalAuthenticationPOOptional.isPresent()) {
+			user.setPersonalAuthentication(Converter.convert(PersonalAuthentication.class, personalAuthenticationPOOptional.get()));
+		}
+	}
+
+	private void getEvaluationAgency(User user) {
+		Optional<EvaluationAgencyPO> evaluationAgencyPOOptional = evaluationAgencyDao.findByUserIdAndIsDeleted(user.getId(), DeletedStatus.isNotDeleted);
+		if (evaluationAgencyPOOptional.isPresent()) {
+		    user.setEvaluationAgency(Converter.convert(EvaluationAgency.class, evaluationAgencyPOOptional.get()));
+		}
+	}
+
+	@NotNull
+    private void getPersonalAbility(User user) {
+        Map<String, String> typeMap = testTypeDao.findAll().stream().collect(Collectors.toMap(testTypePO -> testTypePO.getCode(), testTypePO -> testTypePO.getName()));
         //获取用户能力
-        String abilityName="";
-        List<String> codeList=new ArrayList<>();
-        List<String> abailities = new ArrayList<>();
-         if(userPO.getPersonalCompetence()!=null&&!userPO.getPersonalCompetence().trim().equals("")){
-             codeList= Arrays.asList(userPO.getPersonalCompetence().split(","));
-         }
-
-        if(abailities!=null&&!codeList.isEmpty()){
-
-            for (int i = 0; i < abailities.size(); i++) {
-                    abilityName = testTypeDao.findByCode(codeList.get(i)).get().getName();
-                    abailities.add(abilityName);
-                }
-
-            }
-
-        userResult.setPersonAbilities(abailities);
-        this.getRegionalInfo(userPO, userResult);
-
-        //获取系统管理员信息
-        SystemAdministratorToUserPO systemAdministratorToUserPO = systemAdministratorToUserDao.findByUserIdAndIsDeleted(userPO.getId(), DeletedStatus.isNotDeleted);
-        if (systemAdministratorToUserPO != null) {
-            userResult.setSystemAdministratorToUser(Converter.convert(SystemAdministratorToUser.class, systemAdministratorToUserPO));
-        }
-
-        return userResult;
-    }
-
-    private void getRegionalInfo(UserPO userPO, User userResult) {
-        /*获取区域管理员信息*/
-        List<RegionalManagerToRegionalPO> regionalManagerToRegionalPOList = regionalManagerToRegionalDao.findByUserIdAndIsDeleted(userPO.getId(), DeletedStatus.isNotDeleted);
-        if (regionalManagerToRegionalPOList.size() > 0) {
-            List<RegionalManagerToRegional> regionalList = new ArrayList<>();
-            RegionalManager regionalManager = new RegionalManager();
-            regionalManager.setUserId(userPO.getId());
-            for (RegionalManagerToRegionalPO regionalManagerToRegionalPO : regionalManagerToRegionalPOList) {
-                if (regionalManagerToRegionalPO != null) {
-                    regionalManager.setId(regionalManagerToRegionalPO.getId());
-                    /*获取区域管理员管理的区域信息*/
-                    RegionalManagerToRegional regionalResult = Converter.convert(RegionalManagerToRegional.class, regionalManagerToRegionalPO);
-                    regionalList.add(regionalResult);
-                }
-
-            }
-            regionalManager.setRegionalList(regionalList);
-            userResult.setRegionalManager(regionalManager);
-        }
-    }
-
-
-    private User getEvaluationInfo(User userResult) {
-        /*获取测评机构信息*/
-        Optional<EvaluationAgencyPO> evaluationAgencyPOOptional = evaluationAgencyDao.findByUserIdAndIsDeleted(userResult.getId(), DeletedStatus.isNotDeleted);
-        if (evaluationAgencyPOOptional.isPresent()) {
-            EvaluationAgency evaluationAgencyResult = Converter.convert(EvaluationAgency.class, evaluationAgencyPOOptional.get());
-
-            /*获取测评机构能力*/
-            List<EvaluationAgencyAbilityPO> evaluationAgencyAbilityPOList = agencyAbilityDao.findByEvaluationAgencyIdAndIsDeleted(evaluationAgencyResult.getId(), DeletedStatus.isNotDeleted);
-            List<EvaluationAgencyAbility> evaluationAgencyAbilityList = new ArrayList<>();
-            if (evaluationAgencyAbilityPOList.size() != 0) {
-                for (EvaluationAgencyAbilityPO evaluationAgencyAbilityPO : evaluationAgencyAbilityPOList) {
-                    EvaluationAgencyAbility evaluationAgencyAbility = Converter.convert(EvaluationAgencyAbility.class, evaluationAgencyAbilityPO);
-                    evaluationAgencyAbilityList.add(evaluationAgencyAbility);
-                }
-            }
-            evaluationAgencyResult.setEvaluationAgencyAbilityList(evaluationAgencyAbilityList);
-
-            /*获取测评机构资源*/
-            List<EvaluationAgencyResourcePO> evaluationAgencyResourcePOList = agencyResourceDao.findByEvaluationAgencyIdAndIsDeleted(evaluationAgencyResult.getId(), DeletedStatus.isNotDeleted);
-            List<EvaluationAgencyResource> evaluationAgencyResourceList = new ArrayList<>();
-            if (evaluationAgencyResourcePOList.size() != 0) {
-                for (EvaluationAgencyResourcePO evaluationAgencyResourcePO : evaluationAgencyResourcePOList) {
-                    EvaluationAgencyResource evaluationAgencyResource = Converter.convert(EvaluationAgencyResource.class, evaluationAgencyResourcePO);
-                    evaluationAgencyResourceList.add(evaluationAgencyResource);
-                }
-            }
-            evaluationAgencyResult.setEvaluationAgencyResourceList(evaluationAgencyResourceList);
-            userResult.setEvaluationAgency(evaluationAgencyResult);
+        List<String> codeList = new ArrayList<>();
+        if (user.getPersonalCompetence() != null && !user.getPersonalCompetence().trim().equals("")) {
+            codeList = Arrays.asList(user.getPersonalCompetence().split(","));
         }
-        return userResult;
-    }
-
-    public Role getRole(String roleName) {
-        Role role = new Role();
-        BeanUtils.copyProperties(roleDao.findByName(roleName), role);
-        return role;
-    }
-
-    public long getAllUserNum() {
-        return userDao.count();
-    }
-
-    public long getAllAgencyNum() {
-        return evaluationAgencyDao.count();
+		user.setPersonAbilities(codeList.stream().map(typeCode -> typeMap.get(typeCode)).collect(Collectors.toList()));
     }
 
-    public long getAllResourceNum() {
-        return agencyResourceDao.count();
-    }
+    private void getRegionalInfo(User user) {
+		/*获取区域管理员信息*/
+		List<RegionalManagerToRegionalPO> regionalManagerToRegionalPOList = regionalManagerToRegionalDao.findByUserIdAndIsDeleted(user.getId(), DeletedStatus.isNotDeleted);
+		if (regionalManagerToRegionalPOList.size() > 0) {
+			List<RegionalManagerToRegional> regionalList = new ArrayList<>();
+			RegionalManager regionalManager = new RegionalManager();
+			regionalManager.setUserId(user.getId());
+			for (RegionalManagerToRegionalPO regionalManagerToRegionalPO : regionalManagerToRegionalPOList) {
+				if (regionalManagerToRegionalPO != null) {
+					regionalManager.setId(regionalManagerToRegionalPO.getId());
+					/*获取区域管理员管理的区域信息*/
+					RegionalManagerToRegional regionalResult = Converter.convert(RegionalManagerToRegional.class, regionalManagerToRegionalPO);
+					regionalList.add(regionalResult);
+				}
+
+			}
+			regionalManager.setRegionalList(regionalList);
+			user.setRegionalManager(regionalManager);
+		}
+	}
+
+
+	private User getEvaluationInfo(User userResult) {
+		/*获取测评机构信息*/
+		Optional<EvaluationAgencyPO> evaluationAgencyPOOptional = evaluationAgencyDao.findByUserIdAndIsDeleted(userResult.getId(), DeletedStatus.isNotDeleted);
+		if (evaluationAgencyPOOptional.isPresent()) {
+			EvaluationAgency evaluationAgencyResult = Converter.convert(EvaluationAgency.class, evaluationAgencyPOOptional.get());
+
+			/*获取测评机构能力*/
+			List<EvaluationAgencyAbilityPO> evaluationAgencyAbilityPOList = agencyAbilityDao.findByEvaluationAgencyIdAndIsDeleted(evaluationAgencyResult.getId(), DeletedStatus.isNotDeleted);
+			List<EvaluationAgencyAbility> evaluationAgencyAbilityList = new ArrayList<>();
+			if (evaluationAgencyAbilityPOList.size() != 0) {
+				for (EvaluationAgencyAbilityPO evaluationAgencyAbilityPO : evaluationAgencyAbilityPOList) {
+					EvaluationAgencyAbility evaluationAgencyAbility = Converter.convert(EvaluationAgencyAbility.class, evaluationAgencyAbilityPO);
+					evaluationAgencyAbilityList.add(evaluationAgencyAbility);
+				}
+			}
+			evaluationAgencyResult.setEvaluationAgencyAbilityList(evaluationAgencyAbilityList);
+
+			/*获取测评机构资源*/
+			List<EvaluationAgencyResourcePO> evaluationAgencyResourcePOList = agencyResourceDao.findByEvaluationAgencyIdAndIsDeleted(evaluationAgencyResult.getId(), DeletedStatus.isNotDeleted);
+			List<EvaluationAgencyResource> evaluationAgencyResourceList = new ArrayList<>();
+			if (evaluationAgencyResourcePOList.size() != 0) {
+				for (EvaluationAgencyResourcePO evaluationAgencyResourcePO : evaluationAgencyResourcePOList) {
+					EvaluationAgencyResource evaluationAgencyResource = Converter.convert(EvaluationAgencyResource.class, evaluationAgencyResourcePO);
+					evaluationAgencyResourceList.add(evaluationAgencyResource);
+				}
+			}
+			evaluationAgencyResult.setEvaluationAgencyResourceList(evaluationAgencyResourceList);
+			userResult.setEvaluationAgency(evaluationAgencyResult);
+		}
+		return userResult;
+	}
+
+	public Role getRole(String roleName) {
+		Role role = new Role();
+		BeanUtils.copyProperties(roleDao.findByName(roleName), role);
+		return role;
+	}
+
+	public long getAllUserNum() {
+		return userDao.count();
+	}
+
+	public long getAllAgencyNum() {
+		return evaluationAgencyDao.count();
+	}
+
+	public long getAllResourceNum() {
+		return agencyResourceDao.count();
+	}
 }

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

@@ -128,7 +128,7 @@ public class AgencyController extends BaseSearchController {
     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);
+        return agencyService.updateResourceAndAbility(userId, command);
     }
 
     /**

+ 78 - 76
site/src/main/java/com/mooctest/crowd/site/controller/UserController.java

@@ -2,7 +2,10 @@ package com.mooctest.crowd.site.controller;
 
 import com.mooctest.crowd.domain.IpAddress.AddressUtils;
 import com.mooctest.crowd.domain.IpAddress.Area;
-import com.mooctest.crowd.domain.exception.*;
+import com.mooctest.crowd.domain.exception.AccountNotExistException;
+import com.mooctest.crowd.domain.exception.BadRequestException;
+import com.mooctest.crowd.domain.exception.BaseException;
+import com.mooctest.crowd.domain.exception.PasswordErrorException;
 import com.mooctest.crowd.site.annotation.LoginRequired;
 import com.mooctest.crowd.site.annotation.SysAdminRequired;
 import com.mooctest.crowd.site.command.*;
@@ -10,7 +13,6 @@ 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.BaseAuthVO;
-import com.mooctest.crowd.site.data.vo.EnterpriseAuthVO;
 import com.mooctest.crowd.site.data.vo.PersonalAuthVO;
 import com.mooctest.crowd.site.data.vo.UserVO;
 import com.mooctest.crowd.site.service.EnterpriseAuthService;
@@ -233,82 +235,82 @@ public class UserController extends BaseController{
         return userService.getPersonalAuthInfo(userId);
     }
 
-    /**
-     * 获取企业认证信息
-     *
-     * @param userId
-     * @return
-     */
-    @LoginRequired
-    @RequestMapping(value = "/user/{userId}/enterpriseAuth", method = RequestMethod.GET)
-    public EnterpriseAuthVO getEnterpriseAuthInfo(@PathVariable("userId") Long userId) {
-        return userService.getEnterpriseAuthInfo(userId);
-    }
-
-    /**
-     * 申请企业认证接口
-     *
-     * @param userId
-     * @param command
-     * @param result
-     * @param session
-     * @return
-     */
-    @LoginRequired
-    @PostMapping(value = "/user/{userId}/enterpriseAuth")
-    public EnterpriseAuthVO test(@PathVariable("userId") Long userId,
-                                 @Validated @RequestBody ApplyEnterpriseAuthCommand command,
-                                 BindingResult result, HttpSession session){
-//        if (!userId.equals(Long.parseLong((String) session.getAttribute("userId"))))
-//            throw new UnauthorizedException("没有权限对他人账号进行操作!");
+//    /**
+//     * 获取企业认证信息
+//     *
+//     * @param userId
+//     * @return
+//     */
+//    @LoginRequired
+//    @RequestMapping(value = "/user/{userId}/enterpriseAuth", method = RequestMethod.GET)
+//    public EnterpriseAuthVO getEnterpriseAuthInfo(@PathVariable("userId") Long userId) {
+//        return userService.getEnterpriseAuthInfo(userId);
+//    }
+//
+//    /**
+//     * 申请企业认证接口
+//     *
+//     * @param userId
+//     * @param command
+//     * @param result
+//     * @param session
+//     * @return
+//     */
+//    @LoginRequired
+//    @PostMapping(value = "/user/{userId}/enterpriseAuth")
+//    public EnterpriseAuthVO test(@PathVariable("userId") Long userId,
+//                                 @Validated @RequestBody ApplyEnterpriseAuthCommand command,
+//                                 BindingResult result, HttpSession session){
+////        if (!userId.equals(Long.parseLong((String) session.getAttribute("userId"))))
+////            throw new UnauthorizedException("没有权限对他人账号进行操作!");
+////        if (result.hasErrors())
+////            throw new BaseException(result.getFieldError().getDefaultMessage());
+//        System.out.println(command);
+//        return userService.applyEnterpriseAuth(userId, command);
+//    }
+//
+//    /**
+//     * 更新企业认证信息
+//     *
+//     * @param userId
+//     * @param command
+//     * @param result
+//     * @return
+//     */
+//    @LoginRequired
+//    @RequestMapping(value = "/user/{userId}/enterpriseAuth", method = RequestMethod.PUT)
+//    public EnterpriseAuthVO updatePersonalAuthInfo(@PathVariable("userId") Long userId,
+//                                                   @Validated @RequestBody ApplyEnterpriseAuthCommand command,
+//                                                   BindingResult result) {
 //        if (result.hasErrors())
 //            throw new BaseException(result.getFieldError().getDefaultMessage());
-        System.out.println(command);
-        return userService.applyEnterpriseAuth(userId, command);
-    }
-
-    /**
-     * 更新企业认证信息
-     *
-     * @param userId
-     * @param command
-     * @param result
-     * @return
-     */
-    @LoginRequired
-    @RequestMapping(value = "/user/{userId}/enterpriseAuth", method = RequestMethod.PUT)
-    public EnterpriseAuthVO updatePersonalAuthInfo(@PathVariable("userId") Long userId,
-                                                   @Validated @RequestBody ApplyEnterpriseAuthCommand command,
-                                                   BindingResult result) {
-        if (result.hasErrors())
-            throw new BaseException(result.getFieldError().getDefaultMessage());
-        return userService.updateEnterpriseAuthInfo(userId, command);
-    }
-
-    /**
-     * 企业认证:审核通过
-     *
-     * @param userId
-     * @return
-     */
-    @LoginRequired
-    @SysAdminRequired
-    @RequestMapping(value = "/user/{userId}/enterpriseAuth/status/accept", method = RequestMethod.PUT)
-    public EnterpriseAuthVO passEnterpriseAuth(@PathVariable("userId") Long userId) {
-        return userService.passEnterpriseAuth(userId);
-    }
-
-    /**
-     * 企业认证:审核未通过
-     *
-     * @param userId
-     * @return
-     */
-    @LoginRequired
-    @RequestMapping(value = "/user/{userId}/enterpriseAuth/status/reject", method = RequestMethod.PUT)
-    public EnterpriseAuthVO rejectEnterpriseAuth(@PathVariable("userId") Long userId, @RequestBody @Validated AuthRejectCommand command) {
-        return userService.rejectEnterpriseAuth(userId, command.getExplain());
-    }
+//        return userService.updateEnterpriseAuthInfo(userId, command);
+//    }
+//
+//    /**
+//     * 企业认证:审核通过
+//     *
+//     * @param userId
+//     * @return
+//     */
+//    @LoginRequired
+//    @SysAdminRequired
+//    @RequestMapping(value = "/user/{userId}/enterpriseAuth/status/accept", method = RequestMethod.PUT)
+//    public EnterpriseAuthVO passEnterpriseAuth(@PathVariable("userId") Long userId) {
+//        return userService.passEnterpriseAuth(userId);
+//    }
+//
+//    /**
+//     * 企业认证:审核未通过
+//     *
+//     * @param userId
+//     * @return
+//     */
+//    @LoginRequired
+//    @RequestMapping(value = "/user/{userId}/enterpriseAuth/status/reject", method = RequestMethod.PUT)
+//    public EnterpriseAuthVO rejectEnterpriseAuth(@PathVariable("userId") Long userId, @RequestBody @Validated AuthRejectCommand command) {
+//        return userService.rejectEnterpriseAuth(userId, command.getExplain());
+//    }
 
     @LoginRequired
     @SysAdminRequired

+ 0 - 3
site/src/main/java/com/mooctest/crowd/site/data/vo/StatusVO.java

@@ -35,17 +35,14 @@ public class StatusVO {
 
     public void initUserAuthStatus(User user){
         if ((user.getPersonalAuthentication()!=null && user.getPersonalAuthentication().getIsAuthentication()==AuthenticationStatus.isAuthenticated)
-                || (user.getEnterpriseAuthentication()!=null && user.getEnterpriseAuthentication().getIsAuthentication() == AuthenticationStatus.isAuthenticated)
                 || (user.getEvaluationAgency()!=null && user.getEvaluationAgency().getIsAuthentication() == AuthenticationStatus.isAuthenticated)){
             this.setText("审核通过");
             this.setStyle("primary");
         } else if ((user.getPersonalAuthentication()!=null && user.getPersonalAuthentication().getIsAuthentication()==AuthenticationStatus.isAuthenIng)
-                || (user.getEnterpriseAuthentication()!=null && user.getEnterpriseAuthentication().getIsAuthentication() == AuthenticationStatus.isAuthenIng)
                 || (user.getEvaluationAgency()!=null && user.getEvaluationAgency().getIsAuthentication() == AuthenticationStatus.isAuthenIng)){
             this.setText("认证审核中");
             this.setStyle("warning");
         } else if ((user.getPersonalAuthentication()!=null && user.getPersonalAuthentication().getIsAuthentication()==AuthenticationStatus.isNotAuthenticated)
-                || (user.getEnterpriseAuthentication()!=null && user.getEnterpriseAuthentication().getIsAuthentication() == AuthenticationStatus.isNotAuthenticated)
                 || (user.getEvaluationAgency()!=null && user.getEvaluationAgency().getIsAuthentication() == AuthenticationStatus.isNotAuthenticated)) {
             this.setText("审核未通过");
             this.setStyle("danger");

+ 0 - 2
site/src/main/java/com/mooctest/crowd/site/data/vo/UserVO.java

@@ -47,8 +47,6 @@ public class UserVO implements Serializable {
         this.password = "********";
         if (user.getEvaluationAgency() != null) {
             this.authType = "agency";
-        } else if (user.getEnterpriseAuthentication() != null) {
-            this.authType = "enterprise";
         } else if (user.getPersonalAuthentication() != null) {
             this.authType = "personal";
         } else

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

@@ -801,7 +801,7 @@ public class WebMediatorImpl implements ViewMediator {
 
     @Override
     public ProjectDetailsDTO renderProjectDetails(CrowdTestProject project, Long userId) {
-
+        // 获取领域、应用、测试类型code 和 name 的map
         Map<String, String> fieldMap = commonRepo.getFieldCodeNameMap();
         Map<String, String> applicationMap = commonRepo.getApplicationCodeNameMap();
         Map<String, String> testMap = commonRepo.getTypeCodeNameMap();
@@ -870,7 +870,7 @@ public class WebMediatorImpl implements ViewMediator {
         projectDetailsDTO.setProjectDetails(projectVO);
         projectDetailsDTO.setTaskList(taskVOList);
         projectDetailsDTO.setReportList(reportVOList);
-        projectDetailsDTO.setProjectOperationControl(initProjectPermission(project, user));
+        projectDetailsDTO.setProjectOperationControl(this.initProjectPermission(project, user));
         projectDetailsDTO.setProgress(progress);
 
         return projectDetailsDTO;
@@ -932,6 +932,11 @@ public class WebMediatorImpl implements ViewMediator {
 
     @Override
     public TaskDetailsDTO renderTaskDetails(String projectCode, String taskCode, Long userId) {
+        // 获取领域、应用、测试类型code 和 name 的map
+        Map<String, String> fieldMap = commonRepo.getFieldCodeNameMap();
+        Map<String, String> applicationMap = commonRepo.getApplicationCodeNameMap();
+        Map<String, String> testMap = commonRepo.getTypeCodeNameMap();
+
         TaskDetailsDTO taskDetailsDTO = new TaskDetailsDTO();
         CrowdTestProject project = projectRepo.getByProjectCodeAndTaskCode(projectCode, taskCode);
 
@@ -958,7 +963,7 @@ public class WebMediatorImpl implements ViewMediator {
         crowdTestTask.setFieldType(project.getFieldType());
         crowdTestTask.setApplicationType(project.getApplicationType());
 
-//        this.changeTypeByProjectAndTask(project, crowdTestTask, applicationMap, fieldMap, testMap);
+        this.changeTypeByProjectAndTask(project, crowdTestTask, applicationMap, fieldMap, testMap);
         CrowdTaskVO taskVO = new CrowdTaskVO(crowdTestTask);
 
         log.info("renderTaskDetails userId:" + userId);
@@ -1064,8 +1069,8 @@ public class WebMediatorImpl implements ViewMediator {
             userDTO.setAgencyVO(new AgencyVO(user.getEvaluationAgency()));
         if (user.getPersonalAuthentication() != null)
             userDTO.setPersonalAuthVO(new PersonalAuthVO(user.getPersonalAuthentication()));
-        if (user.getEnterpriseAuthentication() != null)
-            userDTO.setEnterpriseAuthVO(new EnterpriseAuthVO(user.getEnterpriseAuthentication()));
+//        if (user.getEnterpriseAuthentication() != null)
+//            userDTO.setEnterpriseAuthVO(new EnterpriseAuthVO(user.getEnterpriseAuthentication()));
         List<PermissionVO> permissionList = new ArrayList<>();
         user.getRoleList().forEach(role -> role.getPermissionList().forEach(permission -> permissionList.add(new PermissionVO(permission))));
         userDTO.setPermissions(permissionList);

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

@@ -30,7 +30,7 @@ public interface AgencyService {
 
     AgencyVO updateAgencyInfo(Long userId, ApplyAgencyAuthCommand command);
 
-    AgencyVO upadteResourceAndAbility(Long userId, AgencyResourceAbilityUpdateCommand command);
+    AgencyVO updateResourceAndAbility(Long userId, AgencyResourceAbilityUpdateCommand command);
 
     List<EvaluationAgencyVO> getAgencyList();
 
@@ -40,7 +40,5 @@ public interface AgencyService {
 
     AgencyVO rejectAuth(Long userId, String explain);
 
-    AgencyVO getAgencyDetails(Long userId);
-
     AgencyDetailVO getAgencyInfoCommon(Long userId);
 }

Plik diff jest za duży
+ 0 - 0
site/src/main/java/com/mooctest/crowd/site/service/UserService.java


+ 14 - 31
site/src/main/java/com/mooctest/crowd/site/service/impl/AgencyServiceImpl.java

@@ -3,7 +3,6 @@ package com.mooctest.crowd.site.service.impl;
 import com.mooctest.crowd.domain.dao.*;
 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.UserTaskCountPO;
 import com.mooctest.crowd.domain.repository.EvaluationAgencyRepo;
@@ -164,10 +163,10 @@ public class AgencyServiceImpl implements AgencyService {
     @Override
     public UserDTO applyAgency(Long userId, ApplyAgencyAuthCommand command) {
         EvaluationAgency agency = command.toAgency();
-        User user = userRepo.getByID(userId);
+        User user = userRepo.getInfoAndEvaluationAgencyByID(userId);
         user.applyAgencyAuthentication(agency);
         user.setEvaluationAgency(agency);
-        return mediator.renderUser(userRepo.saveUser(user));
+        return mediator.renderUser(userRepo.saveEvaluationAgencyByUser(user));
     }
 
     @Override
@@ -192,8 +191,9 @@ public class AgencyServiceImpl implements AgencyService {
         user.setEvaluationAgency(agency);
         user = userRepo.saveUser(user);
         UserDTO userDTO = new UserDTO();
-        userDTO.setUserVO(new UserVO(userRepo.getByID(user.getId())));
-        userDTO.setAgencyVO(new AgencyVO(userRepo.getByID(user.getId()).getEvaluationAgency()));
+        User userByID = userRepo.getByID(user.getId());
+        userDTO.setUserVO(new UserVO(userByID));
+        userDTO.setAgencyVO(new AgencyVO(userByID.getEvaluationAgency()));
         userDTO.getUserVO().setPassword(command.getMobile());
         userDTO.getUserVO().setEmail(command.getEmail());
         return userDTO;
@@ -201,25 +201,23 @@ public class AgencyServiceImpl implements AgencyService {
 
     @Override
     public UserDTO updateAgencyStatus(Long userId, Integer status) {
-        User user = userRepo.getByID(userId);
+        User user = userRepo.getInfoAndEvaluationAgencyByID(userId);
         if (user.getEvaluationAgency() == null)
             throw new BaseException("该用户未申请认证机构");
         user.getEvaluationAgency().setIsAuthentication(status);
-        return mediator.renderUser(userRepo.saveUser(user));
+        return mediator.renderUser(userRepo.saveEvaluationAgencyByUser(user));
     }
 
     @Override
     public AgencyVO updateAgencyInfo(Long userId, ApplyAgencyAuthCommand command) {
-        User user = userRepo.getByID(userId);
-//        evaluationAgencyRepo.moveEvaluationAgencyAbility(user.getEvaluationAgency().getEvaluationAgencyAbilityList());
-//        evaluationAgencyRepo.moveEvaluationAgencyResource(user.getEvaluationAgency().getEvaluationAgencyResourceList());
+        User user = userRepo.getInfoAndEvaluationAgencyByID(userId);
         user.getEvaluationAgency().updateAuthInfo(command.toAgency());
-        return new AgencyVO(userRepo.saveUser(user).getEvaluationAgency());
+        return new AgencyVO(userRepo.saveEvaluationAgencyByUser(user).getEvaluationAgency());
     }
 
     @Override
-    public AgencyVO upadteResourceAndAbility(Long userId, AgencyResourceAbilityUpdateCommand command) {
-        User user = userRepo.getByID(userId);
+    public AgencyVO updateResourceAndAbility(Long userId, AgencyResourceAbilityUpdateCommand command) {
+        User user = userRepo.getInfoAndEvaluationAgencyByID(userId);
         EvaluationAgency agency = user.getEvaluationAgency();
         evaluationAgencyRepo.moveEvaluationAgencyAbility(agency.getEvaluationAgencyAbilityList());
         evaluationAgencyRepo.moveEvaluationAgencyResource(agency.getEvaluationAgencyResourceList());
@@ -256,30 +254,15 @@ public class AgencyServiceImpl implements AgencyService {
             //给接包角色
             user.getRoleList().add(userRepo.getRole(RoleType.AGENCY.getName()));
         }
-        return new AgencyVO(userRepo.saveUser(user).getEvaluationAgency());
+        return new AgencyVO(userRepo.saveEvaluationAgencyByUser(user).getEvaluationAgency());
     }
 
     @Override
     public AgencyVO rejectAuth(Long userId, String explain) {
-        User user = userRepo.getByID(userId);
+        User user = userRepo.getInfoAndEvaluationAgencyByID(userId);
         if (user.getEvaluationAgency() == null)
             throw new BaseException("该用户未申请机构认证!");
         user.getEvaluationAgency().rejectAuthentication(explain);
-        return new AgencyVO(userRepo.saveUser(user).getEvaluationAgency());
+        return new AgencyVO(userRepo.saveEvaluationAgencyByUser(user).getEvaluationAgency());
     }
-
-    @Override
-    public AgencyVO getAgencyDetails(Long userId) {
-        User user = userRepo.getByUserIDJustAgencyInfo(userId);
-        EvaluationAgency agency = user.getEvaluationAgency();
-        if (agency == null)
-            throw new EvaluationAgencyNotExistException("当前用户未申请机构认证");
-        AgencyVO agencyVO = new AgencyVO(user.getEvaluationAgency());
-        UserTaskCount userTaskCount = userRepo.getUserTaskCountByUserId(userId);
-        if (userTaskCount != null) {
-            agencyVO.setTaskCount(userTaskCount.getCount());
-        }
-        return agencyVO;
-    }
-
 }

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

@@ -227,7 +227,7 @@ public class CommonServiceImpl implements CommonService {
 
     @Override
     public Boolean checkCreateProject(Long userId) {
-        User user = userRepo.getByID(userId);
+        User user = userRepo.getInfoAndRolesByID(userId);
         return this.checkIsPart(user);
     }
 
@@ -242,7 +242,7 @@ public class CommonServiceImpl implements CommonService {
 
     @Override
     public Boolean checkAcceptTask(Long userId) {
-        User user = userRepo.getByID(userId);
+        User user = userRepo.getInfoAndRolesByID(userId);
         return this.checkIsAgency(user);
     }
 

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

@@ -206,7 +206,7 @@ public class CrowdProjectServiceImpl implements CrowdProjectService {
     public ProjectDetailsDTO createCrowdProject(CrowdTestProjectCommand command, long userId) {
         // 获取用户所有角色
 //        List<UserToRolePO> userToRole = userToRoleDao.findByUserId(userId);
-        User user = userRepo.getByID(userId);
+        User user = userRepo.getInfoAndRolesByID(userId);
         if (AuthCheckServiceImpl.canCreateProject(user)) {
             CrowdTestProject project = command.toCrowdProject();
             project.setStatus(CrowdTestProjectStatus.HAS_RELEASED);
@@ -293,7 +293,7 @@ public class CrowdProjectServiceImpl implements CrowdProjectService {
 
     @Override
     public List<CrowdTestProject> generateProjectByExcel(Long userId, MultipartFile file) {
-        User user = userRepo.getByID(userId);
+        User user = userRepo.getInfoAndRolesByID(userId);
         List<CrowdTestProject> projects = transferExcel2Projects(file);
         projects.forEach(project -> {
             project.setCode(GenerateFlowCodeUtil.generateProjCode());
@@ -414,7 +414,7 @@ public class CrowdProjectServiceImpl implements CrowdProjectService {
     @Override
     public ProjectDetailsDTO commitProject(String projectCode, Long userId) {
         CrowdTestProject project = projectRepo.getByProjectCodeJustInfo(projectCode);
-        project.commitCrowdTestProject(userRepo.getByID(userId));
+        project.commitCrowdTestProject(userRepo.getInfoAndRolesAndRegionalMangerByID(userId));
         projectRepo.saveCrowdTestProject(project);
         return getProjectDetails(projectCode, userId);
     }
@@ -431,7 +431,7 @@ public class CrowdProjectServiceImpl implements CrowdProjectService {
                 if(taskToUser.getHasReport() == 0){
                     continue;
                 }
-                User user = userRepo.getByID(taskToUser.getUserId());
+                User user = userRepo.getInfoAndRolesByID(taskToUser.getUserId());
 
                 // 对用户判断认证类型 测评机构为2 测试人员为6
                 Optional<UserTaskCountPO> userTaskCountPOOptional = userTaskCountDao.findByUserId(user.getId());
@@ -451,7 +451,7 @@ public class CrowdProjectServiceImpl implements CrowdProjectService {
                     userTaskCountDao.save(userTaskCountPO);
                 }
             }
-            project.finishCrowdTestProject(userRepo.getByID(userId));
+            project.finishCrowdTestProject(userId);
             projectRepo.saveCrowdTestProject(project);
             return getProjectDetails(projectCode, userId);
         }

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

@@ -358,13 +358,13 @@ public class CrowdTaskServiceImpl implements CrowdTaskService {
             isFirstAcceptPeople = true;
         }
 
-        task.receive(userRepo.getByID(userId));
+        task.receive(userId);
         project.setJoinCount(project.getJoinCount() + 1);
 
         // 判断是否为第三方任务,如果是则管理员自身也是一个参与者
         Optional<EndPointPO> endPointPOOptional = endPointDao.findByTaskCode(task.getCode());
         if(endPointPOOptional.isPresent() && isFirstAcceptPeople){
-            task.receive(userRepo.getByID(project.getRegionalManagerId()));
+            task.receive(project.getRegionalManagerId());
             project.setJoinCount(project.getJoinCount() + 1);
         }
 
@@ -388,7 +388,7 @@ public class CrowdTaskServiceImpl implements CrowdTaskService {
         if (userId.equals(project.getRegionalManagerId())) {
             // 区域管理员提交任务
             task.commitByRegionalManager();
-        } else if (AuthCheckServiceImpl.isAgency(userRepo.getByID(userId))) {
+        } else if (AuthCheckServiceImpl.isAgency(userRepo.getInfoAndRolesAndRegionalMangerByID(userId))) {
             // 测评机构提交任务
             task.commitByAgency(taskCode, userId);
         }

Plik diff jest za duży
+ 0 - 0
site/src/main/java/com/mooctest/crowd/site/service/impl/UserServiceImpl.java


Niektóre pliki nie zostały wyświetlone z powodu dużej ilości zmienionych plików