package domain

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

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

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

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

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

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

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

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

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

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

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

	/*
	   幂等id     */
	UniqueId *string `json:"unique_id,omitempty" `

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

func (s *AlibabaWdkCouponTemplateUpdateCouponTemplate) SetApplyLimitConfig(v AlibabaWdkCouponTemplateUpdateCouponTemplateApplyLimitConfig) *AlibabaWdkCouponTemplateUpdateCouponTemplate {
	s.ApplyLimitConfig = &v
	return s
}
func (s *AlibabaWdkCouponTemplateUpdateCouponTemplate) SetCommonConfig(v AlibabaWdkCouponTemplateUpdateCouponTemplateCommonConfig) *AlibabaWdkCouponTemplateUpdateCouponTemplate {
	s.CommonConfig = &v
	return s
}
func (s *AlibabaWdkCouponTemplateUpdateCouponTemplate) SetConditionConfig(v AlibabaWdkCouponTemplateUpdateCouponTemplateConditionConfig) *AlibabaWdkCouponTemplateUpdateCouponTemplate {
	s.ConditionConfig = &v
	return s
}
func (s *AlibabaWdkCouponTemplateUpdateCouponTemplate) SetDiscountConfig(v AlibabaWdkCouponTemplateUpdateCouponTemplateDiscountConfig) *AlibabaWdkCouponTemplateUpdateCouponTemplate {
	s.DiscountConfig = &v
	return s
}
func (s *AlibabaWdkCouponTemplateUpdateCouponTemplate) SetId(v int64) *AlibabaWdkCouponTemplateUpdateCouponTemplate {
	s.Id = &v
	return s
}
func (s *AlibabaWdkCouponTemplateUpdateCouponTemplate) SetInvestmentConfig(v AlibabaWdkCouponTemplateUpdateCouponTemplateInvestmentConfig) *AlibabaWdkCouponTemplateUpdateCouponTemplate {
	s.InvestmentConfig = &v
	return s
}
func (s *AlibabaWdkCouponTemplateUpdateCouponTemplate) SetOptionConfig(v AlibabaWdkCouponTemplateUpdateCouponTemplateOptionConfig) *AlibabaWdkCouponTemplateUpdateCouponTemplate {
	s.OptionConfig = &v
	return s
}
func (s *AlibabaWdkCouponTemplateUpdateCouponTemplate) SetParticipateConfig(v AlibabaWdkCouponTemplateUpdateCouponTemplateParticipateConfig) *AlibabaWdkCouponTemplateUpdateCouponTemplate {
	s.ParticipateConfig = &v
	return s
}
func (s *AlibabaWdkCouponTemplateUpdateCouponTemplate) SetSourceId(v int64) *AlibabaWdkCouponTemplateUpdateCouponTemplate {
	s.SourceId = &v
	return s
}
func (s *AlibabaWdkCouponTemplateUpdateCouponTemplate) SetTimeLimitConfig(v AlibabaWdkCouponTemplateUpdateCouponTemplateTimeLimitConfig) *AlibabaWdkCouponTemplateUpdateCouponTemplate {
	s.TimeLimitConfig = &v
	return s
}
func (s *AlibabaWdkCouponTemplateUpdateCouponTemplate) SetUuid(v string) *AlibabaWdkCouponTemplateUpdateCouponTemplate {
	s.Uuid = &v
	return s
}
func (s *AlibabaWdkCouponTemplateUpdateCouponTemplate) SetUniqueId(v string) *AlibabaWdkCouponTemplateUpdateCouponTemplate {
	s.UniqueId = &v
	return s
}
func (s *AlibabaWdkCouponTemplateUpdateCouponTemplate) SetCompatibleConfig(v AlibabaWdkCouponTemplateUpdateCouponTemplateCompatibleConfig) *AlibabaWdkCouponTemplateUpdateCouponTemplate {
	s.CompatibleConfig = &v
	return s
}
