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