From f1dae9880544962e93769bdc97e02068a5007e8a Mon Sep 17 00:00:00 2001 From: laoboli <1293528695@qq.com> Date: Thu, 30 Apr 2026 09:22:14 +0800 Subject: [PATCH] refactor: statistics.go. --- controllers/statistics.go | 31 +++++++++++++++++++++---------- mockdata/main.go | 1 + 2 files changed, 22 insertions(+), 10 deletions(-) diff --git a/controllers/statistics.go b/controllers/statistics.go index 987ae5f..8e5dc49 100644 --- a/controllers/statistics.go +++ b/controllers/statistics.go @@ -160,8 +160,8 @@ func (sc *StatisticsController) StatisticsByRegion(c *gin.Context) { TotalDurationMs int64 TotalOriginalFileSize int64 TotalCompressedSize int64 - FirstUsedAt *time.Time - LastUsedAt *time.Time + FirstUsedAt *int64 + LastUsedAt *int64 } var rawResults []rawStats @@ -266,6 +266,17 @@ func (sc *StatisticsController) StatisticsByRegion(c *gin.Context) { if regionID > 0 { kgName = kindergartenMap[regionID] } + + var firstUsedAt, lastUsedAt *time.Time + if r.FirstUsedAt != nil { + t := time.UnixMilli(*r.FirstUsedAt) + firstUsedAt = &t + } + if r.LastUsedAt != nil { + t := time.UnixMilli(*r.LastUsedAt) + lastUsedAt = &t + } + item := regionStatisticsItem{ RegionID: regionID, KindergartenName: kgName, @@ -280,8 +291,8 @@ func (sc *StatisticsController) StatisticsByRegion(c *gin.Context) { TotalCompressedSize: r.TotalCompressedSize, AnalysisTypeCounts: analysisTypeMap[regionID], SourceTypeCounts: sourceTypeMap[regionID], - FirstUsedAt: r.FirstUsedAt, - LastUsedAt: r.LastUsedAt, + FirstUsedAt: firstUsedAt, + LastUsedAt: lastUsedAt, } regions[strconv.FormatUint(uint64(regionID), 10)] = item @@ -295,14 +306,14 @@ func (sc *StatisticsController) StatisticsByRegion(c *gin.Context) { overall.TotalOriginalFileSize += r.TotalOriginalFileSize overall.TotalCompressedSize += r.TotalCompressedSize - if r.FirstUsedAt != nil { - if overall.FirstUsedAt == nil || r.FirstUsedAt.Before(*overall.FirstUsedAt) { - overall.FirstUsedAt = r.FirstUsedAt + if firstUsedAt != nil { + if overall.FirstUsedAt == nil || firstUsedAt.Before(*overall.FirstUsedAt) { + overall.FirstUsedAt = firstUsedAt } } - if r.LastUsedAt != nil { - if overall.LastUsedAt == nil || r.LastUsedAt.After(*overall.LastUsedAt) { - overall.LastUsedAt = r.LastUsedAt + if lastUsedAt != nil { + if overall.LastUsedAt == nil || lastUsedAt.After(*overall.LastUsedAt) { + overall.LastUsedAt = lastUsedAt } } } diff --git a/mockdata/main.go b/mockdata/main.go index 6733a41..7bcbdeb 100644 --- a/mockdata/main.go +++ b/mockdata/main.go @@ -90,6 +90,7 @@ func generateRecord() models.AIAnalysisRecord { return models.AIAnalysisRecord{ RegionID: ®ionID, SourceType: sourceType, + AnalysisType: analysisType, InputTokens: inputTokens, OutputTokens: outputTokens, InputSizeBytes: inputSizeBytes,