package configser import ( "context" "net/http" "videoweb/pub/common/log" "videoweb/pub/common/netutil" "videoweb/pub/pubdef" "videoweb/pub/storage" "videoweb/pub/storage/proxy" ) // UpdateAdvitiseData 从媒资中心按 AppId 拉取广告,图片拼接 CDN 后写入缓存 func UpdateAdvitiseData(ctx context.Context) { config := GetConfigInfo() queryAdvitiseReq := &proxy.AppAdvitiseInfoReq{ Id: pubdef.AppId, } advitiseResult, err := storage.QueryAdvitiseList(ctx, queryAdvitiseReq, "") if err != nil || advitiseResult.Code != http.StatusOK { if advitiseResult != nil { log.Warn("UpdateAdvitiseData.QueryAdvitiseList failed", log.Any("filter", queryAdvitiseReq), log.E(err), log.Any("respCode", advitiseResult.Code)) } else { log.Warn("UpdateAdvitiseData.QueryAdvitiseList failed", log.Any("filter", queryAdvitiseReq), log.E(err)) } return } data := advitiseResult.Data for _, list := range []*[]proxy.AdvitiseInfo{ &data.DialogList, &data.HomeList, &data.VideoTopList, &data.VideoDownList, &data.HotAppList, &data.NewAppList, &data.MustAppList, &data.TitleAppList, &data.FriendList, &data.NineGridList, &data.VideoList, &data.StopList, &data.ForcedJumpList, &data.AppInfoAList, &data.AppInfoBList, } { mergeAdvitiseImages(*list, config.ImgCdn) } CacheMgr.Lock.Lock() defer CacheMgr.Lock.Unlock() CacheMgr.Advitise = data } func mergeAdvitiseImages(list []proxy.AdvitiseInfo, cdn string) { for i := range list { if len(list[i].Images) > 0 { list[i].Images = netutil.MergeURL(cdn, list[i].Images) } } }