All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 8m17s
341 lines
26 KiB
Go
341 lines
26 KiB
Go
package dto
|
||
|
||
import "time"
|
||
|
||
// AssetResolveResponse 统一资产解析响应
|
||
type AssetResolveResponse struct {
|
||
AssetType string `json:"asset_type" description:"资产类型:card 或 device"`
|
||
AssetID uint `json:"asset_id" description:"资产数据库ID"`
|
||
Identifier string `json:"identifier,omitempty" description:"解析时使用的标识符"`
|
||
VirtualNo string `json:"virtual_no" description:"虚拟号"`
|
||
Status int `json:"status" description:"资产归属状态 (1:在库, 2:已分销;卡仍沿用原卡状态枚举)"`
|
||
StatusName string `json:"status_name" description:"资产状态名称(中文)"`
|
||
BatchNo string `json:"batch_no" description:"批次号"`
|
||
ShopID *uint `json:"shop_id,omitempty" description:"所属店铺ID"`
|
||
ShopName string `json:"shop_name,omitempty" description:"所属店铺名称"`
|
||
SeriesID *uint `json:"series_id,omitempty" description:"套餐系列ID"`
|
||
SeriesName string `json:"series_name,omitempty" description:"套餐系列名称"`
|
||
ActivatedAt *time.Time `json:"activated_at,omitempty" description:"激活时间(未来准备移除,请勿依赖)"`
|
||
CreatedAt time.Time `json:"created_at" description:"创建时间"`
|
||
UpdatedAt time.Time `json:"updated_at" description:"更新时间"`
|
||
// 状态聚合字段
|
||
ActivationStatus int `json:"activation_status" description:"激活状态:0未激活 1已激活;设备需有生效中主套餐且任意绑定卡已实名"`
|
||
ActivationStatusName string `json:"activation_status_name" description:"激活状态名称(中文)"`
|
||
RealNameStatus int `json:"real_name_status" description:"实名状态:0未实名 1已实名"`
|
||
RealNameAt *time.Time `json:"real_name_at" description:"最近一次完成实名的时间,未实名时为 null"`
|
||
RealnamePolicy string `json:"realname_policy" description:"实名认证策略 (none:无需实名, before_order:先实名后充值/购买, after_order:先充值/购买后实名)"`
|
||
CurrentPackage string `json:"current_package" description:"当前套餐名称(无套餐时为空)"`
|
||
CurrentPackageUsageID *uint `json:"current_package_usage_id" description:"当前主套餐的套餐使用记录ID,无主套餐时为 null"`
|
||
CurrentPackageActivatedAt *time.Time `json:"current_package_activated_at,omitempty" description:"当前主套餐开始时间"`
|
||
CurrentPackageExpiresAt *time.Time `json:"current_package_expires_at,omitempty" description:"当前主套餐过期时间"`
|
||
RealTotalMB int64 `json:"real_total_mb" description:"当前主套餐真实总量(MB)"`
|
||
RealUsedMB int64 `json:"real_used_mb" description:"当前主套餐真实已用量(MB)"`
|
||
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时有效)"`
|
||
BoundDeviceID *uint `json:"bound_device_id,omitempty" description:"绑定的设备ID(asset_type=card时有效)"`
|
||
BoundDeviceNo string `json:"bound_device_no,omitempty" description:"绑定的设备虚拟号(asset_type=card时有效)"`
|
||
BoundDeviceName string `json:"bound_device_name,omitempty" description:"绑定的设备名称(asset_type=card时有效)"`
|
||
BoundCardCount int `json:"bound_card_count,omitempty" description:"绑定的卡数量(asset_type=device时有效)"`
|
||
Cards []BoundCardInfo `json:"cards,omitempty" description:"绑定的卡列表(asset_type=device时有效)"`
|
||
// 设备专属字段(card类型时为零值)
|
||
DeviceName string `json:"device_name,omitempty" description:"设备名称"`
|
||
IMEI string `json:"imei,omitempty" description:"设备IMEI"`
|
||
SN string `json:"sn,omitempty" description:"设备序列号"`
|
||
DeviceModel string `json:"device_model,omitempty" description:"设备型号"`
|
||
DeviceType string `json:"device_type,omitempty" description:"设备类型"`
|
||
MaxSimSlots int `json:"max_sim_slots,omitempty" description:"最大插槽数"`
|
||
Manufacturer string `json:"manufacturer,omitempty" description:"制造商"`
|
||
// 设备 DB 缓存字段(Phase 3 sync-info 写入,展示上次同步快照)
|
||
OnlineStatus int `json:"online_status,omitempty" description:"在线状态:0未知 1在线 2离线(设备类型时有效)"`
|
||
LastOnlineTime *time.Time `json:"last_online_time,omitempty" description:"最后在线时间(设备类型时有效)"`
|
||
SoftwareVersion string `json:"software_version,omitempty" description:"固件版本号(设备类型时有效)"`
|
||
SwitchMode string `json:"switch_mode,omitempty" description:"切卡模式:0=自动,1=手动(设备类型时有效)"`
|
||
LastGatewaySyncAt *time.Time `json:"last_gateway_sync_at,omitempty" description:"最后 sync-info 同步时间(设备类型时有效)"`
|
||
// 卡专属字段(device类型时为零值)
|
||
CarrierID uint `json:"carrier_id,omitempty" description:"运营商ID"`
|
||
CarrierType string `json:"carrier_type,omitempty" description:"运营商类型"`
|
||
CarrierName string `json:"carrier_name,omitempty" description:"运营商名称"`
|
||
MSISDN string `json:"msisdn,omitempty" description:"手机号"`
|
||
IMSI string `json:"imsi,omitempty" description:"IMSI"`
|
||
CardCategory string `json:"card_category,omitempty" description:"卡业务类型"`
|
||
Supplier string `json:"supplier,omitempty" description:"供应商"`
|
||
EnablePolling bool `json:"enable_polling" description:"是否参与轮询"`
|
||
NetworkStatus int `json:"network_status" description:"网络状态:0停机 1开机(asset_type=card时有效)"`
|
||
GatewayExtend string `json:"gateway_extend" description:"Gateway 卡状态扩展字段,原样返回上游 extend,用于展示运营商侧实际停机原因"`
|
||
GatewayCardIMEI string `json:"gateway_card_imei" description:"插拔卡业务 IMEI(由 Gateway 卡状态接口同步,非设备自身 IMEI,无业务含义,仅供查看)"`
|
||
}
|
||
|
||
// BoundCardInfo 设备绑定的卡信息
|
||
type BoundCardInfo struct {
|
||
CardID uint `json:"card_id" description:"卡ID"`
|
||
ICCID string `json:"iccid" description:"ICCID"`
|
||
MSISDN string `json:"msisdn,omitempty" description:"手机号"`
|
||
NetworkStatus int `json:"network_status" description:"网络状态:0停机 1开机"`
|
||
RealNameStatus int `json:"real_name_status" description:"实名状态:0未实名 1已实名"`
|
||
RealNameAt *time.Time `json:"real_name_at" description:"该卡最近一次完成实名的时间,未实名时为 null"`
|
||
SlotPosition int `json:"slot_position,omitempty" description:"插槽位置"`
|
||
IsCurrent bool `json:"is_current" description:"是否为当前使用的卡"`
|
||
CarrierID uint `json:"carrier_id,omitempty" description:"运营商ID"`
|
||
CarrierType string `json:"carrier_type,omitempty" description:"运营商类型"`
|
||
CarrierName string `json:"carrier_name,omitempty" description:"运营商名称"`
|
||
RealnamePolicy string `json:"realname_policy" description:"实名认证策略 (none:无需实名, before_order:先实名后充值/购买, after_order:先充值/购买后实名)"`
|
||
GatewayExtend string `json:"gateway_extend" description:"Gateway 卡状态扩展字段,原样返回上游 extend,用于展示运营商侧实际停机原因"`
|
||
LastSyncTime *time.Time `json:"last_sync_time" description:"最后同步时间"`
|
||
LastDataCheckAt *time.Time `json:"last_data_check_at" description:"最后一次流量检查时间"`
|
||
LastRealNameCheckAt *time.Time `json:"last_real_name_check_at" description:"最后一次实名检查时间"`
|
||
LastCardStatusCheckAt *time.Time `json:"last_card_status_check_at" description:"最后一次卡状态检查时间"`
|
||
}
|
||
|
||
// AssetRealtimeStatusResponse 资产实时状态(只读DB/Redis)
|
||
type AssetRealtimeStatusResponse struct {
|
||
AssetType string `json:"asset_type" description:"资产类型:card 或 device"`
|
||
AssetID uint `json:"asset_id" description:"资产ID"`
|
||
NetworkStatus int `json:"network_status" description:"网络状态(asset_type=card时有效):0停机 1开机"`
|
||
GatewayExtend string `json:"gateway_extend" description:"Gateway 卡状态扩展字段,原样返回上游 extend,用于展示运营商侧实际停机原因"`
|
||
GatewayCardIMEI string `json:"gateway_card_imei" description:"插拔卡业务 IMEI(由 Gateway 卡状态接口同步,非设备自身 IMEI,无业务含义,仅供查看)"`
|
||
RealNameStatus int `json:"real_name_status" description:"实名状态(asset_type=card时有效):0未实名 1已实名"`
|
||
RealnamePolicy string `json:"realname_policy,omitempty" description:"实名认证策略 (none:无需实名, before_order:先实名后充值/购买, after_order:先充值/购买后实名)"`
|
||
CurrentMonthUsageMB float64 `json:"current_month_usage_mb,omitempty" description:"系统自然月累计流量(MB,asset_type=card时有效,不等于运营商周期口径)"`
|
||
LastGatewayReadingMB float64 `json:"last_gateway_reading_mb,omitempty" description:"运营商当前周期累计流量读数(MB,asset_type=card时有效,运营商口径展示建议读取该字段)"`
|
||
LastSyncTime *time.Time `json:"last_sync_time" description:"最后同步时间(asset_type=card时有效)"`
|
||
LastDataCheckAt *time.Time `json:"last_data_check_at" description:"最后一次流量检查时间(asset_type=card时有效)"`
|
||
LastRealNameCheckAt *time.Time `json:"last_real_name_check_at" description:"最后一次实名检查时间(asset_type=card时有效)"`
|
||
LastCardStatusCheckAt *time.Time `json:"last_card_status_check_at" description:"最后一次卡状态检查时间(asset_type=card时有效)"`
|
||
DeviceProtectStatus string `json:"device_protect_status,omitempty" description:"保护期状态(asset_type=device时有效):none/stop/start"`
|
||
Cards []BoundCardInfo `json:"cards,omitempty" description:"绑定卡状态列表(asset_type=device时有效)"`
|
||
DeviceRealtime *DeviceGatewayInfo `json:"device_realtime" description:"设备实时状态(来自 Gateway sync-info,始终返回,失败时仅含 gateway_msg)"`
|
||
}
|
||
|
||
// AssetPackageResponse 资产套餐信息
|
||
type AssetPackageResponse struct {
|
||
PackageUsageID uint `json:"package_usage_id" description:"套餐使用记录ID"`
|
||
PackageID uint `json:"package_id" description:"套餐ID"`
|
||
PackageName string `json:"package_name" description:"套餐名称"`
|
||
PackageType string `json:"package_type" description:"套餐类型:formal/addon"`
|
||
ExpiryBase string `json:"expiry_base,omitempty" description:"到期时间基准 (from_activation:实名激活时起算, from_purchase:购买时起算)"`
|
||
OrderID uint `json:"order_id" description:"关联订单ID(无订单分配时为0)"`
|
||
OrderNo string `json:"order_no,omitempty" description:"订单号快照(无订单分配时为空)"`
|
||
RefundID *uint `json:"refund_id,omitempty" description:"退款主键ID快照(未退款时为空)"`
|
||
RefundNo string `json:"refund_no,omitempty" description:"退款单号快照(未退款时为空)"`
|
||
UsageType string `json:"usage_type" description:"使用类型:single_card/device"`
|
||
Status int `json:"status" description:"状态:0待生效 1生效中 2已用完 3已过期 4已失效"`
|
||
StatusName string `json:"status_name" description:"状态名称"`
|
||
RealTotalMB int64 `json:"real_total_mb" description:"套餐真实总量(MB)"`
|
||
RealUsedMB int64 `json:"real_used_mb" description:"套餐真实已用量(MB)"`
|
||
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:"是否启用虚流量(按套餐使用记录快照返回)"`
|
||
ActivatedAt *time.Time `json:"activated_at,omitempty" description:"激活时间(待生效套餐为空)"`
|
||
ExpiresAt *time.Time `json:"expires_at,omitempty" description:"到期时间(待生效套餐为空)"`
|
||
MasterUsageID *uint `json:"master_usage_id,omitempty" description:"主套餐ID(加油包时有值)"`
|
||
Priority int `json:"priority" description:"优先级"`
|
||
PaidAmount *int64 `json:"paid_amount,omitempty" description:"购买成本价(分),仅平台账号可见,非平台账号不返回此字段"`
|
||
RetailAmount *int64 `json:"retail_amount,omitempty" description:"购买零售价(分),无订单关联时为空"`
|
||
CreatedAt time.Time `json:"created_at" description:"创建时间"`
|
||
}
|
||
|
||
// AssetPackagesResult 套餐列表分页结果
|
||
type AssetPackagesResult struct {
|
||
Total int64 `json:"total" description:"总条数"`
|
||
Page int `json:"page" description:"当前页码"`
|
||
PageSize int `json:"page_size" description:"每页条数"`
|
||
Items []*AssetPackageResponse `json:"items" description:"套餐列表"`
|
||
}
|
||
|
||
// AssetResolveRequest 资产解析请求(路径参数)
|
||
type AssetResolveRequest struct {
|
||
Identifier string `path:"identifier" description:"资产标识符(虚拟号/ICCID/IMEI/SN/MSISDN)" required:"true"`
|
||
}
|
||
|
||
// AssetIdentifierRequest 资产标识符路径参数请求
|
||
type AssetIdentifierRequest struct {
|
||
Identifier string `path:"identifier" description:"资产标识符(ICCID 或 VirtualNo)" required:"true"`
|
||
}
|
||
|
||
// AssetTypeIDRequest 资产类型+ID请求(路径参数,保留用于钱包等向后兼容场景)
|
||
type AssetTypeIDRequest struct {
|
||
AssetType string `path:"asset_type" description:"资产类型:card 或 device" required:"true"`
|
||
ID uint `path:"id" description:"资产ID" required:"true"`
|
||
}
|
||
|
||
// AssetPackagesRequest 资产套餐列表请求(路径参数 + 分页 + 状态筛选)
|
||
type AssetPackagesRequest struct {
|
||
Identifier string `path:"identifier" description:"资产标识符(虚拟号/ICCID/IMEI/SN/MSISDN)" required:"true"`
|
||
Page int `query:"page" validate:"omitempty,min=1" minimum:"1" description:"页码(默认1)"`
|
||
PageSize int `query:"page_size" validate:"omitempty,min=1,max=100" minimum:"1" maximum:"100" description:"每页条数(默认50,最大100)"`
|
||
Status *int `query:"status" validate:"omitempty,min=0,max=4" minimum:"0" maximum:"4" description:"套餐状态 (0:待生效, 1:生效中, 2:已用完, 3:已过期, 4:已失效)"`
|
||
}
|
||
|
||
// DeviceIDRequest 设备ID请求(路径参数)
|
||
type DeviceIDRequest struct {
|
||
DeviceID uint `path:"device_id" description:"设备ID" required:"true"`
|
||
}
|
||
|
||
// CardICCIDRequest 卡ICCID请求(路径参数)
|
||
type CardICCIDRequest struct {
|
||
ICCID string `path:"iccid" description:"卡ICCID" required:"true"`
|
||
}
|
||
|
||
// DeviceGatewayInfo B端设备实时状态信息(来自 Gateway sync-info)
|
||
// 与 C 端 DeviceRealtimeInfo 独立,未来可展示更多技术字段
|
||
// 所有字段均为可选;Gateway 调用失败时仅填充 GatewayMsg
|
||
type DeviceGatewayInfo struct {
|
||
// Gateway 上游消息(成功时为 null,失败时为错误信息)
|
||
GatewayMsg *string `json:"gateway_msg" description:"Gateway 上游消息(成功时为 null,失败时为错误信息)"`
|
||
|
||
// 设备状态
|
||
OnlineStatus *int `json:"online_status,omitempty" description:"在线状态:1=在线,2=离线"`
|
||
BatteryLevel *int `json:"battery_level,omitempty" description:"电池电量百分比(无电池时为null)"`
|
||
Status *int `json:"status,omitempty" description:"设备状态:1=正常,0=禁用"`
|
||
RunTime *string `json:"run_time,omitempty" description:"本次开机运行时间(秒)"`
|
||
ConnectTime *string `json:"connect_time,omitempty" description:"本次联网时间(秒)"`
|
||
LastOnlineTime *string `json:"last_online_time,omitempty" description:"设备最后在线时间"`
|
||
LastUpdateTime *string `json:"last_update_time,omitempty" description:"设备信息最后更新时间"`
|
||
|
||
// 信号相关
|
||
Rsrp *int `json:"rsrp,omitempty" description:"参考信号接收功率(dBm)"`
|
||
Rsrq *int `json:"rsrq,omitempty" description:"参考信号接收质量(dB)"`
|
||
Rssi *string `json:"rssi,omitempty" description:"接收信号强度"`
|
||
Sinr *int `json:"sinr,omitempty" description:"信噪比(dB)"`
|
||
SignalQuality *string `json:"signal_quality,omitempty" description:"信号综合判断(信号很好/信号正常/信号较弱/信号很差/暂无数据)"`
|
||
SignalBadReason *string `json:"signal_bad_reason,omitempty" description:"信号较弱时的怀疑原因提示"`
|
||
|
||
// WiFi 相关
|
||
SSID *string `json:"ssid,omitempty" description:"WiFi热点名称"`
|
||
WifiEnabled *bool `json:"wifi_enabled,omitempty" description:"WiFi开关状态"`
|
||
WifiPassword *string `json:"wifi_password,omitempty" description:"WiFi密码"`
|
||
|
||
// 网络相关
|
||
IPAddress *string `json:"ip_address,omitempty" description:"IP地址"`
|
||
WANIP *string `json:"wan_ip,omitempty" description:"基站分配IPv4地址"`
|
||
LANIP *string `json:"lan_ip,omitempty" description:"局域网网关IP地址"`
|
||
MACAddress *string `json:"mac_address,omitempty" description:"MAC地址"`
|
||
|
||
// 流量与速率
|
||
DailyUsage *string `json:"daily_usage,omitempty" description:"日使用流量(字节)"`
|
||
DLStats *string `json:"dl_stats,omitempty" description:"本次开机下载流量(字节)"`
|
||
ULStats *string `json:"ul_stats,omitempty" description:"本次开机上传流量(字节)"`
|
||
LimitSpeed *int `json:"limit_speed,omitempty" description:"限速速率(KB/s)"`
|
||
|
||
// 设备属性
|
||
CurrentIccid *string `json:"current_iccid,omitempty" description:"当前使用的ICCID"`
|
||
MaxClients *int `json:"max_clients,omitempty" description:"最大连接客户端数"`
|
||
ClientNumber *int `json:"client_number,omitempty" description:"当前已连接客户端数"`
|
||
SoftwareVersion *string `json:"software_version,omitempty" description:"软件版本号"`
|
||
SwitchMode *string `json:"switch_mode,omitempty" description:"切卡模式:0=自动,1=手动"`
|
||
SyncInterval *int `json:"sync_interval,omitempty" description:"信息上报周期(秒)"`
|
||
|
||
// Gateway 标识字段
|
||
DeviceID *string `json:"device_id,omitempty" description:"Gateway设备ID(IMEI/SN)"`
|
||
DeviceName *string `json:"device_name,omitempty" description:"Gateway返回的设备名称"`
|
||
DeviceType *string `json:"device_type,omitempty" description:"Gateway返回的设备类型"`
|
||
IMEI *string `json:"imei,omitempty" description:"IMEI号"`
|
||
IMSI *string `json:"imsi,omitempty" description:"IMSI用户标识码"`
|
||
}
|
||
|
||
// AssetOrdersRequest 资产历史订单查询请求
|
||
type AssetOrdersRequest struct {
|
||
Identifier string `path:"identifier" description:"资产标识符(ICCID 或 VirtualNo)" required:"true"`
|
||
Page int `query:"page" validate:"omitempty,min=1" minimum:"1" description:"页码(默认1)"`
|
||
PageSize int `query:"page_size" validate:"omitempty,min=1,max=100" minimum:"1" maximum:"100" description:"每页条数(默认20,最大100)"`
|
||
IncludePrevious bool `query:"include_previous" description:"是否包含前代订单,默认false"`
|
||
}
|
||
|
||
// AssetOrderItemDetail 订单中的套餐明细
|
||
type AssetOrderItemDetail struct {
|
||
PackageName string `json:"package_name" description:"套餐名称快照"`
|
||
Quantity int `json:"quantity" description:"数量"`
|
||
UnitPrice int64 `json:"unit_price" description:"单价(分)"`
|
||
Amount int64 `json:"amount" description:"小计金额(分)"`
|
||
}
|
||
|
||
// AssetOrderItem 资产历史订单条目
|
||
type AssetOrderItem struct {
|
||
OrderNo string `json:"order_no" description:"订单号"`
|
||
OrderType string `json:"order_type" description:"订单类型:single_card/device"`
|
||
PaymentStatus int `json:"payment_status" description:"支付状态:1待支付 2已支付 3已取消 4已退款"`
|
||
PaymentStatusText string `json:"payment_status_text" description:"支付状态文本"`
|
||
TotalAmount int64 `json:"total_amount" description:"订单金额(分)"`
|
||
PaymentMethod string `json:"payment_method" description:"支付方式:wallet/wechat/alipay/offline"`
|
||
PaidAt *time.Time `json:"paid_at,omitempty" description:"支付时间"`
|
||
Generation int `json:"generation" description:"订单所属资产世代编号"`
|
||
Items []*AssetOrderItemDetail `json:"items" description:"套餐明细列表"`
|
||
CreatedAt time.Time `json:"created_at" description:"订单创建时间"`
|
||
}
|
||
|
||
// GenerationOrders 本代订单块(支持分页)
|
||
type GenerationOrders struct {
|
||
Generation int `json:"generation" description:"世代编号"`
|
||
Identifier string `json:"identifier" description:"资产标识符"`
|
||
AssetType string `json:"asset_type" description:"资产类型:card 或 device"`
|
||
Total int64 `json:"total" description:"总订单数"`
|
||
Page int `json:"page" description:"当前页码"`
|
||
PageSize int `json:"page_size" description:"每页条数"`
|
||
Items []*AssetOrderItem `json:"items" description:"订单列表"`
|
||
}
|
||
|
||
// PreviousGenerationOrders 前代订单块(最多20条,不分页)
|
||
type PreviousGenerationOrders struct {
|
||
Generation int `json:"generation" description:"前代世代编号"`
|
||
Identifier string `json:"identifier" description:"前代资产标识符"`
|
||
AssetType string `json:"asset_type" description:"前代资产类型:card 或 device"`
|
||
ExchangeNo string `json:"exchange_no" description:"换货单号"`
|
||
ExchangedAt time.Time `json:"exchanged_at" description:"换货完成时间"`
|
||
Total int64 `json:"total" description:"前代总订单数"`
|
||
Items []*AssetOrderItem `json:"items" description:"前代订单列表(最多20条)"`
|
||
}
|
||
|
||
// AssetOrdersResponse 资产历史订单完整响应
|
||
type AssetOrdersResponse struct {
|
||
CurrentGeneration *GenerationOrders `json:"current_generation" description:"本代订单(含分页)"`
|
||
PreviousGenerations []*PreviousGenerationOrders `json:"previous_generations,omitempty" description:"前代订单列表(include_previous=true时返回)"`
|
||
Truncated bool `json:"truncated" description:"是否已截断(换货链超过10代追溯上限时为true)"`
|
||
}
|
||
|
||
// UpdateAssetPollingStatusRequest 更新资产轮询状态请求
|
||
type UpdateAssetPollingStatusRequest struct {
|
||
Identifier string `path:"identifier" description:"资产标识符(ICCID 或 VirtualNo)" required:"true"`
|
||
EnablePolling bool `json:"enable_polling" description:"是否启用轮询 (true:启用, false:禁用)"`
|
||
}
|
||
|
||
// UpdateAssetPollingStatusResponse 更新资产轮询状态响应
|
||
type UpdateAssetPollingStatusResponse struct {
|
||
AssetType string `json:"asset_type" description:"资产类型 (card:IoT卡, device:设备)"`
|
||
AssetID uint `json:"asset_id" description:"资产ID"`
|
||
EnablePolling bool `json:"enable_polling" description:"更新后的轮询状态 (true:已启用, false:已禁用)"`
|
||
}
|
||
|
||
// UpdateAssetRealnamePolicyRequest 更新资产实名认证策略请求
|
||
type UpdateAssetRealnamePolicyRequest struct {
|
||
Identifier string `path:"identifier" description:"资产标识符(ICCID 或 VirtualNo)" required:"true"`
|
||
RealnamePolicy string `json:"realname_policy" description:"实名认证策略 (none:无需实名, before_order:先实名后充值/购买, after_order:先充值/购买后实名)" required:"true" enum:"none,before_order,after_order"`
|
||
}
|
||
|
||
// UpdateAssetRealnamePolicyResponse 更新资产实名认证策略响应
|
||
type UpdateAssetRealnamePolicyResponse struct {
|
||
AssetType string `json:"asset_type" description:"资产类型 (card:IoT卡, device:设备)"`
|
||
AssetID uint `json:"asset_id" description:"资产ID"`
|
||
RealnamePolicy string `json:"realname_policy" description:"更新后的实名认证策略 (none:无需实名, before_order:先实名后充值/购买, after_order:先充值/购买后实名)"`
|
||
}
|
||
|
||
// UpdateAssetRealnameStatusRequest 手动更新资产实名状态请求
|
||
type UpdateAssetRealnameStatusRequest struct {
|
||
Identifier string `path:"identifier" description:"资产标识符(ICCID 或 VirtualNo)" required:"true"`
|
||
RealNameStatus int `json:"real_name_status" description:"实名状态 (0:未实名, 1:已实名)" required:"true" enum:"0,1"`
|
||
}
|
||
|
||
// UpdateAssetRealnameStatusResponse 手动更新资产实名状态响应
|
||
type UpdateAssetRealnameStatusResponse struct {
|
||
AssetType string `json:"asset_type" description:"资产类型 (card:IoT卡)"`
|
||
AssetID uint `json:"asset_id" description:"资产ID"`
|
||
RealNameStatus int `json:"real_name_status" description:"更新后的实名状态 (0:未实名, 1:已实名)"`
|
||
RealNameStatusName string `json:"real_name_status_name" description:"实名状态名称(中文)"`
|
||
FirstRealnameAt *time.Time `json:"first_realname_at" description:"首次实名时间(仅已实名时可能有值)"`
|
||
}
|