package domain

type AlibabaHmMarketingItempoolQueryactivityRulestairs struct {
	/*
	   活动是否上不封顶[只有满元活动可以使用上不封顶，且使用此功能时，只能有一个梯度]。如果活动设置为满10元减1元，传true代表满10元减1元，满20减2元，以此类推；传false代表满10元减1元，满20也减1元，以此类推     */
	EnableMultiple *bool `json:"enable_multiple,omitempty" `

	/*
	   是否使用满元条件，不能与满件、N件Y折同时使用。此选项为true时，countAt和countBegin必须为false     */
	AmountAt *bool `json:"amount_at,omitempty" `

	/*
	   满多少元[单位为分，传入700，代表满7元]，amountAt为true时，必须设置     */
	Amount *int64 `json:"amount,omitempty" `

	/*
	   是否使用满件条件，不能与满元、N件Y折同时使用。此选项为true时，countBegin和amountAt必须为false     */
	CountAt *bool `json:"count_at,omitempty" `

	/*
	   是否使用N件Y折，不能与满元、满件同时使用。此选项为true时，countAt和amountAt必须为false     */
	CountBegin *bool `json:"count_begin,omitempty" `

	/*
	   满多少件或者第多少件开始参与活动[传入4，代表满4件打折或者第4件打折]。该值与countBegin和countAt相关，如果countBegin为true，则为N件Y折活动，如果countAt为true，则为满件活动     */
	Count *int64 `json:"count,omitempty" `

	/*
	   减多少元[单位为分，传入700，代表减7元]，decrease为true时，必须设置     */
	DecreaseMoney *int64 `json:"decrease_money,omitempty" `

	/*
	   是否使用减钱功能，不能与打折功能同时使用，此选项为true时，discount必须为false     */
	Decrease *bool `json:"decrease,omitempty" `

	/*
	   是否使用打折功能，不能与减钱功能同时使用，此选项为true时，decrease必须为false     */
	Discount *bool `json:"discount,omitempty" `

	/*
	   打几折[单位为分，传入900，代表打9折]，discount为true时，必须设置     */
	DiscountRate *int64 `json:"discount_rate,omitempty" `

	/*
	   是否为换购阶梯     */
	IsExchange *bool `json:"is_exchange,omitempty" `

	/*
	   如果为换购活动，则代表此阶梯可换购的商品数量     */
	CanExtraItemNum *int64 `json:"can_extra_item_num,omitempty" `

	/*
	   一口价价格[单位为分]     */
	FixPriceAmount *int64 `json:"fix_price_amount,omitempty" `

	/*
	   一口价     */
	FixPrice *bool `json:"fix_price,omitempty" `
}

func (s *AlibabaHmMarketingItempoolQueryactivityRulestairs) SetEnableMultiple(v bool) *AlibabaHmMarketingItempoolQueryactivityRulestairs {
	s.EnableMultiple = &v
	return s
}
func (s *AlibabaHmMarketingItempoolQueryactivityRulestairs) SetAmountAt(v bool) *AlibabaHmMarketingItempoolQueryactivityRulestairs {
	s.AmountAt = &v
	return s
}
func (s *AlibabaHmMarketingItempoolQueryactivityRulestairs) SetAmount(v int64) *AlibabaHmMarketingItempoolQueryactivityRulestairs {
	s.Amount = &v
	return s
}
func (s *AlibabaHmMarketingItempoolQueryactivityRulestairs) SetCountAt(v bool) *AlibabaHmMarketingItempoolQueryactivityRulestairs {
	s.CountAt = &v
	return s
}
func (s *AlibabaHmMarketingItempoolQueryactivityRulestairs) SetCountBegin(v bool) *AlibabaHmMarketingItempoolQueryactivityRulestairs {
	s.CountBegin = &v
	return s
}
func (s *AlibabaHmMarketingItempoolQueryactivityRulestairs) SetCount(v int64) *AlibabaHmMarketingItempoolQueryactivityRulestairs {
	s.Count = &v
	return s
}
func (s *AlibabaHmMarketingItempoolQueryactivityRulestairs) SetDecreaseMoney(v int64) *AlibabaHmMarketingItempoolQueryactivityRulestairs {
	s.DecreaseMoney = &v
	return s
}
func (s *AlibabaHmMarketingItempoolQueryactivityRulestairs) SetDecrease(v bool) *AlibabaHmMarketingItempoolQueryactivityRulestairs {
	s.Decrease = &v
	return s
}
func (s *AlibabaHmMarketingItempoolQueryactivityRulestairs) SetDiscount(v bool) *AlibabaHmMarketingItempoolQueryactivityRulestairs {
	s.Discount = &v
	return s
}
func (s *AlibabaHmMarketingItempoolQueryactivityRulestairs) SetDiscountRate(v int64) *AlibabaHmMarketingItempoolQueryactivityRulestairs {
	s.DiscountRate = &v
	return s
}
func (s *AlibabaHmMarketingItempoolQueryactivityRulestairs) SetIsExchange(v bool) *AlibabaHmMarketingItempoolQueryactivityRulestairs {
	s.IsExchange = &v
	return s
}
func (s *AlibabaHmMarketingItempoolQueryactivityRulestairs) SetCanExtraItemNum(v int64) *AlibabaHmMarketingItempoolQueryactivityRulestairs {
	s.CanExtraItemNum = &v
	return s
}
func (s *AlibabaHmMarketingItempoolQueryactivityRulestairs) SetFixPriceAmount(v int64) *AlibabaHmMarketingItempoolQueryactivityRulestairs {
	s.FixPriceAmount = &v
	return s
}
func (s *AlibabaHmMarketingItempoolQueryactivityRulestairs) SetFixPrice(v bool) *AlibabaHmMarketingItempoolQueryactivityRulestairs {
	s.FixPrice = &v
	return s
}
