package dto

// PriceAdjustment 价格调整配置
type PriceAdjustment struct {
	Type  string `json:"type" validate:"required,oneof=fixed percent" required:"true" description:"调整类型 (fixed:固定金额, percent:百分比)"`
	Value int64  `json:"value" validate:"required" required:"true" description:"调整值（分或千分比）"`
}

// BatchAllocatePackagesRequest 批量分配套餐请求
type BatchAllocatePackagesRequest struct {
	ShopID                  uint             `json:"shop_id" validate:"required" required:"true" description:"被分配的店铺ID"`
	SeriesID                uint             `json:"series_id" validate:"required" required:"true" description:"套餐系列ID"`
	PriceAdjustment         *PriceAdjustment `json:"price_adjustment" validate:"omitempty" description:"可选加价配置"`
	OneTimeCommissionAmount *int64           `json:"one_time_commission_amount" validate:"omitempty,min=0" minimum:"0" description:"该代理能拿到的一次性佣金（分）"`
}

// BatchAllocatePackagesResponse 批量分配套餐响应
type BatchAllocatePackagesResponse struct {
	TotalPackages  int    `json:"total_packages" description:"总套餐数"`
	AllocatedCount int    `json:"allocated_count" description:"成功分配数量"`
	SkippedCount   int    `json:"skipped_count" description:"跳过数量（已存在）"`
	PackageIDs     []uint `json:"package_ids" description:"分配的套餐ID列表"`
}
