package request

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

type AlibabaWdkMarketingOpenDarunfaActivitySkuSyncRequest struct {
	/*
	   淘鲜达活动商品信息     */
	ActivitySkuList *[]domain.AlibabaWdkMarketingOpenDarunfaActivitySkuSyncDrfTxdActivitySkuBo `json:"activity_sku_list,omitempty" required:"false" `
	/*
	   大润发活动Id     */
	ActivityId *string `json:"activity_id" required:"true" `
	/*
	   活动对应的门店Id     */
	ShopId *string `json:"shop_id,omitempty" required:"false" `
	/*
	   数据版本Id     */
	VersionId *int64 `json:"version_id" required:"true" `
}

func (s *AlibabaWdkMarketingOpenDarunfaActivitySkuSyncRequest) SetActivitySkuList(v []domain.AlibabaWdkMarketingOpenDarunfaActivitySkuSyncDrfTxdActivitySkuBo) *AlibabaWdkMarketingOpenDarunfaActivitySkuSyncRequest {
	s.ActivitySkuList = &v
	return s
}
func (s *AlibabaWdkMarketingOpenDarunfaActivitySkuSyncRequest) SetActivityId(v string) *AlibabaWdkMarketingOpenDarunfaActivitySkuSyncRequest {
	s.ActivityId = &v
	return s
}
func (s *AlibabaWdkMarketingOpenDarunfaActivitySkuSyncRequest) SetShopId(v string) *AlibabaWdkMarketingOpenDarunfaActivitySkuSyncRequest {
	s.ShopId = &v
	return s
}
func (s *AlibabaWdkMarketingOpenDarunfaActivitySkuSyncRequest) SetVersionId(v int64) *AlibabaWdkMarketingOpenDarunfaActivitySkuSyncRequest {
	s.VersionId = &v
	return s
}

func (req *AlibabaWdkMarketingOpenDarunfaActivitySkuSyncRequest) ToMap() map[string]interface{} {
	paramMap := make(map[string]interface{})
	if req.ActivitySkuList != nil {
		paramMap["activity_sku_list"] = util.ConvertStructList(*req.ActivitySkuList)
	}
	if req.ActivityId != nil {
		paramMap["activity_id"] = *req.ActivityId
	}
	if req.ShopId != nil {
		paramMap["shop_id"] = *req.ShopId
	}
	if req.VersionId != nil {
		paramMap["version_id"] = *req.VersionId
	}
	return paramMap
}

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