init: hgmj server initial commit

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
2026-10-08 16:50:13 +08:00
co-authored by Claude Opus 4.7
commit 625e89c15d
1870 changed files with 254090 additions and 0 deletions
+46
View File
@@ -0,0 +1,46 @@
package vidtotal
import (
"91jd-server/common/timeutil/timerange"
"91jd-server/models/s/statvidmod"
"91jd-server/models/s/statvidtotalmod"
"go.mongodb.org/mongo-driver/bson/primitive"
)
type ObjectID = primitive.ObjectID
type TimeRange = timerange.TimeRange
type VideoTotalIncDoc = statvidtotalmod.IncDoc
type VideoTotalIncDocMap = statvidtotalmod.IncDocMap
type RecordAtGTEAndLTMatch = statvidmod.RecordAtGTEAndLTMatch
func getVideoTotalIncDocMap(timeRange TimeRange) (VideoTotalIncDocMap, error) {
recordAtGTEAndLTMatch := RecordAtGTEAndLTMatch{GTE: &timeRange.Head, LT: &timeRange.Tail}
groupList, err := statvidmod.SumByRecordAt(recordAtGTEAndLTMatch)
if err != nil {
return nil, err
}
m := toVideoTotalIncDocMap(groupList)
return m, nil
}
func toVideoTotalIncDocMap(groupList []statvidmod.SumGroup) VideoTotalIncDocMap {
m := make(VideoTotalIncDocMap, len(groupList))
for _, v := range groupList {
_, ok := m[v.Vid]
if !ok {
m[v.Vid] = &VideoTotalIncDoc{}
}
doc := m[v.Vid]
doc.Income = v.Income
doc.PayCount = v.PayCount
doc.PlayCount = v.PlayCount
doc.PayPlayCount = v.PayPlayCount
doc.Tax = v.Tax
}
return m
}