134 lines
5.7 KiB
Go
134 lines
5.7 KiB
Go
package dto
|
||
|
||
import (
|
||
"cidService/model/entity"
|
||
|
||
"gitee.com/red-future---jilin-g/common/http"
|
||
"github.com/gogf/gf/v2/frame/g"
|
||
)
|
||
|
||
// AddAdvertisementReq 添加广告请求
|
||
type AddAdvertisementReq struct {
|
||
g.Meta `path:"/advertisement/add" method:"post" tags:"广告管理" summary:"添加广告" dc:"添加新的广告"`
|
||
|
||
// 广告基本信息
|
||
Title string `json:"title" v:"required"` // 广告标题
|
||
Description string `json:"description"` // 广告描述
|
||
AdvertiserId string `json:"advertiserId" v:"required"` // 广告主ID
|
||
AdPositionId string `json:"adPositionId" v:"required"` // 广告位ID
|
||
AdType string `json:"adType" v:"required"` // 广告类型:图片、视频、文字等
|
||
AdFormat string `json:"adFormat" v:"required"` // 广告格式
|
||
MaterialUrl string `json:"materialUrl" v:"required"` // 广告素材URL
|
||
LinkUrl string `json:"linkUrl"` // 点击跳转链接
|
||
LandingPageUrl string `json:"landingPageUrl"` // 落地页URL
|
||
|
||
// 投放设置
|
||
StartDate int64 `json:"startDate" v:"required"` // 开始投放时间
|
||
EndDate int64 `json:"endDate" v:"required"` // 结束投放时间
|
||
Budget int64 `json:"budget" v:"required"` // 预算(分)
|
||
DailyBudget int64 `json:"dailyBudget"` // 日预算(分)
|
||
BidAmount int64 `json:"bidAmount" v:"required"` // 出价(分)
|
||
BillingType string `json:"billingType" v:"required"` // 计费类型:CPC、CPM、CPA等
|
||
|
||
// 投放条件
|
||
Targeting *entity.Targeting `json:"targeting"` // 定向条件
|
||
}
|
||
|
||
type AddAdvertisementRes struct {
|
||
Id string `json:"id"`
|
||
}
|
||
|
||
// UpdateAdvertisementReq 更新广告请求
|
||
type UpdateAdvertisementReq struct {
|
||
g.Meta `path:"/advertisement/update" method:"post" tags:"广告管理" summary:"更新广告" dc:"更新广告信息"`
|
||
|
||
Id string `json:"id" v:"required"` // ID
|
||
|
||
// 广告基本信息
|
||
Title string `json:"title"` // 广告标题
|
||
Description string `json:"description"` // 广告描述
|
||
AdvertiserId string `json:"advertiserId"` // 广告主ID
|
||
AdPositionId string `json:"adPositionId"` // 广告位ID
|
||
AdType string `json:"adType"` // 广告类型:图片、视频、文字等
|
||
AdFormat string `json:"adFormat"` // 广告格式
|
||
MaterialUrl string `json:"materialUrl"` // 广告素材URL
|
||
LinkUrl string `json:"linkUrl"` // 点击跳转链接
|
||
LandingPageUrl string `json:"landingPageUrl"` // 落地页URL
|
||
|
||
// 投放设置
|
||
StartDate *int64 `json:"startDate"` // 开始投放时间
|
||
EndDate *int64 `json:"endDate"` // 结束投放时间
|
||
Budget *int64 `json:"budget"` // 预算(分)
|
||
DailyBudget *int64 `json:"dailyBudget"` // 日预算(分)
|
||
BidAmount *int64 `json:"bidAmount"` // 出价(分)
|
||
BillingType string `json:"billingType"` // 计费类型:CPC、CPM、CPA等
|
||
|
||
// 投放条件
|
||
Targeting *entity.Targeting `json:"targeting"` // 定向条件
|
||
|
||
// 状态信息
|
||
Status *string `json:"status"` // 广告状态:待审核、已审核、已拒绝、投放中、已暂停、已结束
|
||
AuditStatus *string `json:"auditStatus"` // 审核状态
|
||
AuditReason *string `json:"auditReason"` // 审核不通过原因
|
||
}
|
||
|
||
// GetAdvertisementReq 获取广告详情请求
|
||
type GetAdvertisementReq struct {
|
||
g.Meta `path:"/advertisement/one" method:"get" tags:"广告管理" summary:"获取广告详情" dc:"根据ID获取单个广告详情"`
|
||
Id string `json:"id" v:"required"` // ID
|
||
}
|
||
|
||
type GetAdvertisementRes struct {
|
||
*entity.Advertisement
|
||
}
|
||
|
||
// ListAdvertisementReq 获取广告列表请求
|
||
type ListAdvertisementReq struct {
|
||
g.Meta `path:"/advertisement/list" method:"get" tags:"广告管理" summary:"获取广告列表" dc:"分页查询广告列表,支持多条件筛选"`
|
||
http.Page
|
||
|
||
AdvertiserId string `json:"advertiserId"` // 广告主ID
|
||
AdPositionId string `json:"adPositionId"` // 广告位ID
|
||
AdType string `json:"adType"` // 广告类型
|
||
Status string `json:"status"` // 广告状态
|
||
AuditStatus string `json:"auditStatus"` // 审核状态
|
||
Title string `json:"title"` // 广告标题模糊查询
|
||
DateRange []string `json:"dateRange"` // 创建时间范围 [start, end]
|
||
}
|
||
|
||
type ListAdvertisementRes struct {
|
||
List []*entity.Advertisement `json:"list"`
|
||
Total int `json:"total"`
|
||
}
|
||
|
||
// AuditAdvertisementReq 审核广告请求
|
||
type AuditAdvertisementReq struct {
|
||
g.Meta `path:"/advertisement/audit" method:"post" tags:"广告管理" summary:"审核广告" dc:"审核广告,通过或拒绝"`
|
||
|
||
Id string `json:"id" v:"required"` // 广告ID
|
||
AuditStatus string `json:"auditStatus" v:"required"` // 审核状态:通过、拒绝
|
||
AuditReason string `json:"auditReason"` // 审核不通过原因
|
||
}
|
||
|
||
// UpdateAdStatusReq 更新广告状态请求
|
||
type UpdateAdStatusReq struct {
|
||
g.Meta `path:"/advertisement/status" method:"post" tags:"广告管理" summary:"更新广告状态" dc:"更新广告状态"`
|
||
|
||
Id string `json:"id" v:"required"` // 广告ID
|
||
Status string `json:"status" v:"required"` // 广告状态:启用、禁用
|
||
}
|
||
|
||
// GetAdStatisticsReq 获取广告统计数据请求
|
||
type GetAdStatisticsForAdvertisementReq struct {
|
||
g.Meta `path:"/advertisement/statistics" method:"get" tags:"广告管理" summary:"获取广告统计数据" dc:"获取广告的统计数据"`
|
||
|
||
Id string `json:"id" v:"required"` // 广告ID
|
||
StatType string `json:"statType" v:"required"` // 统计类型:天、周、月
|
||
StartDate int64 `json:"startDate"` // 开始日期
|
||
EndDate int64 `json:"endDate"` // 结束日期
|
||
}
|
||
|
||
type GetAdStatisticsForAdvertisementRes struct {
|
||
Statistics []*entity.AdStatistics `json:"statistics"`
|
||
}
|