From 2d079ac843ebcb335f2ef7d6952f9700a16fddde Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期三, 05 五月 2021 14:11:00 +0800
Subject: [PATCH] 游湖阿底阿妈

---
 java110-core/src/main/java/com/java110/core/context/DataFlow.java |   60 ++++++++++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 46 insertions(+), 14 deletions(-)

diff --git a/java110-core/src/main/java/com/java110/core/context/DataFlow.java b/java110-core/src/main/java/com/java110/core/context/DataFlow.java
old mode 100644
new mode 100755
index b633e0f..1dfc41f
--- a/java110-core/src/main/java/com/java110/core/context/DataFlow.java
+++ b/java110-core/src/main/java/com/java110/core/context/DataFlow.java
@@ -2,9 +2,10 @@
 
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
-import com.java110.common.util.DateUtil;
-import com.java110.common.util.SequenceUtil;
-import com.java110.common.util.StringUtil;
+import com.java110.utils.constant.CommonConstant;
+import com.java110.utils.util.DateUtil;
+import com.java110.core.factory.GenerateCodeFactory;
+import com.java110.utils.util.StringUtil;
 import com.java110.entity.center.AppRoute;
 import com.java110.entity.center.Business;
 
@@ -115,7 +116,7 @@
     }
 
     @Override
-    public Orders getOrder() {
+    public IOrders getOrder() {
         return this;
     }
 
@@ -213,13 +214,23 @@
         return this;
     }
 
-    public DataFlow builder(String reqInfo, Map<String,String> headerAll) throws Exception{
+    public DataFlow doBuilder(String reqInfo, Map<String,String> headerAll) throws Exception{
 
         try{
             Business business = null;
             JSONObject reqInfoObj = JSONObject.parseObject(reqInfo);
-            JSONObject orderObj = reqInfoObj.getJSONObject("orders");
-            JSONArray businessArray = reqInfoObj.getJSONArray("business");
+            JSONObject orderObj = refreshOrderObj(reqInfoObj,headerAll);
+            Object businessObj = reqInfoObj.get("business");
+            JSONArray businessArray = null;
+            if(businessObj instanceof JSONObject){
+                businessArray = new JSONArray();
+                businessArray.add(reqInfoObj.getJSONObject("business"));
+            }else if(businessObj instanceof JSONArray){
+                businessArray = reqInfoObj.getJSONArray("business");
+            }else{
+                // 涓嶅仛澶勭悊
+            }
+
             this.setReqData(reqInfo);
             this.setReqJson(reqInfoObj);
             this.setDataFlowId(orderObj.containsKey("dataFlowId")?orderObj.getString("dataFlowId"):"-1");
@@ -241,9 +252,10 @@
             }
 
             if (headerAll != null){
-                this.headers.putAll(headerAll);
-                this.setRequestURL(headers.get("REQUEST_URL"));
-                this.setIp(headers.get("IP"));
+                this.requestHeaders.putAll(headerAll);
+                this.requestCurrentHeaders.putAll(headerAll);
+                this.setRequestURL(requestHeaders.get("REQUEST_URL"));
+                this.setIp(requestHeaders.get("IP"));
             }
 
 
@@ -268,7 +280,7 @@
             this.setReqData(reqInfo);
             this.setDataFlowId("-1");
             this.setAppId(headerAll.get("appId"));
-            this.setTransactionId(StringUtil.isNullOrNone(headerAll.get("transactionId"))? SequenceUtil.getTransactionId():headerAll.get("transactionId"));
+            this.setTransactionId(StringUtil.isNullOrNone(headerAll.get("transactionId"))? GenerateCodeFactory.getTransactionId():headerAll.get("transactionId"));
             this.setUserId(StringUtil.isNullOrNone(headerAll.get("userId"))? "-1":headerAll.get("userId"));
             this.setOrderTypeCd("T");
             this.setRemark(StringUtil.isNullOrNone(headerAll.get("remark"))? "":headerAll.get("remark"));
@@ -286,9 +298,10 @@
             }
 
             if (headerAll != null){
-                this.headers.putAll(headerAll);
-                this.setRequestURL(headers.get("REQUEST_URL"));
-                this.setIp(headers.get("IP"));
+                this.requestHeaders.putAll(headerAll);
+                this.requestCurrentHeaders.putAll(headerAll);
+                this.setRequestURL(requestHeaders.get("REQUEST_URL"));
+                this.setIp(requestHeaders.get("IP"));
             }
 
 
@@ -299,4 +312,23 @@
         return this;
     }
 
+    private JSONObject refreshOrderObj(JSONObject reqInfoObj,Map<String,String> headerAll){
+
+        JSONObject reqInfoOrder = reqInfoObj.getJSONObject("orders");
+
+        if(!reqInfoOrder.containsKey("appId")) {
+            reqInfoOrder.put("appId", headerAll.get(CommonConstant.HTTP_APP_ID));
+        }
+        if(!reqInfoOrder.containsKey("transactionId")) {
+            reqInfoOrder.put("transactionId", headerAll.get(CommonConstant.HTTP_TRANSACTION_ID));
+        }
+        if(!reqInfoOrder.containsKey("sign")) {
+            reqInfoOrder.put("sign", headerAll.get(CommonConstant.HTTP_SIGN));
+        }
+
+        if(!reqInfoOrder.containsKey("requestTime")) {
+            reqInfoOrder.put("requestTime", headerAll.get(CommonConstant.HTTP_REQ_TIME));
+        }
+        return reqInfoOrder;
+    }
 }

--
Gitblit v1.8.0