From 29118ae78c202f4e1f54f3220a69304f2149a97a Mon Sep 17 00:00:00 2001 From: MichelleChung <1242874891@qq.com> Date: 星期一, 23 十月 2023 09:28:11 +0800 Subject: [PATCH] !433 更新登录日志以及在线用户展示信息 * update 更新登录日志, 在线用户展示信息(增加 客户端, 设备类型) --- ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysLogininforServiceImpl.java | 17 +++++++++++++++++ 1 files changed, 17 insertions(+), 0 deletions(-) diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysLogininforServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysLogininforServiceImpl.java index d1c071e..d215d59 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysLogininforServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysLogininforServiceImpl.java @@ -1,5 +1,6 @@ package org.dromara.system.service.impl; +import cn.hutool.core.util.ObjectUtil; import cn.hutool.http.useragent.UserAgent; import cn.hutool.http.useragent.UserAgentUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; @@ -12,10 +13,14 @@ import org.dromara.common.core.utils.ServletUtils; import org.dromara.common.core.utils.StringUtils; import org.dromara.common.core.utils.ip.AddressUtils; +import org.dromara.common.satoken.utils.LoginHelper; +import org.dromara.system.domain.SysClient; import org.dromara.system.domain.SysLogininfor; import org.dromara.system.domain.bo.SysLogininforBo; import org.dromara.system.domain.vo.SysLogininforVo; +import org.dromara.system.mapper.SysClientMapper; import org.dromara.system.mapper.SysLogininforMapper; +import org.dromara.system.service.ISysClientService; import org.dromara.system.service.ISysLogininforService; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -41,6 +46,8 @@ private final SysLogininforMapper baseMapper; + private final ISysClientService clientService; + /** * 璁板綍鐧诲綍淇℃伅 * @@ -52,6 +59,12 @@ HttpServletRequest request = logininforEvent.getRequest(); final UserAgent userAgent = UserAgentUtil.parse(request.getHeader("User-Agent")); final String ip = ServletUtils.getClientIP(request); + // 瀹㈡埛绔俊鎭� + String clientid = request.getHeader(LoginHelper.CLIENT_KEY); + SysClient client = null; + if (StringUtils.isNotBlank(clientid)) { + client = clientService.queryByClientId(clientid); + } String address = AddressUtils.getRealAddressByIP(ip); StringBuilder s = new StringBuilder(); @@ -70,6 +83,10 @@ SysLogininforBo logininfor = new SysLogininforBo(); logininfor.setTenantId(logininforEvent.getTenantId()); logininfor.setUserName(logininforEvent.getUsername()); + if (ObjectUtil.isNotNull(client)) { + logininfor.setClientKey(client.getClientKey()); + logininfor.setDeviceType(client.getDeviceType()); + } logininfor.setIpaddr(ip); logininfor.setLoginLocation(address); logininfor.setBrowser(browser); -- Gitblit v1.9.3