cloud-modules-system/src/main/java/com/muyu/system/service/impl/SysUserOnlineServiceImpl.java

86 lines
2.4 KiB
Java

package com.muyu.system.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.muyu.common.core.utils.StringUtils;
import com.muyu.common.system.domain.LoginUser;
import com.muyu.system.domain.SysUserOnline;
import com.muyu.system.service.SysUserOnlineService;
import org.springframework.stereotype.Service;
/**
* 在线用户 服务层处理
*
* @author muyu
*/
@Service
public class SysUserOnlineServiceImpl implements SysUserOnlineService {
/**
* 通过登录地址查询信息
*
* @param ipaddr 登录地址
* @param user 用户信息
*
* @return 在线用户信息
*/
@Override
public SysUserOnline selectOnlineByIpaddr (String ipaddr, LoginUser user) {
if (StringUtils.equals(ipaddr, user.getIpaddr())) {
return loginUserToUserOnline(user);
}
return null;
}
/**
* 通过用户名称查询信息
*
* @param userName 用户名称
* @param user 用户信息
*
* @return 在线用户信息
*/
@Override
public SysUserOnline selectOnlineByUserName (String userName, LoginUser user) {
if (StringUtils.equals(userName, user.getUsername())) {
return loginUserToUserOnline(user);
}
return null;
}
/**
* 通过登录地址/用户名称查询信息
*
* @param ipaddr 登录地址
* @param userName 用户名称
* @param user 用户信息
*
* @return 在线用户信息
*/
@Override
public SysUserOnline selectOnlineByInfo (String ipaddr, String userName, LoginUser user) {
if (StringUtils.equals(ipaddr, user.getIpaddr()) && StringUtils.equals(userName, user.getUsername())) {
return loginUserToUserOnline(user);
}
return null;
}
/**
* 设置在线用户信息
*
* @param user 用户信息
*
* @return 在线用户
*/
@Override
public SysUserOnline loginUserToUserOnline (LoginUser user) {
if (StringUtils.isNull(user)) {
return null;
}
SysUserOnline sysUserOnline = new SysUserOnline();
sysUserOnline.setTokenId(user.getToken());
sysUserOnline.setUserName(user.getUsername());
sysUserOnline.setIpaddr(user.getIpaddr());
sysUserOnline.setLoginTime(user.getLoginTime());
return sysUserOnline;
}
}