update 更新小程序登录 单独的结构体

2.X
疯狂的狮子Li 3 years ago
parent 487f18a930
commit 33683d4bb1

@ -3,6 +3,7 @@ package com.ruoyi.system.api;
import com.ruoyi.common.core.exception.user.UserException; import com.ruoyi.common.core.exception.user.UserException;
import com.ruoyi.system.api.domain.SysUser; import com.ruoyi.system.api.domain.SysUser;
import com.ruoyi.system.api.model.LoginUser; import com.ruoyi.system.api.model.LoginUser;
import com.ruoyi.system.api.model.XcxLoginUser;
/** /**
* *
@ -33,7 +34,7 @@ public interface RemoteUserService {
* @param openid openid * @param openid openid
* @return * @return
*/ */
LoginUser getUserInfoByOpenid(String openid) throws UserException; XcxLoginUser getUserInfoByOpenid(String openid) throws UserException;
/** /**
* *

@ -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;
}

@ -19,6 +19,7 @@ import com.ruoyi.system.api.RemoteUserService;
import com.ruoyi.system.api.domain.SysLogininfor; import com.ruoyi.system.api.domain.SysLogininfor;
import com.ruoyi.system.api.domain.SysUser; import com.ruoyi.system.api.domain.SysUser;
import com.ruoyi.system.api.model.LoginUser; import com.ruoyi.system.api.model.LoginUser;
import com.ruoyi.system.api.model.XcxLoginUser;
import org.apache.dubbo.config.annotation.DubboReference; import org.apache.dubbo.config.annotation.DubboReference;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -117,8 +118,7 @@ public class SysLoginService {
// xcxCode 为 小程序调用 wx.login 授权后获取 // xcxCode 为 小程序调用 wx.login 授权后获取
// todo 自行实现 校验 appid + appsrcret + xcxCode 调用登录凭证校验接口 获取 session_key 与 openid // todo 自行实现 校验 appid + appsrcret + xcxCode 调用登录凭证校验接口 获取 session_key 与 openid
String openid = ""; String openid = "";
LoginUser userInfo = remoteUserService.getUserInfoByOpenid(openid); XcxLoginUser userInfo = remoteUserService.getUserInfoByOpenid(openid);
// 生成token // 生成token
LoginHelper.loginByDevice(userInfo, DeviceType.XCX); LoginHelper.loginByDevice(userInfo, DeviceType.XCX);

@ -10,6 +10,7 @@ import com.ruoyi.system.api.RemoteUserService;
import com.ruoyi.system.api.domain.SysUser; import com.ruoyi.system.api.domain.SysUser;
import com.ruoyi.system.api.model.LoginUser; import com.ruoyi.system.api.model.LoginUser;
import com.ruoyi.system.api.model.RoleDTO; 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.ISysConfigService;
import com.ruoyi.system.service.ISysPermissionService; import com.ruoyi.system.service.ISysPermissionService;
import com.ruoyi.system.service.ISysUserService; import com.ruoyi.system.service.ISysUserService;
@ -66,7 +67,7 @@ public class RemoteUserServiceImpl implements RemoteUserService {
} }
@Override @Override
public LoginUser getUserInfoByOpenid(String openid) throws UserException { public XcxLoginUser getUserInfoByOpenid(String openid) throws UserException {
// todo 自行实现 userService.selectUserByOpenid(openid); // todo 自行实现 userService.selectUserByOpenid(openid);
SysUser sysUser = new SysUser(); SysUser sysUser = new SysUser();
if (ObjectUtil.isNull(sysUser)) { if (ObjectUtil.isNull(sysUser)) {
@ -79,7 +80,12 @@ public class RemoteUserServiceImpl implements RemoteUserService {
// todo 用户已被停用 业务逻辑自行实现 // todo 用户已被停用 业务逻辑自行实现
} }
// 此处可根据登录用户的数据不同 自行创建 loginUser // 此处可根据登录用户的数据不同 自行创建 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 @Override

Loading…
Cancel
Save