Files

69 lines
3.1 KiB
Go
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
package delivery
import (
"github.com/gogf/gf/v2/os/gtime"
"gitea.redpowerfuture.com/red-future/common/beans"
)
// Campaign 广告计划实体(计划树第一层,外投/自有DSP共用,预算在计划层)
type Campaign struct {
beans.SQLBaseDO `orm:",inherit"`
// 业务字段
AdAccountID int64 `orm:"ad_account_id" json:"adAccountId" description:"本地广告账户ID"`
Name string `orm:"name" json:"name" description:"计划名称"`
Channel string `orm:"channel" json:"channel" description:"投放通道 external外投/self_dsp自有"`
Platform string `orm:"platform" json:"platform" description:"广告平台 douyin/xiaohongshu/kuaishou"`
PlatformCampaignID string `orm:"platform_campaign_id" json:"platformCampaignId" description:"平台侧计划ID"`
Status string `orm:"status" json:"status" description:"本地状态 draft/active/paused/ended/rejected"`
PlatformStatus string `orm:"platform_status" json:"platformStatus" description:"平台侧状态快照"`
SyncStatus string `orm:"sync_status" json:"syncStatus" description:"同步状态 none/pending/synced/failed"`
BudgetMode string `orm:"budget_mode" json:"budgetMode" description:"预算方式 free不限/daily日预算"`
DailyBudget *int64 `orm:"daily_budget" json:"dailyBudget" description:"日预算(分)budget_mode=daily时必填,否则NULL"`
TotalBudget *int64 `orm:"total_budget" json:"totalBudget" description:"总预算(分)NULL=不限"`
OptimizeGoal string `orm:"optimize_goal" json:"optimizeGoal" description:"优化目标 conversion/click/exposure"`
StartTime *gtime.Time `orm:"start_time" json:"startTime" description:"投放开始时间"`
EndTime *gtime.Time `orm:"end_time" json:"endTime" description:"投放结束时间"`
Extra string `orm:"extra" json:"extra" description:"平台特有扩展(JSON)"`
}
// CampaignCol 广告计划表字段定义
type CampaignCol struct {
beans.SQLBaseCol
AdAccountID string
Name string
Channel string
Platform string
PlatformCampaignID string
Status string
PlatformStatus string
SyncStatus string
BudgetMode string
DailyBudget string
TotalBudget string
OptimizeGoal string
StartTime string
EndTime string
Extra string
}
// CampaignCols 广告计划表字段常量
var CampaignCols = CampaignCol{
SQLBaseCol: beans.DefSQLBaseCol,
AdAccountID: "ad_account_id",
Name: "name",
Channel: "channel",
Platform: "platform",
PlatformCampaignID: "platform_campaign_id",
Status: "status",
PlatformStatus: "platform_status",
SyncStatus: "sync_status",
BudgetMode: "budget_mode",
DailyBudget: "daily_budget",
TotalBudget: "total_budget",
OptimizeGoal: "optimize_goal",
StartTime: "start_time",
EndTime: "end_time",
Extra: "extra",
}