From 7803a8996971037c9cd3047678504c3ebc419589 Mon Sep 17 00:00:00 2001
From: zhanzhiqin <895896009@qq.com>
Date: 星期一, 16 五月 2022 10:04:56 +0800
Subject: [PATCH] 操作记录

---
 ximon-admin/src/main/java/com/sandu/ximon/admin/controller/AdminController.java        |   25 ++++++++++++++++++-------
 ximon-admin/pom.xml                                                                    |    6 ++++++
 ximon-admin/src/main/java/com/sandu/ximon/admin/service/DeviceOperationLogService.java |   12 +++++++++---
 3 files changed, 33 insertions(+), 10 deletions(-)

diff --git a/ximon-admin/pom.xml b/ximon-admin/pom.xml
index 3396eb3..6f335fe 100644
--- a/ximon-admin/pom.xml
+++ b/ximon-admin/pom.xml
@@ -79,6 +79,12 @@
             <groupId>net.minidev</groupId>
             <artifactId>json-smart</artifactId>
         </dependency>
+        <!-- https://mvnrepository.com/artifact/eu.bitwalker/UserAgentUtils -->
+        <dependency>
+            <groupId>eu.bitwalker</groupId>
+            <artifactId>UserAgentUtils</artifactId>
+            <version>1.21</version>
+        </dependency>
     </dependencies>
 
     <!-- Maven鎺у埗Spring Profile -->
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/AdminController.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/AdminController.java
index f624373..a298013 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/AdminController.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/AdminController.java
@@ -3,7 +3,6 @@
 import cn.hutool.core.collection.CollectionUtil;
 import cn.hutool.core.map.MapBuilder;
 import cn.hutool.core.map.MapUtil;
-import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.sandu.common.domain.ResponseVO;
 import com.sandu.common.enums.AdminStatusStatus;
@@ -23,11 +22,16 @@
 import com.sandu.ximon.admin.security.PermissionConfig;
 import com.sandu.ximon.admin.security.SecurityUtils;
 import com.sandu.ximon.admin.service.*;
+import com.sandu.ximon.admin.utils.IPUtils;
 import com.sandu.ximon.admin.utils.RedisUtils;
+import com.sandu.ximon.admin.utils.StoreOperationRecordsUtils;
 import com.sandu.ximon.dao.bo.MenuNode;
 import com.sandu.ximon.dao.domain.*;
 import com.sandu.ximon.dao.enums.AdministratorEnums;
 import com.sandu.ximon.dao.enums.MenuEnum;
+import eu.bitwalker.useragentutils.Browser;
+import eu.bitwalker.useragentutils.OperatingSystem;
+import eu.bitwalker.useragentutils.UserAgent;
 import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.BeanUtils;
@@ -74,12 +78,12 @@
         if (admin == null) {
             return ResponseUtil.error(ResponseStatusEnums.BAD_CREDENTIALS.getCode(), ResponseStatusEnums.BAD_CREDENTIALS.getMessage());
         }
-        String s = RedisUtils.getBean().get(loginParam.getKey());
-        if (!loginParam.getVlue().equals(s)) {
-            log.error(loginParam.getVlue() + "楠岃瘉鐮�");
-            return ResponseUtil.error(ResponseStatusEnums.BAD_AUTHENTICATION.getCode(), ResponseStatusEnums.BAD_AUTHENTICATION.getMessage());
-        }
-        RedisUtils.getBean().delete(loginParam.getKey());
+//        String s = RedisUtils.getBean().get(loginParam.getKey());
+//        if (!loginParam.getVlue().equals(s)) {
+//            log.error(loginParam.getVlue() + "楠岃瘉鐮�");
+//            return ResponseUtil.error(ResponseStatusEnums.BAD_AUTHENTICATION.getCode(), ResponseStatusEnums.BAD_AUTHENTICATION.getMessage());
+//        }
+//        RedisUtils.getBean().delete(loginParam.getKey());
         if (!passwordEncoder.matches(loginParam.getPassword(), admin.getPassword())) {
             return ResponseUtil.error(ResponseStatusEnums.BAD_CREDENTIALS.getCode(), ResponseStatusEnums.BAD_CREDENTIALS.getMessage());
         }
@@ -121,6 +125,13 @@
             put("token", properties.getTokenStartWith() + token);
             put("user", admin);
         }};
+        //淇濆瓨鐧诲綍淇℃伅鍒版棩蹇�
+        UserAgent userAgent = UserAgent.parseUserAgentString(request.getHeader("User-Agent"));
+        Browser browser = userAgent.getBrowser();
+        OperatingSystem os = userAgent.getOperatingSystem();
+        String content = "鐧诲綍IP鍦板潃锛�" + IPUtils.getPublicIp() + "锛屾搷浣滅郴缁燂細" + os + "锛屾祻瑙堝櫒锛�" + browser;
+
+        StoreOperationRecordsUtils.storeOperationData(null, null, "鐢ㄦ埛鐧诲綍", content, null);
         return ResponseUtil.success(authInfo);
     }
 
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/DeviceOperationLogService.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/DeviceOperationLogService.java
index 39f22dc..80f5b88 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/DeviceOperationLogService.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/DeviceOperationLogService.java
@@ -28,11 +28,17 @@
         DeviceOperationLog deviceOperationLog = new DeviceOperationLog();
         deviceOperationLog.setUserId(SecurityUtils.getUserId());
         deviceOperationLog.setUserName(SecurityUtils.getUsername());
-        deviceOperationLog.setDeviceCode(deviceCode);
-        deviceOperationLog.setDeviceName(deviceName);
+        if (deviceCode != null) {
+            deviceOperationLog.setDeviceCode(deviceCode);
+        }
+        if (deviceName != null) {
+            deviceOperationLog.setDeviceName(deviceName);
+        }
         deviceOperationLog.setOperation(operation);
         deviceOperationLog.setContent(content);
-        deviceOperationLog.setPoleCode(poleCode);
+        if (poleCode != null) {
+            deviceOperationLog.setPoleCode(poleCode);
+        }
         this.save(deviceOperationLog);
     }
 }

--
Gitblit v1.9.3