吴学文
2019-11-24 7a3071e4fd019dc3854d6576659b86939d751d06
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", "返回报文中未包含 错误编码,接口出错");
        //Assert.jsonObjectHaveKey(response, "errcode", "返回报文中未包含 错误编码,接口出错");
        JSONObject responseObj = JSONObject.parseObject(response);
        if (!"0".equals(responseObj.getString("errcode"))) {
        if (responseObj.containsKey("errcode") && !"0".equals(responseObj.getString("errcode"))) {
            throw new IllegalArgumentException("微信验证失败,可能是code失效");
        }
@@ -89,11 +90,11 @@
        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);
@@ -149,12 +150,17 @@
            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"));
            String token = AuthenticationFactory.createAndSaveToken(userMap);
            JSONObject paramOut = new JSONObject();
            paramOut.putAll(userResult);
            paramOut.put("result", 0);
            paramOut.put("userInfo", userInfo);
            paramOut.put("token", token);
            paramOut.put("sessionKey", sessionKey);
            pd.setToken(token);