From 601a32ba5dcee884180908ad00b9d7f65a4e7fea Mon Sep 17 00:00:00 2001
From: wuxw7 <wuxw7@asiainfo.com>
Date: 星期一, 24 四月 2017 10:38:24 +0800
Subject: [PATCH] 新建客户时,将新生成的客户主键信息回写至AppContext 中方便于其他模块用改造
---
UserService/src/main/java/com/java110/user/smo/impl/UserServiceSMOImpl.java | 41 +++++++++++++++++++++++++++++++++++++----
1 files changed, 37 insertions(+), 4 deletions(-)
diff --git a/UserService/src/main/java/com/java110/user/smo/impl/UserServiceSMOImpl.java b/UserService/src/main/java/com/java110/user/smo/impl/UserServiceSMOImpl.java
index 30e60b4..a485259 100644
--- a/UserService/src/main/java/com/java110/user/smo/impl/UserServiceSMOImpl.java
+++ b/UserService/src/main/java/com/java110/user/smo/impl/UserServiceSMOImpl.java
@@ -2,6 +2,7 @@
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
+import com.alibaba.fastjson.JSONPath;
import com.java110.common.log.LoggerEngine;
import com.java110.common.util.Assert;
import com.java110.common.util.ProtocolUtil;
@@ -17,6 +18,7 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.ObjectUtils;
import java.util.Collections;
import java.util.HashMap;
@@ -86,6 +88,10 @@
* 'boCust':[{}],
* 'boCustAttr':[{}]
* }
+ *
+ * 杩斿洖鎶ユ枃锛�
+ *
+ * {'RESULT_CODE':'0000','RESULT_MSG':'鎴愬姛','RESULT_INFO':{'custId':'7000123,718881991'}}
* @param userInfoJson
* @return
*/
@@ -161,6 +167,10 @@
}
]
}
+
+ 杩斿洖鎶ユ枃 锛�
+
+ { 'RESULT_CODE': '0000', 'RESULT_MSG': '鎴愬姛', 'RESULT_INFO': {'cust':[{'oldCustId':'-1','custId':'12345678'},{'oldCustId':'-2','custId':'12345678'}]} }
* @param userInfoJson
* @return
* @throws Exception
@@ -174,7 +184,8 @@
Assert.isNull(custInfos,"璇锋眰鎶ユ枃涓璬ata鑺傜偣锛屾病鏈夊瓙鑺傜偣锛宒ata瀛愯妭鐐瑰簲璇ヤ负JSONArray,custInfos="+custInfos);
- JSONArray resultInfos = new JSONArray();
+ JSONObject custInfoJ = new JSONObject();
+ JSONArray resultCustIdArray = new JSONArray();
for(int custInfoIndex = 0 ;custInfoIndex < custInfos.size();custInfoIndex ++){
JSONObject custInfoJson = custInfos.getJSONObject(custInfoIndex);
String soUserServiceResult = this.soUserService(custInfoJson);
@@ -183,12 +194,34 @@
if(!ProtocolUtil.validateReturnJson(soUserServiceResult,resultInfo)){
throw new RuntimeException("瀹㈡埛淇℃伅鍙楃悊澶辫触锛屽師鍥犱负锛�"+resultInfo.getString(ProtocolUtil.RESULT_MSG));
}
+ if(resultInfo.getJSONObject(ProtocolUtil.RESULT_INFO) != null
+ && resultInfo.getJSONObject(ProtocolUtil.RESULT_INFO).containsKey("custId")) {
- resultInfos.add(resultInfo.getJSONObject(ProtocolUtil.RESULT_INFO));
+ String custIds = custInfoJ.getString("custId");
+// custIds += "," + resultInfo.getJSONObject(ProtocolUtil.RESULT_INFO).getString("custId");
+
+// custIds = custIds.startsWith(",") && custIds.length()>1 ? custIds.substring(1,custIds.length()):custIds;
+ //custInfoJ.put("custId", custIds);
+ JSONArray boCusts = custInfoJson.getJSONArray("boCust");
+
+ Object custIdObj = JSONPath.eval(custInfoJson,"$.boCust[custId < '0'][0].custId");
+ if(StringUtils.isNotBlank(custIds) && !ObjectUtils.isEmpty(custIdObj)) {
+
+ String[] allNewCustIds = custIds.split(",");
+ JSONObject newCustIdJson = null;
+ for (String custId : allNewCustIds) {
+ newCustIdJson = new JSONObject();
+ newCustIdJson.put("oldCustId",custIdObj);
+ newCustIdJson.put("custId",custId);
+ resultCustIdArray.add(newCustIdJson);
+ }
+
+ }
+ }
+
}
- JSONObject custInfoJ = new JSONObject();
- custInfoJ.put("data",resultInfos);
+ custInfoJ.put("cust",resultCustIdArray);
return ProtocolUtil.createResultMsg(ProtocolUtil.RETURN_MSG_SUCCESS,"鎴愬姛",custInfoJ);
}
--
Gitblit v1.8.0