Search in sources :

Example 1 with XcxLoginUser

use of com.ruoyi.system.api.model.XcxLoginUser in project RuoYi-Cloud-Plus by JavaLionLi.

the class SysLoginService method xcxLogin.

public String xcxLogin(String xcxCode) {
    // xcxCode 为 小程序调用 wx.login 授权后获取
    // todo 自行实现 校验 appid + appsrcret + xcxCode 调用登录凭证校验接口 获取 session_key 与 openid
    String openid = "";
    XcxLoginUser userInfo = remoteUserService.getUserInfoByOpenid(openid);
    // 生成token
    LoginHelper.loginByDevice(userInfo, DeviceType.XCX);
    recordLogininfor(userInfo.getUsername(), Constants.LOGIN_SUCCESS, MessageUtils.message("user.login.success"));
    return StpUtil.getTokenValue();
}
Also used : XcxLoginUser(com.ruoyi.system.api.model.XcxLoginUser)

Example 2 with XcxLoginUser

use of com.ruoyi.system.api.model.XcxLoginUser in project RuoYi-Cloud-Plus by JavaLionLi.

the class RemoteUserServiceImpl method getUserInfoByOpenid.

@Override
public XcxLoginUser getUserInfoByOpenid(String openid) throws UserException {
    // todo 自行实现 userService.selectUserByOpenid(openid);
    SysUser sysUser = new SysUser();
    if (ObjectUtil.isNull(sysUser)) {
    // todo 用户不存在 业务逻辑自行实现
    }
    if (UserStatus.DELETED.getCode().equals(sysUser.getDelFlag())) {
    // todo 用户已被删除 业务逻辑自行实现
    }
    if (UserStatus.DISABLE.getCode().equals(sysUser.getStatus())) {
    // todo 用户已被停用 业务逻辑自行实现
    }
    // 此处可根据登录用户的数据不同 自行创建 loginUser
    XcxLoginUser loginUser = new XcxLoginUser();
    loginUser.setUserId(sysUser.getUserId());
    loginUser.setUsername(sysUser.getUserName());
    loginUser.setUserType(sysUser.getUserType());
    loginUser.setOpenid(openid);
    return loginUser;
}
Also used : XcxLoginUser(com.ruoyi.system.api.model.XcxLoginUser) SysUser(com.ruoyi.system.api.domain.SysUser)

Aggregations

XcxLoginUser (com.ruoyi.system.api.model.XcxLoginUser)2 SysUser (com.ruoyi.system.api.domain.SysUser)1