1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- package com.ruoyi.system.service.impl;
- import org.springframework.stereotype.Service;
- import com.ruoyi.common.core.domain.model.LoginUser;
- import com.ruoyi.common.utils.StringUtils;
- import com.ruoyi.system.domain.SysUserOnline;
- import com.ruoyi.system.service.ISysUserOnlineService;
- /**
- * 在线用户 服务层处理
- *
- * @author ruoyi
- */
- @Service
- public class SysUserOnlineServiceImpl implements ISysUserOnlineService {
- /**
- * 通过登录地址查询信息
- *
- * @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) || StringUtils.isNull(user.getUser())) {
- return null;
- }
- SysUserOnline sysUserOnline = new SysUserOnline();
- sysUserOnline.setTokenId(user.getToken());
- sysUserOnline.setUserName(user.getUsername());
- sysUserOnline.setIpaddr(user.getIpaddr());
- sysUserOnline.setLoginLocation(user.getLoginLocation());
- sysUserOnline.setBrowser(user.getBrowser());
- sysUserOnline.setOs(user.getOs());
- sysUserOnline.setLoginTime(user.getLoginTime());
- if (StringUtils.isNotNull(user.getUser().getDept())) {
- sysUserOnline.setDeptName(user.getUser().getDept().getDeptName());
- }
- return sysUserOnline;
- }
- }
|