package domain

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

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

	/*
	   第N件优惠规则     */
	CountAtDiscountRule *AlibabaWdkMarketingItempoolActivityCreateCountAtDiscountRule `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 *AlibabaWdkMarketingItempoolActivityCreateSeparatePricingDiscountRule `json:"separate_pricing_discount_rule,omitempty" `
}

func (s *AlibabaWdkMarketingItempoolActivityCreateOpenPromotionRuleStair) SetCapCountDiscountRule(v AlibabaWdkMarketingItempoolActivityCreateCapCountDiscountRule) *AlibabaWdkMarketingItempoolActivityCreateOpenPromotionRuleStair {
	s.CapCountDiscountRule = &v
	return s
}
func (s *AlibabaWdkMarketingItempoolActivityCreateOpenPromotionRuleStair) SetCoverAllDiscountRule(v AlibabaWdkMarketingItempoolActivityCreateCoverAllDiscountRule) *AlibabaWdkMarketingItempoolActivityCreateOpenPromotionRuleStair {
	s.CoverAllDiscountRule = &v
	return s
}
func (s *AlibabaWdkMarketingItempoolActivityCreateOpenPromotionRuleStair) SetCountAtDiscountRule(v AlibabaWdkMarketingItempoolActivityCreateCountAtDiscountRule) *AlibabaWdkMarketingItempoolActivityCreateOpenPromotionRuleStair {
	s.CountAtDiscountRule = &v
	return s
}
func (s *AlibabaWdkMarketingItempoolActivityCreateOpenPromotionRuleStair) SetLoginGroupExpress(v string) *AlibabaWdkMarketingItempoolActivityCreateOpenPromotionRuleStair {
	s.LoginGroupExpress = &v
	return s
}
func (s *AlibabaWdkMarketingItempoolActivityCreateOpenPromotionRuleStair) SetIsAmount(v bool) *AlibabaWdkMarketingItempoolActivityCreateOpenPromotionRuleStair {
	s.IsAmount = &v
	return s
}
func (s *AlibabaWdkMarketingItempoolActivityCreateOpenPromotionRuleStair) SetIsCount(v bool) *AlibabaWdkMarketingItempoolActivityCreateOpenPromotionRuleStair {
	s.IsCount = &v
	return s
}
func (s *AlibabaWdkMarketingItempoolActivityCreateOpenPromotionRuleStair) SetNumber(v int64) *AlibabaWdkMarketingItempoolActivityCreateOpenPromotionRuleStair {
	s.Number = &v
	return s
}
func (s *AlibabaWdkMarketingItempoolActivityCreateOpenPromotionRuleStair) SetAmount(v int64) *AlibabaWdkMarketingItempoolActivityCreateOpenPromotionRuleStair {
	s.Amount = &v
	return s
}
func (s *AlibabaWdkMarketingItempoolActivityCreateOpenPromotionRuleStair) SetCount(v int64) *AlibabaWdkMarketingItempoolActivityCreateOpenPromotionRuleStair {
	s.Count = &v
	return s
}
func (s *AlibabaWdkMarketingItempoolActivityCreateOpenPromotionRuleStair) SetIsOverlayLogicGroupCondition(v bool) *AlibabaWdkMarketingItempoolActivityCreateOpenPromotionRuleStair {
	s.IsOverlayLogicGroupCondition = &v
	return s
}
func (s *AlibabaWdkMarketingItempoolActivityCreateOpenPromotionRuleStair) SetSeparatePricingDiscountRule(v AlibabaWdkMarketingItempoolActivityCreateSeparatePricingDiscountRule) *AlibabaWdkMarketingItempoolActivityCreateOpenPromotionRuleStair {
	s.SeparatePricingDiscountRule = &v
	return s
}
