Files
cid/controller/ad_position_controller.go
2026-02-24 16:24:47 +08:00

66 lines
1.8 KiB
Go

package controller
import (
"context"
"cid/model/dto"
"cid/service"
"gitea.com/red-future/common/beans"
)
type adPosition struct{}
var AdPosition = new(adPosition)
// Add 添加广告位
func (c *adPosition) Add(ctx context.Context, req *dto.AddAdPositionReq) (res *dto.AddAdPositionRes, err error) {
return service.AdPosition.Add(ctx, req)
}
// Update 更新广告位
func (c *adPosition) Update(ctx context.Context, req *dto.UpdateAdPositionReq) (res *beans.ResponseEmpty, err error) {
err = service.AdPosition.Update(ctx, req)
return
}
// UpdateStatus 更新广告位状态
func (c *adPosition) UpdateStatus(ctx context.Context, req *dto.UpdateAdPositionStatusReq) (res *beans.ResponseEmpty, err error) {
err = service.AdPosition.UpdateStatus(ctx, req)
return
}
// GetOne 获取广告位详情
func (c *adPosition) GetOne(ctx context.Context, req *dto.GetAdPositionReq) (res *dto.GetAdPositionRes, err error) {
return service.AdPosition.GetOne(ctx, req)
}
// List 获取广告位列表
func (c *adPosition) List(ctx context.Context, req *dto.ListAdPositionReq) (res *dto.ListAdPositionRes, err error) {
return service.AdPosition.List(ctx, req)
}
// GetAvailableAdPositions 获取可用的广告位列表
func (c *adPosition) GetAvailableAdPositions(ctx context.Context, _ *dto.GetAvailableAdPositionsReq) (res *dto.GetAvailableAdPositionsRes, err error) {
list, err := service.AdPosition.GetAvailableAdPositions(ctx)
if err != nil {
return nil, err
}
return &dto.GetAvailableAdPositionsRes{
List: list,
}, nil
}
// MatchAd 匹配广告
func (c *adPosition) MatchAd(ctx context.Context, req *dto.MatchAdReq) (res *dto.MatchAdRes, err error) {
ad, err := service.AdPosition.MatchAd(ctx, req.PositionCode, req.UserInfo)
if err != nil {
return nil, err
}
return &dto.MatchAdRes{
Advertisement: ad,
}, nil
}