package domain

type AlibabaHmMarketingItempoolActivityCreateItemPoolActivity struct {
	/*
	   通用限购信息，-1为不限制，默认为不限制     */
	LimitInfo *AlibabaHmMarketingItempoolActivityCreateLimitInfo `json:"limit_info,omitempty" `

	/*
	   商品池活动的梯度列表     */
	RuleStairs *[]AlibabaHmMarketingItempoolActivityCreateOpenPromotionRuleStair `json:"rule_stairs,omitempty" `

	/*
	   活动优惠规则     */
	ActivityRule *AlibabaHmMarketingItempoolActivityCreateActivityRule `json:"activity_rule,omitempty" `

	/*
	   逻辑分组规则     */
	LogicGroupRules *[]AlibabaHmMarketingItempoolActivityCreateOpenLogicGroupRule `json:"logic_group_rules,omitempty" `

	/*
	   参加活动的渠道店ids     */
	ShopIds *[]string `json:"shop_ids,omitempty" `

	/*
	   活动结束时间     */
	EndTime *int64 `json:"end_time,omitempty" `

	/*
	   活动开始时间     */
	StartTime *int64 `json:"start_time,omitempty" `

	/*
	   活动描述     */
	Description *string `json:"description,omitempty" `

	/*
	   活动标题     */
	ActivityName *string `json:"activity_name,omitempty" `

	/*
	   商家人群编码     */
	MerchantCrowdCode *string `json:"merchant_crowd_code,omitempty" `

	/*
	   淘鲜达人群编码     */
	TxdCrowdCode *string `json:"txd_crowd_code,omitempty" `

	/*
	   会员维度活动参与人群限制：-1:不限制 1:会员专享 2:非会员专享     */
	MemberLimit *int64 `json:"member_limit,omitempty" `

	/*
	   优惠适用场景[APP|POS|POS+APP分别对应的值为1|2|1,2]     */
	Terminals *[]int32 `json:"terminals,omitempty" `

	/*
	   商家活动id     */
	OutActId *string `json:"out_act_id,omitempty" `

	/*
	   周期优惠信息     */
	PeriodConfig *AlibabaHmMarketingItempoolActivityCreatePeriodConfig `json:"period_config,omitempty" `

	/*
	   是否是组合优惠     */
	IsComb *bool `json:"is_comb,omitempty" `

	/*
	   活动优先级，值越大表示优先级越高，必须大于0     */
	PriorityValue *int64 `json:"priority_value,omitempty" `

	/*
	   商品池是否排除特价 defalutValue:false    */
	ExcludeSingle *bool `json:"exclude_single,omitempty" `

	/*
	   是否是类目优惠     */
	IsCategory *bool `json:"is_category,omitempty" `

	/*
	   是否自定义渠道同步 defalutValue:false    */
	ByChannel *bool `json:"by_channel,omitempty" `

	/*
	   自定义同步渠道配置     */
	ChannelConfigList *[]AlibabaHmMarketingItempoolActivityCreateChannelConfig `json:"channel_config_list,omitempty" `
}

func (s *AlibabaHmMarketingItempoolActivityCreateItemPoolActivity) SetLimitInfo(v AlibabaHmMarketingItempoolActivityCreateLimitInfo) *AlibabaHmMarketingItempoolActivityCreateItemPoolActivity {
	s.LimitInfo = &v
	return s
}
func (s *AlibabaHmMarketingItempoolActivityCreateItemPoolActivity) SetRuleStairs(v []AlibabaHmMarketingItempoolActivityCreateOpenPromotionRuleStair) *AlibabaHmMarketingItempoolActivityCreateItemPoolActivity {
	s.RuleStairs = &v
	return s
}
func (s *AlibabaHmMarketingItempoolActivityCreateItemPoolActivity) SetActivityRule(v AlibabaHmMarketingItempoolActivityCreateActivityRule) *AlibabaHmMarketingItempoolActivityCreateItemPoolActivity {
	s.ActivityRule = &v
	return s
}
func (s *AlibabaHmMarketingItempoolActivityCreateItemPoolActivity) SetLogicGroupRules(v []AlibabaHmMarketingItempoolActivityCreateOpenLogicGroupRule) *AlibabaHmMarketingItempoolActivityCreateItemPoolActivity {
	s.LogicGroupRules = &v
	return s
}
func (s *AlibabaHmMarketingItempoolActivityCreateItemPoolActivity) SetShopIds(v []string) *AlibabaHmMarketingItempoolActivityCreateItemPoolActivity {
	s.ShopIds = &v
	return s
}
func (s *AlibabaHmMarketingItempoolActivityCreateItemPoolActivity) SetEndTime(v int64) *AlibabaHmMarketingItempoolActivityCreateItemPoolActivity {
	s.EndTime = &v
	return s
}
func (s *AlibabaHmMarketingItempoolActivityCreateItemPoolActivity) SetStartTime(v int64) *AlibabaHmMarketingItempoolActivityCreateItemPoolActivity {
	s.StartTime = &v
	return s
}
func (s *AlibabaHmMarketingItempoolActivityCreateItemPoolActivity) SetDescription(v string) *AlibabaHmMarketingItempoolActivityCreateItemPoolActivity {
	s.Description = &v
	return s
}
func (s *AlibabaHmMarketingItempoolActivityCreateItemPoolActivity) SetActivityName(v string) *AlibabaHmMarketingItempoolActivityCreateItemPoolActivity {
	s.ActivityName = &v
	return s
}
func (s *AlibabaHmMarketingItempoolActivityCreateItemPoolActivity) SetMerchantCrowdCode(v string) *AlibabaHmMarketingItempoolActivityCreateItemPoolActivity {
	s.MerchantCrowdCode = &v
	return s
}
func (s *AlibabaHmMarketingItempoolActivityCreateItemPoolActivity) SetTxdCrowdCode(v string) *AlibabaHmMarketingItempoolActivityCreateItemPoolActivity {
	s.TxdCrowdCode = &v
	return s
}
func (s *AlibabaHmMarketingItempoolActivityCreateItemPoolActivity) SetMemberLimit(v int64) *AlibabaHmMarketingItempoolActivityCreateItemPoolActivity {
	s.MemberLimit = &v
	return s
}
func (s *AlibabaHmMarketingItempoolActivityCreateItemPoolActivity) SetTerminals(v []int32) *AlibabaHmMarketingItempoolActivityCreateItemPoolActivity {
	s.Terminals = &v
	return s
}
func (s *AlibabaHmMarketingItempoolActivityCreateItemPoolActivity) SetOutActId(v string) *AlibabaHmMarketingItempoolActivityCreateItemPoolActivity {
	s.OutActId = &v
	return s
}
func (s *AlibabaHmMarketingItempoolActivityCreateItemPoolActivity) SetPeriodConfig(v AlibabaHmMarketingItempoolActivityCreatePeriodConfig) *AlibabaHmMarketingItempoolActivityCreateItemPoolActivity {
	s.PeriodConfig = &v
	return s
}
func (s *AlibabaHmMarketingItempoolActivityCreateItemPoolActivity) SetIsComb(v bool) *AlibabaHmMarketingItempoolActivityCreateItemPoolActivity {
	s.IsComb = &v
	return s
}
func (s *AlibabaHmMarketingItempoolActivityCreateItemPoolActivity) SetPriorityValue(v int64) *AlibabaHmMarketingItempoolActivityCreateItemPoolActivity {
	s.PriorityValue = &v
	return s
}
func (s *AlibabaHmMarketingItempoolActivityCreateItemPoolActivity) SetExcludeSingle(v bool) *AlibabaHmMarketingItempoolActivityCreateItemPoolActivity {
	s.ExcludeSingle = &v
	return s
}
func (s *AlibabaHmMarketingItempoolActivityCreateItemPoolActivity) SetIsCategory(v bool) *AlibabaHmMarketingItempoolActivityCreateItemPoolActivity {
	s.IsCategory = &v
	return s
}
func (s *AlibabaHmMarketingItempoolActivityCreateItemPoolActivity) SetByChannel(v bool) *AlibabaHmMarketingItempoolActivityCreateItemPoolActivity {
	s.ByChannel = &v
	return s
}
func (s *AlibabaHmMarketingItempoolActivityCreateItemPoolActivity) SetChannelConfigList(v []AlibabaHmMarketingItempoolActivityCreateChannelConfig) *AlibabaHmMarketingItempoolActivityCreateItemPoolActivity {
	s.ChannelConfigList = &v
	return s
}
