From 8a04af0a30d5eb87f4f278565266f550ce92d2f1 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期日, 29 十一月 2020 19:52:31 +0800
Subject: [PATCH] 优化折扣

---
 service-api/src/main/java/com/java110/api/bmo/task/impl/TaskBMOImpl.java |   52 +++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 37 insertions(+), 15 deletions(-)

diff --git a/service-api/src/main/java/com/java110/api/bmo/task/impl/TaskBMOImpl.java b/service-api/src/main/java/com/java110/api/bmo/task/impl/TaskBMOImpl.java
index 3bb3af4..27a2244 100644
--- a/service-api/src/main/java/com/java110/api/bmo/task/impl/TaskBMOImpl.java
+++ b/service-api/src/main/java/com/java110/api/bmo/task/impl/TaskBMOImpl.java
@@ -5,17 +5,14 @@
 import com.java110.api.bmo.ApiBaseBMO;
 import com.java110.api.bmo.task.ITaskBMO;
 import com.java110.core.context.DataFlowContext;
-import com.java110.core.smo.task.ITaskInnerServiceSMO;
-import com.java110.dto.task.TaskDto;
+import com.java110.core.factory.GenerateCodeFactory;
+import com.java110.intf.job.ITaskInnerServiceSMO;
 import com.java110.po.task.TaskPo;
 import com.java110.po.taskAttr.TaskAttrPo;
 import com.java110.utils.constant.BusinessTypeConstant;
-import com.java110.utils.util.Assert;
 import com.java110.utils.util.BeanConvertUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-
-import java.util.List;
 
 @Service("taskBMOImpl")
 public class TaskBMOImpl extends ApiBaseBMO implements ITaskBMO {
@@ -34,7 +31,7 @@
 
         // paramInJson.put("taskId", "-1");
         TaskPo taskPo = BeanConvertUtil.covertBean(paramInJson, TaskPo.class);
-        taskPo.setTaskId("-1");
+        taskPo.setTaskId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_taskId));
         taskPo.setState("001");
         super.insert(dataFlowContext, taskPo, BusinessTypeConstant.BUSINESS_TYPE_SAVE_TASK);
 
@@ -66,17 +63,42 @@
      */
     public void updateTask(JSONObject paramInJson, DataFlowContext dataFlowContext) {
 
-        TaskDto taskDto = new TaskDto();
-        taskDto.setTaskId(paramInJson.getString("taskId"));
-        //taskDto.setJobId(paramInJson.getString("jobId"));
-        List<TaskDto> taskDtos = taskInnerServiceSMOImpl.queryTasks(taskDto);
-
-        Assert.listOnlyOne(taskDtos, "鏈壘鍒伴渶瑕佷慨鏀圭殑娲诲姩 鎴栧鏉℃暟鎹�");
-
-
-        paramInJson.putAll(BeanConvertUtil.beanCovertMap(taskDtos.get(0)));
+//        TaskDto taskDto = new TaskDto();
+//        taskDto.setTaskId(paramInJson.getString("taskId"));
+//        //taskDto.setJobId(paramInJson.getString("jobId"));
+//        List<TaskDto> taskDtos = taskInnerServiceSMOImpl.queryTasks(taskDto);
+//
+//        Assert.listOnlyOne(taskDtos, "鏈壘鍒伴渶瑕佷慨鏀圭殑娲诲姩 鎴栧鏉℃暟鎹�");
+//        paramInJson.putAll(BeanConvertUtil.beanCovertMap(taskDtos.get(0)));
         TaskPo taskPo = BeanConvertUtil.covertBean(paramInJson, TaskPo.class);
         super.update(dataFlowContext, taskPo, BusinessTypeConstant.BUSINESS_TYPE_UPDATE_TASK);
+
+        if (!paramInJson.containsKey("templateSpecs")) {
+            return;
+        }
+
+        JSONArray templateSpecs = paramInJson.getJSONArray("templateSpecs");
+        JSONObject specObj = null;
+        TaskAttrPo taskAttrPo = null;
+        for (int specIndex = 0; specIndex < templateSpecs.size(); specIndex++) {
+            specObj = templateSpecs.getJSONObject(specIndex);
+            if (specObj.containsKey("attrId") && !"-1".equals(specObj.getString("attrId"))) {
+                taskAttrPo = new TaskAttrPo();
+                taskAttrPo.setAttrId(specObj.getString("attrId"));
+                taskAttrPo.setTaskId(taskPo.getTaskId());
+                taskAttrPo.setValue(specObj.getString("value"));
+                taskAttrPo.setSpecCd(specObj.getString("specCd"));
+                super.update(dataFlowContext, taskAttrPo, BusinessTypeConstant.BUSINESS_TYPE_UPDATE_TASK_ATTR);
+
+                continue;
+            }
+            taskAttrPo = new TaskAttrPo();
+            taskAttrPo.setAttrId("-" + (specIndex + 1));
+            taskAttrPo.setTaskId(taskPo.getTaskId());
+            taskAttrPo.setValue(specObj.getString("value"));
+            taskAttrPo.setSpecCd(specObj.getString("specCd"));
+            super.insert(dataFlowContext, taskAttrPo, BusinessTypeConstant.BUSINESS_TYPE_SAVE_TASK_ATTR);
+        }
     }
 
 

--
Gitblit v1.8.0