Documentation
¶
Index ¶
- func AppendAnalysisClick(args *ArgsAppendAnalysisClick) (err error)
- func AuditApply(args *ArgsAuditApply) (err error)
- func DeleteAD(args *ArgsDeleteAD) (err error)
- func DeleteApply(args *ArgsDeleteApply) (err error)
- func DeleteBind(args *ArgsDeleteBind) (err error)
- func GetGetADMoreMap(args *ArgsGetADMore) (data map[int64]string, err error)
- func Run()
- func UpdateAD(args *ArgsUpdateAD) (err error)
- type ArgsAppendAnalysisClick
- type ArgsAuditApply
- type ArgsCreateAD
- type ArgsCreateApply
- type ArgsDeleteAD
- type ArgsDeleteApply
- type ArgsDeleteBind
- type ArgsGetADByID
- type ArgsGetADList
- type ArgsGetADMore
- type ArgsGetAnalysis
- type ArgsGetApplyID
- type ArgsGetApplyList
- type ArgsGetBindList
- type ArgsPutAD
- type ArgsPutADByGPS
- type ArgsSetBind
- type ArgsUpdateAD
- type DataAD
- type DataGetAnalysis
- type FieldsAD
- type FieldsAnalysis
- type FieldsApply
- type FieldsBind
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AppendAnalysisClick ¶
func AppendAnalysisClick(args *ArgsAppendAnalysisClick) (err error)
AppendAnalysisClick 写入点击数据
func GetGetADMoreMap ¶
func GetGetADMoreMap(args *ArgsGetADMore) (data map[int64]string, err error)
Types ¶
type ArgsAppendAnalysisClick ¶
type ArgsAppendAnalysisClick struct {
//组织ID
OrgID int64 `db:"org_id" json:"orgID"`
//分区ID
AreaID int64 `db:"area_id" json:"areaID"`
//广告ID
AdID int64 `db:"ad_id" json:"adID"`
//投放次数
ClickCount int64 `db:"click_count" json:"clickCount"`
}
ArgsAppendAnalysisClick 写入点击数据参数
type ArgsAuditApply ¶
type ArgsAuditApply struct {
//ID
ID int64 `db:"id" json:"id" check:"id"`
//组织ID
// 验证用
OrgID int64 `db:"org_id" json:"orgID" check:"id" empty:"true"`
//是否审核
IsAudit bool `json:"isAudit" check:"bool"`
//申请描述
AuditDes string `db:"audit_des" json:"auditDes" check:"des" min:"1" max:"600" empty:"true"`
//拒绝原因
AuditBanDes string `db:"audit_ban_des" json:"auditBanDes" check:"des" min:"1" max:"600" empty:"true"`
//投放分区ID列
AreaIDs pq.Int64Array `db:"area_ids" json:"areaIDs" check:"ids" empty:"true"`
//分区标识码
// 作为前端抽取数据类型使用,可以重复指定多个
Mark string `db:"mark" json:"mark" check:"mark" empty:"true"`
}
ArgsAuditApply 审核请求参数
type ArgsCreateAD ¶
type ArgsCreateAD struct {
//组织ID
OrgID int64 `db:"org_id" json:"orgID" check:"id" empty:"true"`
//分区标识码
// 作为前端抽取数据类型使用,可以重复指定多个
Mark string `db:"mark" json:"mark" check:"mark"`
//名称
Name string `db:"name" json:"name" check:"name"`
//描述
Des string `db:"des" json:"des" check:"des" min:"1" max:"6000" empty:"true"`
//封面
CoverFileID int64 `db:"cover_file_id" json:"coverFileID" check:"id" empty:"true"`
//描述组图
DesFiles pq.Int64Array `db:"des_files" json:"desFiles" check:"ids" empty:"true"`
//扩展参数
Params CoreSQLConfig.FieldsConfigsType `db:"params" json:"params"`
}
ArgsCreateAD 创建新的广告参数
type ArgsCreateApply ¶
type ArgsCreateApply struct {
//启动时间
StartAt string `db:"start_at" json:"startAt" check:"isoTime"`
//结束时间
EndAt string `db:"end_at" json:"endAt" check:"isoTime"`
//组织ID
OrgID int64 `db:"org_id" json:"orgID" check:"id"`
//用户ID
// 可以由用户发起,用户发起的广告主要向商户投放,由商户进行审核处理
UserID int64 `db:"user_id" json:"userID" check:"id" empty:"true"`
//投放分区ID列
AreaIDs pq.Int64Array `db:"area_ids" json:"areaIDs" check:"ids" empty:"true"`
//分区标识码
// 作为前端抽取数据类型使用,可以重复指定多个
Mark string `db:"mark" json:"mark" check:"mark" empty:"true"`
//名称
Name string `db:"name" json:"name" check:"name" min:"1" max:"300" empty:"true"`
//描述
Des string `db:"des" json:"des" check:"des" min:"1" max:"3000" empty:"true"`
//封面
CoverFileID int64 `db:"cover_file_id" json:"coverFileID" check:"id"`
//描述组图
DesFiles pq.Int64Array `db:"des_files" json:"desFiles" check:"ids" empty:"true"`
//扩展参数
Params CoreSQLConfig.FieldsConfigsType `db:"params" json:"params" check:"params"`
}
ArgsCreateApply 创建请求参数
type ArgsDeleteAD ¶
type ArgsDeleteAD struct {
//ID
ID int64 `db:"id" json:"id" check:"id"`
//组织ID
// 验证用
OrgID int64 `db:"org_id" json:"orgID" check:"id" empty:"true"`
}
ArgsDeleteAD 删除广告参数
type ArgsDeleteApply ¶
type ArgsDeleteApply struct {
//ID
ID int64 `db:"id" json:"id" check:"id"`
//组织ID
// 验证用
OrgID int64 `db:"org_id" json:"orgID" check:"id" empty:"true"`
//用户ID
// 可以由用户发起,用户发起的广告主要向商户投放,由商户进行审核处理
UserID int64 `db:"user_id" json:"userID" check:"id" empty:"true"`
}
ArgsDeleteApply 删除请求参数
type ArgsDeleteBind ¶
type ArgsDeleteBind struct {
//ID
ID int64 `db:"id" json:"id" check:"id"`
//组织ID
// 验证用
OrgID int64 `db:"org_id" json:"orgID" check:"id" empty:"true"`
}
ArgsDeleteBind 删除绑定关系参数
type ArgsGetADByID ¶
type ArgsGetADByID struct {
//ID
ID int64 `db:"id" json:"id" check:"id"`
//组织ID
// 留空则表明为平台的用户留下的内容
OrgID int64 `db:"org_id" json:"orgID" check:"id" empty:"true"`
}
ArgsGetADByID 获取指定的ID参数
type ArgsGetADList ¶
type ArgsGetADList struct {
//分页
Pages CoreSQLPages.ArgsDataList `json:"pages"`
//组织ID
// -1 跳过
OrgID int64 `db:"org_id" json:"orgID" check:"id" empty:"true"`
//分区标识码
// 作为前端抽取数据类型使用,可以重复指定多个
Mark string `db:"mark" json:"mark" check:"mark" empty:"true"`
//是否删除
IsRemove bool `db:"is_remove" json:"isRemove" check:"bool"`
//搜索
Search string `json:"search" check:"search" empty:"true"`
}
ArgsGetADList 获取广告列表参数
type ArgsGetADMore ¶
type ArgsGetADMore struct {
//ID列
IDs pq.Int64Array `json:"ids"`
//是否包含删除数据
HaveRemove bool `json:"haveRemove"`
}
ArgsGetADMore 获取一组数据参数
type ArgsGetAnalysis ¶
type ArgsGetAnalysis struct {
//查询时间范围
TimeBetween CoreSQLTime.FieldsCoreTime `json:"timeBetween"`
//结构方式
// year / month / day / hour
TimeType string `json:"timeType"`
//组织ID
OrgID int64 `db:"org_id" json:"orgID" check:"id" empty:"true"`
//分区ID
AreaID int64 `db:"area_id" json:"areaID" check:"id" empty:"true"`
//广告ID
AdID int64 `db:"ad_id" json:"adID" check:"id" empty:"true"`
//是否为历史数据
IsHistory bool `json:"isHistory" check:"bool"`
}
ArgsGetAnalysis 获取统计数据参数
type ArgsGetApplyID ¶
type ArgsGetApplyID struct {
//ID
ID int64 `db:"id" json:"id" check:"id"`
//组织ID
// 验证用
OrgID int64 `db:"org_id" json:"orgID" check:"id" empty:"true"`
//用户ID
// 可以由用户发起,用户发起的广告主要向商户投放,由商户进行审核处理
UserID int64 `db:"user_id" json:"userID" check:"id" empty:"true"`
}
ArgsGetApplyID 获取请求记录参数
type ArgsGetApplyList ¶
type ArgsGetApplyList struct {
//分页
Pages CoreSQLPages.ArgsDataList `json:"pages"`
//组织ID
OrgID int64 `db:"org_id" json:"orgID" check:"id" empty:"true"`
//用户ID
// 可以由用户发起,用户发起的广告主要向商户投放,由商户进行审核处理
UserID int64 `db:"user_id" json:"userID" check:"id" empty:"true"`
//是否审核
NeedIsAudit bool `json:"needIsAudit" check:"bool"`
IsAudit bool `json:"isAudit" check:"bool"`
//是否开始
NeedIsStart bool `json:"needIsStart" check:"bool"`
IsStart bool `json:"isStart" check:"bool"`
//是否结束
NeedIsEnd bool `json:"needIsEnd" check:"bool"`
IsEnd bool `json:"isEnd" check:"bool"`
//广告标识码
Mark string `json:"mark" check:"mark" empty:"true"`
//是否删除
IsRemove bool `db:"is_remove" json:"isRemove" check:"bool"`
//搜索
Search string `json:"search" check:"search" empty:"true"`
}
ArgsGetApplyList 获取请求列表参数
type ArgsGetBindList ¶
type ArgsGetBindList struct {
//分页
Pages CoreSQLPages.ArgsDataList `json:"pages"`
//组织ID
// -1 跳过
OrgID int64 `db:"org_id" json:"orgID" check:"id" empty:"true"`
//广告ID
// -1 跳过
AdID int64 `db:"ad_id" json:"adID" check:"id" empty:"true"`
//分区ID
// -1 跳过
AreaID int64 `db:"area_id" json:"areaID" check:"id" empty:"true"`
//是否删除
IsRemove bool `db:"is_remove" json:"isRemove" check:"bool"`
}
ArgsGetBindList 获取绑定关系参数
type ArgsPutAD ¶
type ArgsPutAD struct {
//组织ID
// 如果为0,则表示为平台方
OrgID int64 `db:"org_id" json:"orgID" check:"id" empty:"true"`
//分区ID
// 分区如果没有给与,则直接抽取mark
AreaID int64 `db:"area_id" json:"areaID" check:"id" empty:"true"`
//标识码
Mark string `db:"mark" json:"mark" check:"mark"`
}
ArgsPutAD 根据分区ID,自动投放指定mark的广告参数
type ArgsPutADByGPS ¶
type ArgsPutADByGPS struct {
//地图制式
// 0 / 1 / 2
// WGS-84 / GCJ-02 / BD-09
MapType int `db:"map_type" json:"mapType"`
//要检查的点
Point CoreSQLGPS.FieldsPoint `db:"point" json:"point"`
//组织ID
OrgID int64 `db:"org_id" json:"orgID" check:"id"`
//标识码
Mark string `db:"mark" json:"mark" check:"mark"`
}
ArgsPutADByGPS 根据定位识别分区后,再投放广告参数
type ArgsSetBind ¶
type ArgsSetBind struct {
//启动时间
StartAt time.Time `db:"start_at" json:"startAt" check:"isoTime"`
//结束时间
EndAt time.Time `db:"end_at" json:"endAt" check:"isoTime"`
//组织ID
OrgID int64 `db:"org_id" json:"orgID" check:"id" empty:"true"`
//分区ID
AreaID int64 `db:"area_id" json:"areaID" check:"id"`
//广告ID
AdID int64 `db:"ad_id" json:"adID" check:"id"`
//权重因子
// 当一个分区存在多个广告绑定时,权重将作为随机的重要计算参数,影响随机的倾向性
// 同一个分区下将所有广告进行合计,然后取随机数,在因子+偏移值范围的广告将作为最终投放标定
// 注意,广告也可能会被用户数据分析模块影响,该模块将注入新的因子作为投放参数,作为因子2存在。
// 投放概率 = 广告因子 + 用户数据分析因子 / (因子总数)
Factor int `db:"factor" json:"factor" check:"intThan0"`
//扩展参数
Params CoreSQLConfig.FieldsConfigsType `db:"params" json:"params"`
}
ArgsSetBind 设置绑定关系参数
type ArgsUpdateAD ¶
type ArgsUpdateAD struct {
//ID
ID int64 `db:"id" json:"id" check:"id"`
//组织ID
// 验证用
OrgID int64 `db:"org_id" json:"orgID" check:"id" empty:"true"`
//分区标识码
// 作为前端抽取数据类型使用,可以重复指定多个
Mark string `db:"mark" json:"mark" check:"mark"`
//名称
Name string `db:"name" json:"name" check:"name"`
//描述
Des string `db:"des" json:"des" check:"des" min:"1" max:"6000" empty:"true"`
//封面
CoverFileID int64 `db:"cover_file_id" json:"coverFileID" check:"id" empty:"true"`
//描述组图
DesFiles pq.Int64Array `db:"des_files" json:"desFiles" check:"ids" empty:"true"`
//扩展参数
Params CoreSQLConfig.FieldsConfigsType `db:"params" json:"params"`
}
ArgsUpdateAD 修改广告参数
type DataAD ¶
type DataAD struct {
//ID
ID int64 `db:"id" json:"id"`
//广告标识码,识别位置信息
Mark string `db:"mark" json:"mark"`
//名称
Name string `db:"name" json:"name"`
//描述
Des string `db:"des" json:"des"`
//封面
CoverFileID int64 `db:"cover_file_id" json:"coverFileID"`
//描述组图
DesFiles pq.Int64Array `db:"des_files" json:"desFiles"`
//扩展参数
Params CoreSQLConfig.FieldsConfigsType `db:"params" json:"params"`
}
DataAD 根据分区ID,自动投放指定mark的广告数据
func PutADByGPS ¶
func PutADByGPS(args *ArgsPutADByGPS) (data DataAD, errCode string, err error)
PutADByGPS 根据定位识别分区后,再投放广告
type DataGetAnalysis ¶
type DataGetAnalysis struct {
//时间
DayTime string `db:"d" json:"dayTime"`
//价格合计
Count int64 `db:"count_count" json:"count"`
}
DataGetAnalysis 获取统计数据数据
func GetAnalysis ¶
func GetAnalysis(args *ArgsGetAnalysis) (dataList []DataGetAnalysis, err error)
GetAnalysis 获取统计数据
type FieldsAD ¶
type FieldsAD struct {
//ID
ID int64 `db:"id" json:"id"`
//创建时间
CreateAt time.Time `db:"create_at" json:"createAt"`
//更新时间
UpdateAt time.Time `db:"update_at" json:"updateAt"`
//删除时间
DeleteAt time.Time `db:"delete_at" json:"deleteAt"`
//组织ID
OrgID int64 `db:"org_id" json:"orgID"`
//分区标识码
// 作为前端抽取数据类型使用,可以重复指定多个
Mark string `db:"mark" json:"mark"`
//名称
Name string `db:"name" json:"name"`
//描述
Des string `db:"des" json:"des"`
//封面
CoverFileID int64 `db:"cover_file_id" json:"coverFileID"`
//描述组图
DesFiles pq.Int64Array `db:"des_files" json:"desFiles"`
//扩展参数
Params CoreSQLConfig.FieldsConfigsType `db:"params" json:"params"`
}
FieldsAD 广告数据核心
func GetADList ¶
func GetADList(args *ArgsGetADList) (dataList []FieldsAD, dataCount int64, err error)
GetADList 获取广告列表
func GetADMore ¶
func GetADMore(args *ArgsGetADMore) (dataList []FieldsAD, err error)
GetADMore 获取一组数据
type FieldsAnalysis ¶
type FieldsAnalysis struct {
//ID
ID int64 `db:"id" json:"id"`
//统计周期
// 完全相同的一个来源体系,1小时仅构建一条数据
DayTime time.Time `db:"day_time" json:"dayTime"`
//组织ID
OrgID int64 `db:"org_id" json:"orgID"`
//分区ID
AreaID int64 `db:"area_id" json:"areaID"`
//广告ID
AdID int64 `db:"ad_id" json:"adID"`
//投放次数
Count int64 `db:"count" json:"count"`
//点击次数
ClickCount int64 `db:"click_count" json:"clickCount"`
}
FieldsAnalysis 统计记录
type FieldsApply ¶
type FieldsApply struct {
//ID
ID int64 `db:"id" json:"id"`
//创建时间
CreateAt time.Time `db:"create_at" json:"createAt"`
//更新时间
UpdateAt time.Time `db:"update_at" json:"updateAt"`
//删除时间
DeleteAt time.Time `db:"delete_at" json:"deleteAt"`
//启动时间
StartAt time.Time `db:"start_at" json:"startAt"`
//结束时间
EndAt time.Time `db:"end_at" json:"endAt"`
//审核时间
AuditAt time.Time `db:"audit_at" json:"auditAt"`
//申请描述
AuditDes string `db:"audit_des" json:"auditDes"`
//拒绝原因
AuditBanDes string `db:"audit_ban_des" json:"auditBanDes"`
//组织ID
OrgID int64 `db:"org_id" json:"orgID"`
//用户ID
// 可以由用户发起,用户发起的广告主要向商户投放,由商户进行审核处理
UserID int64 `db:"user_id" json:"userID"`
//投放分区ID列
AreaIDs pq.Int64Array `db:"area_ids" json:"areaIDs"`
//已经投放的广告ID
AdID int64 `db:"ad_id" json:"adID"`
//分区标识码
// 作为前端抽取数据类型使用,可以重复指定多个
Mark string `db:"mark" json:"mark"`
//名称
Name string `db:"name" json:"name"`
//描述
Des string `db:"des" json:"des"`
//封面
CoverFileID int64 `db:"cover_file_id" json:"coverFileID"`
//描述组图
DesFiles pq.Int64Array `db:"des_files" json:"desFiles"`
//展示次数
Count int64 `db:"count" json:"count"`
//点击次数
ClickCount int64 `db:"click_count" json:"clickCount"`
//扩展参数
Params CoreSQLConfig.FieldsConfigsType `db:"params" json:"params"`
}
FieldsApply 商户广告申请
func CreateApply ¶
func CreateApply(args *ArgsCreateApply) (data FieldsApply, err error)
CreateApply 创建请求 申请的新记录将进入列队,在N秒内审核后绑定到对应的空间上 当过期后,将自动删除绑定关系,并删除对应的广告ID
func GetApplyID ¶
func GetApplyID(args *ArgsGetApplyID) (data FieldsApply, err error)
GetApplyID 获取请求记录
func GetApplyList ¶
func GetApplyList(args *ArgsGetApplyList) (dataList []FieldsApply, dataCount int64, err error)
GetApplyList 获取请求列表
type FieldsBind ¶
type FieldsBind struct {
//ID
ID int64 `db:"id" json:"id"`
//创建时间
CreateAt time.Time `db:"create_at" json:"createAt"`
//更新时间
UpdateAt time.Time `db:"update_at" json:"updateAt"`
//删除时间
DeleteAt time.Time `db:"delete_at" json:"deleteAt"`
//启动时间
StartAt time.Time `db:"start_at" json:"startAt"`
//结束时间
EndAt time.Time `db:"end_at" json:"endAt"`
//组织ID
OrgID int64 `db:"org_id" json:"orgID"`
//分区ID
AreaID int64 `db:"area_id" json:"areaID"`
//广告ID
AdID int64 `db:"ad_id" json:"adID"`
//权重因子
// 当一个分区存在多个广告绑定时,权重将作为随机的重要计算参数,影响随机的倾向性
// 同一个分区下将所有广告进行合计,然后取随机数,在因子+偏移值范围的广告将作为最终投放标定
// 注意,广告也可能会被用户数据分析模块影响,该模块将注入新的因子作为投放参数,作为因子2存在。
// 投放概率 = 广告因子 + 用户数据分析因子 / (因子总数)
Factor int `db:"factor" json:"factor"`
//扩展参数
Params CoreSQLConfig.FieldsConfigsType `db:"params" json:"params"`
}
FieldsBind 分区和广告的绑定关系
func GetBindList ¶
func GetBindList(args *ArgsGetBindList) (dataList []FieldsBind, dataCount int64, err error)
GetBindList 获取绑定关系