Bladeren bron

feat:p707广告位新增信息类型属性

fuwencai 4 maanden geleden
bovenliggende
commit
de04318e43
1 gewijzigde bestanden met toevoegingen van 20 en 0 verwijderingen
  1. 20 0
      common/src/qfw/util/jy/ad.go

+ 20 - 0
common/src/qfw/util/jy/ad.go

@@ -44,6 +44,7 @@ type AdFunc struct {
 	Host          string              //域名
 	Ads           *[]byte             //
 	OrderCode     string              //订单code
+	Subtype       string              //信息类型
 	IsLogin       bool                //是否登录
 	SessionId     string              // sessionId
 	CurrentAdCode string              // 当前遍历的广告位code
@@ -70,6 +71,7 @@ type AdInfo struct {
 		UserAttribute  string `json:"userAttribute"`  //用户身份  g-未登录 f-免费 m-大会员 v-超级订阅 e-商机管理 多个时使用英文逗号分割
 		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
+		Subtype        string `json:"subtype"`        //信息类型   广告位有该属性时,仅当信息类型为该类型时返回广告位;
 	} `json:"o_extend"` //拓展属性
 	S_Uid    string `json:"s_uid"`    //该组唯一标识id
 	S_script string `json:"s_script"` //脚本
@@ -173,6 +175,13 @@ func (a *AdFunc) Handle() (adInfos []AdInfo) {
 					continue
 				}
 			}
+			// 信息类型
+			if subtypeList := strings.Split(v.O_extend.Subtype, "_"); len(subtypeList) > 0 && a.Subtype != "" {
+				if !a.CheckSubtype(v) {
+					continue
+				}
+			}
+
 			adInfos = append(adInfos, v)
 		}
 	}
@@ -329,3 +338,14 @@ func (a *AdFunc) CheckFrequency(v AdInfo) bool {
 
 	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
+}