From c92f77ac03a1bbe3009891ce1d1f57f2d1091572 Mon Sep 17 00:00:00 2001 From: 101captain <237651143@qq.com> Date: 星期二, 24 八月 2021 15:00:25 +0800 Subject: [PATCH] 提交预约登记小程序相关代码 --- springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/LoginApi.java | 49 ++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 48 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 ec5d5af..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")) { @@ -85,6 +85,9 @@ @PostMapping("updateUserWeiXinInfo") public R updateUserWeiXinInfo(@RequestBody LoginRequest loginRequest){ Long userId = this.getUserId(); + if(userId == null){ + return R.fail(401,"请先登录"); + } boolean empty2 = ObjectUtils.isEmpty(userId); if (empty2) { throw new UnAuthenticationException(); @@ -122,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