package request

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

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

func (s *AlibabaHmMarketingItempoolAddcategoryRequest) SetItemPoolActivityCategory(v domain.AlibabaHmMarketingItempoolAddcategoryItemPoolActivityCategory) *AlibabaHmMarketingItempoolAddcategoryRequest {
	s.ItemPoolActivityCategory = &v
	return s
}
func (s *AlibabaHmMarketingItempoolAddcategoryRequest) SetCommonActivityParam(v domain.AlibabaHmMarketingItempoolAddcategoryCommonActivityParam) *AlibabaHmMarketingItempoolAddcategoryRequest {
	s.CommonActivityParam = &v
	return s
}

func (req *AlibabaHmMarketingItempoolAddcategoryRequest) 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 *AlibabaHmMarketingItempoolAddcategoryRequest) ToFileMap() map[string]interface{} {
	fileMap := make(map[string]interface{})
	return fileMap
}
