package dto // MyPackageListRequest 我的可售套餐列表请求 type MyPackageListRequest struct { Page int `json:"page" query:"page" validate:"omitempty,min=1" minimum:"1" description:"页码"` PageSize int `json:"page_size" query:"page_size" validate:"omitempty,min=1,max=100" minimum:"1" maximum:"100" description:"每页数量"` SeriesID *uint `json:"series_id" query:"series_id" validate:"omitempty" description:"套餐系列ID"` PackageType *string `json:"package_type" query:"package_type" validate:"omitempty" description:"套餐类型"` } // MyPackageResponse 我的可售套餐响应 type MyPackageResponse struct { ID uint `json:"id" description:"套餐ID"` PackageCode string `json:"package_code" description:"套餐编码"` PackageName string `json:"package_name" description:"套餐名称"` PackageType string `json:"package_type" description:"套餐类型"` SeriesID uint `json:"series_id" description:"套餐系列ID"` SeriesName string `json:"series_name" description:"套餐系列名称"` CostPrice int64 `json:"cost_price" description:"我的成本价(分)"` SuggestedRetailPrice int64 `json:"suggested_retail_price" description:"建议售价(分)"` ProfitMargin int64 `json:"profit_margin" description:"利润空间(分)= 建议售价 - 成本价"` PriceSource string `json:"price_source" description:"价格来源 (series_pricing:系列加价, package_override:单套餐覆盖)"` Status int `json:"status" description:"套餐状态 (1:启用, 2:禁用)"` ShelfStatus int `json:"shelf_status" description:"上架状态 (1:上架, 2:下架)"` } // MyPackagePageResult 我的可售套餐分页结果 type MyPackagePageResult struct { List []*MyPackageResponse `json:"list" description:"套餐列表"` Total int64 `json:"total" description:"总数"` Page int `json:"page" description:"当前页"` PageSize int `json:"page_size" description:"每页数量"` TotalPages int `json:"total_pages" description:"总页数"` } // MyPackageDetailResponse 我的可售套餐详情响应 type MyPackageDetailResponse struct { ID uint `json:"id" description:"套餐ID"` PackageCode string `json:"package_code" description:"套餐编码"` PackageName string `json:"package_name" description:"套餐名称"` PackageType string `json:"package_type" description:"套餐类型"` Description string `json:"description" description:"套餐描述"` SeriesID uint `json:"series_id" description:"套餐系列ID"` SeriesName string `json:"series_name" description:"套餐系列名称"` CostPrice int64 `json:"cost_price" description:"我的成本价(分)"` SuggestedRetailPrice int64 `json:"suggested_retail_price" description:"建议售价(分)"` ProfitMargin int64 `json:"profit_margin" description:"利润空间(分)"` PriceSource string `json:"price_source" description:"价格来源 (series_pricing:系列加价, package_override:单套餐覆盖)"` Status int `json:"status" description:"套餐状态 (1:启用, 2:禁用)"` ShelfStatus int `json:"shelf_status" description:"上架状态 (1:上架, 2:下架)"` } // MySeriesAllocationListRequest 我的套餐系列分配列表请求 type MySeriesAllocationListRequest struct { Page int `json:"page" query:"page" validate:"omitempty,min=1" minimum:"1" description:"页码"` PageSize int `json:"page_size" query:"page_size" validate:"omitempty,min=1,max=100" minimum:"1" maximum:"100" description:"每页数量"` } // MySeriesAllocationResponse 我的套餐系列分配响应 type MySeriesAllocationResponse struct { ID uint `json:"id" description:"分配ID"` SeriesID uint `json:"series_id" description:"套餐系列ID"` SeriesCode string `json:"series_code" description:"系列编码"` SeriesName string `json:"series_name" description:"系列名称"` PricingMode string `json:"pricing_mode" description:"加价模式 (fixed:固定金额, percent:百分比)"` PricingValue int64 `json:"pricing_value" description:"加价值"` AvailablePackageCount int `json:"available_package_count" description:"可售套餐数量"` AllocatorShopName string `json:"allocator_shop_name" description:"分配者店铺名称"` Status int `json:"status" description:"状态 (1:启用, 2:禁用)"` } // MySeriesAllocationPageResult 我的套餐系列分配分页结果 type MySeriesAllocationPageResult struct { List []*MySeriesAllocationResponse `json:"list" description:"分配列表"` Total int64 `json:"total" description:"总数"` Page int `json:"page" description:"当前页"` PageSize int `json:"page_size" description:"每页数量"` TotalPages int `json:"total_pages" description:"总页数"` } // PriceSource 价格来源常量 const ( PriceSourceSeriesPricing = "series_pricing" PriceSourcePackageOverride = "package_override" )