refactor: statistics.go.
This commit is contained in:
+21
-10
@@ -160,8 +160,8 @@ func (sc *StatisticsController) StatisticsByRegion(c *gin.Context) {
|
|||||||
TotalDurationMs int64
|
TotalDurationMs int64
|
||||||
TotalOriginalFileSize int64
|
TotalOriginalFileSize int64
|
||||||
TotalCompressedSize int64
|
TotalCompressedSize int64
|
||||||
FirstUsedAt *time.Time
|
FirstUsedAt *int64
|
||||||
LastUsedAt *time.Time
|
LastUsedAt *int64
|
||||||
}
|
}
|
||||||
|
|
||||||
var rawResults []rawStats
|
var rawResults []rawStats
|
||||||
@@ -266,6 +266,17 @@ func (sc *StatisticsController) StatisticsByRegion(c *gin.Context) {
|
|||||||
if regionID > 0 {
|
if regionID > 0 {
|
||||||
kgName = kindergartenMap[regionID]
|
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{
|
item := regionStatisticsItem{
|
||||||
RegionID: regionID,
|
RegionID: regionID,
|
||||||
KindergartenName: kgName,
|
KindergartenName: kgName,
|
||||||
@@ -280,8 +291,8 @@ func (sc *StatisticsController) StatisticsByRegion(c *gin.Context) {
|
|||||||
TotalCompressedSize: r.TotalCompressedSize,
|
TotalCompressedSize: r.TotalCompressedSize,
|
||||||
AnalysisTypeCounts: analysisTypeMap[regionID],
|
AnalysisTypeCounts: analysisTypeMap[regionID],
|
||||||
SourceTypeCounts: sourceTypeMap[regionID],
|
SourceTypeCounts: sourceTypeMap[regionID],
|
||||||
FirstUsedAt: r.FirstUsedAt,
|
FirstUsedAt: firstUsedAt,
|
||||||
LastUsedAt: r.LastUsedAt,
|
LastUsedAt: lastUsedAt,
|
||||||
}
|
}
|
||||||
|
|
||||||
regions[strconv.FormatUint(uint64(regionID), 10)] = item
|
regions[strconv.FormatUint(uint64(regionID), 10)] = item
|
||||||
@@ -295,14 +306,14 @@ func (sc *StatisticsController) StatisticsByRegion(c *gin.Context) {
|
|||||||
overall.TotalOriginalFileSize += r.TotalOriginalFileSize
|
overall.TotalOriginalFileSize += r.TotalOriginalFileSize
|
||||||
overall.TotalCompressedSize += r.TotalCompressedSize
|
overall.TotalCompressedSize += r.TotalCompressedSize
|
||||||
|
|
||||||
if r.FirstUsedAt != nil {
|
if firstUsedAt != nil {
|
||||||
if overall.FirstUsedAt == nil || r.FirstUsedAt.Before(*overall.FirstUsedAt) {
|
if overall.FirstUsedAt == nil || firstUsedAt.Before(*overall.FirstUsedAt) {
|
||||||
overall.FirstUsedAt = r.FirstUsedAt
|
overall.FirstUsedAt = firstUsedAt
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if r.LastUsedAt != nil {
|
if lastUsedAt != nil {
|
||||||
if overall.LastUsedAt == nil || r.LastUsedAt.After(*overall.LastUsedAt) {
|
if overall.LastUsedAt == nil || lastUsedAt.After(*overall.LastUsedAt) {
|
||||||
overall.LastUsedAt = r.LastUsedAt
|
overall.LastUsedAt = lastUsedAt
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -90,6 +90,7 @@ func generateRecord() models.AIAnalysisRecord {
|
|||||||
return models.AIAnalysisRecord{
|
return models.AIAnalysisRecord{
|
||||||
RegionID: ®ionID,
|
RegionID: ®ionID,
|
||||||
SourceType: sourceType,
|
SourceType: sourceType,
|
||||||
|
AnalysisType: analysisType,
|
||||||
InputTokens: inputTokens,
|
InputTokens: inputTokens,
|
||||||
OutputTokens: outputTokens,
|
OutputTokens: outputTokens,
|
||||||
InputSizeBytes: inputSizeBytes,
|
InputSizeBytes: inputSizeBytes,
|
||||||
|
|||||||
Reference in New Issue
Block a user