|
@@ -1,13 +1,10 @@
|
|
|
package com.mooctest.crowd.domain.domainobject;
|
|
|
|
|
|
-import com.mooctest.crowd.domain.exception.CrowdTestProjectNotExistException;
|
|
|
-import com.mooctest.crowd.domain.exception.CrowdTestReportNotExistException;
|
|
|
-import com.mooctest.crowd.domain.exception.CrowdTestTaskNoPriceException;
|
|
|
-import com.mooctest.crowd.domain.exception.CrowdTestTaskNotExistException;
|
|
|
-import com.mooctest.crowd.domain.repository.CrowdTestProjectRepo;
|
|
|
+import com.google.gson.Gson;
|
|
|
import lombok.Data;
|
|
|
|
|
|
import java.sql.Timestamp;
|
|
|
+import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
|
|
|
|
/**
|
|
@@ -19,26 +16,25 @@ public class CrowdTestProject {
|
|
|
|
|
|
private Long id;
|
|
|
private String name;
|
|
|
+ private String code;
|
|
|
private Long userId;
|
|
|
private Long regionalManagerId;
|
|
|
private Long projectDistributionTypeId;
|
|
|
- private String description;
|
|
|
- private String projectFile;
|
|
|
- private String requirementFile;
|
|
|
- private Double quotedPrice;
|
|
|
- private Double fixedPrice;
|
|
|
- private String status;
|
|
|
- private Timestamp createTime;
|
|
|
-
|
|
|
private String platform;
|
|
|
private String linkMan;
|
|
|
private String linkManMobile;
|
|
|
private String type;
|
|
|
+ private String description;
|
|
|
+ private String projectFile;
|
|
|
+ private String requirementFile;
|
|
|
private String distributionProvince;
|
|
|
private String distributionCity;
|
|
|
+ private Double quotedPrice;
|
|
|
+ private Double fixedPrice;
|
|
|
+ private String status;
|
|
|
private Timestamp deadTime;
|
|
|
private Timestamp endTime;
|
|
|
- private String code;
|
|
|
+ private Timestamp createTime;
|
|
|
|
|
|
private List<CrowdTestTask> crowdTestTaskList;
|
|
|
|
|
@@ -47,135 +43,208 @@ public class CrowdTestProject {
|
|
|
return "CrowdTestProject{" +
|
|
|
"id=" + id +
|
|
|
", name='" + name + '\'' +
|
|
|
+ ", code='" + code + '\'' +
|
|
|
", userId=" + userId +
|
|
|
", regionalManagerId=" + regionalManagerId +
|
|
|
", projectDistributionTypeId=" + projectDistributionTypeId +
|
|
|
- ", description='" + description + '\'' +
|
|
|
- ", projectFile='" + projectFile + '\'' +
|
|
|
- ", requirementFile='" + requirementFile + '\'' +
|
|
|
- ", quotedPrice=" + quotedPrice +
|
|
|
- ", fixedPrice=" + fixedPrice +
|
|
|
- ", status='" + status + '\'' +
|
|
|
- ", createTime=" + createTime +
|
|
|
", platform='" + platform + '\'' +
|
|
|
", linkMan='" + linkMan + '\'' +
|
|
|
", linkManMobile='" + linkManMobile + '\'' +
|
|
|
", type='" + type + '\'' +
|
|
|
+ ", description='" + description + '\'' +
|
|
|
+ ", projectFile='" + projectFile + '\'' +
|
|
|
+ ", requirementFile='" + requirementFile + '\'' +
|
|
|
", distributionProvince='" + distributionProvince + '\'' +
|
|
|
", distributionCity='" + distributionCity + '\'' +
|
|
|
+ ", quotedPrice=" + quotedPrice +
|
|
|
+ ", fixedPrice=" + fixedPrice +
|
|
|
+ ", status='" + status + '\'' +
|
|
|
", deadTime=" + deadTime +
|
|
|
", endTime=" + endTime +
|
|
|
- ", code='" + code + '\'' +
|
|
|
+ ", createTime=" + createTime +
|
|
|
", crowdTestTaskList=" + crowdTestTaskList +
|
|
|
'}';
|
|
|
}
|
|
|
|
|
|
- public CrowdTestTask getCrowdTestTaskByTaskId(CrowdTestProject crowdTestProject, Long taskId) throws CrowdTestTaskNotExistException {
|
|
|
- List<CrowdTestTask> crowdTestTaskList = crowdTestProject.getCrowdTestTaskList();
|
|
|
- for (CrowdTestTask crowdTestTask : crowdTestTaskList) {
|
|
|
- if (crowdTestTask.getId().equals(taskId)) {
|
|
|
- return crowdTestTask;
|
|
|
- }
|
|
|
- }
|
|
|
- throw new CrowdTestTaskNotExistException();
|
|
|
- }
|
|
|
-
|
|
|
- public CrowdTestProject updateCrowdTestReportStatus(Long projectId, Long taskId, Long reportId, String status) throws CrowdTestTaskNoPriceException, CrowdTestTaskNotExistException, CrowdTestProjectNotExistException, CrowdTestReportNotExistException {
|
|
|
- CrowdTestProjectRepo crowdTestProjectRepo = new CrowdTestProjectRepo();
|
|
|
- CrowdTestProject crowdTestProject = crowdTestProjectRepo.getByID(projectId);
|
|
|
- CrowdTestTask crowdTestTask = crowdTestProject.getCrowdTestTaskByTaskId(crowdTestProject, taskId);
|
|
|
- CrowdTestReport crowdTestReport = crowdTestTask.getCrowdTestReportByReportId(crowdTestTask, reportId);
|
|
|
- crowdTestReport.setStatus(status);
|
|
|
+ /**
|
|
|
+ * 更新项目信息
|
|
|
+ * @param crowdTestProject
|
|
|
+ * @param crowdTestProjectModify
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public CrowdTestProject updateCrowdTestProject(CrowdTestProject crowdTestProject, CrowdTestProject crowdTestProjectModify){
|
|
|
+ Gson gson = new Gson();
|
|
|
+ crowdTestProject = gson.fromJson(gson.toJson(crowdTestProjectModify),CrowdTestProject.class);
|
|
|
return crowdTestProject;
|
|
|
}
|
|
|
|
|
|
- /** Task */
|
|
|
-
|
|
|
- public boolean updateCrowdTestTaskStatus(Long projectId, Long taskId, String status) throws CrowdTestProjectNotExistException, CrowdTestTaskNotExistException, CrowdTestTaskNoPriceException {
|
|
|
- CrowdTestProjectRepo crowdTestProjectRepo = new CrowdTestProjectRepo();
|
|
|
- CrowdTestProject crowdTestProject = crowdTestProjectRepo.getByID(projectId);
|
|
|
- CrowdTestTask crowdTestTask = crowdTestProject.getCrowdTestTaskByTaskId(crowdTestProject, taskId);
|
|
|
- boolean flag = true;
|
|
|
- if (crowdTestTask.getQuotedPrice() > 0) {
|
|
|
- crowdTestTask.setStatus(status);
|
|
|
- return true;
|
|
|
- } else {
|
|
|
- throw new CrowdTestTaskNoPriceException();
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- public boolean modifyCrowdTestTaskStatusToCommit(Long taskId, String status) throws CrowdTestTaskNotExistException {
|
|
|
- CrowdTestTask crowdTestTask = this.getCrowdTestTaskByTaskId(this, taskId);
|
|
|
- boolean flag = true;
|
|
|
- List<CrowdTestReport> crowdTestReportList = crowdTestTask.getCrowdTestReportList();
|
|
|
- for (CrowdTestReport crowdTestReport : crowdTestReportList) {
|
|
|
- if (!crowdTestReport.getStatus().equals(CrowdTestReportStatus.COMMITED)) {
|
|
|
- flag = false;
|
|
|
+ /**
|
|
|
+ * 更新项目中的指定任务信息
|
|
|
+ * @param crowdTestProject
|
|
|
+ * @param crowdTestTaskCode
|
|
|
+ * @param crowdTestTaskModify
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public CrowdTestProject updateCrowdTestTask(CrowdTestProject crowdTestProject, String crowdTestTaskCode, CrowdTestTask crowdTestTaskModify){
|
|
|
+ List<CrowdTestTask> crowdTestTaskListNew = new ArrayList<>();
|
|
|
+ List<CrowdTestTask> crowdTestTaskList = crowdTestProject.getCrowdTestTaskList();
|
|
|
+ for(CrowdTestTask crowdTestTaskSelect : crowdTestTaskList){
|
|
|
+ List<CrowdTestReport> crowdTestReportList = crowdTestTaskSelect.getCrowdTestReportList();
|
|
|
+ if(crowdTestTaskCode.equals(crowdTestTaskSelect.getCode())){
|
|
|
+ Gson gson = new Gson();
|
|
|
+ crowdTestTaskSelect = gson.fromJson(gson.toJson(crowdTestTaskModify), CrowdTestTask.class);
|
|
|
}
|
|
|
+ crowdTestTaskSelect.setCrowdTestReportList(crowdTestReportList);
|
|
|
+ crowdTestTaskListNew.add(crowdTestTaskSelect);
|
|
|
}
|
|
|
- if (flag) {
|
|
|
- crowdTestTask.setStatus(status);
|
|
|
- return true;
|
|
|
- } else {
|
|
|
- return flag;
|
|
|
- }
|
|
|
+ crowdTestProject.setCrowdTestTaskList(crowdTestTaskListNew);
|
|
|
+ return crowdTestProject;
|
|
|
}
|
|
|
|
|
|
- public boolean updateCrowdTestTaskStatusNoPrice(Long projectId, Long taskId, String status) throws CrowdTestProjectNotExistException, CrowdTestTaskNotExistException, CrowdTestTaskNoPriceException {
|
|
|
- CrowdTestProjectRepo crowdTestProjectRepo = new CrowdTestProjectRepo();
|
|
|
- if (crowdTestProjectRepo.getByID(projectId) != null) {
|
|
|
- CrowdTestProject crowdTestProject = crowdTestProjectRepo.getByID(projectId);
|
|
|
- CrowdTestTask crowdTestTask = crowdTestProject.getCrowdTestTaskByTaskId(crowdTestProject, taskId);
|
|
|
- crowdTestTask.setQuotedPrice(0.0);
|
|
|
- if (crowdTestTask.getQuotedPrice() > 0) {
|
|
|
- crowdTestTask.setStatus(status);
|
|
|
- return true;
|
|
|
- } else {
|
|
|
- throw new CrowdTestTaskNoPriceException();
|
|
|
+ /**
|
|
|
+ * 更新项目中任务的指定报告信息
|
|
|
+ * @param crowdTestProject
|
|
|
+ * @param crowdTestTaskCode
|
|
|
+ * @param crowdTestReportCode
|
|
|
+ * @param crowdTestReportModify
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public CrowdTestProject updateCrowdTestReport(CrowdTestProject crowdTestProject, String crowdTestTaskCode, String crowdTestReportCode, CrowdTestReport crowdTestReportModify) {
|
|
|
+ List<CrowdTestTask> crowdTestTaskListNew = new ArrayList<>();
|
|
|
+ List<CrowdTestTask> crowdTestTaskList = crowdTestProject.getCrowdTestTaskList();
|
|
|
+ for(CrowdTestTask crowdTestTaskSelect : crowdTestTaskList){
|
|
|
+ List<CrowdTestReport> crowdTestReportListNew = new ArrayList<>();
|
|
|
+ if(crowdTestTaskCode.equals(crowdTestTaskSelect.getCode())){
|
|
|
+ List<CrowdTestReport> crowdTestReportList = crowdTestTaskSelect.getCrowdTestReportList();
|
|
|
+ for(CrowdTestReport crowdTestReportSelect : crowdTestReportList){
|
|
|
+ if(crowdTestReportCode.equals(crowdTestReportSelect.getCode())){
|
|
|
+ Gson gson = new Gson();
|
|
|
+ crowdTestReportSelect = gson.fromJson(gson.toJson(crowdTestReportModify), CrowdTestReport.class);
|
|
|
+ }
|
|
|
+ crowdTestReportListNew.add(crowdTestReportSelect);
|
|
|
+ }
|
|
|
}
|
|
|
+ crowdTestTaskSelect.setCrowdTestReportList(crowdTestReportListNew);
|
|
|
+ crowdTestTaskListNew.add(crowdTestTaskSelect);
|
|
|
}
|
|
|
- throw new CrowdTestProjectNotExistException();
|
|
|
+ crowdTestProject.setCrowdTestTaskList(crowdTestTaskListNew);
|
|
|
+ return crowdTestProject;
|
|
|
}
|
|
|
|
|
|
- public List<CrowdTestTask> updateCrowdTestTaskListStatus(Long projectId, String status) throws CrowdTestProjectNotExistException {
|
|
|
- CrowdTestProjectRepo crowdTestProjectRepo = new CrowdTestProjectRepo();
|
|
|
- CrowdTestProject crowdTestProject = crowdTestProjectRepo.getByID(projectId);
|
|
|
- List<CrowdTestTask> crowdTestTaskList = crowdTestProject.getCrowdTestTaskList();
|
|
|
- for (CrowdTestTask crowdTestTask : crowdTestTaskList) {
|
|
|
- crowdTestTask.setStatus(status);
|
|
|
- }
|
|
|
- return crowdTestTaskList;
|
|
|
+ public void acceptTask(Long agencyManagerId, String crowdTestProjectCode, String crowdTestTaskCode) {
|
|
|
+
|
|
|
}
|
|
|
|
|
|
|
|
|
- /** Project */
|
|
|
- public CrowdTestReport getCrowdTestReportByProjectId(Long projectId, Long taskId, Long reportId) throws CrowdTestTaskNoPriceException, CrowdTestTaskNotExistException, CrowdTestProjectNotExistException, CrowdTestReportNotExistException {
|
|
|
- CrowdTestProjectRepo crowdTestProjectRepo = new CrowdTestProjectRepo();
|
|
|
- CrowdTestProject crowdTestProject = crowdTestProjectRepo.getByID(projectId);
|
|
|
- CrowdTestTask crowdTestTask = crowdTestProject.getCrowdTestTaskByTaskId(crowdTestProject, taskId);
|
|
|
- CrowdTestReport crowdTestReport = crowdTestTask.getCrowdTestReportByReportId(crowdTestTask, reportId);
|
|
|
- return crowdTestReport;
|
|
|
- }
|
|
|
|
|
|
- public List<CrowdTestReport> getCrowdTestReportListByProjectId(Long projectId, Long taskId) throws CrowdTestTaskNoPriceException, CrowdTestTaskNotExistException, CrowdTestProjectNotExistException, CrowdTestReportNotExistException {
|
|
|
- CrowdTestProjectRepo crowdTestProjectRepo = new CrowdTestProjectRepo();
|
|
|
- CrowdTestProject crowdTestProject = crowdTestProjectRepo.getByID(projectId);
|
|
|
- CrowdTestTask crowdTestTask = crowdTestProject.getCrowdTestTaskByTaskId(crowdTestProject, taskId);
|
|
|
- return crowdTestTask.getCrowdTestReportList();
|
|
|
- }
|
|
|
+// public CrowdTestTask getCrowdTestTaskByTaskId(CrowdTestProject crowdTestProject, Long taskId) throws CrowdTestTaskNotExistException {
|
|
|
+// List<CrowdTestTask> crowdTestTaskList = crowdTestProject.getCrowdTestTaskList();
|
|
|
+// for (CrowdTestTask crowdTestTask : crowdTestTaskList) {
|
|
|
+// if (crowdTestTask.getId().equals(taskId)) {
|
|
|
+// return crowdTestTask;
|
|
|
+// }
|
|
|
+// }
|
|
|
+// throw new CrowdTestTaskNotExistException();
|
|
|
+// }
|
|
|
+//
|
|
|
+// public CrowdTestProject updateCrowdTestReportStatus(Long projectId, Long taskId, Long reportId, String status) throws CrowdTestTaskNoPriceException, CrowdTestTaskNotExistException, CrowdTestProjectNotExistException, CrowdTestReportNotExistException {
|
|
|
+// CrowdTestProjectRepo crowdTestProjectRepo = new CrowdTestProjectRepo();
|
|
|
+// CrowdTestProject crowdTestProject = crowdTestProjectRepo.getByID(projectId);
|
|
|
+// CrowdTestTask crowdTestTask = crowdTestProject.getCrowdTestTaskByTaskId(crowdTestProject, taskId);
|
|
|
+// CrowdTestReport crowdTestReport = crowdTestTask.getCrowdTestReportByReportId(crowdTestTask, reportId);
|
|
|
+// crowdTestReport.setStatus(status);
|
|
|
+// return crowdTestProject;
|
|
|
+// }
|
|
|
+//
|
|
|
+// /** Task */
|
|
|
+//
|
|
|
+// public boolean updateCrowdTestTaskStatus(Long projectId, Long taskId, String status) throws CrowdTestProjectNotExistException, CrowdTestTaskNotExistException, CrowdTestTaskNoPriceException {
|
|
|
+// CrowdTestProjectRepo crowdTestProjectRepo = new CrowdTestProjectRepo();
|
|
|
+// CrowdTestProject crowdTestProject = crowdTestProjectRepo.getByID(projectId);
|
|
|
+// CrowdTestTask crowdTestTask = crowdTestProject.getCrowdTestTaskByTaskId(crowdTestProject, taskId);
|
|
|
+// boolean flag = true;
|
|
|
+// if (crowdTestTask.getQuotedPrice() > 0) {
|
|
|
+// crowdTestTask.setStatus(status);
|
|
|
+// return true;
|
|
|
+// } else {
|
|
|
+// throw new CrowdTestTaskNoPriceException();
|
|
|
+// }
|
|
|
+// }
|
|
|
+//
|
|
|
+// public boolean modifyCrowdTestTaskStatusToCommit(Long taskId, String status) throws CrowdTestTaskNotExistException {
|
|
|
+// CrowdTestTask crowdTestTask = this.getCrowdTestTaskByTaskId(this, taskId);
|
|
|
+// boolean flag = true;
|
|
|
+// List<CrowdTestReport> crowdTestReportList = crowdTestTask.getCrowdTestReportList();
|
|
|
+// for (CrowdTestReport crowdTestReport : crowdTestReportList) {
|
|
|
+// if (!crowdTestReport.getStatus().equals(CrowdTestReportStatus.COMMITED)) {
|
|
|
+// flag = false;
|
|
|
+// }
|
|
|
+// }
|
|
|
+// if (flag) {
|
|
|
+// crowdTestTask.setStatus(status);
|
|
|
+// return true;
|
|
|
+// } else {
|
|
|
+// return flag;
|
|
|
+// }
|
|
|
+// }
|
|
|
+//
|
|
|
+// public boolean updateCrowdTestTaskStatusNoPrice(Long projectId, Long taskId, String status) throws CrowdTestProjectNotExistException, CrowdTestTaskNotExistException, CrowdTestTaskNoPriceException {
|
|
|
+// CrowdTestProjectRepo crowdTestProjectRepo = new CrowdTestProjectRepo();
|
|
|
+// if (crowdTestProjectRepo.getByID(projectId) != null) {
|
|
|
+// CrowdTestProject crowdTestProject = crowdTestProjectRepo.getByID(projectId);
|
|
|
+// CrowdTestTask crowdTestTask = crowdTestProject.getCrowdTestTaskByTaskId(crowdTestProject, taskId);
|
|
|
+// crowdTestTask.setQuotedPrice(0.0);
|
|
|
+// if (crowdTestTask.getQuotedPrice() > 0) {
|
|
|
+// crowdTestTask.setStatus(status);
|
|
|
+// return true;
|
|
|
+// } else {
|
|
|
+// throw new CrowdTestTaskNoPriceException();
|
|
|
+// }
|
|
|
+// }
|
|
|
+// throw new CrowdTestProjectNotExistException();
|
|
|
+// }
|
|
|
+//
|
|
|
+// public List<CrowdTestTask> updateCrowdTestTaskListStatus(Long projectId, String status) throws CrowdTestProjectNotExistException {
|
|
|
+// CrowdTestProjectRepo crowdTestProjectRepo = new CrowdTestProjectRepo();
|
|
|
+// CrowdTestProject crowdTestProject = crowdTestProjectRepo.getByID(projectId);
|
|
|
+// List<CrowdTestTask> crowdTestTaskList = crowdTestProject.getCrowdTestTaskList();
|
|
|
+// for (CrowdTestTask crowdTestTask : crowdTestTaskList) {
|
|
|
+// crowdTestTask.setStatus(status);
|
|
|
+// }
|
|
|
+// return crowdTestTaskList;
|
|
|
+// }
|
|
|
+//
|
|
|
+//
|
|
|
+// /** Project */
|
|
|
+// public CrowdTestReport getCrowdTestReportByProjectId(Long projectId, Long taskId, Long reportId) throws CrowdTestTaskNoPriceException, CrowdTestTaskNotExistException, CrowdTestProjectNotExistException, CrowdTestReportNotExistException {
|
|
|
+// CrowdTestProjectRepo crowdTestProjectRepo = new CrowdTestProjectRepo();
|
|
|
+// CrowdTestProject crowdTestProject = crowdTestProjectRepo.getByID(projectId);
|
|
|
+// CrowdTestTask crowdTestTask = crowdTestProject.getCrowdTestTaskByTaskId(crowdTestProject, taskId);
|
|
|
+// CrowdTestReport crowdTestReport = crowdTestTask.getCrowdTestReportByReportId(crowdTestTask, reportId);
|
|
|
+// return crowdTestReport;
|
|
|
+// }
|
|
|
+//
|
|
|
+// public List<CrowdTestReport> getCrowdTestReportListByProjectId(Long projectId, Long taskId) throws CrowdTestTaskNoPriceException, CrowdTestTaskNotExistException, CrowdTestProjectNotExistException, CrowdTestReportNotExistException {
|
|
|
+// CrowdTestProjectRepo crowdTestProjectRepo = new CrowdTestProjectRepo();
|
|
|
+// CrowdTestProject crowdTestProject = crowdTestProjectRepo.getByID(projectId);
|
|
|
+// CrowdTestTask crowdTestTask = crowdTestProject.getCrowdTestTaskByTaskId(crowdTestProject, taskId);
|
|
|
+// return crowdTestTask.getCrowdTestReportList();
|
|
|
+// }
|
|
|
+//
|
|
|
+// public CrowdTestProject updateCrowdTestProjectStatusToFinish(Long projectId, String status) throws CrowdTestProjectNotExistException {
|
|
|
+// CrowdTestProjectRepo crowdTestProjectRepo = new CrowdTestProjectRepo();
|
|
|
+// CrowdTestProject crowdTestProject = crowdTestProjectRepo.getByID(projectId);
|
|
|
+// List<CrowdTestTask> crowdTestTaskList = crowdTestProject.getCrowdTestTaskList();
|
|
|
+// for(CrowdTestTask crowdTestTask : crowdTestTaskList){
|
|
|
+// List<CrowdTestReport> crowdTestReportList = crowdTestTask.getCrowdTestReportList();
|
|
|
+// for(CrowdTestReport crowdTestReport : crowdTestReportList){
|
|
|
+// crowdTestReport.setStatus(status);
|
|
|
+// }
|
|
|
+// crowdTestTask.setStatus(status);
|
|
|
+// }
|
|
|
+// crowdTestProject.setStatus(status);
|
|
|
+// return crowdTestProject;
|
|
|
+// }
|
|
|
+
|
|
|
|
|
|
- public CrowdTestProject updateCrowdTestProjectStatusToFinish(Long projectId, String status) throws CrowdTestProjectNotExistException {
|
|
|
- CrowdTestProjectRepo crowdTestProjectRepo = new CrowdTestProjectRepo();
|
|
|
- CrowdTestProject crowdTestProject = crowdTestProjectRepo.getByID(projectId);
|
|
|
- List<CrowdTestTask> crowdTestTaskList = crowdTestProject.getCrowdTestTaskList();
|
|
|
- for(CrowdTestTask crowdTestTask : crowdTestTaskList){
|
|
|
- List<CrowdTestReport> crowdTestReportList = crowdTestTask.getCrowdTestReportList();
|
|
|
- for(CrowdTestReport crowdTestReport : crowdTestReportList){
|
|
|
- crowdTestReport.setStatus(status);
|
|
|
- }
|
|
|
- crowdTestTask.setStatus(status);
|
|
|
- }
|
|
|
- crowdTestProject.setStatus(status);
|
|
|
- return crowdTestProject;
|
|
|
- }
|
|
|
}
|