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) } }