From 95f5b047f67c727370866a5ba683bd9eb1ad86b0 Mon Sep 17 00:00:00 2001 From: xuhy <3313886187@qq.com> Date: 星期四, 22 八月 2024 11:45:37 +0800 Subject: [PATCH] 支付宝登录 --- ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AliLoginController.java | 3 ++- ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/TAppUserServiceImpl.java | 3 ++- ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/ali/tools/AliAppletTools.java | 6 ++++-- ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/TAppUserService.java | 3 ++- 4 files changed, 10 insertions(+), 5 deletions(-) diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/ali/tools/AliAppletTools.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/ali/tools/AliAppletTools.java index 8a60f08..a31fb9e 100644 --- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/ali/tools/AliAppletTools.java +++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/ali/tools/AliAppletTools.java @@ -5,8 +5,10 @@ import com.alipay.api.AlipayConfig; import com.alipay.api.DefaultAlipayClient; import com.alipay.api.request.AlipaySystemOauthTokenRequest; +import com.alipay.api.request.AlipayUserInfoShareRequest; import com.alipay.api.request.AlipayUserUserinfoShareRequest; import com.alipay.api.response.AlipaySystemOauthTokenResponse; +import com.alipay.api.response.AlipayUserInfoShareResponse; import com.alipay.api.response.AlipayUserUserinfoShareResponse; import com.ruoyi.account.ali.Constant.AliConstant; import com.ruoyi.account.ali.model.AliProperties; @@ -60,12 +62,12 @@ * 支付宝小程序授权获取手机号 * @return */ - public AlipayUserUserinfoShareResponse getUserInfo(String accessToken) { + public AlipayUserInfoShareResponse getUserInfo(String accessToken) { try { // 初始化SDK AlipayClient alipayClient = new DefaultAlipayClient(new AliAppletTools(aliProperties).getAlipayConfig(AliConstant.LOGIN_SERVER_URL)); //实例化具体API对应的request类,类名称和接口名称对应,当前调用接口名称:alipay.user.userinfo.share - AlipayUserUserinfoShareRequest request = new AlipayUserUserinfoShareRequest(); + AlipayUserInfoShareRequest request = new AlipayUserInfoShareRequest(); //授权类接口执行API调用时需要带上accessToken return alipayClient.execute(request,accessToken); } catch (AlipayApiException e) { 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..3904f59 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,6 +7,7 @@ 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; @@ -57,7 +58,7 @@ AlipaySystemOauthTokenResponse response = new AliAppletTools(aliProperties).login(code); if (response.isSuccess()) { // 获取用户信息 - AlipayUserUserinfoShareResponse userInfo = new AliAppletTools(aliProperties).getUserInfo(response.getAccessToken()); + AlipayUserInfoShareResponse userInfo = new AliAppletTools(aliProperties).getUserInfo(response.getAccessToken()); log.info("获取支付宝用户信息:{}", userInfo); // 用户信息封装 return AjaxResult.ok(appUserService.aliLogin(response,userInfo)); diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/TAppUserService.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/TAppUserService.java index fbed3d2..957d698 100644 --- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/TAppUserService.java +++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/TAppUserService.java @@ -1,6 +1,7 @@ package com.ruoyi.account.service; import com.alipay.api.response.AlipaySystemOauthTokenResponse; +import com.alipay.api.response.AlipayUserInfoShareResponse; import com.alipay.api.response.AlipayUserUserinfoShareResponse; import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.account.api.model.TAppUser; @@ -30,7 +31,7 @@ * @param userInfo * @return */ - Map<String, Object> aliLogin(AlipaySystemOauthTokenResponse response,AlipayUserUserinfoShareResponse userInfo); + Map<String, Object> aliLogin(AlipaySystemOauthTokenResponse response, AlipayUserInfoShareResponse userInfo); /** * 封装用户信息和token diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/TAppUserServiceImpl.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/TAppUserServiceImpl.java index 7fd0ff1..c9fe14f 100644 --- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/TAppUserServiceImpl.java +++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/TAppUserServiceImpl.java @@ -1,6 +1,7 @@ package com.ruoyi.account.service.impl; import com.alipay.api.response.AlipaySystemOauthTokenResponse; +import com.alipay.api.response.AlipayUserInfoShareResponse; import com.alipay.api.response.AlipayUserUserinfoShareResponse; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; @@ -65,7 +66,7 @@ } @Override - public Map<String, Object> aliLogin(AlipaySystemOauthTokenResponse response, AlipayUserUserinfoShareResponse userInfo) { + public Map<String, Object> aliLogin(AlipaySystemOauthTokenResponse response, AlipayUserInfoShareResponse userInfo) { // 通过手机号查询用户,是否已存在手动导入用户,包含微信用户 TAppUser appUser = this.getOne(Wrappers.lambdaQuery(TAppUser.class) .eq(TAppUser::getPhone, userInfo.getMobile()) -- Gitblit v1.7.1