SysUserOnlineServiceImpl.java 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  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. *
  18. * @param ipaddr 登录地址
  19. * @param user 用户信息
  20. * @return 在线用户信息
  21. */
  22. @Override
  23. public SysUserOnline selectOnlineByIpaddr(String ipaddr, LoginUser user)
  24. {
  25. if (StringUtils.equals(ipaddr, user.getIpaddr()))
  26. {
  27. return loginUserToUserOnline(user);
  28. }
  29. return null;
  30. }
  31. /**
  32. * 通过用户名称查询信息
  33. *
  34. * @param userName 用户名称
  35. * @param user 用户信息
  36. * @return 在线用户信息
  37. */
  38. @Override
  39. public SysUserOnline selectOnlineByUserName(String userName, LoginUser user)
  40. {
  41. if (StringUtils.equals(userName, user.getUsername()))
  42. {
  43. return loginUserToUserOnline(user);
  44. }
  45. return null;
  46. }
  47. /**
  48. * 通过登录地址/用户名称查询信息
  49. *
  50. * @param ipaddr 登录地址
  51. * @param userName 用户名称
  52. * @param user 用户信息
  53. * @return 在线用户信息
  54. */
  55. @Override
  56. public SysUserOnline selectOnlineByInfo(String ipaddr, String userName, LoginUser user)
  57. {
  58. if (StringUtils.equals(ipaddr, user.getIpaddr()) && StringUtils.equals(userName, user.getUsername()))
  59. {
  60. return loginUserToUserOnline(user);
  61. }
  62. return null;
  63. }
  64. /**
  65. * 设置在线用户信息
  66. *
  67. * @param user 用户信息
  68. * @return 在线用户
  69. */
  70. @Override
  71. public SysUserOnline loginUserToUserOnline(LoginUser user)
  72. {
  73. if (StringUtils.isNull(user) || StringUtils.isNull(user.getUser()))
  74. {
  75. return null;
  76. }
  77. SysUserOnline sysUserOnline = new SysUserOnline();
  78. sysUserOnline.setTokenId(user.getToken());
  79. sysUserOnline.setUserName(user.getUsername());
  80. sysUserOnline.setIpaddr(user.getIpaddr());
  81. sysUserOnline.setLoginLocation(user.getLoginLocation());
  82. sysUserOnline.setBrowser(user.getBrowser());
  83. sysUserOnline.setOs(user.getOs());
  84. sysUserOnline.setLoginTime(user.getLoginTime());
  85. if (StringUtils.isNotNull(user.getUser().getDept()))
  86. {
  87. sysUserOnline.setDeptName(user.getUser().getDept().getDeptName());
  88. }
  89. return sysUserOnline;
  90. }
  91. }