Browse Source

更正导入任务时任务的价格

郭超 4 years ago
parent
commit
8f0c914abe

+ 1 - 1
site/src/main/java/com/mooctest/crowd/site/data/vo/CrowdProjectVO.java

@@ -101,6 +101,7 @@ public class CrowdProjectVO implements Serializable {
         crowdTestProject.setLinkMan(this.contactName);
         crowdTestProject.setLinkManMobile(this.contactPhone);
         crowdTestProject.setFixedPrice(this.price);
+        crowdTestProject.setQuotedPrice(this.budget);
         crowdTestProject.setRequirementFile(this.doc);
         crowdTestProject.setFixedPrice(this.price);
         crowdTestProject.setDescription(this.desc);
@@ -110,7 +111,6 @@ public class CrowdProjectVO implements Serializable {
         crowdTestProject.setFieldType(this.field);
         crowdTestProject.setProjectFile(this.file);
         crowdTestProject.setProjectDistributionTypeId(this.resource);
-        crowdTestProject.setQuotedPrice(this.budget);
         crowdTestProject.setRegionalManagerId(this.regionManagerId);
         return crowdTestProject;
     }

+ 1 - 0
site/src/main/java/com/mooctest/crowd/site/data/vo/CrowdTaskVO.java

@@ -108,6 +108,7 @@ public class CrowdTaskVO implements Serializable{
         crowdTestTask.setCrowdTestProjectCode(this.projectId);
         crowdTestTask.setName(this.title);
         crowdTestTask.setDistributionType(this.resource);
+        crowdTestTask.setQuotedPrice(this.quotePrice);
         crowdTestTask.setType(this.serviceType);
         crowdTestTask.setEvaluationAgencyId(this.agencyId);
         crowdTestTask.setDeadTime(this.datetime);

+ 14 - 19
site/src/main/java/com/mooctest/crowd/site/service/impl/CrowdTaskServiceImpl.java

@@ -155,12 +155,12 @@ public class CrowdTaskServiceImpl implements CrowdTaskService {
         CrowdTestProject project = projectRepo.getByProjectCode(projectCode);
         String taskCode = GenerateFlowCodeUtil.generateFlowCode("TASK-" + ProjectType.getCode(command.getType()));
         task.create(taskCode);
-        // 生成任务导出链接
-        String exportTaskUrl = this.exportTask(projectCode, task.getCode(), userId);
-        task.setExportUrl(exportTaskUrl);
-
         project.addTask(task);
         projectRepo.saveCrowdTestProject(project);
+
+//        // 生成任务导出链接
+//        String exportTaskUrl = this.exportTask(projectCode, task.getCode(), userId);
+//        task.setExportUrl(exportTaskUrl);
         return getTaskDetails(projectCode, taskCode, userId);
     }
 
@@ -186,9 +186,9 @@ public class CrowdTaskServiceImpl implements CrowdTaskService {
         updateTask.update();
         project.removeTask(task.get());
 
-        // 重新生成任务导出链接
-        String exportTaskUrl = this.exportTask(projectCode, updateTask.getCode(), userId);
-        updateTask.setExportUrl(exportTaskUrl);
+//        // 重新生成任务导出链接
+//        String exportTaskUrl = this.exportTask(projectCode, updateTask.getCode(), userId);
+//        updateTask.setExportUrl(exportTaskUrl);
 
         project.addTask(updateTask);
         projectRepo.saveCrowdTestProject(project);
@@ -382,17 +382,16 @@ public class CrowdTaskServiceImpl implements CrowdTaskService {
 
         // 为项目信息赋予导入的默认值
         setProjectDefaultValueToPrivateCloud(crowdTestProject, user);
-
-        System.out.println(crowdTestProject.toString());
+        // 项目的剩余预算需要重新计算,根据任务报价
 
         List<CrowdTestTask> crowdTestTaskList = projectDetailsDTO.getTaskList().stream().map(CrowdTaskVO::toCrowdTestTask).collect(Collectors.toList());
         // 为任务信息赋予导入的默认值
-        crowdTestTaskList.forEach(crowdTestTask -> {
-            setTaskDefaultValueToPrivateCloud(crowdTestProject.getCode(), crowdTestTask, user);
-            System.out.println(crowdTestTask.toString());
-        });
-        // 为测试项目赋予测试类型
+        crowdTestTaskList.forEach(crowdTestTask -> setTaskDefaultValueToPrivateCloud(crowdTestProject.getCode(), crowdTestTask));
+        // 所有任务花费的金额
+        double costPrice = crowdTestTaskList.stream().mapToDouble(CrowdTestTask::getQuotedPrice).sum();
+        // 为测试项目赋予测试类型、以及剩余预算
         crowdTestProject.setType(crowdTestTaskList.get(0).getType());
+        crowdTestProject.setRestPrice(crowdTestProject.getQuotedPrice() - costPrice);
         // 将任务添加到项目中
         crowdTestProject.setCrowdTestTaskList(crowdTestTaskList);
 
@@ -440,18 +439,14 @@ public class CrowdTaskServiceImpl implements CrowdTaskService {
      * 为任务信息赋予导入的默认值
      * @param projectCode
      * @param crowdTestTask
-     * @param user
      */
-    private void setTaskDefaultValueToPrivateCloud(String projectCode, CrowdTestTask crowdTestTask, User user) {
+    private void setTaskDefaultValueToPrivateCloud(String projectCode, CrowdTestTask crowdTestTask) {
         crowdTestTask.setCode(masterName + "-" + System.currentTimeMillis() + "-" + crowdTestTask.getCode());
         crowdTestTask.setCrowdTestProjectCode(projectCode);
         crowdTestTask.setEvaluationAgencyId(null);
         crowdTestTask.setDistributionType(DistributeType.SQUARE.getId());
-//        crowdTestTask.setParticipantCount(20);
         crowdTestTask.setAcceptedCount(0);
         crowdTestTask.setParticipantHasCommittedCount(0);
-//        crowdTestTask.setQuotedPrice(0d);
-//        crowdTestTask.setFixedPrice(0d);
         crowdTestTask.setFullStatus(0);
         crowdTestTask.setStatus(CrowdTestTaskStatus.HAS_RELEASED);
         // 判断默认的测试类型MCZC是否存在

+ 4 - 4
site/src/main/resources/application.yml

@@ -268,12 +268,12 @@ file:
   save:
     path: /Users/guochao/Desktop/project/data/cofortest/
 
-feature:
-  client:
-    oss: true
 #feature:
 #  client:
-#    oss: false
+#    oss: true
+feature:
+  client:
+    oss: false
 
 
 website: