wuxw
2019-12-27 7fa84cbdd2a4621fab799ce52d5bb883fd1069f5
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,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"));
@@ -149,12 +131,18 @@
            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("result", 0);
            paramOut.put("userInfo", userInfo);
            paramOut.put("token", token);
            paramOut.put("sessionKey", sessionKey);
            pd.setToken(token);