huanghongfa
2020-12-22 47de8ceefb38ee55fc577f94bfda09dd5adbd29d
springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/LoginApi.java
File was renamed from springcloud_k8s_panzhihuazhihuishequ/springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/LoginApi.java
@@ -4,6 +4,7 @@
import cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult;
import cn.binarywang.wx.miniapp.bean.WxMaPhoneNumberInfo;
import cn.binarywang.wx.miniapp.bean.WxMaUserInfo;
import com.alibaba.fastjson.JSONObject;
import com.panzhihua.applets.config.WxMaConfiguration;
import com.panzhihua.applets.model.vos.LoginRequest;
import com.panzhihua.common.model.vos.LoginReturnVO;
@@ -58,11 +59,14 @@
            sessionInfo=new WxMaJscode2SessionResult();
            sessionInfo.setOpenid("88888888");
            sessionInfo.setSessionKey("9999999");
            sessionInfo.setUnionid("44444444");
        }
        log.info("微信登录成功【{}】", JSONObject.toJSONString(sessionInfo));
        String openid = sessionInfo.getOpenid();
        String sessionKey = sessionInfo.getSessionKey();
        String unionid = sessionInfo.getUnionid();
        if (ObjectUtils.isEmpty(unionid)) {
            unionid="无";
        }
        userService.addOrUpdate(openid,sessionKey,unionid);
        return tokenService.loginApplets(openid);
    }
@@ -108,16 +112,12 @@
        }
        WxMaService maService = wxMaConfiguration.getMaService();
        Long userId = this.getUserId();
        boolean empty2 = ObjectUtils.isEmpty(userId);
        if (empty2) {
            throw new UnAuthenticationException();
        }
        R<LoginUserInfoVO> r = userService.getUserInfoByUserId(userId + "");
        LoginUserInfoVO loginUserInfoVO = r.getData();
        WxMaPhoneNumberInfo wxMaPhoneNumberInfo = maService.getUserService().getPhoneNoInfo(loginUserInfoVO.getSessionKey(),
                encryptedData, iv);
        if (ObjectUtils.isEmpty(wxMaPhoneNumberInfo) || ObjectUtils.isEmpty(wxMaPhoneNumberInfo.getPhoneNumber())) {
            throw new WeiXinException("微信解析手机号失败");
            return R.fail("微信解析手机号失败");
        }
        String purePhoneNumber = wxMaPhoneNumberInfo.getPurePhoneNumber();
        return userService.updateUserWeiXinPhone(userId,purePhoneNumber);