From d32600fdec969c9da191b4216416fe711a190de8 Mon Sep 17 00:00:00 2001
From: 吴学文 <wuxuewen@wuxuewendeMacBook-Pro.local>
Date: 星期六, 23 十一月 2019 21:35:32 +0800
Subject: [PATCH] 优化根据openId 查询时的bug修复

---
 AppFrontService/src/main/java/com/java110/app/smo/wxLogin/impl/WxLoginSMOImpl.java |   14 +++++++++-----
 1 files changed, 9 insertions(+), 5 deletions(-)

diff --git a/AppFrontService/src/main/java/com/java110/app/smo/wxLogin/impl/WxLoginSMOImpl.java b/AppFrontService/src/main/java/com/java110/app/smo/wxLogin/impl/WxLoginSMOImpl.java
index 698233c..ac64457 100644
--- a/AppFrontService/src/main/java/com/java110/app/smo/wxLogin/impl/WxLoginSMOImpl.java
+++ b/AppFrontService/src/main/java/com/java110/app/smo/wxLogin/impl/WxLoginSMOImpl.java
@@ -3,6 +3,7 @@
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.java110.app.properties.WechatAuthProperties;
+import com.java110.app.smo.AppAbstractComponentSMO;
 import com.java110.app.smo.wxLogin.IWxLoginSMO;
 import com.java110.core.component.AbstractComponentSMO;
 import com.java110.core.context.IPageData;
@@ -27,7 +28,7 @@
  * wx鐧诲綍
  */
 @Service("wxLoginSMOImpl")
-public class WxLoginSMOImpl extends AbstractComponentSMO implements IWxLoginSMO {
+public class WxLoginSMOImpl extends AppAbstractComponentSMO implements IWxLoginSMO {
 
     private final static Logger logger = LoggerFactory.getLogger(WxLoginSMOImpl.class);
 
@@ -69,10 +70,10 @@
 
         logger.debug("寰俊杩斿洖鎶ユ枃锛�" + response);
 
-        Assert.jsonObjectHaveKey(response, "errcode", "杩斿洖鎶ユ枃涓湭鍖呭惈 閿欒缂栫爜锛屾帴鍙e嚭閿�");
+        //Assert.jsonObjectHaveKey(response, "errcode", "杩斿洖鎶ユ枃涓湭鍖呭惈 閿欒缂栫爜锛屾帴鍙e嚭閿�");
         JSONObject responseObj = JSONObject.parseObject(response);
 
-        if (!"0".equals(responseObj.getString("errcode"))) {
+        if (responseObj.containsKey("errcode") && !"0".equals(responseObj.getString("errcode"))) {
             throw new IllegalArgumentException("寰俊楠岃瘉澶辫触锛屽彲鑳芥槸code澶辨晥");
         }
 
@@ -149,12 +150,15 @@
             userResult = JSONObject.parseObject(responseEntity.getBody());
         }
 
+        JSONObject userInfo = userResult.getJSONArray("users").getJSONObject(0);
+        userInfo.put("password", "");
+
         try {
             Map userMap = new HashMap();
-            userMap.put(CommonConstant.LOGIN_USER_ID, userResult.getString("userId"));
+            userMap.put(CommonConstant.LOGIN_USER_ID, userInfo.getString("userId"));
             String token = AuthenticationFactory.createAndSaveToken(userMap);
             JSONObject paramOut = new JSONObject();
-            paramOut.putAll(userResult);
+            paramOut.putAll(userInfo);
             paramOut.put("token", token);
             paramOut.put("sessionKey", sessionKey);
             pd.setToken(token);

--
Gitblit v1.8.0