package request

import (
	"topsdk/ability571/domain"
	"topsdk/util"
)

type AlibabaWdkMarketingItempoolItemAddAsyncRequest struct {
	/*
	   阶梯商品信息     */
	Param0 *[]domain.AlibabaWdkMarketingItempoolItemAddAsyncItemPoolSku `json:"param0,omitempty" required:"false" `
	/*
	   系统自动生成     */
	Param1 *domain.AlibabaWdkMarketingItempoolItemAddAsyncCommonActivityParam `json:"param1,omitempty" required:"false" `
	/*
	   alibaba.wdk.marketing.version.generate接口生成     */
	Version *int64 `json:"version" required:"true" `
}

func (s *AlibabaWdkMarketingItempoolItemAddAsyncRequest) SetParam0(v []domain.AlibabaWdkMarketingItempoolItemAddAsyncItemPoolSku) *AlibabaWdkMarketingItempoolItemAddAsyncRequest {
	s.Param0 = &v
	return s
}
func (s *AlibabaWdkMarketingItempoolItemAddAsyncRequest) SetParam1(v domain.AlibabaWdkMarketingItempoolItemAddAsyncCommonActivityParam) *AlibabaWdkMarketingItempoolItemAddAsyncRequest {
	s.Param1 = &v
	return s
}
func (s *AlibabaWdkMarketingItempoolItemAddAsyncRequest) SetVersion(v int64) *AlibabaWdkMarketingItempoolItemAddAsyncRequest {
	s.Version = &v
	return s
}

func (req *AlibabaWdkMarketingItempoolItemAddAsyncRequest) ToMap() map[string]interface{} {
	paramMap := make(map[string]interface{})
	if req.Param0 != nil {
		paramMap["param0"] = util.ConvertStructList(*req.Param0)
	}
	if req.Param1 != nil {
		paramMap["param1"] = util.ConvertStruct(*req.Param1)
	}
	if req.Version != nil {
		paramMap["version"] = *req.Version
	}
	return paramMap
}

func (req *AlibabaWdkMarketingItempoolItemAddAsyncRequest) ToFileMap() map[string]interface{} {
	fileMap := make(map[string]interface{})
	return fileMap
}
