fix: C端资产详情设备补充已连接数(client_number)字段
Some checks failed
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Has been cancelled

Gateway sync-info 返回的 client_number 字段未在整条数据链路中传递,
导致 C 端资产详情的设备实时状态缺少已连接客户端数。

修改范围:
- Gateway 模型 SyncDeviceInfoResp 新增 ClientNumber
- B 端 DTO DeviceGatewayInfo 新增 ClientNumber
- C 端 DTO DeviceRealtimeInfo 新增 ClientNumber
- 两层映射函数同步补充字段传递
This commit is contained in:
2026-03-30 10:18:30 +08:00
parent cebcada950
commit 50dbc52432
5 changed files with 10 additions and 2 deletions

View File

@@ -216,8 +216,9 @@ type SyncDeviceInfoResp struct {
LANIP string `json:"lan_ip" description:"局域网网关IP地址"`
// 连接相关D-10 补全)
MaxClients FlexInt `json:"max_clients" description:"最大连接客户端数"`
ConnectTime string `json:"connect_time" description:"设备本次联网时间(秒)"`
MaxClients FlexInt `json:"max_clients" description:"最大连接客户端数"`
ClientNumber FlexInt `json:"client_number" description:"当前已连接客户端数"`
ConnectTime string `json:"connect_time" description:"设备本次联网时间(秒)"`
// 设备属性D-10 补全)
Status FlexInt `json:"status" description:"设备状态1=正常0=禁用"`

View File

@@ -653,6 +653,10 @@ func mapDeviceGatewayInfoToClientInfo(g *dto.DeviceGatewayInfo) *dto.DeviceRealt
v := int64(*g.MaxClients)
info.MaxClients = &v
}
if g.ClientNumber != nil {
v := int64(*g.ClientNumber)
info.ClientNumber = &v
}
info.SoftwareVersion = g.SoftwareVersion
if g.SwitchMode != nil {
// SwitchMode 在 B 端为字符串("0"/"1"C 端为整型0/1需解析转换

View File

@@ -184,6 +184,7 @@ type DeviceGatewayInfo struct {
// 设备属性
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:"信息上报周期(秒)"`

View File

@@ -103,6 +103,7 @@ type DeviceRealtimeInfo struct {
// === 设备属性 ===
CurrentIccid *string `json:"current_iccid,omitempty" description:"当前使用的ICCID"`
MaxClients *int64 `json:"max_clients,omitempty" description:"最大连接客户端数"`
ClientNumber *int64 `json:"client_number,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:"信息上报周期(秒)"`

View File

@@ -385,6 +385,7 @@ func mapSyncRespToDeviceGatewayInfo(r *gateway.SyncDeviceInfoResp) *dto.DeviceGa
LimitSpeed: flexIntPtr(r.LimitSpeed),
CurrentIccid: strPtr(r.CurrentIccid),
MaxClients: flexIntPtr(r.MaxClients),
ClientNumber: flexIntPtr(r.ClientNumber),
SoftwareVersion: strPtr(r.SoftwareVersion),
SwitchMode: strPtr(r.SwitchMode),
SyncInterval: flexIntPtr(r.SyncInterval),