From 22e8a676ee42c0d78b3526bcd9a635abbe8dca03 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期二, 28 六月 2022 11:28:21 +0800
Subject: [PATCH] 优化databus bug

---
 java110-core/src/main/java/com/java110/core/factory/DataFlowFactory.java |  457 ++++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 423 insertions(+), 34 deletions(-)

diff --git a/java110-core/src/main/java/com/java110/core/factory/DataFlowFactory.java b/java110-core/src/main/java/com/java110/core/factory/DataFlowFactory.java
old mode 100644
new mode 100755
index 6acb349..567707f
--- a/java110-core/src/main/java/com/java110/core/factory/DataFlowFactory.java
+++ b/java110-core/src/main/java/com/java110/core/factory/DataFlowFactory.java
@@ -2,21 +2,29 @@
 
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
-import com.java110.common.cache.MappingCache;
-import com.java110.common.constant.CommonConstant;
-import com.java110.common.constant.MappingConstant;
-import com.java110.common.constant.ResponseConstant;
-import com.java110.common.constant.StatusConstant;
-import com.java110.common.util.Assert;
-import com.java110.common.util.DateUtil;
-import com.java110.common.util.SequenceUtil;
+import com.java110.utils.cache.AppRouteCache;
+import com.java110.utils.cache.MappingCache;
+import com.java110.utils.constant.CommonConstant;
+import com.java110.utils.constant.MappingConstant;
+import com.java110.utils.constant.ResponseConstant;
+import com.java110.utils.constant.StatusConstant;
+import com.java110.utils.util.Assert;
+import com.java110.utils.util.DateUtil;
+import com.java110.utils.util.StringUtil;
 import com.java110.core.context.AbstractDataFlowContext;
+import com.java110.core.context.ApiDataFlow;
 import com.java110.core.context.DataFlow;
+import com.java110.core.context.OrderDataFlow;
 import com.java110.entity.center.AppRoute;
 import com.java110.entity.center.AppService;
 import com.java110.entity.center.Business;
 import com.java110.entity.center.DataFlowLinksCost;
+import com.java110.entity.order.BusinessAttrs;
+import com.java110.entity.order.Orders;
+import com.java110.entity.order.OrdersAttrs;
 import org.springframework.beans.BeanInstantiationException;
+import org.springframework.http.HttpHeaders;
+import org.springframework.util.MultiValueMap;
 
 import java.util.*;
 
@@ -102,6 +110,44 @@
         }
         return null;
     }
+
+    /**
+     * 鑾峰彇鍗曚釜璺敱
+     * @param dataFlow
+     * @param serviceCode
+     * @return
+     */
+    public static AppRoute getRoute(ApiDataFlow dataFlow, String serviceCode){
+        if (dataFlow.getAppRoutes().size() == 0){
+            throw new RuntimeException("褰撳墠娌℃湁鑾峰彇鍒癆ppId瀵瑰簲鐨勪俊鎭�");
+        }
+
+        List<AppRoute> appRoutes = dataFlow.getAppRoutes();
+        for(AppRoute appRoute : appRoutes) {
+            if (StatusConstant.STATUS_CD_VALID.equals(appRoute.getStatusCd())
+                    &&appRoute.getAppService().getServiceCode().equals(serviceCode)){
+                return appRoute;
+            }
+        }
+        return null;
+    }
+
+    /**
+     * 鏍规嵁AppId 鍜宻erviceCode 鏌ヨAppRoute
+     * @param appId
+     * @param serviceCode
+     * @return
+     */
+    public static AppRoute getRoute(String appId,String serviceCode){
+        List<AppRoute> appRoutes = AppRouteCache.getAppRoute(appId);
+        for(AppRoute appRoute : appRoutes) {
+            if (StatusConstant.STATUS_CD_VALID.equals(appRoute.getStatusCd())
+                    &&appRoute.getAppService().getServiceCode().equals(serviceCode)){
+                return appRoute;
+            }
+        }
+        return null;
+    }
     /**
      * 鑾峰彇鍗曚釜鏈嶅姟
      * @param dataFlow
@@ -117,13 +163,41 @@
     }
 
     /**
+     * 鑾峰彇鍗曚釜鏈嶅姟
+     * @param dataFlow
+     * @param serviceCode
+     * @return
+     */
+    public static AppService getService(ApiDataFlow dataFlow, String serviceCode){
+        AppRoute route = getRoute(dataFlow, serviceCode);
+        if(route == null){
+            return null;
+        }
+        return route.getAppService();
+    }
+
+    /**
+     * 鏍规嵁appid 鍜� serviceCode 鏌ヨ鐩稿簲鐨� appservice
+     * @param appId
+     * @param serviceCode
+     * @return
+     */
+    public static AppService getService(String appId,String serviceCode){
+        AppRoute route = getRoute(appId, serviceCode);
+        if(route == null){
+            return null;
+        }
+        return route.getAppService();
+    }
+
+    /**
      * 鑾峰彇Order淇℃伅
      * @param dataFlow
      * @return
      */
     public static Map getOrder(DataFlow dataFlow){
         Map order = new HashMap();
-        dataFlow.setoId(SequenceUtil.getOId());
+        dataFlow.setoId(GenerateCodeFactory.getOId());
         order.put("oId",dataFlow.getoId());
         order.put("appId",dataFlow.getAppId());
         order.put("extTransactionId",dataFlow.getTransactionId());
@@ -131,6 +205,25 @@
         order.put("requestTime",dataFlow.getRequestTime());
         order.put("orderTypeCd",dataFlow.getOrderTypeCd());
         order.put("remark",dataFlow.getRemark());
+        order.put("statusCd",StatusConstant.STATUS_CD_SAVE);
+        return order ;
+    }
+
+    /**
+     * 鑾峰彇Order淇℃伅
+     * @param orders 璁㈠崟淇℃伅
+     * @return
+     */
+    public static Map getOrder(Orders orders){
+        Map order = new HashMap();
+        orders.setoId(GenerateCodeFactory.getOId());
+        order.put("oId",orders.getoId());
+        order.put("appId",orders.getAppId());
+        order.put("extTransactionId",orders.getExtTransactionId());
+        order.put("userId",orders.getUserId());
+        order.put("requestTime",orders.getRequestTime());
+        order.put("orderTypeCd",orders.getOrderTypeCd());
+        order.put("remark",orders.getRemark());
         order.put("statusCd",StatusConstant.STATUS_CD_SAVE);
         return order ;
     }
@@ -144,7 +237,7 @@
     public static List<Map> getOrderAttrs(DataFlow dataFlow){
         List<Map> orderAttrs = new ArrayList<Map>();
         JSONObject reqOrders = dataFlow.getReqOrders();
-        if(!reqOrders.containsKey("attrs") && reqOrders.getJSONArray("attrs").size() ==0){
+        if(!reqOrders.containsKey("attrs") || reqOrders.getJSONArray("attrs").size() ==0){
             return orderAttrs;
         }
         JSONArray attrs = reqOrders.getJSONArray("attrs");
@@ -153,7 +246,7 @@
         {
             attrMap = new HashMap();
             attrMap.put("oId",dataFlow.getoId());
-            attrMap.put("attrId",SequenceUtil.getAttrId());
+            attrMap.put("attrId", GenerateCodeFactory.getAttrId());
             attrMap.put("specCd",attrs.getJSONObject(attrIndex).getString("specCd"));
             attrMap.put("value",attrs.getJSONObject(attrIndex).getString("value"));
             orderAttrs.add(attrMap);
@@ -162,30 +255,78 @@
     }
 
     /**
+     * 鑾峰彇璁㈠崟灞炴��
+     * @param orders
+     * @return
+     */
+    public static List<Map> getOrderAttrs(Orders orders){
+        List<Map> orderAttrs = new ArrayList<Map>();
+
+        List<OrdersAttrs> attrs = orders.getOrdersAttrs();
+        Map attrMap = null;
+        for(OrdersAttrs ordersAttr:attrs)
+        {
+            ordersAttr.setAttrId(GenerateCodeFactory.getAttrId());
+            attrMap = new HashMap();
+            attrMap.put("oId",orders.getoId());
+            attrMap.put("attrId", ordersAttr.getAttrId());
+            attrMap.put("specCd",ordersAttr.getSpecCd());
+            attrMap.put("value",ordersAttr.getValue());
+            orderAttrs.add(attrMap);
+        }
+        return orderAttrs;
+    }
+    /**
      * 鑾峰彇璁㈠崟椤�
      * @param dataFlow
      * @return
      */
     public static List<Map> getBusiness(DataFlow dataFlow){
         List<Map> businesss = new ArrayList<Map>();
-        JSONArray reqBusiness = dataFlow.getReqBusiness();
+        List<Business> businesses= dataFlow.getBusinesses();
         Map busiMap = null;
-        for(int businessIndex = 0 ; businessIndex < reqBusiness.size();businessIndex ++) {
-            JSONObject business = reqBusiness.getJSONObject(businessIndex);
+        for(Business business : businesses) {
             if(business == null){
                 continue;
             }
-            business.put("bId",SequenceUtil.getBId());
+            business.setbId(GenerateCodeFactory.getBId());
             busiMap = new HashMap();
             busiMap.put("oId",dataFlow.getoId());
-            busiMap.put("businessTypeCd",getService(dataFlow,business.getString("serviceCode")).getBusinessTypeCd());
-            busiMap.put("remark",business.getString("remark"));
+            busiMap.put("businessTypeCd",getService(dataFlow,business.getServiceCode()).getBusinessTypeCd());
+            busiMap.put("remark",business.getRemark());
             busiMap.put("statusCd",StatusConstant.STATUS_CD_SAVE);
-            busiMap.put("bId",business.getString("bId"));
+            busiMap.put("bId",business.getbId());
             businesss.add(busiMap);
         }
         return businesss;
     }
+
+
+    /**
+     * 鑾峰彇璁㈠崟椤�
+     * @param dataFlow
+     * @return
+     */
+    public static List<Map> getBusiness(OrderDataFlow dataFlow){
+        List<Map> businesss = new ArrayList<Map>();
+        Map busiMap = null;
+        List<com.java110.entity.order.Business> businessList = dataFlow.getBusinessList();
+        for(com.java110.entity.order.Business business : businessList) {
+            if(business == null){
+                continue;
+            }
+            business.setbId(GenerateCodeFactory.getBId());
+            busiMap = new HashMap();
+            busiMap.put("oId",dataFlow.getOrders().getoId());
+            busiMap.put("businessTypeCd",business.getBusinessTypeCd());
+            busiMap.put("remark",business.getRemark());
+            busiMap.put("statusCd",StatusConstant.STATUS_CD_SAVE);
+            busiMap.put("bId",business.getbId());
+            businesss.add(busiMap);
+        }
+        return businesss;
+    }
+
 
     /**
      * 缁勮鎾ゅ崟鏁版嵁
@@ -199,8 +340,26 @@
         busiMap.put("oId",dataFlow.getoId());
         busiMap.put("businessTypeCd",StatusConstant.REQUEST_BUSINESS_TYPE_DELETE);
         busiMap.put("remark",message);
-        busiMap.put("statusCd",StatusConstant.STATUS_CD_DELETE);
-        busiMap.put("bId",SequenceUtil.getBId());
+        busiMap.put("statusCd",StatusConstant.STATUS_CD_DELETE_ORDER);
+        busiMap.put("bId", GenerateCodeFactory.getBId());
+        business.add(busiMap);
+        return business;
+    }
+
+    /**
+     * 缁勮鎾ゅ崟鏁版嵁
+     * @param dataFlow
+     * @param message
+     * @return
+     */
+    public static List<Map> getDeleteOrderBusiness(OrderDataFlow dataFlow,String message){
+        List<Map> business = new ArrayList<Map>();
+        Map busiMap = new HashMap();
+        busiMap.put("oId",dataFlow.getOrders().getoId());
+        busiMap.put("businessTypeCd",StatusConstant.REQUEST_BUSINESS_TYPE_DELETE);
+        busiMap.put("remark",message);
+        busiMap.put("statusCd",StatusConstant.STATUS_CD_DELETE_ORDER);
+        busiMap.put("bId", GenerateCodeFactory.getBId());
         business.add(busiMap);
         return business;
     }
@@ -212,20 +371,47 @@
      */
     public static List<Map> getBusinessAttrs(DataFlow dataFlow){
         List<Map> businessAttrs = new ArrayList<Map>();
-        JSONArray reqBusiness = dataFlow.getReqBusiness();
-        for(int businessIndex = 0 ; businessIndex < reqBusiness.size();businessIndex ++) {
-            JSONObject business = reqBusiness.getJSONObject(businessIndex);
-            if (!business.containsKey("attrs") && business.getJSONArray("attrs").size() == 0) {
+        List<Business> businesses = dataFlow.getBusinesses();
+        for(Business business :businesses) {
+            if (business.getAttrs() == null || business.getAttrs().size() ==0) {
                 continue;
             }
-            JSONArray attrs = business.getJSONArray("attrs");
+            JSONArray attrs = business.getAttrs();
             Map attrMap = null;
             for (int attrIndex = 0; attrIndex < attrs.size(); attrIndex++) {
                 attrMap = new HashMap();
-                attrMap.put("bId", business.getString("bId"));
-                attrMap.put("attrId", SequenceUtil.getAttrId());
+                attrMap.put("bId", business.getbId());
+                attrMap.put("attrId", GenerateCodeFactory.getAttrId());
                 attrMap.put("specCd", attrs.getJSONObject(attrIndex).getString("specCd"));
                 attrMap.put("value", attrs.getJSONObject(attrIndex).getString("value"));
+                businessAttrs.add(attrMap);
+            }
+        }
+        return businessAttrs;
+    }
+
+
+    /**
+     * 鑾峰彇璁㈠崟灞炴��
+     * @param dataFlow
+     * @return
+     */
+    public static List<Map> getBusinessAttrs(OrderDataFlow dataFlow){
+        List<Map> businessAttrs = new ArrayList<Map>();
+        List<com.java110.entity.order.Business> businesses = dataFlow.getBusinessList();
+        for(com.java110.entity.order.Business business :businesses) {
+            if (business.getBusinessAttrs() == null || business.getBusinessAttrs().size() ==0) {
+                continue;
+            }
+            List<BusinessAttrs> attrs = business.getBusinessAttrs();
+            Map attrMap = null;
+            for (BusinessAttrs businessAttrs1 : attrs) {
+                attrMap = new HashMap();
+                businessAttrs1.setAttrId(GenerateCodeFactory.getAttrId());
+                attrMap.put("bId", business.getbId());
+                attrMap.put("attrId", businessAttrs1.getAttrId());
+                attrMap.put("specCd", businessAttrs1.getSpecCd());
+                attrMap.put("value", businessAttrs1.getValue());
                 businessAttrs.add(attrMap);
             }
         }
@@ -250,6 +436,19 @@
      * @param dataFlow
      * @return
      */
+    public static Map getNeedInvalidOrder(OrderDataFlow dataFlow){
+        Map order = new HashMap();
+        order.put("oId",dataFlow.getOrders().getoId());
+        // order.put("finishTime",DateUtil.getCurrentDate());
+        order.put("statusCd",StatusConstant.STATUS_CD_DELETE);
+        return order;
+    }
+
+    /**
+     * 鑾峰彇灏嗚浣滃簾鐨勮鍗�
+     * @param dataFlow
+     * @return
+     */
     public static Map getNeedErrorOrder(DataFlow dataFlow){
         Map order = new HashMap();
         order.put("oId",dataFlow.getoId());
@@ -262,7 +461,7 @@
         Map business = new HashMap();
         String bId = "";
         for(Business busi:dataFlow.getBusinesses()){
-            bId += "'"+busi.getbId()+"',";
+            bId += busi.getbId()+",";
         }
         business.put("bId",bId.substring(0,bId.length()-1));
         business.put("finishTime",DateUtil.getCurrentDate());
@@ -270,11 +469,62 @@
         return business;
     }
 
+    /**
+     * Business 杩囩▼瀹屾垚
+     * @param dataFlow
+     * @return
+     */
+    public static Map getNeedBusinessComplete(DataFlow dataFlow){
+        Map business = new HashMap();
+        String bId = "";
+        for(Business busi:dataFlow.getBusinesses()){
+            bId += busi.getbId()+",";
+        }
+        business.put("bId",bId.substring(0,bId.length()-1));
+        business.put("finishTime",DateUtil.getCurrentDate());
+        business.put("statusCd",StatusConstant.STATUS_CD_BUSINESS_COMPLETE);
+        return business;
+    }
+
+    /**
+     * Business 杩囩▼瀹屾垚
+     * @param dataFlow
+     * @return
+     */
+    public static Map getNeedDeleteBusiness(DataFlow dataFlow){
+        Map business = new HashMap();
+        String bId = "";
+        for(Business busi:dataFlow.getBusinesses()){
+            bId += busi.getbId()+",";
+        }
+        business.put("bId",bId.substring(0,bId.length()-1));
+        business.put("finishTime",DateUtil.getCurrentDate());
+        business.put("statusCd",StatusConstant.STATUS_CD_DELETE_ORDER);
+        return business;
+    }
+
+    /**
+     * Business 杩囩▼瀹屾垚
+     * @param dataFlow
+     * @return
+     */
+    public static Map getNeedDeleteBusiness(OrderDataFlow dataFlow){
+        Map business = new HashMap();
+        String bId = "";
+        for(com.java110.entity.order.Business busi:dataFlow.getBusinessList()){
+            bId += busi.getbId()+",";
+        }
+        business.put("bId",bId.substring(0,bId.length()-1));
+        business.put("finishTime",DateUtil.getCurrentDate());
+        business.put("statusCd",StatusConstant.STATUS_CD_DELETE_ORDER);
+        return business;
+    }
+
     public static Map getNeedNotifyErrorBusiness(DataFlow dataFlow){
         Map business = new HashMap();
         String bId = getMoreBId(dataFlow);
         business.put("bId",bId.substring(0,bId.length()-1));
-        //business.put("finishTime",DateUtil.getCurrentDate());
+        business.put("finishTime",DateUtil.getCurrentDate());
         business.put("statusCd",StatusConstant.STATUS_CD_NOTIFY_ERROR);
         return business;
     }
@@ -287,7 +537,7 @@
     public static String getMoreBId(DataFlow dataFlow){
         String bId = "";
         for(Business busi:dataFlow.getBusinesses()){
-            bId += "'"+busi.getbId()+"',";
+            bId += busi.getbId()+",";
         }
         return bId;
     }
@@ -374,6 +624,8 @@
 
     }
 
+
+
     /**
      * 鑾峰彇澶辫触娑堟伅鐨勬姤鏂囷紙璁㈠崟澶辫触鍚庨�氱煡涓氬姟绯荤粺锛�
      * @param business
@@ -387,12 +639,27 @@
             busi.put("bId",business.getbId());
             busi.put("serviceCode",business.getServiceCode());
             busi.put("serviceName",business.getServiceName());
-            busi.put("isInstance",CommonConstant.INSTANCE_Y);
-        busi.put("datas",business.getDatas());
+            //busi.put("isInstance",CommonConstant.INSTANCE_Y);
+        //busi.put("datas",business.getDatas());
         requestMessage.put("business",busi);
         return requestMessage;
     }
 
+    /**
+     * 鑾峰彇澶辫触娑堟伅鐨勬姤鏂囷紙璁㈠崟澶辫触鍚庨�氱煡涓氬姟绯荤粺锛�
+     * @param business
+     * @return
+     */
+    public static JSONObject getBusinessTableDataInfoToInstanceTableJson(OrderDataFlow dataFlow,com.java110.entity.order.Business business){
+
+        JSONObject requestMessage = getTransactionBusinessBaseJson(dataFlow,StatusConstant.REQUEST_BUSINESS_TYPE_INSTANCE);
+        JSONObject busi = null;
+        busi = new JSONObject();
+        busi.put("bId",business.getbId());
+        busi.put("businessTypeCd",business.getBusinessTypeCd());
+        requestMessage.put("business",busi);
+        return requestMessage;
+    }
 
     /**
      * 鍙戣捣鎾ゅ崟璇锋眰鎶ユ枃
@@ -407,9 +674,38 @@
         busi.put("bId",business.getbId());
         busi.put("serviceCode",business.getServiceCode());
         busi.put("serviceName",business.getServiceName());
-        busi.put("datas",business.getDatas());
+        //busi.put("datas",business.getDatas());
         requestMessage.put("business",busi);
         return requestMessage;
+    }
+
+    /**
+     * 鍙戣捣鎾ゅ崟璇锋眰鎶ユ枃
+     * @param business
+     * @return
+     */
+    public static JSONObject getDeleteInstanceTableJson(OrderDataFlow dataFlow,com.java110.entity.order.Business business){
+
+        JSONObject requestMessage = getTransactionBusinessBaseJson(dataFlow,StatusConstant.REQUEST_BUSINESS_TYPE_DELETE);
+        JSONObject busi = null;
+        busi = new JSONObject();
+        busi.put("bId",business.getbId());
+        busi.put("businessTypeCd",business.getBusinessTypeCd());
+        //busi.put("datas",business.getDatas());
+        requestMessage.put("business",busi);
+        return requestMessage;
+    }
+
+    public static JSONObject getDeleteInstanceTableJson(DataFlow dataFlow,Map business,AppService appService){
+        JSONObject requestMessage = getTransactionBusinessBaseJson(dataFlow,StatusConstant.REQUEST_BUSINESS_TYPE_DELETE);
+        JSONObject busi = null;
+        busi = new JSONObject();
+        busi.put("bId",business.get("b_id"));
+        busi.put("serviceCode",appService.getServiceCode());
+        //busi.put("datas",business.getDatas());
+        requestMessage.put("business",busi);
+        return requestMessage;
+
     }
 
     /**
@@ -451,6 +747,26 @@
         return requestMessage;
     }
 
+
+    /**
+     * 鑾峰彇澶辫触娑堟伅鐨勬姤鏂囷紙璁㈠崟澶辫触鍚庨�氱煡涓氬姟绯荤粺锛�
+     * @param business
+     * @return
+     */
+    public static JSONObject getRequestBusinessJson(OrderDataFlow dataFlow,com.java110.entity.order.Business business){
+
+        JSONObject requestMessage = getTransactionBusinessBaseJson(dataFlow,StatusConstant.REQUEST_BUSINESS_TYPE_BUSINESS);
+        //JSONObject businesses = notifyMessage.getJSONObject("business");
+        JSONObject busi = null;
+        busi = new JSONObject();
+        busi.put("bId",business.getbId());
+        busi.put("businessTypeCd",business.getBusinessTypeCd());
+        busi.put("remark",business.getRemark());
+        busi.put("datas",business.getData());
+        requestMessage.put("business",busi);
+        return requestMessage;
+    }
+
     /**
      * 涓氬姟绯荤粺浜や簰
      * @return
@@ -458,8 +774,24 @@
     private static JSONObject getTransactionBusinessBaseJson(DataFlow dataFlow,String businessType){
         JSONObject notifyMessage = JSONObject.parseObject("{\"orders\":{},\"business\":{}}");
         JSONObject orders = notifyMessage.getJSONObject("orders");
-        orders.put("transactionId",SequenceUtil.getTransactionId());
+        orders.put("transactionId", UUID.randomUUID().toString().replace("-",""));
         orders.put("dataFlowId",dataFlow.getDataFlowId());
+        orders.put("orderTypeCd",dataFlow.getOrderTypeCd());
+        orders.put("requestTime",DateUtil.getyyyyMMddhhmmssDateString());
+        orders.put("businessType",businessType);
+        return notifyMessage;
+    }
+
+    /**
+     * 涓氬姟绯荤粺浜や簰
+     * @return
+     */
+    private static JSONObject getTransactionBusinessBaseJson(OrderDataFlow dataFlow,String businessType){
+        JSONObject notifyMessage = JSONObject.parseObject("{\"orders\":{},\"business\":{}}");
+        JSONObject orders = notifyMessage.getJSONObject("orders");
+        orders.put("transactionId", UUID.randomUUID().toString().replace("-",""));
+        orders.put("dataFlowId",dataFlow.getDataFlowId());
+        orders.put("orderTypeCd",dataFlow.getOrders().getOrderTypeCd());
         orders.put("requestTime",DateUtil.getyyyyMMddhhmmssDateString());
         orders.put("businessType",businessType);
         return notifyMessage;
@@ -491,6 +823,30 @@
 
 
     /**
+     * 鑾峰彇鍚屾澶勭悊涓氬姟
+     * @param dataFlow
+     * @return
+     */
+    public static List<com.java110.entity.order.Business> getSynchronousBusinesses(OrderDataFlow dataFlow){
+        AppService service = null;
+        AppRoute route = null;
+        List<com.java110.entity.order.Business> syschronousBusinesses = new ArrayList<com.java110.entity.order.Business>();
+        for(com.java110.entity.order.Business business :dataFlow.getBusinessList()){
+
+            if(CommonConstant.ORDER_INVOKE_METHOD_SYNCHRONOUS.equals(business.getInvokeModel()) || StringUtil.isEmpty(business.getInvokeModel())){
+                business.setSeq(service.getSeq());
+                syschronousBusinesses.add(business);
+            }
+        }
+        if(syschronousBusinesses.size() > 0) {
+            Collections.sort(syschronousBusinesses);
+        }
+
+        return syschronousBusinesses;
+    }
+
+
+    /**
      * 鑾峰彇寮傛澶勭悊涓氬姟
      * @param dataFlow
      * @return
@@ -511,5 +867,38 @@
         return syschronousBusinesses;
     }
 
+    /**
+     * 鑾峰彇寮傛澶勭悊涓氬姟
+     * @param dataFlow
+     * @return
+     */
+    public static List<com.java110.entity.order.Business> getAsynchronousBusinesses(OrderDataFlow dataFlow){
+
+        List<com.java110.entity.order.Business> asynchronousBusinesses = new ArrayList<com.java110.entity.order.Business>();
+        for(com.java110.entity.order.Business business :dataFlow.getBusinessList()){
+            if(CommonConstant.ORDER_INVOKE_METHOD_ASYNCHRONOUS.equals(business.getInvokeModel())){
+
+                asynchronousBusinesses.add(business);
+            }
+        }
+
+        return asynchronousBusinesses;
+    }
+
+
+    /**
+     * hashmap 杞琈ultiValueMap
+     * @param httpHeaders
+     * @return
+     */
+    public static MultiValueMap<String, String> hashMap2MultiValueMap(Map<String,String> httpHeaders){
+        MultiValueMap<String, String> multiValueMap = new HttpHeaders();
+        for(String key:httpHeaders.keySet()) {
+            multiValueMap.add(key,httpHeaders.get(key));
+        }
+
+        return multiValueMap;
+    }
+
 
 }

--
Gitblit v1.8.0