package domain

type AlibabaWdkCouponTemplateUpdateCouponTemplateConditionConfig 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 *AlibabaWdkCouponTemplateUpdateCouponTemplateUserCrowdConfig `json:"user_crowd_config,omitempty" `

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

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

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