diff --git a/internal/handler/app/client_asset.go b/internal/handler/app/client_asset.go index 1586180..2cc92f6 100644 --- a/internal/handler/app/client_asset.go +++ b/internal/handler/app/client_asset.go @@ -174,6 +174,7 @@ func (h *ClientAssetHandler) GetAssetInfo(c *fiber.Ctx) error { VirtualTotalMB: resolved.Asset.VirtualTotalMB, VirtualUsedMB: resolved.Asset.VirtualUsedMB, ReductionPct: resolved.Asset.ReductionPct, + EnableVirtualData: resolved.Asset.EnableVirtualData, DeviceName: resolved.Asset.DeviceName, IMEI: resolved.Asset.IMEI, SN: resolved.Asset.SN, diff --git a/internal/model/dto/asset_dto.go b/internal/model/dto/asset_dto.go index e6a8494..4d1c0a6 100644 --- a/internal/model/dto/asset_dto.go +++ b/internal/model/dto/asset_dto.go @@ -31,6 +31,7 @@ type AssetResolveResponse struct { VirtualTotalMB int64 `json:"virtual_total_mb" description:"当前主套餐业务停机阈值(MB)"` VirtualUsedMB float64 `json:"virtual_used_mb" description:"当前主套餐展示已用量(MB)"` ReductionPct float64 `json:"reduction_pct" description:"展示增幅比例,公式为(real_total_mb / virtual_total_mb) - 1"` + EnableVirtualData bool `json:"enable_virtual_data" description:"当前主套餐是否启用虚流量(按套餐使用记录快照返回)"` DeviceProtectStatus string `json:"device_protect_status,omitempty" description:"设备保护期状态:none/stop/start(仅asset_type=device时有效)"` // 绑定关系字段 ICCID string `json:"iccid,omitempty" description:"卡ICCID(asset_type=card时有效)"` diff --git a/internal/model/dto/client_asset_dto.go b/internal/model/dto/client_asset_dto.go index b190be4..c98e8e2 100644 --- a/internal/model/dto/client_asset_dto.go +++ b/internal/model/dto/client_asset_dto.go @@ -42,6 +42,7 @@ type AssetInfoResponse struct { VirtualTotalMB int64 `json:"virtual_total_mb" description:"当前主套餐业务停机阈值(MB)"` VirtualUsedMB float64 `json:"virtual_used_mb" description:"当前主套餐展示已用量(MB)"` ReductionPct float64 `json:"reduction_pct" description:"展示增幅比例,公式为(real_total_mb / virtual_total_mb) - 1"` + EnableVirtualData bool `json:"enable_virtual_data" description:"当前主套餐是否启用虚流量(按套餐使用记录快照返回)"` // === 设备专属字段(asset_type=device 时有效) === DeviceName string `json:"device_name,omitempty" description:"设备名称"` diff --git a/internal/service/asset/service.go b/internal/service/asset/service.go index b6b1553..0429ea7 100644 --- a/internal/service/asset/service.go +++ b/internal/service/asset/service.go @@ -314,6 +314,7 @@ func (s *Service) fillPackageInfo(ctx context.Context, resp *dto.AssetResolveRes resp.VirtualTotalMB = metrics.VirtualTotalMB resp.VirtualUsedMB = metrics.VirtualUsedMB resp.ReductionPct = metrics.ReductionPct + resp.EnableVirtualData = usage.EnableVirtualDataSnapshot } // fillShopName 填充店铺名称