From d615fc515fc52d6ed970c11d59a017e48de4be32 Mon Sep 17 00:00:00 2001
From: zj <1772600164@qq.com>
Date: Tue, 16 Jun 2026 16:43:58 +0800
Subject: [PATCH] 1

---
 src/main/java/com/nq/service/impl/SiteLoginLogServiceImpl.java |   45 ++++++++++++++++++++++++++++++++++++---------
 1 files changed, 36 insertions(+), 9 deletions(-)

diff --git a/src/main/java/com/nq/service/impl/SiteLoginLogServiceImpl.java b/src/main/java/com/nq/service/impl/SiteLoginLogServiceImpl.java
index c2a29ca..9af3f9b 100644
--- a/src/main/java/com/nq/service/impl/SiteLoginLogServiceImpl.java
+++ b/src/main/java/com/nq/service/impl/SiteLoginLogServiceImpl.java
@@ -15,6 +15,7 @@
 import java.util.List;
 import javax.servlet.http.HttpServletRequest;
 
+import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -32,16 +33,42 @@
 
 
     public ServerResponse saveLog(User user, HttpServletRequest request) {
-        SiteLoginLog siteLoginLog = new SiteLoginLog();
-        siteLoginLog.setUserId(user.getId());
-        siteLoginLog.setUserName(user.getRealName());
-        //String ips = IpUtils.getIp(request);
+        try {
+            SiteLoginLog siteLoginLog = new SiteLoginLog();
+            siteLoginLog.setUserId(user.getId());
+            String userName = user.getRealName();
+            if (StringUtils.isBlank(userName)) {
+                userName = user.getPhone();
+            }
+            if (StringUtils.isBlank(userName)) {
+                userName = String.valueOf(user.getId());
+            }
+            siteLoginLog.setUserName(userName);
 
-        siteLoginLog.setLoginIp("--");
-        //String ip_address = JuheIpApi.ip2Add(ips);
-        siteLoginLog.setLoginAddress("未知");
-        siteLoginLog.setAddTime(new Date());
-        this.siteLoginLogMapper.insert(siteLoginLog);
+            String ips = IpUtils.getIp(request);
+            if (StringUtils.isBlank(ips)) {
+                ips = "--";
+            }
+            siteLoginLog.setLoginIp(ips);
+
+            String ipAddress = "未知";
+            if (!"--".equals(ips)) {
+                try {
+                    ipAddress = JuheIpApi.ip2Add(ips);
+                    if (StringUtils.isBlank(ipAddress)) {
+                        ipAddress = "未知";
+                    }
+                } catch (Exception e) {
+                    log.warn("登录IP地址解析失败 ip={}", ips, e);
+                }
+            }
+            siteLoginLog.setLoginAddress(ipAddress);
+            siteLoginLog.setAddTime(new Date());
+            this.siteLoginLogMapper.insert(siteLoginLog);
+            log.info("登录日志记录成功 userId={} ip={} address={}", user.getId(), ips, ipAddress);
+        } catch (Exception e) {
+            log.error("登录日志记录失败 userId={}", user.getId(), e);
+        }
 
         return ServerResponse.createBySuccess();
     }

--
Gitblit v1.9.3