设备与资产字段模型

验证状态:已源码核验、未联调;适用基线:Web aa138d8、services a3e783d2;核验日期:2026-09-12

本页是本资源族操作页复用的字段正本。字段来自当前 HTTP DTO、Plus DTO、Mapper、Controller、Service 和 JSON 配置;Java LocalDateTime 在 HTTP JSON 中是 UTC epoch 秒,顶层 timestamp 是 epoch 毫秒。未被 Bean Validation 或数据库映射闭合的可空性明确保留为未知。

通用查询控制字段

JSON 路径 JSON 类型 必填 可空 默认值/范围 语义与证据
sqlQueryCriteriaLike boolean DTO 默认 true 字符串默认模糊匹配;部分 count 强制改为 false
sqlQueryCriteria object<string,string> {} Mapper 只消费已实现的字段操作;不能发送任意 SQL
sqlQuerySorter.field string 仅 Mapper 白名单字段稳定
sqlQuerySorter.order string ascend 为升序,其余已实现分支通常降序 当前 Web 只发送 ascend 或省略
sqlQueryLimit number 通常省略为 100;钳制 1..100000 list/listCache 由 QueryLimits.normalizeSqlQueryLimit 处理;数据采集设备 listCache 的省略值例外为 1000
current/pageSize number page 时 Web 发送 Java primitive 省略为 0 Controller 未声明范围校验;当前 Web 从 1、10 开始
审计时间 *RangeStart/End number UTC epoch 秒;Mapper 的结束边界使用 <
tenantId/tenantIds[] string / array 服务端作用域字段;不能代替认证空间

各资源 list/page DTO 中的业务筛选字段均可省略并接受 JSON null,默认不增加该字段条件;响应 DTO 未用非空注解约束数据库结果,因此除 Controller 明确构造的在线布尔值、计数和分页元数据外,可空性记为未知。sqlQueryCriteria 在 DTO 初始化为 {},但调用方显式发送 null 可能使需要注入数据权限的 Controller 失败,必须省略或发送 object。

设备基类字段

采集盒、采集设备、采集服务器和 Janus server 复用设备基类。查询/返回可含 deviceId/deviceModelId/orgId/deviceNo/name/intro/state/installedLocation/childTableName/janusNo/stunServer/turnServer/turnUsername/turnCredential/sourceUsername/sourceTenantId/sourceDeviceId/cloudServiceDomainName/authorizationCode(string),installedTime/createdTime/lastModifiedTime/deleteTime(number,UTC epoch 秒)和 revision(number)。返回可空性未由 DTO 保证。

写入时 deviceNo 必填、1..36;deviceId/deviceModelId/sourceTenantId/sourceDeviceId 最长 32,orgId/janusNo/sourceUsername 最长 36,name/turnUsername/turnCredential/authorizationCode 最长 256,intro/installedLocation 最长 1024,stunServer/turnServer 最长 512,cloudServiceDomainName 最长 64。更新还要求 deviceIdturnCredentialauthorizationCode 是敏感字段,当前 DTO/Mapper 可能返回;客户端不得记录或回传无关值。

JSON 路径 JSON 类型 保存必填 更新必填 可空 默认值 约束/语义 字段证据
deviceId string 保存可空;更新否 子类型保存函数可用专用 ID 补齐 最长 32;子类型更新会覆盖为专用 ID DeviceSaveRequestDTO:26-28DeviceUpdateRequestDTO:26-29
deviceModelId string 最长 32 同上 DTO :30-33
orgId string 最长 36 同上 DTO :34-37
deviceNo string 1..36;采集资产另做全局重复检查 同上 DTO :38-42
name string Janus 是;其余否 Janus 是;其余否 通常是 最长 256;Janus Controller 另拒绝空白 DTO :43-46JanusServerController.validateName
intro/state/installedLocation string 最长 1024/128/1024 Device save/update DTO
installedTime number UTC epoch 秒 JsonFormatConfig.localDateTime*
childTableName string 由子类型函数覆盖 最长 256;客户端值不会决定实际子表 Device save/update DTO 与各 Save/Update Function
revision number 源码未给范围 Device save/update DTO
janusNo/sourceUsername string 最长 36 Device save/update DTO
stunServer/turnServer string 最长 512 Device save/update DTO
turnUsername/turnCredential string 最长 256;credential 敏感 Device save/update DTO
sourceTenantId/sourceDeviceId string 最长 32 Device save/update DTO
cloudServiceDomainName string 最长 64 Device save/update DTO
authorizationCode string 最长 256;设备绑定校验使用,敏感 Device DTO;DataAcquisitionDevicePlusMapper.selectPlusColumns

设备型号基类字段

型号查询/返回字段为 deviceModelId/manufacturerId/deviceTypeId/deviceModelCode/name/intro/state/childTableName/createdUsername/lastModifiedUsername/tenantId(string),审计时间(UTC epoch 秒)与 revision(number)。写入必填 manufacturerId/deviceTypeId/deviceModelCode,长度分别 32/32/36;name 256、intro 1024、state 128、childTableName 256。更新还要求 deviceModelId

JSON 路径 JSON 类型 保存必填 更新必填 可空 默认值 约束/语义 字段证据
deviceModelId string 保存可空;更新否 子类型可用专用 ID 补齐 最长 32 DeviceModelSaveRequestDTO:26-28;Update DTO :26-29
manufacturerId string 1..32 DeviceModel save/update DTO
deviceTypeId string 1..32 DeviceModel save/update DTO
deviceModelCode string 1..36;Controller 精确查重 DeviceModel save/update DTO 与各 Model Controller
name/intro/state string 最长 256/1024/128 DeviceModel save/update DTO
childTableName string 子类型函数覆盖 最长 256 DeviceModel DTO 与各 Model Save/Update Function
revision number 源码未给范围 DeviceModel save/update DTO

数据采集盒

查询/返回由设备基类字段dataAcquisitionBoxId: string;列表另给 orgNo/orgName/deviceModelCode/deviceModelName: string

JSON 路径 JSON 类型 查询必填 查询可空 返回可空 默认值 说明 字段证据
设备基类查询/返回字段 见基类 未知 继承字段 设备基类
dataAcquisitionBoxId string 未知 专用主键,提供时精确匹配 DataAcquisitionBox List/Get DTO
orgNo/orgName/deviceModelCode/deviceModelName string 不作为本 DTO 筛选 不适用 未知 Plus 列表派生投影 DataAcquisitionBoxListPlusResponseDTO

保存的 dataAcquisitionBoxId 可省略、最长 32;省略 deviceId 时服务会令两个 ID 相同。更新要求专用 ID、deviceId/deviceNo,随后会把 deviceId 强制改为专用 ID;调用方应保持两个 ID 相同。

JSON 路径 JSON 类型 保存必填 更新必填 可空 默认值 约束/语义 字段证据
设备基类写入字段 见基类 见基类 见基类 见基类 见基类 deviceNo 必填;更新另要求 deviceId 设备基类
dataAcquisitionBoxId string 保存可空;更新否 生成 UUID 最长 32;更新时覆盖 deviceId DataAcquisitionBoxSave/UpdatePlusRequestDTO;对应 Function

数据采集盒型号

查询/返回由设备型号基类字段dataAcquisitionBoxModelId: stringdataAcquisitionPort: number

JSON 路径 JSON 类型 查询必填 查询可空 返回可空 默认值 说明 字段证据
型号基类查询/返回字段 见基类 未知 继承字段 设备型号基类
dataAcquisitionBoxModelId string 未知 专用主键 BoxModel Plus DTO
dataAcquisitionPort number 未知 端口范围/单位未由源码约束 BoxModel Plus DTO

保存的专用 ID 可省略、最长 32;省略 deviceModelId 时服务会令两个 ID 相同。更新请求先校验两个 ID 必填,随后把基类 ID 强制改为专用 ID;调用方应保持两者相同。dataAcquisitionPort 为可选 number,源码未给端口范围。

JSON 路径 JSON 类型 保存必填 更新必填 可空 默认值 约束/语义 字段证据
型号基类写入字段 见基类 见基类 见基类 见基类 见基类 厂商、类型、型号代码必填 设备型号基类
dataAcquisitionBoxModelId string 保存可空;更新否 生成 UUID 最长 32;更新时覆盖基类 ID BoxModel Save/UpdatePlus DTO;对应 Function
dataAcquisitionPort number 源码未给范围 BoxModel Save/UpdatePlus DTO

数据采集设备

查询由设备基类字段dataAcquisitionDeviceId/dataAcquisitionServerId/dataAcquisitionServerNo: stringweight: number。返回还含 onlineStatus/iotOnlineStatus/webrtcOnlineStatus: booleanorgNo/orgName/treeOrgName/deviceModelCode/deviceModelName/deviceManage/lastClickedDeviceLiveTime: string,可嵌套 dataAcquisitionServerfirmwarePackage;动态字段可空。

JSON 路径 JSON 类型 查询必填 查询可空 返回可空 默认值 说明 字段证据
设备基类查询/返回字段 见基类 未知 继承字段 设备基类
dataAcquisitionDeviceId/dataAcquisitionServerId/dataAcquisitionServerNo string 未知 设备与绑定服务器筛选/投影 DataAcquisitionDevice Plus DTO
weight number 不返回 查询权重;范围/单位未闭合 DataAcquisitionDeviceListPlusRequestDTO
onlineStatus/iotOnlineStatus/webrtcOnlineStatus boolean 不作为数据库筛选 不适用 Controller 构造为非空 boolean false(未查到/未在线) 读取时缓存在线状态 Controller fill/enrichOnlineStatuses
orgNo/orgName/treeOrgName/deviceModelCode/deviceModelName/deviceManage/lastClickedDeviceLiveTime string 否(仅部分字段可筛选) 未知 点击时间缺失时 "1" Plus 投影与用户缓存动态字段 DataAcquisitionDeviceListPlusResponseDTO;Controller
dataAcquisitionServer/firmwarePackage object 关联服务器/固件;接口不同可能不填充 Plus Response DTO;Controller enrichment

保存的 dataAcquisitionDeviceId/dataAcquisitionServerId 可省略、最长 32,并可带导入解析用的 orgNo/orgName/deviceModelCode/deviceModelName/dataAcquisitionServerNo。省略 deviceId 时服务令其等于采集设备 ID。更新要求 dataAcquisitionDeviceId/deviceId/deviceNo,随后强制令两个设备 ID 相同;服务器 ID 省略时会清除已有服务器绑定。

JSON 路径 JSON 类型 保存必填 更新必填 可空 默认值 约束/语义 字段证据
设备基类写入字段 见基类 见基类 见基类 见基类 见基类 deviceNo 必填;更新另要求 deviceId 设备基类
dataAcquisitionDeviceId string 保存可空;更新否 生成 UUID 最长 32;更新覆盖 deviceId Device Save/UpdatePlus DTO;对应 Function
dataAcquisitionServerId string 最长 32;空值清除设备现有绑定 Device Save/UpdatePlus DTO;绑定 Service save
orgNo/orgName/deviceModelCode/deviceModelName/dataAcquisitionServerNo string 常规保存否 常规更新不使用 导入 listener 用编号解析 ID SavePlus DTO;DataAcquisitionDeviceMessagesPlusListener

数据采集设备型号

查询/返回由设备型号基类字段dataAcquisitionDeviceModelId/manufacturerNo/manufacturerName/deviceTypeCode/deviceTypeName: string

JSON 路径 JSON 类型 查询必填 查询可空 返回可空 默认值 说明 字段证据
型号基类查询/返回字段 见基类 未知 继承字段 设备型号基类
dataAcquisitionDeviceModelId string 未知 专用主键 DeviceModel Plus DTO
manufacturerNo/deviceTypeCode string 未知 可选关联编号筛选 ListPlusRequest/Response DTO
manufacturerName/deviceTypeName string 不作为本 DTO 筛选 不适用 未知 关联名称投影 List/Get PlusResponse DTO

保存的专用 ID 可省略、最长 32;省略基类 ID 时服务令两者相同。更新先校验两个 ID 必填,随后强制令其相同;其余必填与长度见设备型号基类。

JSON 路径 JSON 类型 保存必填 更新必填 可空 默认值 约束/语义 字段证据
型号基类写入字段 见基类 见基类 见基类 见基类 见基类 厂商、类型、型号代码必填 设备型号基类
dataAcquisitionDeviceModelId string 保存可空;更新否 生成 UUID 最长 32;更新覆盖基类 ID DeviceModel Save/UpdatePlus DTO;对应 Function

数据采集服务器

设备基类字段外,地址字段 domainName/externalIp/internalIp/privateIp 为 string;对应 *WebPort/*UploadPort 为 number,源码未给端口范围。列表/详情还可含 onlineStatus/iotOnlineStatus/fileOnlineStatus/webrtcOnlineStatus: booleanorgNo/orgName/deviceModelCode/deviceModelName: stringdataAcquisitionDeviceCount: number 与嵌套最新固件。

JSON 路径 JSON 类型 查询必填 查询可空 返回可空 默认值 说明 字段证据
设备基类查询/返回字段 见基类 未知 继承字段 设备基类
dataAcquisitionServerId/dataAcquisitionDeviceNo/dataAcquisitionDeviceId string 专用 ID 未知;设备条件不返回 服务器主键及反查绑定设备的筛选 Server ListPlusRequest DTO
domainName/externalIp/internalIp/privateIp string 未知 地址字符串;不校验格式 Server Plus DTO
八个 *WebPort/*UploadPort number 未知 四类地址各有 Web/Upload 端口;范围/单位未由源码约束 Server Plus DTO
onlineStatus/iotOnlineStatus/fileOnlineStatus/webrtcOnlineStatus boolean 不作为数据库筛选 不适用 Controller 构造为非空 boolean false(未查到/未在线) 读取时缓存在线状态;接口不同填充集合不同 Server Controller
orgNo/orgName/deviceModelCode/deviceModelName string 不作为本 DTO 筛选 不适用 未知 Plus 投影字段 Server ListPlusResponse DTO
dataAcquisitionDeviceCount number 不适用 不适用 否(分页构造) 0 分页逐项统计绑定数 Server Controller page
firmwarePackage object 不适用 不适用 分页可能补最新固件 Server Controller page

保存的 dataAcquisitionServerId 可省略、最长 32;省略 deviceId 时服务令两个 ID 相同。更新要求专用 ID 与 deviceId/deviceNo,随后强制令两个 ID 相同。四类地址最长 512,端口是可选 number。导入还可用 orgNo/orgName/deviceModelCode/deviceModelName 解析关系。

JSON 路径 JSON 类型 保存必填 更新必填 可空 默认值 约束/语义 字段证据
dataAcquisitionServerId string 保存可空;更新否 生成 UUID 最长 32;与基类 ID 共用值 DataAcquisitionServerSave/UpdatePlusRequestDTO
domainName/externalIp/internalIp/privateIp string 各最长 512;源码不验证地址格式 同上 Plus DTO
domainNameWebPort/domainNameUploadPort number 无源码范围 同上 Plus DTO
externalIpWebPort/externalIpUploadPort number 无源码范围 同上 Plus DTO
internalIpWebPort/internalIpUploadPort number 无源码范围 同上 Plus DTO
privateIpWebPort/privateIpUploadPort number 无源码范围 同上 Plus DTO
orgNo/orgName/deviceModelCode/deviceModelName string 常规保存否 常规更新不使用 导入 listener 用编号解析 ID SavePlus DTO;DataAcquisitionServerMessagesPlusListener.importList

采集服务器—采集设备绑定

查询/返回字段为 dataAcquisitionServerDataAcquisitionDeviceId/dataAcquisitionServerId/dataAcquisitionDeviceId/dataAcquisitionServerNo/dataAcquisitionServerName/dataAcquisitionDeviceNo/dataAcquisitionDeviceName/createdUsername/lastModifiedUsername/tenantId: string,审计时间为 UTC epoch 秒,revision 为 number。

JSON 路径 JSON 类型 查询必填 查询可空 返回可空 默认值 说明 字段证据
dataAcquisitionServerDataAcquisitionDeviceId/dataAcquisitionServerId/dataAcquisitionDeviceId string 未知 绑定及两端主键;提供时精确匹配 ListRequest DTO;PlusMapper selectPlusWhere
dataAcquisitionServerNo/dataAcquisitionServerName string 未知 服务器编号/名称,字符串按 like 开关匹配 ListPlusRequest/Response DTO
dataAcquisitionDeviceNo/dataAcquisitionDeviceName string 未知 设备编号/名称,字符串按 like 开关匹配 ListPlusRequest/Response DTO
createdUsername/lastModifiedUsername/tenantId string 未知 审计与租户字段 ListRequest/Response DTO
createdTime/lastModifiedTime/deleteTime number 仅 range 可查询 range 可空 未知 UTC epoch 秒 ListRequest/Response DTO;JsonFormatConfig
revision number 未知 精确匹配;范围未约束 ListRequest/Response DTO

保存必填 dataAcquisitionServerId/dataAcquisitionDeviceId(1..32),绑定 ID 可省略、最长 32;更新三个 ID 均必填、1..32,revision 可选 number。

JSON 路径 JSON 类型 保存必填 更新必填 可空 默认值 约束/语义 字段证据
dataAcquisitionServerDataAcquisitionDeviceId string 保存可空;更新否 保存可由 ORM 生成 最长 32 Save/UpdateRequestDTO
dataAcquisitionServerId string 1..32;目标服务器 Save/UpdateRequestDTO
dataAcquisitionDeviceId string 1..32;同租户当前态只允许一个绑定 Save/UpdateRequestDTO;Controller 查重
revision number 源码未给范围 Save/UpdateRequestDTO

数据采集服务器型号

查询/返回由设备型号基类字段dataAcquisitionServerModelId: string

JSON 路径 JSON 类型 查询必填 查询可空 返回可空 默认值 说明 字段证据
型号基类查询/返回字段 见基类 未知 继承字段 设备型号基类
dataAcquisitionServerModelId string 未知 专用主键 ServerModel Plus DTO

保存的专用 ID 可省略、最长 32;省略基类 ID 时服务令两者相同。更新先校验两个 ID 必填,随后强制令其相同。

JSON 路径 JSON 类型 保存必填 更新必填 可空 默认值 约束/语义 字段证据
型号基类写入字段 见基类 见基类 见基类 见基类 见基类 厂商、类型、型号代码必填 设备型号基类
dataAcquisitionServerModelId string 保存可空;更新否 生成 UUID 最长 32;更新覆盖基类 ID ServerModel Save/UpdatePlus DTO;对应 Function

设备类型

查询/返回字段为 deviceTypeId/deviceTypeCode/name/intro/parentDeviceTypeId/treeDeviceTypeId/treeDeviceTypeName/parentDeviceTypeCode/parentDeviceTypeName/createdUsername/lastModifiedUsername/tenantId: string,审计时间为 UTC epoch 秒,revision 为 number。

JSON 路径 JSON 类型 查询必填 查询可空 返回可空 默认值 说明 字段证据
deviceTypeId/deviceTypeCode/name/intro/parentDeviceTypeId/treeDeviceTypeId/treeDeviceTypeName string 未知 资源、父子及树路径筛选/返回字段 DeviceTypeListRequest/ResponseDTO
parentDeviceTypeCode/parentDeviceTypeName string 未知 Plus 查询与投影字段 device_type/DeviceTypeListPlusRequest/ResponseDTO
createdUsername/lastModifiedUsername/tenantId string 未知 审计与租户字段 ListRequest/Response DTO
审计时间 number 仅 range 可查询 range 可空 未知 UTC epoch 秒 ListRequest/Response DTO;JsonFormatConfig
revision number 未知 精确匹配;范围未约束 ListRequest/Response DTO

deviceTypeCode 必填、1..36;ID 保存可省略、更新必填、最长 32;name 256、intro 1024、父 ID 32。树路径字段 DTO 给出 Java int 最大长度,不能理解为可无限输入;树重建由服务端消息链维护。

JSON 路径 JSON 类型 保存必填 更新必填 可空 默认值 约束/语义 字段证据
deviceTypeId string 保存可空;更新否 保存可由 ORM 生成 最长 32 DeviceTypeSave/UpdateRequestDTO
deviceTypeCode string 1..36;当前可见范围精确查重 同上 DTO;DeviceTypeController
name string 最长 256 同上 DTO
intro string 最长 1024 同上 DTO
parentDeviceTypeId string 最长 32 同上 DTO
treeDeviceTypeId/treeDeviceTypeName string DTO 上限为 Java int 最大值;树消息会重建 同上 DTO;DeviceTypeService @MyMessage
revision number 源码未给范围 同上 DTO

设备厂商

查询/返回字段为 manufacturerId/manufacturerNo/name/intro/createdUsername/lastModifiedUsername/tenantId: string,审计时间为 UTC epoch 秒,revision 为 number。

JSON 路径 JSON 类型 查询必填 查询可空 返回可空 默认值 说明 字段证据
manufacturerId/manufacturerNo/name/intro string 未知 厂商筛选和返回字段 ManufacturerListRequest/ResponseDTO
createdUsername/lastModifiedUsername/tenantId string 未知 审计与租户字段 同上 DTO
审计时间 number 仅 range 可查询 range 可空 未知 UTC epoch 秒 同上 DTO;JsonFormatConfig
revision number 未知 精确匹配;范围未约束 同上 DTO

manufacturerNo 必填、1..36;ID 保存可省略、更新必填、最长 32;name 最长 256、intro 最长 1024。

JSON 路径 JSON 类型 保存必填 更新必填 可空 默认值 约束/语义 字段证据
manufacturerId string 保存可空;更新否 保存可由 ORM 生成 最长 32 ManufacturerSave/UpdateRequestDTO
manufacturerNo string 1..36;当前可见范围精确查重 同上 DTO;ManufacturerController
name string 最长 256 同上 DTO
intro string 最长 1024 同上 DTO
revision number 源码未给范围 同上 DTO

固件包

查询/返回字段为 firmwarePackageId/deviceModelId/version/description/filePath/md5/binaryHeader/tenantId(string),releaseDate/createdTime/lastModifiedTime/deleteTime(number,UTC epoch 秒),fileSize/revision(number)。Plus 返回还含厂商、设备类型和设备型号的 ID/编号/名称。持久化返回中的 binaryHeader 是 JSON string 或 null,不是嵌套 object。

JSON 路径 JSON 类型 查询必填 查询可空 返回可空 默认值 说明 字段证据
firmwarePackageId/deviceModelId/version/description/filePath/md5/binaryHeader/tenantId string 未知 固件筛选/返回字段;binaryHeader 返回为编码后的 JSON string FirmwarePackage List/Get DTO
releaseDate/createdTime/lastModifiedTime/deleteTime number 仅 range 可查询 range 可空 未知 UTC epoch 秒;range 结束不含 Firmware DTO;JsonFormatConfig;Mapper
fileSize/revision number 未知 精确筛选;范围未约束 Firmware DTO
manufacturerId/manufacturerNo/deviceTypeId/deviceTypeCode/deviceModelCode string 未知 Plus 关联筛选/投影 FirmwarePackageListPlusRequest/Response DTO
manufacturerName/deviceTypeName/deviceModelName string 不作为本 DTO 筛选 不适用 未知 Plus 关联名称投影 FirmwarePackage PlusResponse DTO

保存必填 deviceModelId(1..32)、version(1..256)、releaseDate(UTC epoch 秒)、filePath(1..1024)、md5(1..1024);ID 可省略。保存 HTTP 合同的 binaryHeader对象,Controller 编码成 string 持久化。更新还要求固件 ID;其 DTO 虽声明可选 string binaryHeader,当前 Service 不持久化该字段,Web 也不发送。fileSize/revision 是可选 number。

JSON 路径 JSON 类型 保存必填 更新必填 可空 默认值 约束/语义 字段证据
firmwarePackageId string 保存可空;更新否 保存时可由 ORM 生成 最长 32 FirmwarePackageSaveHttpRequestDTO:32-34;Update DTO :27-30
deviceModelId string 1..32 SaveHttp/Update DTO
version string 1..256;与型号组成查重键 SaveHttp/Update DTO;FirmwarePackageController
description string 最长 1024;更新允许写 null 清空 SaveHttp/Update DTO;FirmwarePackageService.updateById
releaseDate number UTC epoch 秒 DTO @NotNull LocalDateTime;JsonFormatConfig
filePath string 1..1024;新文件应为 Tus Location,持久化后改为下载相对路径 DTO;FirmwarePackageController 文件迁移分支
md5 string 1..1024;原始固件由浏览器计算,服务端不复算 DTO 与 Web original 表单
fileSize/revision number 源码未给范围 SaveHttp/Update DTO
binaryHeader object / string 保存为对象后编码;更新 string 当前不落库 SaveHttp DTO、Update DTO、FirmwareBinaryHeaderJsonCodec、FirmwarePackageService

固件二进制头

保存接口允许整个 binaryHeader 省略或为 null。若提供对象,Java record 没有 Bean Validation,源码没有把嵌套对象/字段声明为必填;为避免产生默认 0 或 null 的无效头,调用方应仅发送已由固件解析器完整得到的对象。

JSON 路径 JSON 类型 必填 可空 默认值 枚举/范围/单位 说明 字段证据
headTag object 否(提供 header 时应有) DTO 未禁止 null 固件头基础段 FirmwareBinaryHeader.HeadTag
headTag.magic/version number DTO 未约束 primitive 不表达 null;显式 null 行为未核验 缺字段反序列化值未作为合同 32 位有符号整数;单位/范围未知 魔数与头版本 HeadTag(int,int,String)
headTag.md5sum string DTO 未约束 格式/长度未由 DTO 校验 固件头声明的 MD5 HeadTag.md5sum
upgradeInfoTag object 否(提供 header 时应有) DTO 未禁止 null 升级信息段 FirmwareBinaryHeader.UpgradeInfoTag
upgradeInfoTag.fwOffset/fwSize number DTO 未约束 primitive 不表达 null;显式 null 行为未核验 缺字段值未作为合同 32 位有符号整数;单位未闭合 固件偏移与大小 UpgradeInfoTag record
upgradeInfoTag.cpuId/pcbVersion/noForceUpgrade number DTO 未约束 primitive 不表达 null;显式 null 行为未核验 缺字段值未作为合同 32 位有符号整数;枚举未闭合 CPU、PCB 与强制升级标志 UpgradeInfoTag record
upgradeInfoTag.imgVersion/devType string DTO 未约束 长度/枚举未由 DTO 校验 镜像版本与设备类型 UpgradeInfoTag record

Janus 服务器

查询/返回由设备基类字段janusServerId/remark: stringhasAdminSecret/sfuOnlineStatus: booleantalkGroupCount/dataAcquisitionServerCount/dataAcquisitionDeviceCount: number。响应不返回 adminSecret

JSON 路径 JSON 类型 查询必填 查询可空 返回可空 默认值 说明 字段证据
设备基类查询/返回字段 见基类 未知 继承字段;响应不含 adminSecret 设备基类
janusServerId/remark string 未知 Janus 主键与备注 Janus List/Get Plus DTO
hasAdminSecret boolean 不适用 不适用 否(Service 构造) false 只表明是否已配置密钥 Janus Plus Mapper/Response DTO
sfuOnlineStatus boolean 不适用 不适用 否(Controller 构造) false 读取时在线缓存状态 JanusServerController fillSfuOnlineStatus
talkGroupCount/dataAcquisitionServerCount/dataAcquisitionDeviceCount number 不适用 不适用 0 当前租户关联计数 Janus Plus Mapper/Response DTO

保存要求 deviceNo(1..36)、name(Controller 非空校验)和 adminSecret(1..512);Janus ID 可省略。更新要求 Janus ID、deviceNonameadminSecret 可省略(最长 512),且不能改变原设备号;remark 最长 1024。

JSON 路径 JSON 类型 保存必填 更新必填 可空 默认值 约束/语义 字段证据
janusServerId string 保存可空;更新否 保存生成 ID 最长 32 JanusServerSave/UpdatePlusRequestDTO
deviceNo string 1..36;保存全局查重,更新禁止改变 Device DTO;JanusServerController.validateDeviceNoAvailable/updateById
name string 最长 256,并由 Controller 拒绝空白 Device DTO;validateName
adminSecret string 更新可空 保存 1..512;更新最长 512;响应只给 hasAdminSecret Janus Plus DTO
remark string 最长 1024 Janus Plus DTO

SpiritCam 固件

SpiritCam 写入口最终生成普通固件包记录,读取仍使用固件包操作。

本资源没有独立查询操作;保存/更新成功只返回 boolean,后续通过普通固件包详情/列表读取。

保存要求 releaseDate: number(UTC epoch 秒)和已完成 Tus filePath: string(1..1024),description 最长 1024。更新另要求 firmwarePackageId(1..32)。服务端从二进制头生成 deviceModelId/version/md5/fileSize/binaryHeader,并固定在 scm 租户执行。

JSON 路径 JSON 类型 保存必填 更新必填 可空 默认值 约束/语义 字段证据
firmwarePackageId string 不适用 更新时 1..32 SpiritCamFirmwareUpdateRequestDTO
description string 最长 1024;更新可清空 SpiritCamFirmwareSave/UpdateRequestDTO
releaseDate number UTC epoch 秒 DTO @NotNull LocalDateTime;JsonFormatConfig
filePath string 1..1024;保存必须是已完成 Tus URL;更新可为已有持久化路径或新 Tus URL SpiritCam DTO;SpiritCamFirmwareController
派生 deviceModelId/version/md5/fileSize string/string/string/number 客户端不发送 客户端不发送 解析结果决定 从固件头和文件生成 服务端写入普通固件记录 FirmwareBinaryHeaderParser;SpiritCamFirmwareController
派生 binaryHeader string(持久化) 客户端不发送 客户端不发送 保存否;更新保留旧值 保存从解析对象编码 替换更新当前不会改写该列 FirmwareBinaryHeaderJsonCodec;FirmwarePackageService.updateById

证据基线

前端当前 HEAD aa138d8,后端当前 HEAD a3e783d2。两仓所读业务文件与 HEAD 一致;后端工作树中的构建/数据源/测试脏文件不在本票证据链。inventory 工作树文件仅有格式化漂移,读取指纹为 b5cce137b4fc602840fdbe74c99d90667b3e581815bddc709e263ffcc64e00f9

结论 状态 证据
HTTP JSON、header、method 推导与 15 分钟超时 已源码核验 web app/.common/lib/fetch-timeouts.ts:4-75 fetchTimeoutResponseJsonapp/.common/auth/index.ts:35-52 getFetchRequestInit;每个操作页另列其完整 wrapper 路径、符号和行号
设备基类字段与校验 已源码核验 services es-center-server-device-dto/src/main/java/com/es/center/server/device/dto/DeviceSaveRequestDTO.java:22-107DeviceUpdateRequestDTO.java:22-108DeviceListRequestDTO.java:23-133DeviceGetByIdResponseDTO.java:20-103
采集资产专用字段 已源码核验 services es-center-server-device-dto/src/main/java/com/es/center/server/device/dto/data_acquisition_device/DataAcquisitionDeviceSavePlusRequestDTO.java:21-43data_acquisition_server/DataAcquisitionServerSavePlusRequestDTO.java:21-76data_acquisition_box/DataAcquisitionBoxSavePlusRequestDTO.java:21-24
型号、类型、厂商与绑定字段 已源码核验 services es-center-server-device-dto/src/main/java/com/es/center/server/device/dto/DeviceModelSaveRequestDTO.java:22-62DeviceTypeSaveRequestDTO.java:22-56ManufacturerSaveRequestDTO.java:22-44DataAcquisitionServerDataAcquisitionDeviceSaveRequestDTO.java:22-41
固件、二进制头与 Janus 字段 已源码核验 services es-center-server-device-dto/src/main/java/com/es/center/server/device/dto/FirmwarePackageSaveHttpRequestDTO.java:28-71FirmwarePackageUpdateRequestDTO.java:23-68FirmwareBinaryHeader.java:3-7janus_server/JanusServerSavePlusRequestDTO.java:15-27
查询投影与租户字段 已源码核验 services es-center-server-device-common/src/main/resources/mapper/postgresql/es-center-server-device/DataAcquisitionDevicePlusMapper.xml:4-275 selectPlusColumns/selectPlusWhereDataAcquisitionServerPlusMapper.xml:4-300FirmwarePackagePlusMapper.xml:4-240JanusServerPlusMapper.xml:4-220
唯一性、权限、在线字段和完成语义 已源码核验 services 各操作页列出的完整 Controller/Service 路径、方法符号与当前行号;两个导入页另列各自 listener 的 importList 符号与行号
LocalDateTime 与响应信封 JSON 已源码核验 services es-center-server-main-service/src/main/java/com/es/center/server/config/JsonFormatConfig.java:20-111gt-common-core/src/main/java/tech/gt/api/ApiResult.java:43-159
真实部署联调 未执行 未发送 HTTP、未连接数据库/缓存/JMS/Tus/Nginx