|
@@ -6,10 +6,13 @@ import com.mooctest.crowd.domain.exception.BaseException;
|
|
import com.mooctest.crowd.domain.repository.CrowdTestProjectRepo;
|
|
import com.mooctest.crowd.domain.repository.CrowdTestProjectRepo;
|
|
import com.mooctest.crowd.site.command.ProjectDetailsCommand;
|
|
import com.mooctest.crowd.site.command.ProjectDetailsCommand;
|
|
import com.mooctest.crowd.site.data.dto.ProjectDetailsDTO;
|
|
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.data.vo.CrowdProjectVO;
|
|
import com.mooctest.crowd.site.mediator.OperationMediator;
|
|
import com.mooctest.crowd.site.mediator.OperationMediator;
|
|
import com.mooctest.crowd.site.mediator.ViewMediator;
|
|
import com.mooctest.crowd.site.mediator.ViewMediator;
|
|
import com.mooctest.crowd.site.service.CrowdProjectService;
|
|
import com.mooctest.crowd.site.service.CrowdProjectService;
|
|
|
|
+import com.mooctest.crowd.site.util.GenerateFlowCodeUtil;
|
|
|
|
+import lombok.extern.slf4j.Slf4j;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
@@ -18,6 +21,7 @@ import org.springframework.stereotype.Service;
|
|
* @Email: 171256175@qq.com
|
|
* @Email: 171256175@qq.com
|
|
* @date 2019-07-29 10:51
|
|
* @date 2019-07-29 10:51
|
|
*/
|
|
*/
|
|
|
|
+@Slf4j
|
|
@Service
|
|
@Service
|
|
public class CrowdProjectServiceImpl implements CrowdProjectService {
|
|
public class CrowdProjectServiceImpl implements CrowdProjectService {
|
|
|
|
|
|
@@ -30,28 +34,34 @@ public class CrowdProjectServiceImpl implements CrowdProjectService {
|
|
@Autowired
|
|
@Autowired
|
|
private OperationMediator operationMediator;
|
|
private OperationMediator operationMediator;
|
|
|
|
|
|
|
|
+ @Autowired
|
|
|
|
+ private GenerateFlowCodeUtil codeUtil;
|
|
|
|
+
|
|
@Override
|
|
@Override
|
|
- public ProjectDetailsDTO getProjectDetails(Long projectId) {
|
|
|
|
- return viewMediator.renderProjectDetails(projectRepo.getByID(projectId));
|
|
|
|
|
|
+ public ProjectDetailsDTO getProjectDetails(String projectCode) {
|
|
|
|
+ return viewMediator.renderProjectDetails(projectRepo.getByProjectCode(projectCode));
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public ProjectDetailsDTO createCrowdProject(ProjectDetailsCommand command) {
|
|
public ProjectDetailsDTO createCrowdProject(ProjectDetailsCommand command) {
|
|
CrowdTestProject project = command.toCrowdProject();
|
|
CrowdTestProject project = command.toCrowdProject();
|
|
project.setStatus(CrowdTestProjectStatus.CREATED);
|
|
project.setStatus(CrowdTestProjectStatus.CREATED);
|
|
|
|
+ log.info("\n"+project.toString()+"\n");
|
|
|
|
+ String projectCode = codeUtil.generateFlowCode(ProjectType.getCode(new Integer(command.getType())));
|
|
|
|
+ project.setCode(projectCode);
|
|
ProjectDetailsDTO projectDetailsDTO = new ProjectDetailsDTO();
|
|
ProjectDetailsDTO projectDetailsDTO = new ProjectDetailsDTO();
|
|
projectDetailsDTO.setProjectDetails(new CrowdProjectVO(projectRepo.saveCreateCrowdTestProject(project)));
|
|
projectDetailsDTO.setProjectDetails(new CrowdProjectVO(projectRepo.saveCreateCrowdTestProject(project)));
|
|
return projectDetailsDTO;
|
|
return projectDetailsDTO;
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
- public ProjectDetailsDTO updateProject(Long projectId, ProjectDetailsCommand projectDetailsCommand) {
|
|
|
|
- CrowdTestProject project = projectRepo.getByID(projectId);
|
|
|
|
|
|
+ public ProjectDetailsDTO updateProject(String projectCode, ProjectDetailsCommand projectDetailsCommand) {
|
|
|
|
+ CrowdTestProject project = projectRepo.getByProjectCode(projectCode);
|
|
if (project.getUserId() != projectDetailsCommand.getUserId())
|
|
if (project.getUserId() != projectDetailsCommand.getUserId())
|
|
throw new BaseException("UserId不一致");
|
|
throw new BaseException("UserId不一致");
|
|
//todo 后面需要加入是否有权限进行更新
|
|
//todo 后面需要加入是否有权限进行更新
|
|
projectRepo.saveCreateCrowdTestProject(operationMediator.updateProject(project, projectDetailsCommand));
|
|
projectRepo.saveCreateCrowdTestProject(operationMediator.updateProject(project, projectDetailsCommand));
|
|
- return getProjectDetails(projectId);
|
|
|
|
|
|
+ return getProjectDetails(projectCode);
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|