From 9d5fe7d3a13c5a3aed0ece31f37ebbd59c6a4925 Mon Sep 17 00:00:00 2001 From: GoEdgeLab Date: Fri, 7 Jul 2023 17:35:23 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=9F=A5=E8=AF=A2=E7=BD=91?= =?UTF-8?q?=E7=AB=99=E6=97=A5=E6=B5=81=E9=87=8F=E7=BB=9F=E8=AE=A1=E6=97=B6?= =?UTF-8?q?=E5=8F=AF=E8=83=BD=E4=B8=8D=E5=85=BC=E5=AE=B9MySQL8=E7=9A=84?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- internal/db/models/server_daily_stat_dao.go | 9 ++++++++- internal/db/models/server_daily_stat_dao_test.go | 2 +- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/internal/db/models/server_daily_stat_dao.go b/internal/db/models/server_daily_stat_dao.go index 32f5493a..5ea0eebe 100644 --- a/internal/db/models/server_daily_stat_dao.go +++ b/internal/db/models/server_daily_stat_dao.go @@ -16,6 +16,7 @@ import ( "github.com/iwind/TeaGo/types" timeutil "github.com/iwind/TeaGo/utils/time" "regexp" + "sort" "strings" "time" ) @@ -513,7 +514,8 @@ func (this *ServerDailyStatDAO) FindStatsWithDay(tx *dbs.Tx, serverId int64, day Result("SUM(bytes) AS bytes", "SUM(cachedBytes) AS cachedBytes", "SUM(countRequests) AS countRequests", "SUM(countCachedRequests) AS countCachedRequests", "SUM(countAttackRequests) AS countAttackRequests", "SUM(attackBytes) AS attackBytes", "day", "timeFrom", "MIN(timeTo) AS timeTo"). Attr("serverId", serverId). Attr("day", day). - Group("day").Group("timeFrom", dbs.QueryOrderDesc) + Group("day"). + Group("timeFrom") if len(timeFrom) > 0 { query.Gte("timeFrom", timeFrom) @@ -530,6 +532,11 @@ func (this *ServerDailyStatDAO) FindStatsWithDay(tx *dbs.Tx, serverId int64, day return nil, err } + // sort results + sort.Slice(result, func(i, j int) bool { + return result[i].TimeFrom < result[j].TimeFrom + }) + return } diff --git a/internal/db/models/server_daily_stat_dao_test.go b/internal/db/models/server_daily_stat_dao_test.go index 01c73393..db4c2417 100644 --- a/internal/db/models/server_daily_stat_dao_test.go +++ b/internal/db/models/server_daily_stat_dao_test.go @@ -140,6 +140,6 @@ func TestServerDailyStatDAO_FindStatsWithDay(t *testing.T) { t.Fatal(err) } for _, stat := range stats { - t.Log(stat.TimeFrom, stat.TimeTo, stat.Bytes) + t.Log(stat.Day, stat.TimeFrom, stat.TimeTo, stat.Bytes) } }