فهرست منبع

绿色通道创建项目,指定用户Id

xuexiaobo 6 سال پیش
والد
کامیت
8475782e34

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

@@ -65,7 +65,7 @@ public class GenerateProjectCommand {
         CrowdTestProject crowdTestProject = CrowdTestProjectFactory.createCrowdTestProject();
         crowdTestProject.setName(this.name);
         if (userId == null)
-            userId = 0L;
+            userId = 1L;
         crowdTestProject.setUserId(userId);
         crowdTestProject.setLinkMan(this.contactName);
         crowdTestProject.setLinkManMobile(this.contactPhone);

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

@@ -99,15 +99,15 @@ public class CrowdProjectController {
      * @param file
      * @return
      */
-    @RequestMapping(value = "/api/greenChannel/excel/projects", method = RequestMethod.POST)
-    public List<CrowdTestProject> parseExcel2Projects(MultipartFile file){
+    @RequestMapping(value = "/api/greenChannel/excel/{userId}/projects", method = RequestMethod.POST)
+    public List<CrowdTestProject> parseExcel2Projects(@PathVariable("userId")Long userId, MultipartFile file){
         try {
             if (!FileUtil.checkExcel(file.getInputStream()))
                 throw new BadRequestException("请上传Excel文件,xls/xlsx");
         } catch (IOException e) {
             e.printStackTrace();
         }
-        return projectService.generateProjectByExcel(file);
+        return projectService.generateProjectByExcel(userId, file);
     }
 
     /**

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

@@ -26,5 +26,5 @@ public interface CrowdProjectService {
 
     List<ProjectDetailsDTO> importMultiProjectsByExcel(List<CrowdTestProject> projects);
 
-    List<CrowdTestProject> generateProjectByExcel(MultipartFile file);
+    List<CrowdTestProject> generateProjectByExcel(Long userId, MultipartFile file);
 }

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

@@ -2,15 +2,13 @@ package com.mooctest.crowd.site.service.impl;
 
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
-import com.mooctest.crowd.domain.domainobject.CrowdTestProject;
-import com.mooctest.crowd.domain.domainobject.CrowdTestProjectStatus;
-import com.mooctest.crowd.domain.domainobject.CrowdTestReport;
-import com.mooctest.crowd.domain.domainobject.CrowdTestTask;
+import com.mooctest.crowd.domain.domainobject.*;
 import com.mooctest.crowd.domain.exception.BadRequestException;
 import com.mooctest.crowd.domain.exception.BaseException;
 import com.mooctest.crowd.domain.exception.Excel2ProjectException;
 import com.mooctest.crowd.domain.factory.CrowdTestProjectFactory;
 import com.mooctest.crowd.domain.repository.CrowdTestProjectRepo;
+import com.mooctest.crowd.domain.repository.UserRepo;
 import com.mooctest.crowd.site.command.CrowdTestProjectCommand;
 import com.mooctest.crowd.site.command.GenerateProjectCommand;
 import com.mooctest.crowd.site.data.dto.ProjectDetailsDTO;
@@ -51,6 +49,9 @@ public class CrowdProjectServiceImpl implements CrowdProjectService {
     private CrowdTestProjectRepo projectRepo;
 
     @Autowired
+    private UserRepo userRepo;
+
+    @Autowired
     private OperationMediator operationMediator;
 
 
@@ -132,10 +133,12 @@ public class CrowdProjectServiceImpl implements CrowdProjectService {
     }
 
     @Override
-    public List<CrowdTestProject> generateProjectByExcel(MultipartFile file){
+    public List<CrowdTestProject> generateProjectByExcel(Long userId, MultipartFile file){
+        User user = userRepo.getByID(userId);
         List<CrowdTestProject> projects = transferExcel2Projects(file);
         projects.forEach(project -> {
             project.setCode(GenerateFlowCodeUtil.generateProjCode());
+            project.setUserId(userId);
             List<CrowdTestTask> tasks = new ArrayList<>();
             CrowdTestTask task = CrowdTestProjectFactory.defaultFinishedCrowdTask();
             task.setType(((List<String>) JSONArray.parse(project.getType())).get(0));
@@ -148,6 +151,10 @@ public class CrowdProjectServiceImpl implements CrowdProjectService {
             task.setQuotedPrice(project.getQuotedPrice());
             task.setFixedPrice(project.getFixedPrice());
             task.setDescription(project.getDescription());
+            if (user.getEvaluationAgency()==null)
+                task.setEvaluationAgencyId(1L);
+            else
+                task.setEvaluationAgencyId(user.getEvaluationAgency().getId());
             tasks.add(task);
             project.setCrowdTestTaskList(tasks);
             project.getCrowdTestReportForProject().setCode(GenerateFlowCodeUtil.generateReportCode());