Files
cid/controller/ad_position_controller.go

66 lines
1.8 KiB
Go
Raw Permalink Normal View History

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