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 | 34 ++++++++++++++++++++--------------
1 files changed, 20 insertions(+), 14 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 edbcedc..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);
@@ -65,12 +66,14 @@
code,
wechatAuthProperties.getGrantType());
+ logger.debug("wechatAuthProperties:" + JSONObject.toJSONString(wechatAuthProperties));
+
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澶辨晥");
}
@@ -129,13 +132,13 @@
registerInfo.put("password", userDefaultPassword);
JSONArray userAttr = new JSONArray();
JSONObject userAttrObj = new JSONObject();
- userAttrObj.put("attrId","-1");
- userAttrObj.put("specCd","100201911001");
- userAttrObj.put("value",openId);
+ userAttrObj.put("attrId", "-1");
+ userAttrObj.put("specCd", "100201911001");
+ userAttrObj.put("value", openId);
userAttr.add(userAttrObj);
registerInfo.put("businessUserAttr", userAttr);
responseEntity = this.callCenterService(restTemplate, pd, registerInfo.toJSONString(), ServiceConstant.SERVICE_API_URL + "/api/user.service.register", HttpMethod.POST);
- if(responseEntity.getStatusCode() != HttpStatus.OK){
+ if (responseEntity.getStatusCode() != HttpStatus.OK) {
throw new IllegalArgumentException("淇濆瓨鐢ㄦ埛淇℃伅澶辫触");
}
responseEntity = super.getUserInfoByOpenId(pd, restTemplate, openId);
@@ -144,21 +147,24 @@
if (responseEntity.getStatusCode() != HttpStatus.OK) {
throw new IllegalArgumentException("鏍圭粷openId 鏌ヨ鐢ㄦ埛淇℃伅寮傚父" + openId);
}
- userResult = JSONObject.parseObject(responseEntity.getBody());
+ 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.put("token",token);
- paramOut.put("sessionKey",sessionKey);
+ paramOut.putAll(userInfo);
+ paramOut.put("token", token);
+ paramOut.put("sessionKey", sessionKey);
pd.setToken(token);
responseEntity = new ResponseEntity<String>(paramOut.toJSONString(), HttpStatus.OK);
- }catch (Exception e){
- logger.error("鐧诲綍寮傚父锛�",e);
+ } catch (Exception e) {
+ logger.error("鐧诲綍寮傚父锛�", e);
throw new IllegalArgumentException("閴存潈澶辫触");
}
//鏍规嵁openId 鏌ヨ鐢ㄦ埛淇℃伅锛屾槸鍚﹀瓨鍦ㄧ敤鎴�
--
Gitblit v1.8.0