package dto // ======================================== // B1 资产信息 // ======================================== // AssetInfoRequest B1 资产信息请求 type AssetInfoRequest struct { Identifier string `json:"identifier" query:"identifier" validate:"required,min=1,max=50" required:"true" minLength:"1" maxLength:"50" description:"资产标识符(SN/IMEI/虚拟号/ICCID/MSISDN)"` } // AssetInfoResponse B1 资产信息响应 type AssetInfoResponse struct { AssetType string `json:"asset_type" description:"资产类型 (card:卡, device:设备)"` AssetID uint `json:"asset_id" description:"资产ID"` Identifier string `json:"identifier" description:"资产标识符"` VirtualNo string `json:"virtual_no" description:"虚拟号"` Status int `json:"status" description:"状态 (0:禁用, 1:启用)"` RealNameStatus int `json:"real_name_status" description:"实名状态 (0:未实名, 1:已实名)"` CarrierName string `json:"carrier_name" description:"运营商名称"` Generation string `json:"generation" description:"制式"` WalletBalance int64 `json:"wallet_balance" description:"钱包余额(分)"` } // ======================================== // B2 资产可购套餐列表 // ======================================== // AssetPackageListRequest B2 资产可购套餐列表请求 type AssetPackageListRequest struct { Identifier string `json:"identifier" query:"identifier" validate:"required,min=1,max=50" required:"true" minLength:"1" maxLength:"50" description:"资产标识符(SN/IMEI/虚拟号/ICCID/MSISDN)"` } // ClientPackageItem B2 客户端套餐项 type ClientPackageItem struct { PackageID uint `json:"package_id" description:"套餐ID"` PackageName string `json:"package_name" description:"套餐名称"` PackageType string `json:"package_type" description:"套餐类型 (formal:正式套餐, addon:加油包)"` RetailPrice int64 `json:"retail_price" description:"零售价(分)"` CostPrice int64 `json:"cost_price" description:"成本价(分)"` ValidityDays int `json:"validity_days" description:"有效天数"` IsAddon bool `json:"is_addon" description:"是否加油包"` DataAllowance int64 `json:"data_allowance" description:"流量额度"` DataUnit string `json:"data_unit" description:"流量单位"` Description string `json:"description" description:"套餐说明"` } // AssetPackageListResponse B2 资产可购套餐列表响应 type AssetPackageListResponse struct { Packages []ClientPackageItem `json:"packages" description:"套餐列表"` } // ======================================== // B3 资产套餐历史 // ======================================== // AssetPackageHistoryRequest B3 资产套餐历史请求 type AssetPackageHistoryRequest struct { Identifier string `json:"identifier" query:"identifier" validate:"required,min=1,max=50" required:"true" minLength:"1" maxLength:"50" description:"资产标识符(SN/IMEI/虚拟号/ICCID/MSISDN)"` Page int `json:"page" query:"page" validate:"required,min=1" required:"true" minimum:"1" description:"页码"` PageSize int `json:"page_size" query:"page_size" validate:"required,min=1,max=100" required:"true" minimum:"1" maximum:"100" description:"每页数量"` } // AssetPackageHistoryResponse B3 资产套餐历史响应 type AssetPackageHistoryResponse struct { List []AssetPackageResponse `json:"list" description:"套餐历史列表"` Total int64 `json:"total" description:"总数"` Page int `json:"page" description:"页码"` PageSize int `json:"page_size" description:"每页数量"` } // ======================================== // B4 资产刷新 // ======================================== // AssetRefreshRequest B4 资产刷新请求 type AssetRefreshRequest struct { Identifier string `json:"identifier" validate:"required,min=1,max=50" required:"true" minLength:"1" maxLength:"50" description:"资产标识符(SN/IMEI/虚拟号/ICCID/MSISDN)"` } // AssetRefreshResponse B4 资产刷新响应 type AssetRefreshResponse struct { RefreshType string `json:"refresh_type" description:"刷新类型 (card:卡, device:设备)"` Accepted bool `json:"accepted" description:"是否已受理"` CooldownSeconds int `json:"cooldown_seconds" description:"冷却秒数"` }