From 4ac9edd4c0030d2daafd712cd14ef9080b2f1e43 Mon Sep 17 00:00:00 2001
From: liusuyi <1951119284@qq.com>
Date: Tue, 10 Feb 2026 11:52:40 +0800
Subject: [PATCH] 优化
---
ard-system/src/main/java/com/ard/system/service/impl/SysUserOnlineServiceImpl.java | 96 ++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 96 insertions(+), 0 deletions(-)
diff --git a/ard-system/src/main/java/com/ard/system/service/impl/SysUserOnlineServiceImpl.java b/ard-system/src/main/java/com/ard/system/service/impl/SysUserOnlineServiceImpl.java
new file mode 100644
index 0000000..701438f
--- /dev/null
+++ b/ard-system/src/main/java/com/ard/system/service/impl/SysUserOnlineServiceImpl.java
@@ -0,0 +1,96 @@
+package com.ard.system.service.impl;
+
+import com.ard.system.service.ISysUserOnlineService;
+import org.springframework.stereotype.Service;
+import com.ard.common.core.domain.model.LoginUser;
+import com.ard.common.utils.StringUtils;
+import com.ard.system.domain.SysUserOnline;
+
+/**
+ * 在线用户 服务层处理
+ *
+ * @author ard
+ */
+@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;
+ }
+}
--
Gitblit v1.9.3