86 lines
2.4 KiB
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;
|
|
}
|
|
}
|