package domain

type AlibabaWdkMarketingItemdiscountCreateactivityItemDiscountActivityRequest struct {
	/*
	   活动开始时间,时间戳     */
	StartTime *int64 `json:"start_time,omitempty" `

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

	/*
	   商品特价优惠方式[itemDecreaseMoney:商品特价减钱;itemFixPrice:商品特价一口价;itemDiscount:商品特价打折]     */
	DiscountType *string `json:"discount_type,omitempty" `

	/*
	   活动详情描述,不超过30个英文字符     */
	Description *string `json:"description,omitempty" `

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

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

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

	/*
	   活动名称,不超过10个英文字符     */
	ActivityName *string `json:"activity_name,omitempty" `

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

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

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

	/*
	   渠道编码     */
	ActivityChannel *string `json:"activity_channel,omitempty" `

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

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

	/*
	   是否参加后单压前单，默认不参加 defalutValue:false    */
	CoverBefore *bool `json:"cover_before,omitempty" `

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

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

func (s *AlibabaWdkMarketingItemdiscountCreateactivityItemDiscountActivityRequest) SetStartTime(v int64) *AlibabaWdkMarketingItemdiscountCreateactivityItemDiscountActivityRequest {
	s.StartTime = &v
	return s
}
func (s *AlibabaWdkMarketingItemdiscountCreateactivityItemDiscountActivityRequest) SetTerminals(v []int32) *AlibabaWdkMarketingItemdiscountCreateactivityItemDiscountActivityRequest {
	s.Terminals = &v
	return s
}
func (s *AlibabaWdkMarketingItemdiscountCreateactivityItemDiscountActivityRequest) SetDiscountType(v string) *AlibabaWdkMarketingItemdiscountCreateactivityItemDiscountActivityRequest {
	s.DiscountType = &v
	return s
}
func (s *AlibabaWdkMarketingItemdiscountCreateactivityItemDiscountActivityRequest) SetDescription(v string) *AlibabaWdkMarketingItemdiscountCreateactivityItemDiscountActivityRequest {
	s.Description = &v
	return s
}
func (s *AlibabaWdkMarketingItemdiscountCreateactivityItemDiscountActivityRequest) SetOutActId(v string) *AlibabaWdkMarketingItemdiscountCreateactivityItemDiscountActivityRequest {
	s.OutActId = &v
	return s
}
func (s *AlibabaWdkMarketingItemdiscountCreateactivityItemDiscountActivityRequest) SetShopIds(v []string) *AlibabaWdkMarketingItemdiscountCreateactivityItemDiscountActivityRequest {
	s.ShopIds = &v
	return s
}
func (s *AlibabaWdkMarketingItemdiscountCreateactivityItemDiscountActivityRequest) SetEndTime(v int64) *AlibabaWdkMarketingItemdiscountCreateactivityItemDiscountActivityRequest {
	s.EndTime = &v
	return s
}
func (s *AlibabaWdkMarketingItemdiscountCreateactivityItemDiscountActivityRequest) SetActivityName(v string) *AlibabaWdkMarketingItemdiscountCreateactivityItemDiscountActivityRequest {
	s.ActivityName = &v
	return s
}
func (s *AlibabaWdkMarketingItemdiscountCreateactivityItemDiscountActivityRequest) SetMemberLimit(v int64) *AlibabaWdkMarketingItemdiscountCreateactivityItemDiscountActivityRequest {
	s.MemberLimit = &v
	return s
}
func (s *AlibabaWdkMarketingItemdiscountCreateactivityItemDiscountActivityRequest) SetMerchantCrowdCode(v string) *AlibabaWdkMarketingItemdiscountCreateactivityItemDiscountActivityRequest {
	s.MerchantCrowdCode = &v
	return s
}
func (s *AlibabaWdkMarketingItemdiscountCreateactivityItemDiscountActivityRequest) SetTxdCrowdCode(v string) *AlibabaWdkMarketingItemdiscountCreateactivityItemDiscountActivityRequest {
	s.TxdCrowdCode = &v
	return s
}
func (s *AlibabaWdkMarketingItemdiscountCreateactivityItemDiscountActivityRequest) SetActivityChannel(v string) *AlibabaWdkMarketingItemdiscountCreateactivityItemDiscountActivityRequest {
	s.ActivityChannel = &v
	return s
}
func (s *AlibabaWdkMarketingItemdiscountCreateactivityItemDiscountActivityRequest) SetPeriodConfig(v AlibabaWdkMarketingItemdiscountCreateactivityPeriodConfig) *AlibabaWdkMarketingItemdiscountCreateactivityItemDiscountActivityRequest {
	s.PeriodConfig = &v
	return s
}
func (s *AlibabaWdkMarketingItemdiscountCreateactivityItemDiscountActivityRequest) SetPriorityValue(v int64) *AlibabaWdkMarketingItemdiscountCreateactivityItemDiscountActivityRequest {
	s.PriorityValue = &v
	return s
}
func (s *AlibabaWdkMarketingItemdiscountCreateactivityItemDiscountActivityRequest) SetCoverBefore(v bool) *AlibabaWdkMarketingItemdiscountCreateactivityItemDiscountActivityRequest {
	s.CoverBefore = &v
	return s
}
func (s *AlibabaWdkMarketingItemdiscountCreateactivityItemDiscountActivityRequest) SetByChannel(v bool) *AlibabaWdkMarketingItemdiscountCreateactivityItemDiscountActivityRequest {
	s.ByChannel = &v
	return s
}
func (s *AlibabaWdkMarketingItemdiscountCreateactivityItemDiscountActivityRequest) SetChannelConfigList(v []AlibabaWdkMarketingItemdiscountCreateactivityChannelConfig) *AlibabaWdkMarketingItemdiscountCreateactivityItemDiscountActivityRequest {
	s.ChannelConfigList = &v
	return s
}
