From f09fa3541ad18c00f30707f592f16d18a0537f77 Mon Sep 17 00:00:00 2001
From: manailin <261030956@qq.com>
Date: 星期二, 17 八月 2021 21:54:51 +0800
Subject: [PATCH] [新增]添加监控依赖包

---
 springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/LoginApi.java |   73 +++++++++++++++++++++++++-----------
 1 files changed, 51 insertions(+), 22 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 8f0c931..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
@@ -55,10 +55,11 @@
         if (ObjectUtils.isEmpty(code)) {
             return R.fail("缺少登录参数");
         }
+        log.info(code);
         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")) {
@@ -83,33 +84,17 @@
     @ApiOperation(value = "维护用户基本信息(昵称、性别、头像)")
     @PostMapping("updateUserWeiXinInfo")
     public R updateUserWeiXinInfo(@RequestBody LoginRequest loginRequest){
-        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();
+        if(userId == null){
+            return R.fail(401,"请先登录");
+        }
         boolean empty2 = ObjectUtils.isEmpty(userId);
         if (empty2) {
             throw new UnAuthenticationException();
         }
-        R<LoginUserInfoVO> r = userService.getUserInfoByUserId(userId + "");
-        LoginUserInfoVO loginUserInfoVO =r.getData();
-        WxMaUserInfo wxUserInfo = null;
-        try {
-            log.info(encryptedData);
-            log.info(iv);
-            wxUserInfo = maService.getUserService().getUserInfo(loginUserInfoVO.getSessionKey(),
-                    encryptedData, iv);
-        } catch (Exception e) {
-            log.error(e.getMessage());
-            return R.fail("微信解析基本信息失败");
-        }
+        WxMaUserInfo wxUserInfo = loginRequest.getUserInfo();
         if (null == wxUserInfo) {
-            return R.fail("微信解析基本信息失败");
+            return R.fail("缺少基本信息参数");
         }
         String avatarUrl = wxUserInfo.getAvatarUrl();
         String gender = wxUserInfo.getGender();
@@ -140,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