1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- package com.bizmatics.service.system.impl;
- import com.bizmatics.common.core.util.StringUtils;
- import com.bizmatics.model.system.SysUserOnline;
- import com.bizmatics.service.system.ISysUserOnlineService;
- import com.bizmatics.service.config.security.LoginUser;
- import org.springframework.stereotype.Service;
- import java.util.Objects;
- /**
- * 在线用户 服务层处理
- *
- * @author yq
- */
- @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 (Objects.isNull(user) || Objects.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 (Objects.nonNull(user.getUser().getDept()))
- {
- sysUserOnline.setDeptName(user.getUser().getDept().getDeptName());
- }
- return sysUserOnline;
- }
- }
|