Files
huangguo_server/skd/job/sqlcollapser/user/method.go
T
rootandClaude Opus 5 8679200f41 Initial commit
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-15 13:57:10 +08:00

45 lines
946 B
Go

package user
import (
"91porn-server/models/v/usermod"
"91porn-server/models/v/vidmod"
"time"
)
func doSyncWorkCount(start, end time.Time) error {
mats := []vidmod.Matcher{
(&vidmod.StatusMatch{Status: vidmod.CheckPass}).New(),
(&vidmod.UpdatedAtGTEAndLTMatch{GTE: &start, LT: &end}).New(),
}
publisherIDs, err := vidmod.PublisherIDList(mats...)
if err != nil {
return err
}
// 分批操作
for len(publisherIDs) > 0 {
var uids []uint64
if len(publisherIDs) > 100 {
uids = publisherIDs[:100]
publisherIDs = publisherIDs[100:]
} else {
uids = publisherIDs
publisherIDs = nil
}
mats = []vidmod.Matcher{
(&vidmod.StatusMatch{Status: vidmod.CheckPass}).New(),
(&vidmod.PublisherIDInMatch{PublisherIDList: uids}).New(),
}
m, err := vidmod.CountMapByPublisherID(mats...)
if err != nil {
return err
}
err = usermod.UpdateUserCountWorks(m)
if err != nil {
return err
}
}
return nil
}