package domain


type AlibabaRetailMarketingItempoolActivityCreateItemPoolActivityOperateRequest struct {
    /*
        周期配置     */
    PeriodicConfig  *AlibabaRetailMarketingItempoolActivityCreatePeriodicConfigDto `json:"periodic_config,omitempty" `

    /*
        活动名称，最长15个字符     */
    ActivityName  *string `json:"activity_name,omitempty" `

    /*
        操作人id     */
    CreatorId  *string `json:"creator_id,omitempty" `

    /*
        操作人名称     */
    CreatorName  *string `json:"creator_name,omitempty" `

    /*
        活动描述，最长30个字符     */
    Description  *string `json:"description,omitempty" `

    /*
        阶梯分组     */
    StairGroups  *[]AlibabaRetailMarketingItempoolActivityCreateStairGroupDto `json:"stair_groups,omitempty" `

    /*
        支持的终端，1：APP,2:POS     */
    Terminals  *[]int32 `json:"terminals,omitempty" `

    /*
        经营店     */
    StoreIds  *[]string `json:"store_ids,omitempty" `

    /*
        限购     */
    Limit  *AlibabaRetailMarketingItempoolActivityCreateLimitDto `json:"limit,omitempty" `

    /*
        外部商家erp活动id     */
    OutActId  *string `json:"out_act_id,omitempty" `

    /*
        活动开始时间戳     */
    StartTime  *int64 `json:"start_time,omitempty" `

    /*
        活动结束时间戳     */
    EndTime  *int64 `json:"end_time,omitempty" `

    /*
        限制人群,OLD_USER:老用户，NEW_USER:新用户，LIGHT_NEW_USER：闪购新客，MERCHANT_NEW_USER：商家新用户，MERCHANT_OLD_USER：商家老用户     */
    MemberCrowdCode  *[]string `json:"member_crowd_code,omitempty" `

    /*
        逻辑分组     */
    LogicGroups  *[]AlibabaRetailMarketingItempoolActivityCreateLogicGroupDto `json:"logic_groups,omitempty" `

    /*
        上不封顶标识，若设置{@link #enableMultiple}=true，则不支持多阶梯配置，且可以叠加优惠 defalutValue:false    */
    EnableMultiple  *bool `json:"enable_multiple,omitempty" `

    /*
        枚举： 2 美团 3 饿了么 26 京东到家 31 翱象淘鲜达 32 翱象共享库存     */
    Channels  *[]string `json:"channels,omitempty" `

    /*
        扩展信息     */
    Attributes  *string `json:"attributes,omitempty" `

}

func (s *AlibabaRetailMarketingItempoolActivityCreateItemPoolActivityOperateRequest) SetPeriodicConfig(v AlibabaRetailMarketingItempoolActivityCreatePeriodicConfigDto) *AlibabaRetailMarketingItempoolActivityCreateItemPoolActivityOperateRequest {
    s.PeriodicConfig = &v
    return s
}
func (s *AlibabaRetailMarketingItempoolActivityCreateItemPoolActivityOperateRequest) SetActivityName(v string) *AlibabaRetailMarketingItempoolActivityCreateItemPoolActivityOperateRequest {
    s.ActivityName = &v
    return s
}
func (s *AlibabaRetailMarketingItempoolActivityCreateItemPoolActivityOperateRequest) SetCreatorId(v string) *AlibabaRetailMarketingItempoolActivityCreateItemPoolActivityOperateRequest {
    s.CreatorId = &v
    return s
}
func (s *AlibabaRetailMarketingItempoolActivityCreateItemPoolActivityOperateRequest) SetCreatorName(v string) *AlibabaRetailMarketingItempoolActivityCreateItemPoolActivityOperateRequest {
    s.CreatorName = &v
    return s
}
func (s *AlibabaRetailMarketingItempoolActivityCreateItemPoolActivityOperateRequest) SetDescription(v string) *AlibabaRetailMarketingItempoolActivityCreateItemPoolActivityOperateRequest {
    s.Description = &v
    return s
}
func (s *AlibabaRetailMarketingItempoolActivityCreateItemPoolActivityOperateRequest) SetStairGroups(v []AlibabaRetailMarketingItempoolActivityCreateStairGroupDto) *AlibabaRetailMarketingItempoolActivityCreateItemPoolActivityOperateRequest {
    s.StairGroups = &v
    return s
}
func (s *AlibabaRetailMarketingItempoolActivityCreateItemPoolActivityOperateRequest) SetTerminals(v []int32) *AlibabaRetailMarketingItempoolActivityCreateItemPoolActivityOperateRequest {
    s.Terminals = &v
    return s
}
func (s *AlibabaRetailMarketingItempoolActivityCreateItemPoolActivityOperateRequest) SetStoreIds(v []string) *AlibabaRetailMarketingItempoolActivityCreateItemPoolActivityOperateRequest {
    s.StoreIds = &v
    return s
}
func (s *AlibabaRetailMarketingItempoolActivityCreateItemPoolActivityOperateRequest) SetLimit(v AlibabaRetailMarketingItempoolActivityCreateLimitDto) *AlibabaRetailMarketingItempoolActivityCreateItemPoolActivityOperateRequest {
    s.Limit = &v
    return s
}
func (s *AlibabaRetailMarketingItempoolActivityCreateItemPoolActivityOperateRequest) SetOutActId(v string) *AlibabaRetailMarketingItempoolActivityCreateItemPoolActivityOperateRequest {
    s.OutActId = &v
    return s
}
func (s *AlibabaRetailMarketingItempoolActivityCreateItemPoolActivityOperateRequest) SetStartTime(v int64) *AlibabaRetailMarketingItempoolActivityCreateItemPoolActivityOperateRequest {
    s.StartTime = &v
    return s
}
func (s *AlibabaRetailMarketingItempoolActivityCreateItemPoolActivityOperateRequest) SetEndTime(v int64) *AlibabaRetailMarketingItempoolActivityCreateItemPoolActivityOperateRequest {
    s.EndTime = &v
    return s
}
func (s *AlibabaRetailMarketingItempoolActivityCreateItemPoolActivityOperateRequest) SetMemberCrowdCode(v []string) *AlibabaRetailMarketingItempoolActivityCreateItemPoolActivityOperateRequest {
    s.MemberCrowdCode = &v
    return s
}
func (s *AlibabaRetailMarketingItempoolActivityCreateItemPoolActivityOperateRequest) SetLogicGroups(v []AlibabaRetailMarketingItempoolActivityCreateLogicGroupDto) *AlibabaRetailMarketingItempoolActivityCreateItemPoolActivityOperateRequest {
    s.LogicGroups = &v
    return s
}
func (s *AlibabaRetailMarketingItempoolActivityCreateItemPoolActivityOperateRequest) SetEnableMultiple(v bool) *AlibabaRetailMarketingItempoolActivityCreateItemPoolActivityOperateRequest {
    s.EnableMultiple = &v
    return s
}
func (s *AlibabaRetailMarketingItempoolActivityCreateItemPoolActivityOperateRequest) SetChannels(v []string) *AlibabaRetailMarketingItempoolActivityCreateItemPoolActivityOperateRequest {
    s.Channels = &v
    return s
}
func (s *AlibabaRetailMarketingItempoolActivityCreateItemPoolActivityOperateRequest) SetAttributes(v string) *AlibabaRetailMarketingItempoolActivityCreateItemPoolActivityOperateRequest {
    s.Attributes = &v
    return s
}
