package domain

type AlibabaWdkCouponTemplateCreateCouponTemplateConditionConfig struct {
	/*
	   门槛金额     */
	Amount *int64 `json:"amount,omitempty" `

	/*
	   是否生效满元条件 defalutValue:false    */
	AmountAt *bool `json:"amount_at,omitempty" `

	/*
	   生效类目     */
	Categories *[]string `json:"categories,omitempty" `

	/*
	   门槛件数     */
	Count *int64 `json:"count,omitempty" `

	/*
	   是否生效满件条件 defalutValue:false    */
	CountAt *bool `json:"count_at,omitempty" `

	/*
	   是否限制本人使用 defalutValue:false    */
	OnlyMemberSelf *bool `json:"only_member_self,omitempty" `

	/*
	   券的使用范围 COUPON_RANGE_STORE(1, "rangeShop", "店铺券"), COUPON_RANGE_ITEM(2, "rangeItem", "商品券"), COUPON_RANGE_CATEGORY(3, "rangeCategory", "品类券"), COUPON_RANGE_SELLER(307,"rangeSeller", "卖家券"),     */
	RangeType *int64 `json:"range_type,omitempty" `

	/*
	   生效门店     */
	ShopIds *[]string `json:"shop_ids,omitempty" `

	/*
	   生效终端:  1.app 2.pos     */
	Terminals *[]int32 `json:"terminals,omitempty" `

	/*
	   人群信息     */
	UserCrowdConfig *AlibabaWdkCouponTemplateCreateCouponTemplateUserCrowdConfig `json:"user_crowd_config,omitempty" `

	/*
	   单笔订单最大可用张数     */
	MaxUseCountPerOrder *int64 `json:"max_use_count_per_order,omitempty" `

	/*
	   最大优惠金额     */
	MaxEffectAmount *int64 `json:"max_effect_amount,omitempty" `

	/*
	   排除的商品规则 1:专柜品     */
	ExcludeItemRules *[]int32 `json:"exclude_item_rules,omitempty" `

	/*
	   生效商家类目     */
	MerchantCategories *[]string `json:"merchant_categories,omitempty" `
}

func (s *AlibabaWdkCouponTemplateCreateCouponTemplateConditionConfig) SetAmount(v int64) *AlibabaWdkCouponTemplateCreateCouponTemplateConditionConfig {
	s.Amount = &v
	return s
}
func (s *AlibabaWdkCouponTemplateCreateCouponTemplateConditionConfig) SetAmountAt(v bool) *AlibabaWdkCouponTemplateCreateCouponTemplateConditionConfig {
	s.AmountAt = &v
	return s
}
func (s *AlibabaWdkCouponTemplateCreateCouponTemplateConditionConfig) SetCategories(v []string) *AlibabaWdkCouponTemplateCreateCouponTemplateConditionConfig {
	s.Categories = &v
	return s
}
func (s *AlibabaWdkCouponTemplateCreateCouponTemplateConditionConfig) SetCount(v int64) *AlibabaWdkCouponTemplateCreateCouponTemplateConditionConfig {
	s.Count = &v
	return s
}
func (s *AlibabaWdkCouponTemplateCreateCouponTemplateConditionConfig) SetCountAt(v bool) *AlibabaWdkCouponTemplateCreateCouponTemplateConditionConfig {
	s.CountAt = &v
	return s
}
func (s *AlibabaWdkCouponTemplateCreateCouponTemplateConditionConfig) SetOnlyMemberSelf(v bool) *AlibabaWdkCouponTemplateCreateCouponTemplateConditionConfig {
	s.OnlyMemberSelf = &v
	return s
}
func (s *AlibabaWdkCouponTemplateCreateCouponTemplateConditionConfig) SetRangeType(v int64) *AlibabaWdkCouponTemplateCreateCouponTemplateConditionConfig {
	s.RangeType = &v
	return s
}
func (s *AlibabaWdkCouponTemplateCreateCouponTemplateConditionConfig) SetShopIds(v []string) *AlibabaWdkCouponTemplateCreateCouponTemplateConditionConfig {
	s.ShopIds = &v
	return s
}
func (s *AlibabaWdkCouponTemplateCreateCouponTemplateConditionConfig) SetTerminals(v []int32) *AlibabaWdkCouponTemplateCreateCouponTemplateConditionConfig {
	s.Terminals = &v
	return s
}
func (s *AlibabaWdkCouponTemplateCreateCouponTemplateConditionConfig) SetUserCrowdConfig(v AlibabaWdkCouponTemplateCreateCouponTemplateUserCrowdConfig) *AlibabaWdkCouponTemplateCreateCouponTemplateConditionConfig {
	s.UserCrowdConfig = &v
	return s
}
func (s *AlibabaWdkCouponTemplateCreateCouponTemplateConditionConfig) SetMaxUseCountPerOrder(v int64) *AlibabaWdkCouponTemplateCreateCouponTemplateConditionConfig {
	s.MaxUseCountPerOrder = &v
	return s
}
func (s *AlibabaWdkCouponTemplateCreateCouponTemplateConditionConfig) SetMaxEffectAmount(v int64) *AlibabaWdkCouponTemplateCreateCouponTemplateConditionConfig {
	s.MaxEffectAmount = &v
	return s
}
func (s *AlibabaWdkCouponTemplateCreateCouponTemplateConditionConfig) SetExcludeItemRules(v []int32) *AlibabaWdkCouponTemplateCreateCouponTemplateConditionConfig {
	s.ExcludeItemRules = &v
	return s
}
func (s *AlibabaWdkCouponTemplateCreateCouponTemplateConditionConfig) SetMerchantCategories(v []string) *AlibabaWdkCouponTemplateCreateCouponTemplateConditionConfig {
	s.MerchantCategories = &v
	return s
}
