package domain

type AlibabaWdkCouponTemplateCreateCouponTemplate struct {
	/*
	   领取限制     */
	ApplyLimitConfig *AlibabaWdkCouponTemplateCreateCouponTemplateApplyLimitConfig `json:"apply_limit_config,omitempty" `

	/*
	   基础信息     */
	CommonConfig *AlibabaWdkCouponTemplateCreateCouponTemplateCommonConfig `json:"common_config,omitempty" `

	/*
	   生效条件     */
	ConditionConfig *AlibabaWdkCouponTemplateCreateCouponTemplateConditionConfig `json:"condition_config,omitempty" `

	/*
	   优惠效果     */
	DiscountConfig *AlibabaWdkCouponTemplateCreateCouponTemplateDiscountConfig `json:"discount_config,omitempty" `

	/*
	   模板表主键 创建时为空     */
	Id *int64 `json:"id,omitempty" `

	/*
	   出资人配置     */
	InvestmentConfig *AlibabaWdkCouponTemplateCreateCouponTemplateInvestmentConfig `json:"investment_config,omitempty" `

	/*
	   其他配置--拓展信息     */
	OptionConfig *AlibabaWdkCouponTemplateCreateCouponTemplateOptionConfig `json:"option_config,omitempty" `

	/*
	   参与者     */
	ParticipateConfig *AlibabaWdkCouponTemplateCreateCouponTemplateParticipateConfig `json:"participate_config,omitempty" `

	/*
	   ump模板ID     */
	SourceId *int64 `json:"source_id,omitempty" `

	/*
	   实例有效时间配置     */
	TimeLimitConfig *AlibabaWdkCouponTemplateCreateCouponTemplateTimeLimitConfig `json:"time_limit_config,omitempty" `

	/*
	   优惠券模版uuid     */
	Uuid *string `json:"uuid,omitempty" `

	/*
	   兼容历史逻辑配置     */
	CompatibleConfig *AlibabaWdkCouponTemplateCreateCouponTemplateCompatibleConfig `json:"compatible_config,omitempty" `

	/*
	   幂等id，外部透传     */
	UniqueId *string `json:"unique_id,omitempty" `
}

func (s *AlibabaWdkCouponTemplateCreateCouponTemplate) SetApplyLimitConfig(v AlibabaWdkCouponTemplateCreateCouponTemplateApplyLimitConfig) *AlibabaWdkCouponTemplateCreateCouponTemplate {
	s.ApplyLimitConfig = &v
	return s
}
func (s *AlibabaWdkCouponTemplateCreateCouponTemplate) SetCommonConfig(v AlibabaWdkCouponTemplateCreateCouponTemplateCommonConfig) *AlibabaWdkCouponTemplateCreateCouponTemplate {
	s.CommonConfig = &v
	return s
}
func (s *AlibabaWdkCouponTemplateCreateCouponTemplate) SetConditionConfig(v AlibabaWdkCouponTemplateCreateCouponTemplateConditionConfig) *AlibabaWdkCouponTemplateCreateCouponTemplate {
	s.ConditionConfig = &v
	return s
}
func (s *AlibabaWdkCouponTemplateCreateCouponTemplate) SetDiscountConfig(v AlibabaWdkCouponTemplateCreateCouponTemplateDiscountConfig) *AlibabaWdkCouponTemplateCreateCouponTemplate {
	s.DiscountConfig = &v
	return s
}
func (s *AlibabaWdkCouponTemplateCreateCouponTemplate) SetId(v int64) *AlibabaWdkCouponTemplateCreateCouponTemplate {
	s.Id = &v
	return s
}
func (s *AlibabaWdkCouponTemplateCreateCouponTemplate) SetInvestmentConfig(v AlibabaWdkCouponTemplateCreateCouponTemplateInvestmentConfig) *AlibabaWdkCouponTemplateCreateCouponTemplate {
	s.InvestmentConfig = &v
	return s
}
func (s *AlibabaWdkCouponTemplateCreateCouponTemplate) SetOptionConfig(v AlibabaWdkCouponTemplateCreateCouponTemplateOptionConfig) *AlibabaWdkCouponTemplateCreateCouponTemplate {
	s.OptionConfig = &v
	return s
}
func (s *AlibabaWdkCouponTemplateCreateCouponTemplate) SetParticipateConfig(v AlibabaWdkCouponTemplateCreateCouponTemplateParticipateConfig) *AlibabaWdkCouponTemplateCreateCouponTemplate {
	s.ParticipateConfig = &v
	return s
}
func (s *AlibabaWdkCouponTemplateCreateCouponTemplate) SetSourceId(v int64) *AlibabaWdkCouponTemplateCreateCouponTemplate {
	s.SourceId = &v
	return s
}
func (s *AlibabaWdkCouponTemplateCreateCouponTemplate) SetTimeLimitConfig(v AlibabaWdkCouponTemplateCreateCouponTemplateTimeLimitConfig) *AlibabaWdkCouponTemplateCreateCouponTemplate {
	s.TimeLimitConfig = &v
	return s
}
func (s *AlibabaWdkCouponTemplateCreateCouponTemplate) SetUuid(v string) *AlibabaWdkCouponTemplateCreateCouponTemplate {
	s.Uuid = &v
	return s
}
func (s *AlibabaWdkCouponTemplateCreateCouponTemplate) SetCompatibleConfig(v AlibabaWdkCouponTemplateCreateCouponTemplateCompatibleConfig) *AlibabaWdkCouponTemplateCreateCouponTemplate {
	s.CompatibleConfig = &v
	return s
}
func (s *AlibabaWdkCouponTemplateCreateCouponTemplate) SetUniqueId(v string) *AlibabaWdkCouponTemplateCreateCouponTemplate {
	s.UniqueId = &v
	return s
}
