|
|
@@ -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());
|