From a2620230c68cf6e8c732311b65aa4912efb350a4 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期四, 22 八月 2024 15:31:26 +0800
Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/mx_charging_pile

---
 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AliLoginController.java |   27 ++++++++++++++++-----------
 1 files changed, 16 insertions(+), 11 deletions(-)

diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AliLoginController.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AliLoginController.java
index 408d79a..52f871a 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AliLoginController.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AliLoginController.java
@@ -7,15 +7,18 @@
 import com.alipay.api.diagnosis.DiagnosisUtils;
 import com.alipay.api.request.AlipaySystemOauthTokenRequest;
 import com.alipay.api.response.AlipaySystemOauthTokenResponse;
+import com.alipay.api.response.AlipayUserInfoShareResponse;
 import com.alipay.api.response.AlipayUserUserinfoShareResponse;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.ruoyi.account.ali.Constant.AliConstant;
 import com.ruoyi.account.ali.model.AliProperties;
+import com.ruoyi.account.ali.pojo.AppletUserLogin;
 import com.ruoyi.account.ali.tools.AliAppletTools;
 import com.ruoyi.account.api.model.TAppUser;
 import com.ruoyi.account.service.TAppUserService;
 import com.ruoyi.common.core.exception.ServiceException;
+import com.ruoyi.common.core.utils.StringUtils;
 import com.ruoyi.common.core.web.domain.AjaxResult;
 import com.ruoyi.common.security.service.TokenService;
 import com.ruoyi.system.api.model.LoginUserApplet;
@@ -23,10 +26,7 @@
 import io.swagger.annotations.ApiParam;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 import java.util.HashMap;
 import java.util.Map;
@@ -50,17 +50,22 @@
     @Autowired
     private TAppUserService appUserService;
     @ApiOperation(value = "通过code获得openid",tags = {"支付宝小程序登录"})
-    @GetMapping("/openIdByJsCode")
-    public AjaxResult<Map<String, Object>> openIdByJsCode(@RequestParam(name = "code")@ApiParam(value = "code", required = true) String code){
-        log.info("<<<<<<<<换取openid开始<<<<<<<<:{}", code);
+    @PostMapping("/openIdByJsCode")
+    public AjaxResult<Map<String, Object>> openIdByJsCode(@RequestBody AppletUserLogin appletUserLogin){
+        log.info("<<<<<<<<换取openid开始<<<<<<<<:{}", appletUserLogin.getCode());
         // 登录
-        AlipaySystemOauthTokenResponse response = new AliAppletTools(aliProperties).login(code);
+        AlipaySystemOauthTokenResponse response = new AliAppletTools(aliProperties).login(appletUserLogin.getCode());
         if (response.isSuccess()) {
             // 获取用户信息
-            AlipayUserUserinfoShareResponse userInfo = new AliAppletTools(aliProperties).getUserInfo(response.getAccessToken());
-            log.info("获取支付宝用户信息:{}", userInfo);
+//            AlipayUserInfoShareResponse userInfo = new AliAppletTools(aliProperties).getUserInfo(response.getAccessToken());
+            if(StringUtils.isEmpty(appletUserLogin.getToken())){
+                return AjaxResult.success("已拒绝授权");
+            }
+            // 获取用户手机号
+            String phoneNumber = new AliAppletTools(aliProperties).getPhoneNumber(appletUserLogin.getToken());
+            log.info("获取支付宝用户信息:{}", phoneNumber);
             // 用户信息封装
-            return AjaxResult.ok(appUserService.aliLogin(response,userInfo));
+            return AjaxResult.success(appUserService.aliLogin(response,phoneNumber));
         } else {
              String diagnosisUrl = DiagnosisUtils.getDiagnosisUrl(response);
              log.warn("诊断结果:{}",diagnosisUrl);

--
Gitblit v1.7.1