From a1e30f41fa0ff29822f5665f3a4aecd659890fc0 Mon Sep 17 00:00:00 2001 From: huanghongfa <huanghongfa123456> Date: 星期日, 15 八月 2021 12:13:50 +0800 Subject: [PATCH] 修改bug --- springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/LoginApi.java | 46 +++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 45 insertions(+), 1 deletions(-) diff --git a/springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/LoginApi.java b/springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/LoginApi.java index 4a155fd..516e634 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/LoginApi.java +++ b/springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/LoginApi.java @@ -59,7 +59,7 @@ WxMaService maService = wxMaConfiguration.getMaService(); WxMaJscode2SessionResult sessionInfo=null; try { - sessionInfo = maService.getUserService().getSessionInfo(code); + sessionInfo = maService.getUserService().getSessionInfo(code); } catch (Exception e) { log.error("微信登录失败【{}】", e.getMessage()); if (code.equals("22")) { @@ -125,6 +125,50 @@ return userService.updateUserWeiXinPhone(userId,purePhoneNumber); } + @ApiOperation(value = "维护微信用户手机号") + @PostMapping("updateUserWeiXinPhone2") + public R updateUserWeiXinPhone2(@RequestBody LoginRequest loginRequest){ + String code = loginRequest.getCode(); + if (ObjectUtils.isEmpty(code)) { + return R.fail("缺少登录参数"); + } + log.info(code); + WxMaService maService = wxMaConfiguration.getMaService(); + WxMaJscode2SessionResult sessionInfo=null; + try { + sessionInfo = maService.getUserService().getSessionInfo(code); + } catch (Exception e) { + log.error("微信登录失败【{}】", e.getMessage()); + if (code.equals("22")) { + sessionInfo=new WxMaJscode2SessionResult(); + sessionInfo.setOpenid("88888888"); + sessionInfo.setSessionKey("9999999"); + }else{ + return R.fail("微信登录失败"); + } + } + log.info("微信登录成功【{}】", JSONObject.toJSONString(sessionInfo)); + + String encryptedData = loginRequest.getEncryptedData(); + String iv = loginRequest.getIv(); + boolean empty = ObjectUtils.isEmpty(iv); + boolean empty1 = ObjectUtils.isEmpty(encryptedData); + if (empty||empty1) { + return R.fail("微信用户参数不全"); + } +// WxMaService maService = wxMaConfiguration.getMaService(); + Long userId = this.getUserId(); +// R<LoginUserInfoVO> r = userService.getUserInfoByUserId(userId + ""); +// LoginUserInfoVO loginUserInfoVO = r.getData(); + WxMaPhoneNumberInfo wxMaPhoneNumberInfo = maService.getUserService().getPhoneNoInfo(sessionInfo.getSessionKey(), + encryptedData, iv); + if (ObjectUtils.isEmpty(wxMaPhoneNumberInfo) || ObjectUtils.isEmpty(wxMaPhoneNumberInfo.getPhoneNumber())) { + return R.fail("微信解析手机号失败"); + } + String purePhoneNumber = wxMaPhoneNumberInfo.getPurePhoneNumber(); + return userService.updateUserWeiXinPhone(userId,purePhoneNumber); + } + @ApiOperation(value = "用户登出") @PostMapping("logout") public R updateUserWeiXinPhone(){ -- Gitblit v1.7.1