|
@@ -2,19 +2,28 @@ package com.mooctest.crowd.site.service.impl;
|
|
|
|
|
|
import com.mooctest.crowd.domain.domainobject.CrowdTestProject;
|
|
|
import com.mooctest.crowd.domain.domainobject.CrowdTestProjectStatus;
|
|
|
+import com.mooctest.crowd.domain.domainobject.CrowdTestTask;
|
|
|
import com.mooctest.crowd.domain.exception.BaseException;
|
|
|
+import com.mooctest.crowd.domain.factory.CrowdTestProjectFactory;
|
|
|
import com.mooctest.crowd.domain.repository.CrowdTestProjectRepo;
|
|
|
import com.mooctest.crowd.site.command.CrowdTestProjectCommand;
|
|
|
+import com.mooctest.crowd.site.command.GenerateProjectCommand;
|
|
|
import com.mooctest.crowd.site.data.dto.ProjectDetailsDTO;
|
|
|
import com.mooctest.crowd.site.data.enums.ProjectType;
|
|
|
import com.mooctest.crowd.site.data.vo.CrowdProjectVO;
|
|
|
import com.mooctest.crowd.site.mediator.OperationMediator;
|
|
|
import com.mooctest.crowd.site.mediator.ViewMediator;
|
|
|
import com.mooctest.crowd.site.service.CrowdProjectService;
|
|
|
+import com.mooctest.crowd.site.util.FileUtil;
|
|
|
import com.mooctest.crowd.site.util.GenerateFlowCodeUtil;
|
|
|
+import com.sun.deploy.util.GeneralUtil;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
+import org.springframework.web.multipart.MultipartFile;
|
|
|
+
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.List;
|
|
|
|
|
|
/**
|
|
|
* @author: Diors.Po
|
|
@@ -34,8 +43,6 @@ public class CrowdProjectServiceImpl implements CrowdProjectService {
|
|
|
@Autowired
|
|
|
private OperationMediator operationMediator;
|
|
|
|
|
|
- @Autowired
|
|
|
- private GenerateFlowCodeUtil codeUtil;
|
|
|
|
|
|
@Override
|
|
|
public ProjectDetailsDTO getProjectDetails(String projectCode) {
|
|
@@ -47,7 +54,7 @@ public class CrowdProjectServiceImpl implements CrowdProjectService {
|
|
|
CrowdTestProject project = command.toCrowdProject();
|
|
|
project.setStatus(CrowdTestProjectStatus.HAS_CREATED);
|
|
|
log.info("\n"+project.toString()+"\n");
|
|
|
- String projectCode = codeUtil.generateFlowCode("PROJ-");
|
|
|
+ String projectCode = GenerateFlowCodeUtil.generateFlowCode("PROJ");
|
|
|
project.setCode(projectCode);
|
|
|
ProjectDetailsDTO projectDetailsDTO = new ProjectDetailsDTO();
|
|
|
projectRepo.saveCrowdTestProject(project);
|
|
@@ -74,4 +81,36 @@ public class CrowdProjectServiceImpl implements CrowdProjectService {
|
|
|
throw new BaseException("没有权限");
|
|
|
projectRepo.deleteByProjectId(projectId);
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public ProjectDetailsDTO generateProjectWithData(GenerateProjectCommand command) {
|
|
|
+ CrowdTestProject project = command.toCrowdProject();
|
|
|
+ project.setCode(GenerateFlowCodeUtil.generateProjCode());
|
|
|
+ List<CrowdTestTask> tasks = new ArrayList<>();
|
|
|
+ command.getType().forEach(integer -> {
|
|
|
+ CrowdTestTask task = CrowdTestProjectFactory.defaultFinishedCrowdTask();
|
|
|
+ task.setType(integer);
|
|
|
+ task.setCode(GenerateFlowCodeUtil.generateTaskCode(ProjectType.getCode(integer)));
|
|
|
+ task.setCrowdTestProjectCode(project.getCode());
|
|
|
+ task.setEndTime(command.getDatetime());
|
|
|
+ task.setDeadTime(command.getDatetime());
|
|
|
+ task.setRequirementFile(command.getFile());
|
|
|
+ task.setName(command.getName()+"-"+ProjectType.getName(integer));
|
|
|
+ task.setQuotedPrice(command.getPrice()/command.getType().size());
|
|
|
+ task.setFixedPrice(command.getPrice()/command.getType().size());
|
|
|
+ tasks.add(task);
|
|
|
+ });
|
|
|
+ project.setCrowdTestTaskList(tasks);
|
|
|
+ projectRepo.saveCrowdTestProject(project);
|
|
|
+ log.info(project.toString());
|
|
|
+ return getProjectDetails(project.getCode());
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List<ProjectDetailsDTO> importMultiProjectsByExcel(MultipartFile file) {
|
|
|
+ List<CrowdTestProject> projects = FileUtil.importExcel(file, 0, 1, CrowdTestProject.class);
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
}
|