From c2ddb7331d1481b51fb2a5dc4d28b65b25df52d7 Mon Sep 17 00:00:00 2001
From: lanrenwo <lanrenwo@users.noreply.github.com>
Date: Tue, 1 Nov 2022 22:03:13 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=97=A5=E5=BF=97=E8=90=BD?=
 =?UTF-8?q?=E7=9B=98=E7=9A=84=E4=BB=A3=E7=A0=81?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 server/handler/payload_access_audit.go | 21 +++++++++++++--------
 1 file changed, 13 insertions(+), 8 deletions(-)

diff --git a/server/handler/payload_access_audit.go b/server/handler/payload_access_audit.go
index 267dcfe..3adcc70 100644
--- a/server/handler/payload_access_audit.go
+++ b/server/handler/payload_access_audit.go
@@ -51,8 +51,17 @@ func (p *AuditPayload) Add(userName string, pl *sessdata.Payload) {
 }
 
 // 数据落盘
-func (p *AuditPayload) Write(logs []dbdata.AccessAudit) {
-	_ = dbdata.AddBatch(logs)
+func (l *LogBatch) Write() {
+	if len(l.Logs) == 0 {
+		return
+	}
+	_ = dbdata.AddBatch(l.Logs)
+	l.Reset()
+}
+
+// 清空数据
+func (l *LogBatch) Reset() {
+	l.Logs = []dbdata.AccessAudit{}
 }
 
 // 开启批量写入数据功能
@@ -84,14 +93,10 @@ func logAuditBatch() {
 				if !outTime.Stop() {
 					<-outTime.C
 				}
-				auditPayload.Write(logBatch.Logs)
-				logBatch.Logs = []dbdata.AccessAudit{}
+				logBatch.Write()
 			}
 		case <-outTime.C:
-			if len(logBatch.Logs) > 0 {
-				auditPayload.Write(logBatch.Logs)
-				logBatch.Logs = []dbdata.AccessAudit{}
-			}
+			logBatch.Write()
 		}
 	}
 }