From 33683d4bb16d0255395ff35ff48f78a06af14bcf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90Li?= <15040126243@163.com> Date: Thu, 24 Mar 2022 10:37:31 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E6=9B=B4=E6=96=B0=E5=B0=8F=E7=A8=8B?= =?UTF-8?q?=E5=BA=8F=E7=99=BB=E5=BD=95=20=E5=8D=95=E7=8B=AC=E7=9A=84?= =?UTF-8?q?=E7=BB=93=E6=9E=84=E4=BD=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ruoyi/system/api/RemoteUserService.java | 3 ++- .../ruoyi/system/api/model/XcxLoginUser.java | 24 +++++++++++++++++++ .../ruoyi/auth/service/SysLoginService.java | 4 ++-- .../system/dubbo/RemoteUserServiceImpl.java | 10 ++++++-- 4 files changed, 36 insertions(+), 5 deletions(-) create mode 100644 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/model/XcxLoginUser.java diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/RemoteUserService.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/RemoteUserService.java index 09fef3c2..22cea277 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/RemoteUserService.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/RemoteUserService.java @@ -3,6 +3,7 @@ package com.ruoyi.system.api; import com.ruoyi.common.core.exception.user.UserException; import com.ruoyi.system.api.domain.SysUser; import com.ruoyi.system.api.model.LoginUser; +import com.ruoyi.system.api.model.XcxLoginUser; /** * 用户服务 @@ -33,7 +34,7 @@ public interface RemoteUserService { * @param openid openid * @return 结果 */ - LoginUser getUserInfoByOpenid(String openid) throws UserException; + XcxLoginUser getUserInfoByOpenid(String openid) throws UserException; /** * 注册用户信息 diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/model/XcxLoginUser.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/model/XcxLoginUser.java new file mode 100644 index 00000000..417e7b20 --- /dev/null +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/model/XcxLoginUser.java @@ -0,0 +1,24 @@ +package com.ruoyi.system.api.model; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +/** + * 小程序登录用户身份权限 + * + * @author Lion Li + */ +@Data +@EqualsAndHashCode(callSuper = true) +@NoArgsConstructor +public class XcxLoginUser extends LoginUser { + + private static final long serialVersionUID = 1L; + + /** + * openid + */ + private String openid; + +} diff --git a/ruoyi-auth/src/main/java/com/ruoyi/auth/service/SysLoginService.java b/ruoyi-auth/src/main/java/com/ruoyi/auth/service/SysLoginService.java index 52528c91..d1262749 100644 --- a/ruoyi-auth/src/main/java/com/ruoyi/auth/service/SysLoginService.java +++ b/ruoyi-auth/src/main/java/com/ruoyi/auth/service/SysLoginService.java @@ -19,6 +19,7 @@ import com.ruoyi.system.api.RemoteUserService; import com.ruoyi.system.api.domain.SysLogininfor; import com.ruoyi.system.api.domain.SysUser; import com.ruoyi.system.api.model.LoginUser; +import com.ruoyi.system.api.model.XcxLoginUser; import org.apache.dubbo.config.annotation.DubboReference; import org.springframework.stereotype.Service; @@ -117,8 +118,7 @@ public class SysLoginService { // xcxCode 为 小程序调用 wx.login 授权后获取 // todo 自行实现 校验 appid + appsrcret + xcxCode 调用登录凭证校验接口 获取 session_key 与 openid String openid = ""; - LoginUser userInfo = remoteUserService.getUserInfoByOpenid(openid); - + XcxLoginUser userInfo = remoteUserService.getUserInfoByOpenid(openid); // 生成token LoginHelper.loginByDevice(userInfo, DeviceType.XCX); diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/dubbo/RemoteUserServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/dubbo/RemoteUserServiceImpl.java index d82c6c72..53dad012 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/dubbo/RemoteUserServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/dubbo/RemoteUserServiceImpl.java @@ -10,6 +10,7 @@ import com.ruoyi.system.api.RemoteUserService; import com.ruoyi.system.api.domain.SysUser; import com.ruoyi.system.api.model.LoginUser; import com.ruoyi.system.api.model.RoleDTO; +import com.ruoyi.system.api.model.XcxLoginUser; import com.ruoyi.system.service.ISysConfigService; import com.ruoyi.system.service.ISysPermissionService; import com.ruoyi.system.service.ISysUserService; @@ -66,7 +67,7 @@ public class RemoteUserServiceImpl implements RemoteUserService { } @Override - public LoginUser getUserInfoByOpenid(String openid) throws UserException { + public XcxLoginUser getUserInfoByOpenid(String openid) throws UserException { // todo 自行实现 userService.selectUserByOpenid(openid); SysUser sysUser = new SysUser(); if (ObjectUtil.isNull(sysUser)) { @@ -79,7 +80,12 @@ public class RemoteUserServiceImpl implements RemoteUserService { // todo 用户已被停用 业务逻辑自行实现 } // 此处可根据登录用户的数据不同 自行创建 loginUser - return buildLoginUser(sysUser); + XcxLoginUser loginUser = new XcxLoginUser(); + loginUser.setUserId(sysUser.getUserId()); + loginUser.setUsername(sysUser.getUserName()); + loginUser.setUserType(sysUser.getUserType()); + loginUser.setOpenid(openid); + return loginUser; } @Override