package domain

type AlibabaHmMarketingItempoolActivityCreateOpenPromotionRuleStair struct {
	/*
	   指定件数优惠规则     */
	CapCountDiscountRule *AlibabaHmMarketingItempoolActivityCreateCapCountDiscountRule `json:"cap_count_discount_rule,omitempty" `

	/*
	   阶梯整体优惠规则     */
	CoverAllDiscountRule *AlibabaHmMarketingItempoolActivityCreateCoverAllDiscountRule `json:"cover_all_discount_rule,omitempty" `

	/*
	   第N件优惠规则     */
	CountAtDiscountRule *AlibabaHmMarketingItempoolActivityCreateCountAtDiscountRule `json:"count_at_discount_rule,omitempty" `

	/*
	   分组表达式【暂时不使用】     */
	LoginGroupExpress *string `json:"login_group_express,omitempty" `

	/*
	   是否满元     */
	IsAmount *bool `json:"is_amount,omitempty" `

	/*
	   是否满件     */
	IsCount *bool `json:"is_count,omitempty" `

	/*
	   阶梯序号，代表商家的阶梯ID，同时代表阶梯优先级的顺序     */
	Number *int64 `json:"number,omitempty" `

	/*
	   满x元【单位为分】     */
	Amount *int64 `json:"amount,omitempty" `

	/*
	   满x件     */
	Count *int64 `json:"count,omitempty" `

	/*
	   是否叠加逻辑分组的条件     */
	IsOverlayLogicGroupCondition *bool `json:"is_overlay_logic_group_condition,omitempty" `

	/*
	   单独定价优惠规则     */
	SeparatePricingDiscountRule *AlibabaHmMarketingItempoolActivityCreateSeparatePricingDiscountRule `json:"separate_pricing_discount_rule,omitempty" `
}

func (s *AlibabaHmMarketingItempoolActivityCreateOpenPromotionRuleStair) SetCapCountDiscountRule(v AlibabaHmMarketingItempoolActivityCreateCapCountDiscountRule) *AlibabaHmMarketingItempoolActivityCreateOpenPromotionRuleStair {
	s.CapCountDiscountRule = &v
	return s
}
func (s *AlibabaHmMarketingItempoolActivityCreateOpenPromotionRuleStair) SetCoverAllDiscountRule(v AlibabaHmMarketingItempoolActivityCreateCoverAllDiscountRule) *AlibabaHmMarketingItempoolActivityCreateOpenPromotionRuleStair {
	s.CoverAllDiscountRule = &v
	return s
}
func (s *AlibabaHmMarketingItempoolActivityCreateOpenPromotionRuleStair) SetCountAtDiscountRule(v AlibabaHmMarketingItempoolActivityCreateCountAtDiscountRule) *AlibabaHmMarketingItempoolActivityCreateOpenPromotionRuleStair {
	s.CountAtDiscountRule = &v
	return s
}
func (s *AlibabaHmMarketingItempoolActivityCreateOpenPromotionRuleStair) SetLoginGroupExpress(v string) *AlibabaHmMarketingItempoolActivityCreateOpenPromotionRuleStair {
	s.LoginGroupExpress = &v
	return s
}
func (s *AlibabaHmMarketingItempoolActivityCreateOpenPromotionRuleStair) SetIsAmount(v bool) *AlibabaHmMarketingItempoolActivityCreateOpenPromotionRuleStair {
	s.IsAmount = &v
	return s
}
func (s *AlibabaHmMarketingItempoolActivityCreateOpenPromotionRuleStair) SetIsCount(v bool) *AlibabaHmMarketingItempoolActivityCreateOpenPromotionRuleStair {
	s.IsCount = &v
	return s
}
func (s *AlibabaHmMarketingItempoolActivityCreateOpenPromotionRuleStair) SetNumber(v int64) *AlibabaHmMarketingItempoolActivityCreateOpenPromotionRuleStair {
	s.Number = &v
	return s
}
func (s *AlibabaHmMarketingItempoolActivityCreateOpenPromotionRuleStair) SetAmount(v int64) *AlibabaHmMarketingItempoolActivityCreateOpenPromotionRuleStair {
	s.Amount = &v
	return s
}
func (s *AlibabaHmMarketingItempoolActivityCreateOpenPromotionRuleStair) SetCount(v int64) *AlibabaHmMarketingItempoolActivityCreateOpenPromotionRuleStair {
	s.Count = &v
	return s
}
func (s *AlibabaHmMarketingItempoolActivityCreateOpenPromotionRuleStair) SetIsOverlayLogicGroupCondition(v bool) *AlibabaHmMarketingItempoolActivityCreateOpenPromotionRuleStair {
	s.IsOverlayLogicGroupCondition = &v
	return s
}
func (s *AlibabaHmMarketingItempoolActivityCreateOpenPromotionRuleStair) SetSeparatePricingDiscountRule(v AlibabaHmMarketingItempoolActivityCreateSeparatePricingDiscountRule) *AlibabaHmMarketingItempoolActivityCreateOpenPromotionRuleStair {
	s.SeparatePricingDiscountRule = &v
	return s
}
