|
@@ -44,6 +44,7 @@ type AdFunc struct {
|
|
Host string //域名
|
|
Host string //域名
|
|
Ads *[]byte //
|
|
Ads *[]byte //
|
|
OrderCode string //订单code
|
|
OrderCode string //订单code
|
|
|
|
+ Subtype string //信息类型
|
|
IsLogin bool //是否登录
|
|
IsLogin bool //是否登录
|
|
SessionId string // sessionId
|
|
SessionId string // sessionId
|
|
CurrentAdCode string // 当前遍历的广告位code
|
|
CurrentAdCode string // 当前遍历的广告位code
|
|
@@ -70,6 +71,7 @@ type AdInfo struct {
|
|
UserAttribute string `json:"userAttribute"` //用户身份 g-未登录 f-免费 m-大会员 v-超级订阅 e-商机管理 多个时使用英文逗号分割
|
|
UserAttribute string `json:"userAttribute"` //用户身份 g-未登录 f-免费 m-大会员 v-超级订阅 e-商机管理 多个时使用英文逗号分割
|
|
OrderAttribute string `json:"orderAttribute"` //订单类型 vb:vip购买;vr:vip续费;vu:vip升级;mb:大会员购买;
|
|
OrderAttribute string `json:"orderAttribute"` //订单类型 vb:vip购买;vr:vip续费;vu:vip升级;mb:大会员购买;
|
|
Frequency string `json:"frequency"` //周期频率 "周期-展示次数" (周期可选值:0-活动期间内 ;数字-xx天 ;周- 自然周 月-自然月) 例: 活动周期内展示1次:0_1 ; 自然月展示1次:月_1 ; 3天展示1次:3_1 4.自然周展示1次:周_1
|
|
Frequency string `json:"frequency"` //周期频率 "周期-展示次数" (周期可选值:0-活动期间内 ;数字-xx天 ;周- 自然周 月-自然月) 例: 活动周期内展示1次:0_1 ; 自然月展示1次:月_1 ; 3天展示1次:3_1 4.自然周展示1次:周_1
|
|
|
|
+ Subtype string `json:"subtype"` //信息类型 广告位有该属性时,仅当信息类型为该类型时返回广告位;
|
|
} `json:"o_extend"` //拓展属性
|
|
} `json:"o_extend"` //拓展属性
|
|
S_Uid string `json:"s_uid"` //该组唯一标识id
|
|
S_Uid string `json:"s_uid"` //该组唯一标识id
|
|
S_script string `json:"s_script"` //脚本
|
|
S_script string `json:"s_script"` //脚本
|
|
@@ -173,6 +175,13 @@ func (a *AdFunc) Handle() (adInfos []AdInfo) {
|
|
continue
|
|
continue
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ // 信息类型
|
|
|
|
+ if subtypeList := strings.Split(v.O_extend.Subtype, "_"); len(subtypeList) > 0 && a.Subtype != "" {
|
|
|
|
+ if !a.CheckSubtype(v) {
|
|
|
|
+ continue
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
adInfos = append(adInfos, v)
|
|
adInfos = append(adInfos, v)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -329,3 +338,14 @@ func (a *AdFunc) CheckFrequency(v AdInfo) bool {
|
|
|
|
|
|
return true
|
|
return true
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+// CheckSubtype 校验信息类型
|
|
|
|
+func (a *AdFunc) CheckSubtype(v AdInfo) bool {
|
|
|
|
+ subtypeList := strings.Split(v.O_extend.Subtype, "_")
|
|
|
|
+ for i := 0; i < len(subtypeList); i++ {
|
|
|
|
+ if subtypeList[i] == a.Subtype {
|
|
|
|
+ return true
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ return false
|
|
|
|
+}
|