From 648fc2cac3f49e709f70aa09fab7121700ed335b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E7=A5=A5=E8=B6=85?= Date: Thu, 6 Apr 2023 10:06:56 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=A1=E8=AE=A1=E6=97=A5=E5=BF=97=E5=88=97?= =?UTF-8?q?=E8=A1=A8=E5=A2=9E=E5=8A=A0=E7=BA=A7=E5=88=AB=E7=AD=9B=E9=80=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- internal/db/models/log_dao.go | 15 +++++++++++---- internal/rpc/services/service_log.go | 4 ++-- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/internal/db/models/log_dao.go b/internal/db/models/log_dao.go index c74fedfc..fad181d7 100644 --- a/internal/db/models/log_dao.go +++ b/internal/db/models/log_dao.go @@ -60,11 +60,11 @@ func (this *LogDAO) CreateLog(tx *dbs.Tx, adminType string, adminId int64, level } // CountLogs 计算所有日志数量 -func (this *LogDAO) CountLogs(tx *dbs.Tx, dayFrom string, dayTo string, keyword string, userType string) (int64, error) { +func (this *LogDAO) CountLogs(tx *dbs.Tx, dayFrom string, dayTo string, keyword string, userType string, level string) (int64, error) { dayFrom = this.formatDay(dayFrom) dayTo = this.formatDay(dayTo) - query := this.Query(tx) + var query = this.Query(tx) if len(dayFrom) > 0 { query.Gte("day", dayFrom) @@ -76,6 +76,9 @@ func (this *LogDAO) CountLogs(tx *dbs.Tx, dayFrom string, dayTo string, keyword query.Where("(description LIKE :keyword OR ip LIKE :keyword OR action LIKE :keyword)"). Param("keyword", dbutils.QuoteLike(keyword)) } + if len(level) > 0 { + query.Attr("level", level) + } // 用户类型 switch userType { @@ -89,11 +92,11 @@ func (this *LogDAO) CountLogs(tx *dbs.Tx, dayFrom string, dayTo string, keyword } // ListLogs 列出单页日志 -func (this *LogDAO) ListLogs(tx *dbs.Tx, offset int64, size int64, dayFrom string, dayTo string, keyword string, userType string) (result []*Log, err error) { +func (this *LogDAO) ListLogs(tx *dbs.Tx, offset int64, size int64, dayFrom string, dayTo string, keyword string, userType string, level string) (result []*Log, err error) { dayFrom = this.formatDay(dayFrom) dayTo = this.formatDay(dayTo) - query := this.Query(tx) + var query = this.Query(tx) if len(dayFrom) > 0 { query.Gte("day", dayFrom) } @@ -105,6 +108,10 @@ func (this *LogDAO) ListLogs(tx *dbs.Tx, offset int64, size int64, dayFrom strin Param("keyword", dbutils.QuoteLike(keyword)) } + if len(level) > 0 { + query.Attr("level", level) + } + // 用户类型 switch userType { case "admin": diff --git a/internal/rpc/services/service_log.go b/internal/rpc/services/service_log.go index c811d253..5df02ae0 100644 --- a/internal/rpc/services/service_log.go +++ b/internal/rpc/services/service_log.go @@ -39,7 +39,7 @@ func (this *LogService) CountLogs(ctx context.Context, req *pb.CountLogRequest) var tx = this.NullTx() - count, err := models.SharedLogDAO.CountLogs(tx, req.DayFrom, req.DayTo, req.Keyword, req.UserType) + count, err := models.SharedLogDAO.CountLogs(tx, req.DayFrom, req.DayTo, req.Keyword, req.UserType, req.Level) if err != nil { return nil, err } @@ -56,7 +56,7 @@ func (this *LogService) ListLogs(ctx context.Context, req *pb.ListLogsRequest) ( var tx = this.NullTx() - logs, err := models.SharedLogDAO.ListLogs(tx, req.Offset, req.Size, req.DayFrom, req.DayTo, req.Keyword, req.UserType) + logs, err := models.SharedLogDAO.ListLogs(tx, req.Offset, req.Size, req.DayFrom, req.DayTo, req.Keyword, req.UserType, req.Level) if err != nil { return nil, err }