This commit is contained in:
@@ -149,15 +149,40 @@ func (h *ClientAssetHandler) GetAssetInfo(c *fiber.Ctx) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
resp := &dto.AssetInfoResponse{
|
resp := &dto.AssetInfoResponse{
|
||||||
AssetType: resolved.Asset.AssetType,
|
AssetType: resolved.Asset.AssetType,
|
||||||
AssetID: resolved.Asset.AssetID,
|
AssetID: resolved.Asset.AssetID,
|
||||||
Identifier: resolved.Identifier,
|
Identifier: resolved.Identifier,
|
||||||
VirtualNo: resolved.Asset.VirtualNo,
|
VirtualNo: resolved.Asset.VirtualNo,
|
||||||
Status: resolved.Asset.Status,
|
Status: resolved.Asset.Status,
|
||||||
RealNameStatus: resolved.Asset.RealNameStatus,
|
RealNameStatus: resolved.Asset.RealNameStatus,
|
||||||
CarrierName: resolved.Asset.CarrierName,
|
CarrierName: resolved.Asset.CarrierName,
|
||||||
Generation: strconv.Itoa(resolved.Generation),
|
Generation: strconv.Itoa(resolved.Generation),
|
||||||
WalletBalance: resolved.WalletBalance,
|
WalletBalance: resolved.WalletBalance,
|
||||||
|
ActivatedAt: resolved.Asset.ActivatedAt,
|
||||||
|
CurrentPackage: resolved.Asset.CurrentPackage,
|
||||||
|
PackageTotalMB: resolved.Asset.PackageTotalMB,
|
||||||
|
PackageUsedMB: resolved.Asset.PackageUsedMB,
|
||||||
|
PackageRemainMB: resolved.Asset.PackageRemainMB,
|
||||||
|
DeviceName: resolved.Asset.DeviceName,
|
||||||
|
IMEI: resolved.Asset.IMEI,
|
||||||
|
SN: resolved.Asset.SN,
|
||||||
|
DeviceModel: resolved.Asset.DeviceModel,
|
||||||
|
DeviceType: resolved.Asset.DeviceType,
|
||||||
|
Manufacturer: resolved.Asset.Manufacturer,
|
||||||
|
MaxSimSlots: resolved.Asset.MaxSimSlots,
|
||||||
|
BoundCardCount: resolved.Asset.BoundCardCount,
|
||||||
|
Cards: resolved.Asset.Cards,
|
||||||
|
DeviceProtectStatus: resolved.Asset.DeviceProtectStatus,
|
||||||
|
ICCID: resolved.Asset.ICCID,
|
||||||
|
MSISDN: resolved.Asset.MSISDN,
|
||||||
|
CarrierID: resolved.Asset.CarrierID,
|
||||||
|
CarrierType: resolved.Asset.CarrierType,
|
||||||
|
NetworkStatus: resolved.Asset.NetworkStatus,
|
||||||
|
ActivationStatus: resolved.Asset.ActivationStatus,
|
||||||
|
CardCategory: resolved.Asset.CardCategory,
|
||||||
|
BoundDeviceID: resolved.Asset.BoundDeviceID,
|
||||||
|
BoundDeviceNo: resolved.Asset.BoundDeviceNo,
|
||||||
|
BoundDeviceName: resolved.Asset.BoundDeviceName,
|
||||||
}
|
}
|
||||||
|
|
||||||
return response.Success(c, resp)
|
return response.Success(c, resp)
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
package dto
|
package dto
|
||||||
|
|
||||||
|
import "time"
|
||||||
|
|
||||||
// ========================================
|
// ========================================
|
||||||
// B1 资产信息
|
// B1 资产信息
|
||||||
// ========================================
|
// ========================================
|
||||||
@@ -10,16 +12,107 @@ type AssetInfoRequest struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// AssetInfoResponse B1 资产信息响应
|
// AssetInfoResponse B1 资产信息响应
|
||||||
|
// 根据 asset_type 不同,设备专属字段或卡专属字段会分别填充(另一侧为零值/omit)
|
||||||
type AssetInfoResponse struct {
|
type AssetInfoResponse struct {
|
||||||
AssetType string `json:"asset_type" description:"资产类型 (card:卡, device:设备)"`
|
// === 基础信息(通用) ===
|
||||||
AssetID uint `json:"asset_id" description:"资产ID"`
|
AssetType string `json:"asset_type" description:"资产类型(card:卡, device:设备)"`
|
||||||
Identifier string `json:"identifier" description:"资产标识符"`
|
AssetID uint `json:"asset_id" description:"资产ID"`
|
||||||
VirtualNo string `json:"virtual_no" description:"虚拟号"`
|
Identifier string `json:"identifier" description:"资产标识符"`
|
||||||
Status int `json:"status" description:"状态 (0:禁用, 1:启用)"`
|
VirtualNo string `json:"virtual_no" description:"虚拟号"`
|
||||||
RealNameStatus int `json:"real_name_status" description:"实名状态 (0:未实名, 1:已实名)"`
|
Status int `json:"status" description:"状态(1:在库, 2:已分销, 3:已激活, 4:已停用)"`
|
||||||
CarrierName string `json:"carrier_name" description:"运营商名称"`
|
RealNameStatus int `json:"real_name_status" description:"实名状态(0:未实名, 1:已实名)"`
|
||||||
Generation string `json:"generation" description:"制式"`
|
CarrierName string `json:"carrier_name" description:"运营商名称"`
|
||||||
WalletBalance int64 `json:"wallet_balance" description:"钱包余额(分)"`
|
Generation string `json:"generation" description:"世代"`
|
||||||
|
WalletBalance int64 `json:"wallet_balance" description:"钱包余额(分)"`
|
||||||
|
ActivatedAt *time.Time `json:"activated_at,omitempty" description:"激活时间"`
|
||||||
|
|
||||||
|
// === 套餐信息(通用) ===
|
||||||
|
CurrentPackage string `json:"current_package" description:"当前套餐名称(无套餐时为空)"`
|
||||||
|
PackageTotalMB int64 `json:"package_total_mb" description:"当前套餐总虚流量(MB),已按虚流量比例换算"`
|
||||||
|
PackageUsedMB float64 `json:"package_used_mb" description:"当前已用虚流量(MB),已按虚流量比例换算"`
|
||||||
|
PackageRemainMB float64 `json:"package_remain_mb" description:"当前剩余虚流量(MB),已按虚流量比例换算"`
|
||||||
|
|
||||||
|
// === 设备专属字段(asset_type=device 时有效) ===
|
||||||
|
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:"设备类型"`
|
||||||
|
Manufacturer string `json:"manufacturer,omitempty" description:"制造商"`
|
||||||
|
MaxSimSlots int `json:"max_sim_slots,omitempty" description:"最大插槽数"`
|
||||||
|
BoundCardCount int `json:"bound_card_count,omitempty" description:"绑定卡数量"`
|
||||||
|
Cards []BoundCardInfo `json:"cards,omitempty" description:"绑定卡列表(含每张卡的ICCID/MSISDN/网络状态/实名状态/插槽位置)"`
|
||||||
|
DeviceProtectStatus string `json:"device_protect_status,omitempty" description:"设备保护期状态(none:无, stop:停机保护, start:开机保护)"`
|
||||||
|
|
||||||
|
// === 卡专属字段(asset_type=card 时有效) ===
|
||||||
|
ICCID string `json:"iccid,omitempty" description:"卡ICCID"`
|
||||||
|
MSISDN string `json:"msisdn,omitempty" description:"手机号"`
|
||||||
|
CarrierID uint `json:"carrier_id,omitempty" description:"运营商ID"`
|
||||||
|
CarrierType string `json:"carrier_type,omitempty" description:"运营商类型(CMCC/CUCC/CTCC/CBN)"`
|
||||||
|
NetworkStatus int `json:"network_status,omitempty" description:"网络状态(0:停机, 1:开机)"`
|
||||||
|
ActivationStatus int `json:"activation_status,omitempty" description:"激活状态(0:未激活, 1:已激活)"`
|
||||||
|
CardCategory string `json:"card_category,omitempty" description:"卡业务类型(normal:普通卡, industry:行业卡)"`
|
||||||
|
|
||||||
|
// === 卡绑定设备信息(asset_type=card 且绑定了设备时有效) ===
|
||||||
|
BoundDeviceID *uint `json:"bound_device_id,omitempty" description:"绑定的设备ID"`
|
||||||
|
BoundDeviceNo string `json:"bound_device_no,omitempty" description:"绑定的设备虚拟号"`
|
||||||
|
BoundDeviceName string `json:"bound_device_name,omitempty" description:"绑定的设备名称"`
|
||||||
|
|
||||||
|
// === 设备实时状态(来自 Gateway,同步接口对接后自动填充,当前返回 null) ===
|
||||||
|
DeviceRealtime *DeviceRealtimeInfo `json:"device_realtime,omitempty" description:"设备实时状态(Gateway 同步接口对接后填充,当前为 null)"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeviceRealtimeInfo 设备实时状态信息
|
||||||
|
// 全量映射 Gateway DeviceInfoDetail 结构,所有字段均为可选
|
||||||
|
// 当前 Gateway 同步接口尚未对接,预留结构待后续填充
|
||||||
|
type DeviceRealtimeInfo struct {
|
||||||
|
// === 设备状态 ===
|
||||||
|
OnlineStatus *int64 `json:"online_status,omitempty" description:"在线状态(1:在线, 2:离线)"`
|
||||||
|
BatteryLevel *int64 `json:"battery_level,omitempty" description:"电池电量百分比"`
|
||||||
|
Status *int64 `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 *int64 `json:"rsrp,omitempty" description:"参考信号接收功率(dBm)"`
|
||||||
|
Rsrq *int64 `json:"rsrq,omitempty" description:"参考信号接收质量(dB)"`
|
||||||
|
Rssi *string `json:"rssi,omitempty" description:"接收信号强度"`
|
||||||
|
Sinr *int64 `json:"sinr,omitempty" description:"信噪比(dB)"`
|
||||||
|
|
||||||
|
// === 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 *int64 `json:"limit_speed,omitempty" description:"限速速率(KB/s)"`
|
||||||
|
|
||||||
|
// === 设备属性 ===
|
||||||
|
CurrentIccid *string `json:"current_iccid,omitempty" description:"当前使用的ICCID"`
|
||||||
|
MaxClients *int64 `json:"max_clients,omitempty" description:"最大连接客户端数"`
|
||||||
|
SoftwareVersion *string `json:"software_version,omitempty" description:"软件版本号"`
|
||||||
|
SwitchMode *int `json:"switch_mode,omitempty" description:"切卡模式(0:自动, 1:手动)"`
|
||||||
|
SyncInterval *int64 `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:"Gateway返回的IMEI号"`
|
||||||
|
Imsi *string `json:"imsi,omitempty" description:"Gateway返回的IMSI"`
|
||||||
|
CreatedAt *int64 `json:"created_at,omitempty" description:"Gateway创建时间(Unix时间戳)"`
|
||||||
|
UpdatedAt *int64 `json:"updated_at,omitempty" description:"Gateway更新时间(Unix时间戳)"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// ========================================
|
// ========================================
|
||||||
|
|||||||
Reference in New Issue
Block a user