From 4affbdf8938d321c0926bc2b1832dfc81c317ffa Mon Sep 17 00:00:00 2001
From: zyy <zyy@email.com>
Date: Thu, 08 Jan 2026 18:49:30 +0800
Subject: [PATCH] ipo
---
trading-order-admin/src/main/java/com/yami/trading/admin/controller/AdminLoginController.java | 12 +++++++++---
1 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/trading-order-admin/src/main/java/com/yami/trading/admin/controller/AdminLoginController.java b/trading-order-admin/src/main/java/com/yami/trading/admin/controller/AdminLoginController.java
index 6f8121d..99aa013 100644
--- a/trading-order-admin/src/main/java/com/yami/trading/admin/controller/AdminLoginController.java
+++ b/trading-order-admin/src/main/java/com/yami/trading/admin/controller/AdminLoginController.java
@@ -122,12 +122,18 @@
userInfoInToken.setPerms(getUserPermissions(sysUser.getUserId()));
userInfoInToken.setNickName(sysUser.getUsername());
userInfoInToken.setShopId(sysUser.getShopId());
- tokenStore.deleteAllToken(String.valueOf(SysTypeEnum.ADMIN.value()), String.valueOf(sysUser.getUserId()));
+ //tokenStore.deleteAllToken(String.valueOf(SysTypeEnum.ADMIN.value()), String.valueOf(sysUser.getUserId()));
// 存储token返回vo
TokenInfoVO tokenInfoVO = tokenStore.storeAndGetVo(userInfoInToken);
- RedisUtil.set(RedisKeys.ACCESS_IP + sysUser.getUserId().intValue(),IPHelper.getIpAddr());
-
+ //RedisUtil.set(RedisKeys.ACCESS_IP + sysUser.getUserId().intValue(),IPHelper.getIpAddr());
+ // 关键修改2:用Redis Set存储多个登录IP(自动去重)
+ String loginIp = IPHelper.getIpAddr();
+ String ipSetKey = RedisKeys.ACCESS_IP + sysUser.getUserId().intValue(); // 键:ACCESS_IP+用户ID
+ long tokenExpiresIn = tokenInfoVO.getExpiresIn(); // 与Token过期时间一致
+ RedisUtil.sAdd(ipSetKey, loginIp); // 存入IP到Set
+ RedisUtil.expire(ipSetKey, tokenExpiresIn); // 设置过期时间
+
String context = MessageFormat.format("ip:{0}, 登录系统,时间[{1}]",
new Object[]{IPHelper.getIpAddr(),
DateUtils.dateToStr(new Date(),
--
Gitblit v1.9.3