From 151f0d45469addb8e605079682b98278e4cadcb4 Mon Sep 17 00:00:00 2001 From: GoEdgeLab Date: Thu, 17 Mar 2022 16:49:46 +0800 Subject: [PATCH] =?UTF-8?q?WAF=E7=BB=9F=E8=AE=A1=E5=9B=BE=E8=A1=A8?= =?UTF-8?q?=E4=B8=AD=E6=8A=8Apage=E5=BD=92=E4=B8=BA=E6=8B=A6=E6=88=AA?= =?UTF-8?q?=EF=BC=8C=E6=8A=8Atag=E5=BD=92=E4=B8=BA=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../db/models/stats/server_http_firewall_daily_stat_dao.go | 7 +++++-- internal/rpc/services/service_firewall.go | 6 +++--- .../services/service_server_http_firewall_daily_stat.go | 6 +++--- 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/internal/db/models/stats/server_http_firewall_daily_stat_dao.go b/internal/db/models/stats/server_http_firewall_daily_stat_dao.go index b7329571..f8f5c9aa 100644 --- a/internal/db/models/stats/server_http_firewall_daily_stat_dao.go +++ b/internal/db/models/stats/server_http_firewall_daily_stat_dao.go @@ -109,10 +109,13 @@ func (this *ServerHTTPFirewallDailyStatDAO) GroupDailyCount(tx *dbs.Tx, userId i } // FindDailyStats 查询某个日期段内的记录 -func (this *ServerHTTPFirewallDailyStatDAO) FindDailyStats(tx *dbs.Tx, userId int64, serverId int64, action string, dayFrom string, dayTo string) (result []*ServerHTTPFirewallDailyStat, err error) { +func (this *ServerHTTPFirewallDailyStatDAO) FindDailyStats(tx *dbs.Tx, userId int64, serverId int64, actions []string, dayFrom string, dayTo string) (result []*ServerHTTPFirewallDailyStat, err error) { + if len(actions) == 0 { + return nil, nil + } query := this.Query(tx). Between("day", dayFrom, dayTo). - Attr("action", action) + Attr("action", actions) if serverId > 0 { query.Attr("serverId", serverId) } else if userId > 0 { diff --git a/internal/rpc/services/service_firewall.go b/internal/rpc/services/service_firewall.go index 0f916819..26ec824e 100644 --- a/internal/rpc/services/service_firewall.go +++ b/internal/rpc/services/service_firewall.go @@ -119,7 +119,7 @@ func (this *FirewallService) ComposeFirewallGlobalBoard(ctx context.Context, req return nil, err } { - statList, err := stats.SharedServerHTTPFirewallDailyStatDAO.FindDailyStats(tx, 0, 0, "log", dayFrom, day) + statList, err := stats.SharedServerHTTPFirewallDailyStatDAO.FindDailyStats(tx, 0, 0, []string{"log", "tag"}, dayFrom, day) if err != nil { return nil, err } @@ -132,7 +132,7 @@ func (this *FirewallService) ComposeFirewallGlobalBoard(ctx context.Context, req } } { - statList, err := stats.SharedServerHTTPFirewallDailyStatDAO.FindDailyStats(tx, 0, 0, "captcha", dayFrom, day) + statList, err := stats.SharedServerHTTPFirewallDailyStatDAO.FindDailyStats(tx, 0, 0, []string{"captcha"}, dayFrom, day) if err != nil { return nil, err } @@ -145,7 +145,7 @@ func (this *FirewallService) ComposeFirewallGlobalBoard(ctx context.Context, req } } { - statList, err := stats.SharedServerHTTPFirewallDailyStatDAO.FindDailyStats(tx, 0, 0, "block", dayFrom, day) + statList, err := stats.SharedServerHTTPFirewallDailyStatDAO.FindDailyStats(tx, 0, 0, []string{"block", "page"}, dayFrom, day) if err != nil { return nil, err } diff --git a/internal/rpc/services/service_server_http_firewall_daily_stat.go b/internal/rpc/services/service_server_http_firewall_daily_stat.go index 3c7b9757..ceabbf69 100644 --- a/internal/rpc/services/service_server_http_firewall_daily_stat.go +++ b/internal/rpc/services/service_server_http_firewall_daily_stat.go @@ -135,7 +135,7 @@ func (this *ServerHTTPFirewallDailyStatService) ComposeServerHTTPFirewallDashboa return nil, err } { - statList, err := stats.SharedServerHTTPFirewallDailyStatDAO.FindDailyStats(tx, userId, req.ServerId, "log", dayBefore, day) + statList, err := stats.SharedServerHTTPFirewallDailyStatDAO.FindDailyStats(tx, userId, req.ServerId, []string{"log", "tag"}, dayBefore, day) if err != nil { return nil, err } @@ -148,7 +148,7 @@ func (this *ServerHTTPFirewallDailyStatService) ComposeServerHTTPFirewallDashboa } } { - statList, err := stats.SharedServerHTTPFirewallDailyStatDAO.FindDailyStats(tx, userId, req.ServerId, "block", dayBefore, day) + statList, err := stats.SharedServerHTTPFirewallDailyStatDAO.FindDailyStats(tx, userId, req.ServerId, []string{"block", "page"}, dayBefore, day) if err != nil { return nil, err } @@ -161,7 +161,7 @@ func (this *ServerHTTPFirewallDailyStatService) ComposeServerHTTPFirewallDashboa } } { - statList, err := stats.SharedServerHTTPFirewallDailyStatDAO.FindDailyStats(tx, userId, req.ServerId, "captcha", dayBefore, day) + statList, err := stats.SharedServerHTTPFirewallDailyStatDAO.FindDailyStats(tx, userId, req.ServerId, []string{"captcha"}, dayBefore, day) if err != nil { return nil, err }