|
@@ -34,6 +34,7 @@ import java.util.List;
|
|
|
import java.util.regex.Matcher;
|
|
|
import java.util.regex.Pattern;
|
|
|
import java.util.regex.PatternSyntaxException;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
* @author: Diors.Po
|
|
@@ -215,6 +216,51 @@ public class CrowdProjectServiceImpl implements CrowdProjectService {
|
|
|
return getProjectDetails(projectCode, userId);
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public boolean modifyData(String projectCode) {
|
|
|
+ CrowdTestProject project = projectRepo.getByProjectCode(projectCode);
|
|
|
+ if(project.getStatus() == CrowdTestProjectStatus.HAS_FINISHED && project.getLinkMan().contains("先生")){
|
|
|
+ project.setRestPrice(0.00);
|
|
|
+ project.setJoinCount(1);
|
|
|
+ project.getCrowdTestTaskList().stream()
|
|
|
+ .filter(crowdTestTask -> crowdTestTask.getStatus() == CrowdTestTaskStatus.HAS_FINISHED)
|
|
|
+ .map(crowdTestTask -> {
|
|
|
+ crowdTestTask.setParticipantCount(1);
|
|
|
+ crowdTestTask.setAcceptedCount(1);
|
|
|
+ crowdTestTask.setParticipantHasCommittedCount(1);
|
|
|
+ crowdTestTask.setFullStatus(1);
|
|
|
+ TaskToUser taskToUser = new TaskToUser();
|
|
|
+ taskToUser.setValue(crowdTestTask.getCode(), crowdTestTask.getEvaluationAgencyId(), crowdTestTask.getQuotedPrice(),
|
|
|
+ 1,crowdTestTask.getDistributionType(), 1, crowdTestTask.getCreateTime());
|
|
|
+ taskToUser.setCommitReportTime(crowdTestTask.getCreateTime());
|
|
|
+ taskToUser.setIsCommitted(1);
|
|
|
+ taskToUser.setCommitTaskTime(crowdTestTask.getCreateTime());
|
|
|
+ List<CrowdTestReport> reportList = projectRepo.getCrowdTestReportByCrowdTestTask(crowdTestTask.getCode());
|
|
|
+ List<CrowdTestReport> testReportList = reportList.stream().peek(crowdTestReport -> crowdTestReport.setUserId(crowdTestTask.getEvaluationAgencyId())).collect(Collectors.toList());
|
|
|
+ taskToUser.setCrowdTestReportList(testReportList);
|
|
|
+ crowdTestTask.getAcceptedUserList().add(taskToUser);
|
|
|
+ return crowdTestTask;
|
|
|
+ }).collect(Collectors.toList());
|
|
|
+ List<CrowdTestReport> reportList = projectRepo.getCrowdTestReportByCrowdTestTask(project.getCode()).stream().peek(crowdTestReport -> crowdTestReport.setUserId(project.getRegionalManagerId())).collect(Collectors.toList());
|
|
|
+ project.setCrowdTestReportForProject(reportList.get(0));
|
|
|
+
|
|
|
+ }else{
|
|
|
+ project.setIsDeleted(1);
|
|
|
+ project.getCrowdTestTaskList().stream().peek(crowdTestTask -> crowdTestTask.setIsDeleted(1)).collect(Collectors.toList());
|
|
|
+ }
|
|
|
+ projectRepo.saveCrowdTestProject(project);
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public boolean modifyAllData(){
|
|
|
+ List<CrowdTestProject> projectList = projectRepo.getAllCrowdTestProject();
|
|
|
+ for(CrowdTestProject crowdTestProject : projectList){
|
|
|
+ modifyData(crowdTestProject.getCode());
|
|
|
+ }
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+
|
|
|
private List<CrowdTestProject> transferExcel2Projects(MultipartFile file){
|
|
|
List<String> logList = new ArrayList<>();
|
|
|
List<CrowdTestProject> projects = new ArrayList<>();
|