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 }