From eadcd8bf36266e670ee7d5ff48510c09816a4fe1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B5=E7=AB=8B=E4=BD=B3?= <418843795@qq.com> Date: Thu, 29 Aug 2024 02:04:03 +0000 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=9C=A8=E7=BA=BF=E7=94=A8?= =?UTF-8?q?=E6=88=B7=E5=AF=B9=E8=B1=A1=E7=B1=BB=E5=9E=8B=E8=BD=AC=E6=8D=A2?= =?UTF-8?q?=E5=B0=8F=E6=A6=82=E7=8E=87=E5=BC=82=E5=B8=B8BUG?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 邵立佳 <418843795@qq.com> --- .../controller/SysUserOnlineController.java | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserOnlineController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserOnlineController.java index d15b0ae0..09e3d7b8 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserOnlineController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserOnlineController.java @@ -46,7 +46,23 @@ public class SysUserOnlineController extends BaseController List userOnlineList = new ArrayList(); for (String key : keys) { - LoginUser user = redisService.getCacheObject(key); + // 获取登录用户缓存对象 + Object object = redisService.getCacheObject(key); + // 登录用户对象 + LoginUser user; + // 判断object类型,如果是JSONObject需要单独处理,解决小概率类型转换异常问题 + if (object instanceof JSONObject) + { + user = JSONObject.parseObject(JSONObject.toJSONString(object, JSONWriter.Feature.WriteNulls), LoginUser.class); + } + else if (object instanceof LoginUser) + { + user = (LoginUser) object; + } + else + { + throw new ServiceException("用户缓存对象类型异常"); + } if (StringUtils.isNotEmpty(ipaddr) && StringUtils.isNotEmpty(userName)) { userOnlineList.add(userOnlineService.selectOnlineByInfo(ipaddr, userName, user));