|
@@ -1,8 +1,6 @@
|
|
|
package com.mooctest.crowd.domain.controller;
|
|
|
|
|
|
-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.domainobject.*;
|
|
|
import com.mooctest.crowd.domain.repository.CrowdTestProjectRepo;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.web.bind.annotation.PathVariable;
|
|
@@ -11,7 +9,7 @@ import org.springframework.web.bind.annotation.RequestMethod;
|
|
|
import org.springframework.web.bind.annotation.RestController;
|
|
|
|
|
|
import java.sql.Timestamp;
|
|
|
-import java.util.ArrayList;
|
|
|
+import java.util.Date;
|
|
|
import java.util.List;
|
|
|
|
|
|
/**
|
|
@@ -32,6 +30,12 @@ public class CrowdTestProjectController {
|
|
|
return crowdTestProject.toString();
|
|
|
}
|
|
|
|
|
|
+ @RequestMapping(value = "findByProjectCode/{crowdTestProjectCode}", method = RequestMethod.GET)
|
|
|
+ public String getCrowdTestProjectByProjectCode(@PathVariable("crowdTestProjectCode") String crowdTestProjectCode){
|
|
|
+ CrowdTestProject crowdTestProject = crowdTestProjectRepo.getByProjectCode(crowdTestProjectCode);
|
|
|
+ return crowdTestProject.toString();
|
|
|
+ }
|
|
|
+
|
|
|
@RequestMapping(value = "findByUserId/{userId}", method = RequestMethod.GET)
|
|
|
public String getAllCrowdTestProjectByUserId(@PathVariable("userId") Long userId){
|
|
|
List<CrowdTestProject> allCrowdTestProject = crowdTestProjectRepo.getCrowdListByUserId(userId);
|
|
@@ -50,42 +54,86 @@ public class CrowdTestProjectController {
|
|
|
return allCrowdTestProject.toString();
|
|
|
}
|
|
|
|
|
|
- @RequestMapping(value = "createProject/{userId}/{regionalManagerId}", method = RequestMethod.GET)
|
|
|
- public String createCrowdTestProject(@PathVariable("userId") Long userId,@PathVariable("regionalManagerId") Long regionalManagerId){
|
|
|
+ /**
|
|
|
+ * 新建项目
|
|
|
+ * @param userId
|
|
|
+ * @param regionalManagerId
|
|
|
+ * @param projectName
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @RequestMapping(value = "createProject/{userId}/{regionalManagerId}/{projectName}", method = RequestMethod.GET)
|
|
|
+ public String createCrowdTestProject(@PathVariable("userId") Long userId,@PathVariable("regionalManagerId") Long regionalManagerId,@PathVariable("projectName") String projectName){
|
|
|
CrowdTestProject crowdTestProject = new CrowdTestProject();
|
|
|
+ crowdTestProject.setCode(projectName+"_"+System.currentTimeMillis());
|
|
|
crowdTestProject.setUserId(userId);
|
|
|
- crowdTestProject.setName("众包项目");
|
|
|
+ crowdTestProject.setName(projectName);
|
|
|
crowdTestProject.setRegionalManagerId(regionalManagerId);
|
|
|
crowdTestProject.setProjectDistributionTypeId(1L);
|
|
|
+ crowdTestProject.setLinkMan("郭超");
|
|
|
+ crowdTestProject.setLinkManMobile("13657094936");
|
|
|
crowdTestProject.setQuotedPrice(200.00);
|
|
|
crowdTestProject.setStatus(CrowdTestProjectStatus.CREATED);
|
|
|
+ crowdTestProject.setDeadTime(new Timestamp(getNextDay(new Date(System.currentTimeMillis())).getTime()));
|
|
|
crowdTestProject.setCreateTime(new Timestamp(System.currentTimeMillis()));
|
|
|
-// CrowdTestProject saveResult = crowdTestProjectRepo.saveCreateCrowdTestProject(crowdTestProject);
|
|
|
-// return saveResult.toString();
|
|
|
-
|
|
|
- crowdTestProjectRepo.saveCrowdTestProjectAndCrowdTestTask(crowdTestProject);
|
|
|
- return "success";
|
|
|
+ CrowdTestProject saveResult = crowdTestProjectRepo.saveCreateCrowdTestProject(crowdTestProject);
|
|
|
+ return saveResult.toString();
|
|
|
}
|
|
|
|
|
|
|
|
|
- @RequestMapping(value = "createTask/{crowdTestProjectId}/{taskName}", method = RequestMethod.GET)
|
|
|
- public String createCrowdTestProject(@PathVariable("crowdTestProjectId") Long crowdTestProjectId,@PathVariable("taskName") String taskName){
|
|
|
- CrowdTestProject crowdTestProject = crowdTestProjectRepo.getByID(crowdTestProjectId);
|
|
|
-
|
|
|
+ /**
|
|
|
+ * 项目中新建任务
|
|
|
+ * @param crowdTestProjectCode
|
|
|
+ * @param taskName
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @RequestMapping(value = "createTask/{crowdTestProjectCode}/{taskName}", method = RequestMethod.GET)
|
|
|
+ public String createCrowdTestTask(@PathVariable("crowdTestProjectCode") String crowdTestProjectCode,@PathVariable("taskName") String taskName){
|
|
|
CrowdTestTask crowdTestTask = new CrowdTestTask();
|
|
|
+ crowdTestTask.setCode(crowdTestProjectCode+"_"+taskName+"_"+System.currentTimeMillis());
|
|
|
crowdTestTask.setName(taskName);
|
|
|
- crowdTestTask.setCrowdTestProjectId(crowdTestProjectId);
|
|
|
+ crowdTestTask.setCrowdTestProjectCode(crowdTestProjectCode);
|
|
|
crowdTestTask.setEvaluationAgencyId(1L);
|
|
|
crowdTestTask.setQuotedPrice(200.00);
|
|
|
crowdTestTask.setStatus(CrowdTestProjectStatus.CREATED);
|
|
|
+ crowdTestTask.setDeadTime(new Timestamp(getNextDay(new Date(System.currentTimeMillis())).getTime()));
|
|
|
crowdTestTask.setCreateTime(new Timestamp(System.currentTimeMillis()));
|
|
|
+ crowdTestProjectRepo.saveCreateCrowdTestTask(crowdTestProjectCode, crowdTestTask);
|
|
|
+ return "success";
|
|
|
+ }
|
|
|
|
|
|
- ArrayList<CrowdTestTask> crowdTestTasks = new ArrayList<>();
|
|
|
- crowdTestTasks.add(crowdTestTask);
|
|
|
-
|
|
|
- crowdTestProject.setCrowdTestTaskList(crowdTestTasks);
|
|
|
- crowdTestProjectRepo.saveCrowdTestProjectAndCrowdTestTask(crowdTestProject);
|
|
|
+ /**
|
|
|
+ * 项目的任务中新建报告
|
|
|
+ * @param crowdTestProjectCode
|
|
|
+ * @param reportName
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @RequestMapping(value = "createReport/{crowdTestProjectCode}/{crowdTestTaskCode}/{reportName}", method = RequestMethod.GET)
|
|
|
+ public String createCrowdTestReport(@PathVariable("crowdTestProjectCode") String crowdTestProjectCode,@PathVariable("reportName") String reportName,
|
|
|
+ @PathVariable("crowdTestTaskCode") String crowdTestTaskCode){
|
|
|
+
|
|
|
+ CrowdTestReport crowdTestReport = new CrowdTestReport();
|
|
|
+ crowdTestReport.setCode(crowdTestProjectCode+crowdTestTaskCode+"_"+reportName+"_"+System.currentTimeMillis());
|
|
|
+ crowdTestReport.setName(reportName);
|
|
|
+ crowdTestReport.setCrowdTestTaskCode(crowdTestTaskCode);
|
|
|
+ crowdTestReport.setStatus(CrowdTestReportStatus.CREATED);
|
|
|
+ crowdTestReport.setCreateTime(new Timestamp(System.currentTimeMillis()));
|
|
|
+
|
|
|
+ crowdTestProjectRepo.saveCreateCrowdTestReport(crowdTestProjectCode,crowdTestTaskCode,crowdTestReport);
|
|
|
return "success";
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 计算指定时间的下一天
|
|
|
+ * @param date 指定时间
|
|
|
+ * @return 指定时间的下一天
|
|
|
+ */
|
|
|
+ private static Date getNextDay(Date date){
|
|
|
+ long addTime=1; //计算相关的时间间隔
|
|
|
+ addTime*=1;
|
|
|
+ addTime*=24*3600*1000;
|
|
|
+ Date nextDate=new Date(date.getTime()+addTime); //把时间间隔转换为毫秒数
|
|
|
+ return nextDate;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
}
|