@@ -0,0 +1,70 @@
|
||||
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))
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user