From 7fa84cbdd2a4621fab799ce52d5bb883fd1069f5 Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期五, 27 十二月 2019 11:58:05 +0800
Subject: [PATCH] 加入代码
---
AppFrontService/src/main/java/com/java110/app/smo/wxLogin/impl/WxLoginSMOImpl.java | 60 +++++++++++++++++++++++++-----------------------------------
1 files changed, 25 insertions(+), 35 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..e760e32 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澶辨晥");
}
@@ -87,36 +90,17 @@
JSONObject userResult = JSONObject.parseObject(responseEntity.getBody());
int total = userResult.getIntValue("total");
+ JSONObject userInfo = paramIn.getJSONObject("userInfo");
+
if (total == 0) {
//淇濆瓨鐢ㄦ埛淇℃伅
JSONObject registerInfo = new JSONObject();
-
- JSONObject userInfo = paramIn.getJSONObject("userInfo");
//璁剧疆榛樿瀵嗙爜
String userDefaultPassword = MappingCache.getValue(MappingConstant.KEY_STAFF_DEFAULT_PASSWORD);
Assert.hasLength(userDefaultPassword, "鏄犲皠琛ㄤ腑鏈缃憳宸ラ粯璁ゅ瘑鐮侊紝璇锋鏌�" + MappingConstant.KEY_STAFF_DEFAULT_PASSWORD);
userDefaultPassword = AuthenticationFactory.passwdMd5(userDefaultPassword);
- /**
- * {
- * "userId": "-1",
- * "name": "寮犱笁",
- * "email": "928255095@qq.com",
- * "address": "闈掓捣鐪佽タ瀹佸競鍩庝腑鍖�129鍙�",
- * "password": "ERCBHDUYFJDNDHDJDNDJDHDUDHDJDDKDK",
- * "locationCd": "001",
- * "age": 19,
- * "sex": "0",
- * "tel": "17797173943",
- * "level_cd": "1",
- * "businessUserAttr": [{
- * "attrId":"-1",
- * "specCd":"1001",
- * "value":"01"
- * }]
- * }
- */
registerInfo.put("userId", "-1");
registerInfo.put("email", "");
registerInfo.put("address", userInfo.getString("country") + userInfo.getString("province") + userInfo.getString("city"));
@@ -129,13 +113,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 +128,27 @@
if (responseEntity.getStatusCode() != HttpStatus.OK) {
throw new IllegalArgumentException("鏍圭粷openId 鏌ヨ鐢ㄦ埛淇℃伅寮傚父" + openId);
}
- userResult = JSONObject.parseObject(responseEntity.getBody());
+ userResult = JSONObject.parseObject(responseEntity.getBody());
}
+
+ JSONObject realUserInfo = userResult.getJSONArray("users").getJSONObject(0);
+ userInfo.putAll(realUserInfo);
+ 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"));
+ userMap.put(CommonConstant.LOGIN_USER_NAME, userInfo.getString("name"));
String token = AuthenticationFactory.createAndSaveToken(userMap);
JSONObject paramOut = new JSONObject();
- paramOut.putAll(userResult);
- paramOut.put("token",token);
- paramOut.put("sessionKey",sessionKey);
+ paramOut.put("result", 0);
+ paramOut.put("userInfo", 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