package request

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

type AlibabaWdkMarketingItempoolAddcategoryRequest struct {
	/*
	   类目对象     */
	ItemPoolActivityCategory *domain.AlibabaWdkMarketingItempoolAddcategoryItemPoolActivityCategory `json:"item_pool_activity_category,omitempty" required:"false" `
	/*
	   活动对象     */
	CommonActivityParam *domain.AlibabaWdkMarketingItempoolAddcategoryCommonActivityParam `json:"common_activity_param,omitempty" required:"false" `
}

func (s *AlibabaWdkMarketingItempoolAddcategoryRequest) SetItemPoolActivityCategory(v domain.AlibabaWdkMarketingItempoolAddcategoryItemPoolActivityCategory) *AlibabaWdkMarketingItempoolAddcategoryRequest {
	s.ItemPoolActivityCategory = &v
	return s
}
func (s *AlibabaWdkMarketingItempoolAddcategoryRequest) SetCommonActivityParam(v domain.AlibabaWdkMarketingItempoolAddcategoryCommonActivityParam) *AlibabaWdkMarketingItempoolAddcategoryRequest {
	s.CommonActivityParam = &v
	return s
}

func (req *AlibabaWdkMarketingItempoolAddcategoryRequest) ToMap() map[string]interface{} {
	paramMap := make(map[string]interface{})
	if req.ItemPoolActivityCategory != nil {
		paramMap["item_pool_activity_category"] = util.ConvertStruct(*req.ItemPoolActivityCategory)
	}
	if req.CommonActivityParam != nil {
		paramMap["common_activity_param"] = util.ConvertStruct(*req.CommonActivityParam)
	}
	return paramMap
}

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