package checkin import ( "91porn-server/common/log" "91porn-server/models/v/checkinconfigmod" "91porn-server/models/v/vidmod" "91porn-server/skd/service" "go.mongodb.org/mongo-driver/bson" ) var videoCheckRunning bool // VideoCheckRS 定期检查签到奖励视频的切片状态 func VideoCheckRS() { if videoCheckRunning { return } videoCheckRunning = true defer func() { videoCheckRunning = false }() cfg, err := checkinconfigmod.FindOne(bson.M{}) if err != nil || cfg == nil { return } if len(cfg.RewardBgVideos) == 0 { return } updated := false for i, v := range cfg.RewardBgVideos { if v.FsResourceId == "" { continue } // 已完成的跳过 if v.FsResourceStatus == vidmod.Completed { continue } fileInfo, err := service.PullFileInfo(v.FsResourceId) if err != nil { log.Error("checkin VideoCheckRS PullFileInfo fail", log.Any("fsResourceId", v.FsResourceId), log.E(err)) continue } newStatus := fileInfo.Data.Status if newStatus == "" { continue } if newStatus != v.FsResourceStatus { cfg.RewardBgVideos[i].FsResourceStatus = newStatus updated = true log.Info("checkin VideoCheckRS status changed", log.Any("fsResourceId", v.FsResourceId), log.Any("oldStatus", v.FsResourceStatus), log.Any("newStatus", newStatus)) } } if updated { err := checkinconfigmod.UpdateOne( bson.M{"_id": cfg.ID}, bson.M{"$set": bson.M{"rewardBgVideos": cfg.RewardBgVideos}}, ) if err != nil { log.Error("checkin VideoCheckRS update config fail", log.E(err)) } } }