Files
web_hgtv_server/app/service/configser/announcement.go
T
rootandClaude Opus 5.5 07fcde2148 广告改为参考模板从媒资中心按 AppId 拉取
- 新增 proxy.QueryAdvitise / storage.QueryAdvitiseList,调用 /media/web/app/advitise
- proxy.AdvitiseInfo 兼容 id 为数字或字符串
- configser 改用 UpdateAdvitiseData,定时拉取并拼接 CDN,移除广告中心(Jt)拉取
- proto.AdvitiseData 改为 proxy.AdvitiseData 别名,应用列表 A/B 广告位改用 appInfoAList/appInfoBList
- 同步 swagger 文档

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-23 16:32:12 +08:00

62 lines
1.6 KiB
Go

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)
}
}
}