Просмотр исходного кода

"增加测评机构对资源和能力的操作"

guochao 6 лет назад
Родитель
Сommit
7e0616483b

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

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

+ 0 - 5
site/src/main/java/com/mooctest/crowd/site/controller/TestController.java

@@ -56,11 +56,6 @@ public class TestController {
         return FileUtil.checkFile(file.getInputStream());
     }
 
-    @RequestMapping(value = "/test/excel", method = RequestMethod.POST)
-    public Object excelTest(MultipartFile file) throws IOException {
-        return projectService.importMultiProjectsByExcel(file);
-    }
-
     @RequestMapping(value = "/session/put", method = RequestMethod.GET)
     public Object sessionTest(HttpServletRequest request) {
         request.getSession().setAttribute("test", 456);

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

@@ -24,5 +24,7 @@ public interface CrowdProjectService {
 
     ProjectDetailsDTO generateProjectWithData(GenerateProjectCommand command);
 
-    List<ProjectDetailsDTO> importMultiProjectsByExcel(MultipartFile file);
+    List<ProjectDetailsDTO> importMultiProjectsByExcel(List<CrowdTestProject> projects);
+
+    List<CrowdTestProject> generateProjectByExcel(MultipartFile file);
 }

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

@@ -121,8 +121,16 @@ public class CrowdProjectServiceImpl implements CrowdProjectService {
     }
 
     @Override
-    public List<ProjectDetailsDTO> importMultiProjectsByExcel(MultipartFile file) {
+    public List<ProjectDetailsDTO> importMultiProjectsByExcel(List<CrowdTestProject> projects) {
         List<ProjectDetailsDTO> dtos = new ArrayList<>();
+        projects.forEach(project -> {
+            projectRepo.saveCrowdTestProject(project);
+            dtos.add(getProjectDetails(project.getCode()));
+        });
+        return dtos;
+    }
+
+    public List<CrowdTestProject> generateProjectByExcel(MultipartFile file){
         List<CrowdTestProject> projects = transferExcel2Projects(file);
         projects.forEach(project -> {
             project.setCode(GenerateFlowCodeUtil.generateProjCode());
@@ -139,10 +147,8 @@ public class CrowdProjectServiceImpl implements CrowdProjectService {
             task.setFixedPrice(project.getFixedPrice());
             tasks.add(task);
             project.setCrowdTestTaskList(tasks);
-            projectRepo.saveCrowdTestProject(project);
-            dtos.add(getProjectDetails(project.getCode()));
         });
-        return dtos;
+        return projects;
     }
 
     private List<CrowdTestProject> transferExcel2Projects(MultipartFile file){

+ 0 - 0
tool4deploy/Dockerfile