SysUserOnlineServiceImpl.java 2.7 KB

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