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.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;
/**
*

@ -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.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);

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

Loading…
Cancel
Save