SysUserOnlineServiceImpl.java 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. package com.ruoyi.system.service.impl;
  2. import org.springframework.stereotype.Service;
  3. import com.ruoyi.common.core.domain.model.LoginUser;
  4. import com.ruoyi.common.utils.StringUtils;
  5. import com.ruoyi.system.domain.SysUserOnline;
  6. import com.ruoyi.system.service.ISysUserOnlineService;
  7. /**
  8. * 在线用户 服务层处理
  9. *
  10. * @author ruoyi
  11. */
  12. @Service
  13. public class SysUserOnlineServiceImpl implements ISysUserOnlineService {
  14. /**
  15. * 通过登录地址查询信息
  16. *
  17. * @param ipaddr 登录地址
  18. * @param user 用户信息
  19. * @return 在线用户信息
  20. */
  21. @Override
  22. public SysUserOnline selectOnlineByIpaddr(String ipaddr, LoginUser user) {
  23. if (StringUtils.equals(ipaddr, user.getIpaddr())) {
  24. return loginUserToUserOnline(user);
  25. }
  26. return null;
  27. }
  28. /**
  29. * 通过用户名称查询信息
  30. *
  31. * @param userName 用户名称
  32. * @param user 用户信息
  33. * @return 在线用户信息
  34. */
  35. @Override
  36. public SysUserOnline selectOnlineByUserName(String userName, LoginUser user) {
  37. if (StringUtils.equals(userName, user.getUsername())) {
  38. return loginUserToUserOnline(user);
  39. }
  40. return null;
  41. }
  42. /**
  43. * 通过登录地址/用户名称查询信息
  44. *
  45. * @param ipaddr 登录地址
  46. * @param userName 用户名称
  47. * @param user 用户信息
  48. * @return 在线用户信息
  49. */
  50. @Override
  51. public SysUserOnline selectOnlineByInfo(String ipaddr, String userName, LoginUser user) {
  52. if (StringUtils.equals(ipaddr, user.getIpaddr()) && StringUtils.equals(userName, user.getUsername())) {
  53. return loginUserToUserOnline(user);
  54. }
  55. return null;
  56. }
  57. /**
  58. * 设置在线用户信息
  59. *
  60. * @param user 用户信息
  61. * @return 在线用户
  62. */
  63. @Override
  64. public SysUserOnline loginUserToUserOnline(LoginUser user) {
  65. if (StringUtils.isNull(user) || StringUtils.isNull(user.getUser())) {
  66. return null;
  67. }
  68. SysUserOnline sysUserOnline = new SysUserOnline();
  69. sysUserOnline.setTokenId(user.getToken());
  70. sysUserOnline.setUserName(user.getUsername());
  71. sysUserOnline.setIpaddr(user.getIpaddr());
  72. sysUserOnline.setLoginLocation(user.getLoginLocation());
  73. sysUserOnline.setBrowser(user.getBrowser());
  74. sysUserOnline.setOs(user.getOs());
  75. sysUserOnline.setLoginTime(user.getLoginTime());
  76. if (StringUtils.isNotNull(user.getUser().getDept())) {
  77. sysUserOnline.setDeptName(user.getUser().getDept().getDeptName());
  78. }
  79. return sysUserOnline;
  80. }
  81. }