From 980e74ee64ba7e279537e582de46776170d3debd Mon Sep 17 00:00:00 2001
From: wuxw7 <wuxw7@asiainfo.com>
Date: 星期一, 24 四月 2017 17:41:43 +0800
Subject: [PATCH] 完善订单作废功能实现

---
 OrderService/src/main/java/com/java110/order/smo/impl/OrderServiceSMOImpl.java |  446 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 446 insertions(+), 0 deletions(-)

diff --git a/OrderService/src/main/java/com/java110/order/smo/impl/OrderServiceSMOImpl.java b/OrderService/src/main/java/com/java110/order/smo/impl/OrderServiceSMOImpl.java
index 2cb3acc..6aea826 100644
--- a/OrderService/src/main/java/com/java110/order/smo/impl/OrderServiceSMOImpl.java
+++ b/OrderService/src/main/java/com/java110/order/smo/impl/OrderServiceSMOImpl.java
@@ -1,28 +1,87 @@
 package com.java110.order.smo.impl;
 
+import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
+import com.java110.common.constant.ActionTypeConstant;
+import com.java110.common.constant.AttrCdConstant;
+import com.java110.common.log.LoggerEngine;
 import com.java110.common.util.ProtocolUtil;
+import com.java110.config.properties.EventProperties;
 import com.java110.core.base.smo.BaseServiceSMO;
+import com.java110.core.context.AppContext;
+import com.java110.core.event.AppEventPublishing;
+import com.java110.entity.order.BusiOrder;
+import com.java110.entity.order.BusiOrderAttr;
 import com.java110.entity.order.OrderList;
+import com.java110.entity.order.OrderListAttr;
 import com.java110.feign.base.IPrimaryKeyService;
+import com.java110.order.dao.IOrderServiceDao;
 import com.java110.order.smo.IOrderServiceSMO;
 import org.apache.commons.lang.math.NumberUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import com.java110.common.util.Assert;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 
 /**
  * 璁㈠崟鏈嶅姟涓氬姟閫昏緫澶勭悊瀹炵幇绫�
  * Created by wuxw on 2017/4/11.
  */
 @Service("orderServiceSMOImpl")
+@Transactional
 public class OrderServiceSMOImpl extends BaseServiceSMO implements IOrderServiceSMO {
 
     @Autowired
     IPrimaryKeyService iPrimaryKeyService;
 
+    @Autowired
+    IOrderServiceDao iOrderServiceDao;
+
+    @Autowired
+    EventProperties eventProperties;
+
+    /**
+     * 鏍规嵁璐墿杞D 鎴栬�� 澶栭儴绯荤粺ID 鎴栬�� custId 鎴栬�� channelId 鏌ヨ璁㈠崟淇℃伅
+     * @param orderList
+     * @return
+     */
+    @Override
+    public String queryOrderInfo(OrderList orderList) throws Exception{
+
+
+        List<OrderList> orderLists = iOrderServiceDao.queryOrderListAndAttr(orderList);
+        //
+        JSONArray orderListsArray = new JSONArray();
+        for (OrderList orderListTmp : orderLists){
+            //
+            BusiOrder busiOrderTmp = new BusiOrder();
+            busiOrderTmp.setBoId(orderListTmp.getOlId());
+
+            List<BusiOrder> busiOrders = iOrderServiceDao.queryBusiOrderAndAttr(busiOrderTmp);
+
+            JSONObject orderListJSON = JSONObject.parseObject(JSONObject.toJSONString(orderListTmp));
+
+            orderListJSON.put("busiOrders",JSONObject.parseArray(JSONObject.toJSONString(busiOrders)));
+
+            orderListsArray.add(orderListJSON);
+        }
+
+        JSONObject orderListTmpO = new JSONObject();
+        orderListTmpO.put("orderLists",orderListsArray);
+
+        return ProtocolUtil.createResultMsg(ProtocolUtil.RETURN_MSG_SUCCESS,"鏌ヨ鎴愬姛",orderListTmpO);
+    }
+
     /**
      * 璁㈠崟璋冨害
+     *
+     * orderListInfo 涓瓧娈� asyn 濡傛灉涓� A 琛ㄧず 寮傛澶勭悊璁㈠崟锛屽叾浠栬〃鍚屾澶勭悊璁㈠崟
      * @param orderInfo 璁㈠崟淇℃伅
      * @return 璁㈠崟澶勭悊鎺ュ彛
      * @throws Exception
@@ -46,10 +105,381 @@
             orderList.setOlId(olId);
         }
 
+        //杩欓噷淇濆瓨璐墿杞�
+
+        int saveOrderListFlag = iOrderServiceDao.saveDataToBoOrderList(orderList);
+        if (saveOrderListFlag < 1){
+            throw  new RuntimeException("淇濆瓨璐墿杞︿俊鎭け璐�"+orderListTmp);
+        }
+
+        //淇濆瓨璐墿杞﹀睘鎬�
+
+        if(orderInfo.containsKey("orderListAttrs")){
+            JSONArray orderListAttrs = orderInfo.getJSONArray("orderListAttrs");
+
+            List<OrderListAttr> orderListAttrsTmp = JSONObject.parseArray(orderListAttrs.toJSONString(), OrderListAttr.class);
+
+            for(OrderListAttr orderListAttr : orderListAttrsTmp){
+                orderListAttr.setOlId(olId);
+                saveOrderListFlag = iOrderServiceDao.saveDataToOrderListAttr(orderListAttr);
+                if(saveOrderListFlag < 1){
+                    throw new RuntimeException("淇濆瓨璐墿杞﹀睘鎬т俊鎭け璐�"+JSONObject.toJSONString(orderListAttr));
+                }
+            }
+        }
+
+
+        //鑾峰彇 璁㈠崟椤�
+        JSONArray busiOrderTmps = orderInfo.getJSONArray("busiOrder");
+
+        //瀛樻斁busiOrder 鐨刣ata鑺傜偣
+
+        Map<String,JSONArray> datasTmp = new HashMap<String, JSONArray>();
+
+        for(int busiOrderTmpsIndex = 0 ; busiOrderTmpsIndex < busiOrderTmps.size() ; busiOrderTmpsIndex++){
+            JSONObject busiOrderJson = busiOrderTmps.getJSONObject(busiOrderTmpsIndex);
+            /*if (!busiOrderJson.containsKey("busiObj")){
+                throw new IllegalArgumentException("璇锋眰鎶ユ枃涓璪usiOrder 鑺傜偣涓病鏈夊搴旂殑 busiObj 鑺傜偣锛岃妫�鏌�"+busiOrderJson);
+            }*/
+
+            Assert.isNull(busiOrderJson,"busiObj","璇锋眰鎶ユ枃涓璪usiOrder 鑺傜偣涓病鏈夊搴旂殑 busiObj 鑺傜偣锛岃妫�鏌�"+busiOrderJson);
+
+            BusiOrder busiOrderObj = JSONObject.parseObject(busiOrderJson.getJSONObject("busiObj").toJSONString(),BusiOrder.class);
+
+            String boId = busiOrderObj.getBoId();
+            //鐢熸垚 璁㈠崟椤笽D
+            if(StringUtils.isBlank(boId) || boId.startsWith("-")){
+                boId = this.queryPrimaryKey(iPrimaryKeyService,"BO_ID");
+            }
+            busiOrderObj.setOlId(olId);
+            //淇敼boId
+            busiOrderObj.setBoId(boId);
+
+            //杩欓噷淇濆瓨璁㈠崟椤� busiOrder
+            int saveBusiOrderFlag = iOrderServiceDao.saveDataToBusiOrder(busiOrderObj);
+            if(saveBusiOrderFlag < 1){
+                throw new RuntimeException("淇濆瓨璁㈠崟椤逛俊鎭け璐�"+JSONObject.toJSONString(busiOrderObj));
+            }
+
+            //濡傛灉鏈塨usiOrderAttrs 鑺傜偣 姣忎釜鑺傜偣娣诲姞 boId
+            if(busiOrderJson.containsKey("busiOrderAttrs")){
+                List<BusiOrderAttr> busiOrderAttrsTmp = JSONObject.parseArray(busiOrderJson.getJSONArray("busiOrderAttrs").toJSONString(),
+                        BusiOrderAttr.class);
+
+                for (BusiOrderAttr busiOrderAttrTmp : busiOrderAttrsTmp){
+                    busiOrderAttrTmp.setBoId(boId);
+                    //杩欓噷淇濆瓨璁㈠崟椤瑰睘鎬�
+                    saveBusiOrderFlag =  iOrderServiceDao.saveDataToBusiOrderAttr(busiOrderAttrTmp);
+                    if(saveBusiOrderFlag < 1){
+                        throw new RuntimeException("淇濆瓨璁㈠崟椤逛俊鎭睘鎬уけ璐�"+JSONObject.toJSONString(busiOrderAttrTmp));
+                    }
+                }
+            }
+            //淇敼data鑺傜偣涓嬬殑boId锛屼竴鑸槸娌℃湁杩欎釜鍊硷紝鎵�浠ョ洿鎺ユ柊鍔犲氨琛屼簡锛屼笉璁稿垽鏂槸鍚﹀凡-寮�澶�
+           /* if (!busiOrderJson.containsKey("data")){
+                throw new IllegalArgumentException("璇锋眰鎶ユ枃涓璪usiOrder 鑺傜偣涓病鏈夊搴旂殑 data 鑺傜偣锛岃妫�鏌�"+busiOrderJson);
+            }*/
+
+            Assert.isNull(busiOrderJson,"data","璇锋眰鎶ユ枃涓璪usiOrder 鑺傜偣涓病鏈夊搴旂殑 data 鑺傜偣锛岃妫�鏌�"+busiOrderJson);
+
+            //澶勭悊data 鑺傜偣
+            JSONObject data = busiOrderJson.getJSONObject("data");
+
+            for (Map.Entry<String, Object> entry : data.entrySet()) {
+                Object valueObj = entry.getValue();
+                if (valueObj instanceof JSONObject){
+                    ((JSONObject)valueObj).put("boId",boId);
+                }else if(valueObj instanceof JSONArray){
+                    JSONArray valueArray = (JSONArray)valueObj;
+                    for(int valueIndex = 0 ; valueIndex < valueArray.size(); valueIndex++){
+                        valueArray.getJSONObject(valueIndex).put("boId",boId);
+                    }
+                }
+            }
+
+            LoggerEngine.debug("澶勭悊鍚庣殑data鑺傜偣 锛�" + data.toString());
+
+            //鏍规嵁busiOrder 鐨�  actionTypeCd 娉ㄥ唽閭d釜鏈嶅姟鍘诲鐞�
+            String actionTypeCd = busiOrderObj.getActionTypeCd();
+
+            JSONArray dataJsonTmp = null;
+            if(!datasTmp.containsKey(actionTypeCd)){
+                dataJsonTmp = new JSONArray();
+            }else{
+                dataJsonTmp = datasTmp.get(actionTypeCd);
+            }
+            data.put("actionTypeCd",actionTypeCd);
+            dataJsonTmp.add(data);
+
+            datasTmp.put(actionTypeCd,dataJsonTmp);
+
+            /*
+            try {
+                //鍙戝竷浜嬩欢
+                AppEventPublishing.multicastEvent(actionTypeCd,orderInfo.toJSONString(), data.toJSONString(),orderListTmp.getString("asyn"));
+            }catch (Exception e){
+                //杩欓噷琛ュ伩浜嬬墿
+                throw e;
+            }*/
+
+        }
+
+        //鍒涘缓涓婁笅鏂囧璞�
+        AppContext context = createApplicationContext();
+
+        prepareContext(context, datasTmp);
+        try {
+            //鍙戝竷浜嬩欢
+            AppEventPublishing.multicastEvent(context,datasTmp,orderListTmp.getString("asyn"));
+        }catch (Exception e){
+            //杩欓噷琛ュ伩浜嬬墿
+            throw e;
+        }
+        return ProtocolUtil.createResultMsg(ProtocolUtil.RETURN_MSG_SUCCESS,"鎴愬姛",JSONObject.parseObject(JSONObject.toJSONString(orderList)));
+    }
+
+    /**
+     * 浣滃簾璁㈠崟
+     * 鏍规嵁涓氬姟鍔ㄤ綔浣滃簾
+     * 璇锋眰鍗忚锛�
+     * {
+     *     "orderList":{
+     *     "transactionId": "1000000200201704113137002690",
+             "channelId": "700212896",
+             "remarks": "",
+             "custId": "701008023904",
+             "statusCd": "S",
+             "reqTime": "20170411163709",
+             "extSystemId": "310013698777",
+             "olTypeCd": "15",
+     *        "oldOlId":"123456789",
+     *        "asyn":"S"
+     *     },
+     *     "busiOrder":[{
+     *         "actionTypeCd":"ALL"
+     *     }]
+     * }
+     *
+     * 锛�
+     *
+     * 鏍规嵁 璁㈠崟椤笽D浣滃簾
+     *
+     * {
+     *     "orderList":{
+     *         "transactionId": "1000000200201704113137002690",
+     "channelId": "700212896",
+     "remarks": "",
+     "custId": "701008023904",
+     "statusCd": "S",
+     "reqTime": "20170411163709",
+     "extSystemId": "310013698777",
+     "olTypeCd": "15",
+     "asyn":"A"
+     *     },
+     *     "busiOrder":[{
+     *          "oldBoId":"123456789"
+     *     },
+     *     {
+     *          "oldBoId":"123456799"
+     *     }]
+     * }
+     * @param orderInfo
+     * @return
+     * @throws Exception
+     */
+    @Override
+    public String deleteOrder(JSONObject orderInfo) throws Exception {
+        //1.0 璐墿杞︿俊鎭牎楠屽鐞�,璧拌鍗曞彈鐞嗗繀椤昏鏈夎喘鐗╄溅淇℃伅鍜岃鍗曢」淇℃伅
+        if(!orderInfo.containsKey("orderList") || !orderInfo.containsKey("busiOrder")){
+            throw  new IllegalArgumentException("璇锋眰鎶ユ枃涓病鏈夎喘鐗╄溅鐩稿叧淇℃伅[orderList]鎴栬鍗曢」鐩稿叧淇℃伅[busiOrder],璇锋鏌ユ姤鏂囷細"+orderInfo);
+        }
+
+        JSONObject orderListTmp = orderInfo.getJSONObject("orderList");
+        OrderList orderList = JSONObject.parseObject(orderListTmp.toJSONString(),OrderList.class);
+
+        String olId = orderList.getOlId();
+        //鐢熸垚olId
+        if(StringUtils.isBlank(olId) || olId.startsWith("-") ){
+            olId = this.queryPrimaryKey(iPrimaryKeyService,"OL_ID");
+            orderList.setOlId(olId);
+        }
+
+        //杩欓噷淇濆瓨璐墿杞�
+
+        int saveOrderListFlag = iOrderServiceDao.saveDataToBoOrderList(orderList);
+        if (saveOrderListFlag < 1){
+            throw  new RuntimeException("浣滃簾璁㈠崟鏃朵繚瀛樿喘鐗╄溅淇℃伅澶辫触"+orderListTmp);
+        }
+
+        JSONArray busiOrderTmps = orderInfo.getJSONArray("busiOrder");
+
+        /**
+         * 鏍规嵁actionTypeCd 浣滃簾
+         */
+        Assert.isNull(busiOrderTmps,"鍏ュ弬閿欒锛屾病鏈塨usiOrder 鑺傜偣锛屾垨娌℃湁瀛愯妭鐐�");
+
+        List<Map<String,String>> needDeleteBoIds = new ArrayList<Map<String,String>>();
+
+        if(busiOrderTmps.getJSONObject(0).containsKey("actionTypeCd")){
+           String actionTypeCds = busiOrderTmps.getJSONObject(0).getString("actionTypeCd");
+            getNeeddeleteOrderByActionTypeCd(orderListTmp.getString("oldOlId"),needDeleteBoIds,actionTypeCds.split(","));
+            //return ProtocolUtil.createResultMsg(ProtocolUtil.RETURN_MSG_SUCCESS,"鎴愬姛",JSONObject.parseObject(JSONObject.toJSONString(orderList)));
+        }else if(busiOrderTmps.getJSONObject(0).containsKey("oldBoId")){
+            Map<String,String> oldBoIdMap = null;
+            for(int busiOrderIndex = 0; busiOrderIndex< busiOrderTmps.size();busiOrderIndex++){
+                oldBoIdMap = new HashMap<String, String>();
+                oldBoIdMap.put("actionTypeCd","");
+                oldBoIdMap.put("boId",busiOrderTmps.getJSONObject(busiOrderIndex).getString("oldBoId"));
+                oldBoIdMap.put("olId","");
+                needDeleteBoIds.add(oldBoIdMap);
+            }
+        }else {
+            throw new IllegalArgumentException("褰撳墠绯荤粺鍙敮鎸乥usiOrder 鑺傜偣涓嬬涓�涓妭鐐瑰寘鍚� actionTypeCd鑺傜偣鍜� oldOlId鑺傜偣鐨勬姤鏂囷細"+orderInfo);
+        }
+
+        //鏁版嵁鍒嗚
+        Map<String,JSONArray> datasTmp = new HashMap<String, JSONArray>();
+        //娣诲姞鏁版嵁鑷� busi_order,杩欓噷鐢熸垚鏂扮殑boId 灏嗛渶瑕佷綔搴熺殑boId淇℃伅鍐欏叆鍊糱usi_order_attr 涓崟鐙敞鍐屼竴涓睘鎬т俊鎭�
+
+        for(Map<String,String> needDeleteBoIdMap : needDeleteBoIds){
+            BusiOrder busiOrder = new BusiOrder();
+
+            String newBoId = this.queryPrimaryKey(iPrimaryKeyService,"BO_ID");
+
+            busiOrder.setOlId(olId);
+            //閲嶆柊鐢熸垚 boId
+            busiOrder.setBoId(newBoId);
+            //璁剧疆鎾ゅ崟锛屼綔搴熻鍗曞姩浣�
+            busiOrder.setActionTypeCd(ActionTypeConstant.ACTION_TYPE_CANCEL_ORDER);
+
+            busiOrder.setRemark("鎾ゅ崟锛屼綔搴熻鍗曞鐞嗭紝浣滃簾璁㈠崟涓�"+needDeleteBoIdMap.get("boId"));
+
+            //杩欓噷淇濆瓨璁㈠崟椤� busiOrder
+            int saveBusiOrderFlag = iOrderServiceDao.saveDataToBusiOrder(busiOrder);
+            if(saveBusiOrderFlag < 1){
+                throw new RuntimeException("鎾ゅ崟锛屼綔搴熻鍗曞け璐ワ紝淇濆瓨璁㈠崟椤逛俊鎭け璐�"+JSONObject.toJSONString(busiOrder));
+            }
+
+            //灏嗛渶瑕佷綔搴熺殑璁㈠崟boId 鍐欏叆鍊� busi_order_attr 涓� 灞炴�т负锛� 10000001
+
+            BusiOrderAttr busiOrderAttr = new BusiOrderAttr();
+            busiOrderAttr.setBoId(newBoId);
+            busiOrderAttr.setAttrCd(AttrCdConstant.BUSI_ORDER_ATTR_10000001);
+            busiOrderAttr.setValue(needDeleteBoIdMap.get("boId"));
+
+            saveBusiOrderFlag =  iOrderServiceDao.saveDataToBusiOrderAttr(busiOrderAttr);
+            if(saveBusiOrderFlag < 1){
+                throw new RuntimeException("鎾ゅ崟锛屼綔搴熻鍗曞け璐�,淇濆瓨璁㈠崟椤逛俊鎭睘鎬уけ璐�"+JSONObject.toJSONString(busiOrderAttr));
+            }
+
+
+
+        }
+
+        //杩欓噷琛ュ厖 order_list_attr涓� 缂栫爜涓� 10000002 鐨勬暟鎹紝瑕佷綔搴� 璁㈠崟璐墿杞︿俊鎭紝鐪熸浣滃簾鍗曞瓙鏄互 busi_order_attr 涓殑boId 涓轰富
+
+
 
 
 
         return null;
+    }
+
+    /**
+     * 鏍规嵁 璁㈠崟鍔ㄤ綔 浣滃簾
+     * @param oldOlId 浣滃簾鐨勮喘鐗╄溅
+     * @param actionTypeCd busi_order action_type_cd 绫诲瀷鏉ヤ綔搴熻鍗�
+     * @throws Exception
+     */
+    private void getNeeddeleteOrderByActionTypeCd(String oldOlId,List<Map<String,String>> needDeleteBoIds,String ...actionTypeCd) throws Exception{
+        //鏍规嵁oldOdId actionTypeCd 鑾峰彇璁㈠崟椤�
+        BusiOrder busiOrderTmp = new BusiOrder();
+        busiOrderTmp.setOlId(oldOlId);
+        String actionTypeCds= "";
+        // 'C1','A1','M1',
+        for(String ac : actionTypeCd){
+            actionTypeCds += ("'"+ac+"',");
+        }
+
+        // 'C1','A1','M1'
+        actionTypeCds = actionTypeCds.endsWith(",")?actionTypeCds.substring(0,actionTypeCds.length()-1):actionTypeCds;
+
+        //濡傛灉涓� ALL 浣滃簾鏁翠釜璁㈠崟鏁版嵁锛岃繖閲岀洿鎺ヤ紶涓虹┖ 鏍规嵁olId 澶勭悊
+        if("ALL".equals(actionTypeCds)){
+
+            actionTypeCds = "";
+        }
+
+        busiOrderTmp.setActionTypeCd(actionTypeCds);
+
+        /**
+         * 宸茬粡鐢熸垚鐨勮鍗曢」淇℃伅
+         */
+        List<BusiOrder> oldBusiOrders =  iOrderServiceDao.queryBusiOrderAndAttr(busiOrderTmp);
+
+        Assert.isNull(oldBusiOrders,"娌℃湁鎵惧埌闇�瑕佷綔搴熺殑璁㈠崟锛孾oldOdId="+oldOlId+",actionTypeCd = "+actionTypeCd+"]");
+
+        //浣滃簾鑰佽鍗曚俊鎭�
+        Map<String,String> oldBoIdMap = null;
+        for(BusiOrder oldBusiOrder : oldBusiOrders){
+            oldBoIdMap = new HashMap<String, String>();
+            oldBoIdMap.put("actionTypeCd",oldBusiOrder.getActionTypeCd());
+            oldBoIdMap.put("boId",oldBusiOrder.getBoId());
+            oldBoIdMap.put("olId",oldBusiOrder.getOlId());
+            needDeleteBoIds.add(oldBoIdMap);
+        }
+    }
+
+    private void prepareContext(AppContext context,Map<String,JSONArray> datasTmp){
+        Assert.isNull(context,"鍒涘缓涓婁笅瀵硅薄澶辫触");
+
+        //杩欓噷灏嗘暣涓鍗曠殑data 淇℃伅瀛樺叆 涓婁笅鏂囧璞′腑锛屼互闃插悗鏈熶娇鐢ㄦ棤娉曡幏鍙�
+
+        context.coverData(datasTmp);
+
+    }
+
+
+    /**
+     *
+     * oldBoIdMap.put("actionTypeCd","");
+     *
+     *  oldBoIdMap.put("boId",busiOrderTmps.getJSONObject(busiOrderIndex).getString("oldBoId"));
+     *  oldBoIdMap.put("olId","");
+     * @param needDeleteBoIdMap
+     *
+     */
+    private void processDeleteOrderByActionTypeCd(Map<String,String> needDeleteBoIdMap,Map<String,JSONArray> datasTmp){
+
+        Assert.isNull(datasTmp,"processDeleteOrderByActionTypeCd 鏂规硶鐨勫弬鏁� datasTmp 涓虹┖锛�");
+
+        // 濡傛灉杩欎袱涓腑鏈変竴涓负绌猴紝鍒欎粠搴撲腑鏌ヨ
+        if(StringUtils.isBlank(needDeleteBoIdMap.get("olId")) || StringUtils.isBlank(needDeleteBoIdMap.get("actionTypeCd"))){
+            BusiOrder busiOrderTmp = new BusiOrder();
+            busiOrderTmp.setBoId(needDeleteBoIdMap.get("boId"));
+            //杩欓噷鍙湁涓�鏉″叾浠栵紝鍒欐姏鍑哄紓甯�
+            List<BusiOrder> oldBusiOrders =  iOrderServiceDao.queryBusiOrderAndAttr(busiOrderTmp);
+
+            if(oldBusiOrders == null || oldBusiOrders.size() != 1){
+                throw new IllegalArgumentException("褰撳墠[boId="+needDeleteBoIdMap.get("boId")+"] 鏁版嵁鍦╞usi_order琛ㄤ腑涓嶅瓨鍦紝璇峰鐞嗭紝寰堟湁鍙兘鏄叆鍙傞敊璇�");
+            }
+
+            //鍥炲啓鏁版嵁
+
+            needDeleteBoIdMap.put("olId",oldBusiOrders.get(0).getOlId());
+            needDeleteBoIdMap.put("actionTypeCd",oldBusiOrders.get(0).getActionTypeCd());
+        }
+
+        String actionTypeCd = needDeleteBoIdMap.get("actionTypeCd");
+
+        JSONArray dataJsonTmp = null;
+        if(!datasTmp.containsKey(actionTypeCd)){
+            dataJsonTmp = new JSONArray();
+        }else{
+            dataJsonTmp = datasTmp.get(actionTypeCd);
+        }
+        dataJsonTmp.add(JSONObject.parseObject(JSONObject.toJSONString(needDeleteBoIdMap)));
+        datasTmp.put(actionTypeCd,dataJsonTmp);
     }
 
     public IPrimaryKeyService getiPrimaryKeyService() {
@@ -59,4 +489,20 @@
     public void setiPrimaryKeyService(IPrimaryKeyService iPrimaryKeyService) {
         this.iPrimaryKeyService = iPrimaryKeyService;
     }
+
+    public IOrderServiceDao getiOrderServiceDao() {
+        return iOrderServiceDao;
+    }
+
+    public void setiOrderServiceDao(IOrderServiceDao iOrderServiceDao) {
+        this.iOrderServiceDao = iOrderServiceDao;
+    }
+
+    public EventProperties getEventProperties() {
+        return eventProperties;
+    }
+
+    public void setEventProperties(EventProperties eventProperties) {
+        this.eventProperties = eventProperties;
+    }
 }

--
Gitblit v1.8.0