From 3e8873d82877a0e4d2d2e0d12b5ac7658a20fbbd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E7=A5=A5=E8=B6=85?= Date: Thu, 23 Mar 2023 15:45:03 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=9F=A5=E7=9C=8B=E6=9C=8D?= =?UTF-8?q?=E5=8A=A124=E5=B0=8F=E6=97=B6=E6=B5=81=E9=87=8F=E7=BB=9F?= =?UTF-8?q?=E8=AE=A1=E4=BC=9A=E4=BA=A7=E7=94=9Fpanic=E7=9A=84=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- internal/db/models/server_bandwidth_stat_dao.go | 5 ----- internal/db/models/server_daily_stat_dao.go | 14 ++++++++++---- .../db/models/server_daily_stat_model_ext.go | 16 ++++++++++++++-- internal/db/models/user_bandwidth_stat_dao.go | 5 ----- 4 files changed, 24 insertions(+), 16 deletions(-) diff --git a/internal/db/models/server_bandwidth_stat_dao.go b/internal/db/models/server_bandwidth_stat_dao.go index f0cc52f8..4094dcee 100644 --- a/internal/db/models/server_bandwidth_stat_dao.go +++ b/internal/db/models/server_bandwidth_stat_dao.go @@ -834,11 +834,6 @@ func (this *ServerBandwidthStatDAO) HasFullData(tx *dbs.Tx, serverId int64, mont return false, errors.New("invalid month '" + month + "'") } - // 仅供调试 - if Tea.IsTesting() { - return true, nil - } - fullDataLocker.Lock() hasData, ok := fullDataMap[monthKey] fullDataLocker.Unlock() diff --git a/internal/db/models/server_daily_stat_dao.go b/internal/db/models/server_daily_stat_dao.go index de6a13cb..38801586 100644 --- a/internal/db/models/server_daily_stat_dao.go +++ b/internal/db/models/server_daily_stat_dao.go @@ -481,7 +481,7 @@ func (this *ServerDailyStatDAO) compatFindDailyStats(tx *dbs.Tx, serverId int64, dayMap := map[string]*ServerDailyStat{} // day => Stat for _, one := range ones { - stat := one.(*ServerDailyStat) + var stat = one.(*ServerDailyStat) dayMap[stat.Day] = stat } days, err := utils.RangeDays(dayFrom, dayTo) @@ -656,9 +656,11 @@ func (this *ServerDailyStatDAO) compatFindHourlyStats(tx *dbs.Tx, serverId int64 return nil, err } - hourMap := map[string]*ServerDailyStat{} // hour => Stat + var hourMap = map[string]*ServerDailyStat{} // hour => Stat for _, one := range ones { - stat := one.(*ServerDailyStat) + var stat = one.(*ServerDailyStat) + stat.Day = stat.Hour[:8] + stat.TimeFrom = stat.Hour[8:] + "00" hourMap[stat.Hour] = stat } hours, err := utils.RangeHours(hourFrom, hourTo) @@ -670,7 +672,11 @@ func (this *ServerDailyStatDAO) compatFindHourlyStats(tx *dbs.Tx, serverId int64 if ok { result = append(result, stat) } else { - result = append(result, &ServerDailyStat{Hour: hour}) + result = append(result, &ServerDailyStat{ + Hour: hour, + Day: hour[:8], + TimeFrom: hour[8:] + "00", + }) } } diff --git a/internal/db/models/server_daily_stat_model_ext.go b/internal/db/models/server_daily_stat_model_ext.go index 7ae50c50..a1d28a98 100644 --- a/internal/db/models/server_daily_stat_model_ext.go +++ b/internal/db/models/server_daily_stat_model_ext.go @@ -1,12 +1,18 @@ package models func (this *ServerDailyStat) AsUserBandwidthStat() *UserBandwidthStat { + var timeAt = "0000" + if len(this.TimeFrom) >= 4 { + timeAt = this.TimeFrom[:4] + } else if len(this.Hour) > 8 { + timeAt = this.Hour[8:] + "00" + } return &UserBandwidthStat{ Id: 0, UserId: uint64(this.UserId), RegionId: this.RegionId, Day: this.Day, - TimeAt: this.TimeFrom[:4], + TimeAt: timeAt, Bytes: this.Bytes / 300, TotalBytes: this.Bytes, AvgBytes: this.Bytes / 300, @@ -19,13 +25,19 @@ func (this *ServerDailyStat) AsUserBandwidthStat() *UserBandwidthStat { } func (this *ServerDailyStat) AsServerBandwidthStat() *ServerBandwidthStat { + var timeAt = "0000" + if len(this.TimeFrom) >= 4 { + timeAt = this.TimeFrom[:4] + } else if len(this.Hour) > 8 { + timeAt = this.Hour[8:] + "00" + } return &ServerBandwidthStat{ Id: 0, UserId: uint64(this.UserId), ServerId: uint64(this.ServerId), RegionId: this.RegionId, Day: this.Day, - TimeAt: this.TimeFrom[:4], + TimeAt: timeAt, Bytes: this.Bytes / 300, TotalBytes: this.Bytes, AvgBytes: this.Bytes / 300, diff --git a/internal/db/models/user_bandwidth_stat_dao.go b/internal/db/models/user_bandwidth_stat_dao.go index a1d2587a..212548b5 100644 --- a/internal/db/models/user_bandwidth_stat_dao.go +++ b/internal/db/models/user_bandwidth_stat_dao.go @@ -523,11 +523,6 @@ func (this *UserBandwidthStatDAO) HasFullData(tx *dbs.Tx, userId int64, month st return false, errors.New("invalid month '" + month + "'") } - // 仅供调试 - if Tea.IsTesting() { - return true, nil - } - fullDataLocker.Lock() hasData, ok := fullDataMap[month] fullDataLocker.Unlock()