diff --git a/internal/model/dto/package_dto.go b/internal/model/dto/package_dto.go index 306d8e5..c8d8f58 100644 --- a/internal/model/dto/package_dto.go +++ b/internal/model/dto/package_dto.go @@ -75,6 +75,7 @@ type PackageResponse struct { RealDataMB int64 `json:"real_data_mb" description:"真流量额度(MB)"` VirtualDataMB int64 `json:"virtual_data_mb" description:"虚流量额度(MB)"` EnableVirtualData bool `json:"enable_virtual_data" description:"是否启用虚流量"` + VirtualRatio float64 `json:"virtual_ratio" description:"虚流量比例(real_data_mb/virtual_data_mb),启用虚流量时计算,否则为1.0"` SuggestedRetailPrice int64 `json:"suggested_retail_price" description:"建议售价(分)"` CostPrice int64 `json:"cost_price" description:"成本价(分)"` OneTimeCommissionAmount *int64 `json:"one_time_commission_amount,omitempty" description:"一次性佣金金额(分,代理视角)"` diff --git a/internal/service/package/service.go b/internal/service/package/service.go index 9dae6a9..54fce3d 100644 --- a/internal/service/package/service.go +++ b/internal/service/package/service.go @@ -514,6 +514,7 @@ func (s *Service) toResponse(ctx context.Context, pkg *model.Package) *dto.Packa RealDataMB: pkg.RealDataMB, VirtualDataMB: pkg.VirtualDataMB, EnableVirtualData: pkg.EnableVirtualData, + VirtualRatio: calculateVirtualRatio(pkg.EnableVirtualData, pkg.RealDataMB, pkg.VirtualDataMB), CostPrice: pkg.CostPrice, SuggestedRetailPrice: pkg.SuggestedRetailPrice, CalendarType: pkg.CalendarType, @@ -578,6 +579,7 @@ func (s *Service) toResponseWithAllocation(_ context.Context, pkg *model.Package RealDataMB: pkg.RealDataMB, VirtualDataMB: pkg.VirtualDataMB, EnableVirtualData: pkg.EnableVirtualData, + VirtualRatio: calculateVirtualRatio(pkg.EnableVirtualData, pkg.RealDataMB, pkg.VirtualDataMB), CostPrice: pkg.CostPrice, SuggestedRetailPrice: pkg.SuggestedRetailPrice, CalendarType: pkg.CalendarType,