diff --git a/sql/sn_system_info.sql b/sql/sn_system_info.sql index 35416c60..88bd21eb 100644 --- a/sql/sn_system_info.sql +++ b/sql/sn_system_info.sql @@ -2,72 +2,68 @@ -- 设备基本信息表(sys_sn_system_info) -- 说明:仅存放设备【基本信息】面板数据; -- 硬件信息 / 网络信息 / 安全信息 / 其他信息 已拆分至下列独立表。 --- 脚本遵循项目规范:不直连库,由 DBA 执行。 --- --- 重要:部署环境中若已存在【旧结构】的 sys_sn_system_info(列名为 sn_model、 --- sn_brand 等),CREATE TABLE IF NOT EXISTS 不会重建,会导致实体查询报 --- "Unknown column 'device_name'"。因此此处先 DROP 再 CREATE,确保表结构与 --- 实体(SnDeviceSystemInfo)完全一致。 --- 注意:DROP 会清空该表历史数据,设备数据可由端上重新上报补齐。 +-- 脚本由实体(SnDeviceSystemInfo / DeviceSystemInfoVO)生成,字段逐一对应。 +-- 部署规范:不直连库,由 DBA 执行;先 DROP 再 CREATE 确保结构与实体完全一致 +-- (DROP 会清空该表历史数据,设备数据可由端上重新上报补齐)。 -- ============================================================================= DROP TABLE IF EXISTS `sys_sn_system_info`; CREATE TABLE `sys_sn_system_info` ( - `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID', - `serialno` VARCHAR(64) NOT NULL COMMENT '设备序列号(关联 sys_sn.serialno)', + `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID', + `serialno` VARCHAR(64) NOT NULL COMMENT '设备序列号(关联 sys_sn.serialno)', -- ===================== 基本信息面板 ===================== - `device_name` VARCHAR(128) DEFAULT NULL COMMENT '设备名称', - `device_brand` VARCHAR(64) DEFAULT NULL COMMENT '设备品牌', - `device_model` VARCHAR(64) DEFAULT NULL COMMENT '设备型号', - `device_board` VARCHAR(64) DEFAULT NULL COMMENT '主板名称', - `device_manufacturer` VARCHAR(64) DEFAULT NULL COMMENT '制造商', - `hardware` VARCHAR(64) DEFAULT NULL COMMENT '硬件信息', - `host` VARCHAR(64) DEFAULT NULL COMMENT '主机名', - `android_version` VARCHAR(32) DEFAULT NULL COMMENT 'Android 版本', - `android_api` INT DEFAULT NULL COMMENT 'Android API 级别', - `android_id` VARCHAR(64) DEFAULT NULL COMMENT 'Android ID', - `build_id` VARCHAR(64) DEFAULT NULL COMMENT 'Build ID', - `build_display_id` VARCHAR(128) DEFAULT NULL COMMENT 'Build Display ID', - `build_fingerprint` VARCHAR(255) DEFAULT NULL COMMENT 'Build 指纹', - `build_type` VARCHAR(32) DEFAULT NULL COMMENT 'Build 类型(user/userdebug/eng)', - `build_user` VARCHAR(64) DEFAULT NULL COMMENT 'Build 用户', - `build_host` VARCHAR(64) DEFAULT NULL COMMENT 'Build 主机', - `build_tags` VARCHAR(64) DEFAULT NULL COMMENT 'Build 标签', - `build_time` DATETIME DEFAULT NULL COMMENT 'Build 时间', - `language` VARCHAR(32) DEFAULT NULL COMMENT '系统语言', - `timezone` VARCHAR(64) DEFAULT NULL COMMENT '时区', - `boot_time` DATETIME DEFAULT NULL COMMENT '开机时间', - `screen_resolution` VARCHAR(32) DEFAULT NULL COMMENT '屏幕分辨率', - `screen_density` INT DEFAULT NULL COMMENT '屏幕密度', - `kernel_version` VARCHAR(128) DEFAULT NULL COMMENT '内核版本', - `rom_version` VARCHAR(128) DEFAULT NULL COMMENT 'ROM 版本', + `device_name` VARCHAR(128) DEFAULT NULL COMMENT '设备名称', + `device_brand` VARCHAR(64) DEFAULT NULL COMMENT '设备品牌', + `device_model` VARCHAR(64) DEFAULT NULL COMMENT '设备型号', + `device_board` VARCHAR(64) DEFAULT NULL COMMENT '主板名称', + `device_manufacturer` VARCHAR(64) DEFAULT NULL COMMENT '制造商', + `hardware` VARCHAR(64) DEFAULT NULL COMMENT '硬件信息', + `host` VARCHAR(64) DEFAULT NULL COMMENT '主机名', + `android_version` VARCHAR(32) DEFAULT NULL COMMENT 'Android 版本', + `android_api` INT DEFAULT NULL COMMENT 'Android API 级别', + `android_id` VARCHAR(64) DEFAULT NULL COMMENT 'Android ID', + `build_id` VARCHAR(64) DEFAULT NULL COMMENT 'Build ID', + `build_display_id` VARCHAR(128) DEFAULT NULL COMMENT 'Build Display ID', + `build_fingerprint` VARCHAR(255) DEFAULT NULL COMMENT 'Build 指纹', + `build_type` VARCHAR(32) DEFAULT NULL COMMENT 'Build 类型(user/userdebug/eng)', + `build_user` VARCHAR(64) DEFAULT NULL COMMENT 'Build 用户', + `build_host` VARCHAR(64) DEFAULT NULL COMMENT 'Build 主机', + `build_tags` VARCHAR(64) DEFAULT NULL COMMENT 'Build 标签', + `build_time` DATETIME DEFAULT NULL COMMENT 'Build 时间', + `language` VARCHAR(32) DEFAULT NULL COMMENT '系统语言', + `timezone` VARCHAR(64) DEFAULT NULL COMMENT '时区', + `boot_time` DATETIME DEFAULT NULL COMMENT '开机时间', + `screen_resolution` VARCHAR(32) DEFAULT NULL COMMENT '屏幕分辨率', + `screen_density` INT DEFAULT NULL COMMENT '屏幕密度', + `kernel_version` VARCHAR(128) DEFAULT NULL COMMENT '内核版本', + `rom_version` VARCHAR(128) DEFAULT NULL COMMENT 'ROM 版本', -- ===================== 补充基本信息字段 ===================== - `product_name` VARCHAR(128) DEFAULT NULL COMMENT '产品名称', - `product_model` VARCHAR(64) DEFAULT NULL COMMENT '产品型号', - `product_device` VARCHAR(64) DEFAULT NULL COMMENT '产品设备名', - `board_platform` VARCHAR(64) DEFAULT NULL COMMENT '主板平台', - `device_type` VARCHAR(32) DEFAULT NULL COMMENT '设备类型(phone/tablet/tv等)', - `is_tablet` TINYINT DEFAULT 0 COMMENT '是否平板(0否 1是)', - `release_version` VARCHAR(32) DEFAULT NULL COMMENT 'Android 发布版本号', - `display_version` VARCHAR(64) DEFAULT NULL COMMENT '显示版本号', - `bootloader` VARCHAR(64) DEFAULT NULL COMMENT 'Bootloader 版本', - `baseband_version` VARCHAR(64) DEFAULT NULL COMMENT '基带版本', - `radio_version` VARCHAR(64) DEFAULT NULL COMMENT 'Radio 版本', - `screen_size` VARCHAR(16) DEFAULT NULL COMMENT '屏幕尺寸(英寸,文本)', - `screen_inch` DECIMAL(4,2) DEFAULT NULL COMMENT '屏幕尺寸(数值,英寸)', - `refresh_rate` INT DEFAULT NULL COMMENT '屏幕刷新率(Hz)', - `os_type` VARCHAR(32) DEFAULT NULL COMMENT '操作系统类型', - `os_version` VARCHAR(32) DEFAULT NULL COMMENT '操作系统版本', - `firmware_version` VARCHAR(64) DEFAULT NULL COMMENT '固件版本', + `product_name` VARCHAR(128) DEFAULT NULL COMMENT '产品名称', + `product_model` VARCHAR(64) DEFAULT NULL COMMENT '产品型号', + `product_device` VARCHAR(64) DEFAULT NULL COMMENT '产品设备名', + `board_platform` VARCHAR(64) DEFAULT NULL COMMENT '主板平台', + `device_type` VARCHAR(32) DEFAULT NULL COMMENT '设备类型(phone/tablet/tv等)', + `is_tablet` TINYINT DEFAULT 0 COMMENT '是否平板(0否 1是)', + `release_version` VARCHAR(32) DEFAULT NULL COMMENT 'Android 发布版本号', + `display_version` VARCHAR(256) DEFAULT NULL COMMENT '显示版本号', + `bootloader` VARCHAR(64) DEFAULT NULL COMMENT 'Bootloader 版本', + `baseband_version` VARCHAR(64) DEFAULT NULL COMMENT '基带版本', + `radio_version` VARCHAR(64) DEFAULT NULL COMMENT 'Radio 版本', + `screen_size` VARCHAR(16) DEFAULT NULL COMMENT '屏幕尺寸(英寸,文本)', + `screen_inch` DECIMAL(4,2) DEFAULT NULL COMMENT '屏幕尺寸(数值,英寸)', + `refresh_rate` INT DEFAULT NULL COMMENT '屏幕刷新率(Hz)', + `os_type` VARCHAR(32) DEFAULT NULL COMMENT '操作系统类型', + `os_version` VARCHAR(32) DEFAULT NULL COMMENT '操作系统版本', + `firmware_version` VARCHAR(64) DEFAULT NULL COMMENT '固件版本', -- ===================== 通用字段 ===================== - `create_time` DATETIME DEFAULT NULL COMMENT '创建时间', - `update_time` DATETIME DEFAULT NULL COMMENT '更新时间', - `is_deleted` TINYINT DEFAULT 0 COMMENT '逻辑删除(0未删 1已删)', + `create_time` DATETIME DEFAULT NULL COMMENT '创建时间', + `update_time` DATETIME DEFAULT NULL COMMENT '更新时间', + `is_deleted` TINYINT DEFAULT 0 COMMENT '逻辑删除(0未删 1已删)', PRIMARY KEY (`id`), UNIQUE KEY `uk_serialno` (`serialno`), diff --git a/src/main/java/com/youlai/boot/device/model/req/SnSystemInfoReq.java b/src/main/java/com/youlai/boot/device/model/req/SnSystemInfoReq.java index 5b5327e3..fb7dffeb 100644 --- a/src/main/java/com/youlai/boot/device/model/req/SnSystemInfoReq.java +++ b/src/main/java/com/youlai/boot/device/model/req/SnSystemInfoReq.java @@ -4,57 +4,184 @@ import com.fasterxml.jackson.annotation.JsonProperty; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; +import java.math.BigDecimal; +import java.time.LocalDateTime; + @Schema(description = "设备基本信息") @Data public class SnSystemInfoReq { - @Schema(description="设备ID") + @Schema(description = "设备ID") private Long id; - @Schema(description="SN") + @Schema(description = "SN") private String serialno; - @Schema(description="WLAN MAC地址") - @JsonProperty("sn_wlan_mac") - private String snWlanMac; + @Schema(description = "设备名称") + @JsonProperty("device_name") + private String deviceName; - @Schema(description="设备MAC地址") - @JsonProperty("sn_device_mac") - private String snDeviceMac; + @Schema(description = "设备品牌") + @JsonProperty("device_brand") + private String deviceBrand; - @Schema(description="蓝牙MAC地址") - @JsonProperty("sn_bluetooth_mac") - private String snBluetoothMac; + @Schema(description = "设备型号") + @JsonProperty("device_model") + private String deviceModel; - @Schema(description="设备IMEI") - @JsonProperty("sn_imei") - private String snImei; + @Schema(description = "主板名称") + @JsonProperty("device_board") + private String deviceBoard; - @Schema(description="设备型号") - @JsonProperty("sn_model") - private String snModel; + @Schema(description = "制造商") + @JsonProperty("device_manufacturer") + private String deviceManufacturer; - @Schema(description="设备品牌") - @JsonProperty("sn_brand") - private String snBrand; + @Schema(description = "硬件信息") + @JsonProperty("hardware") + private String hardware; - @Schema(description="设备主板") - @JsonProperty("sn_board") - private String snBoard; + @Schema(description = "主机名") + @JsonProperty("host") + private String host; - @Schema(description="设备Android版本") - @JsonProperty("sn_android_version") - private String snAndroidVersion; + @Schema(description = "Android 版本") + @JsonProperty("android_version") + private String androidVersion; - @Schema(description="设备Android API") - @JsonProperty("sn_android_api") - private int snAndroidApi; + @Schema(description = "Android API 级别") + @JsonProperty("android_api") + private Integer androidApi; - @Schema(description="设备构建ID") - @JsonProperty("sn_build_id") - private String snBuildId; + @Schema(description = "Android ID") + @JsonProperty("android_id") + private String androidId; - @Schema(description="设备显示ID") - @JsonProperty("sn_build_display_id") - private String snBuildDisplayId; + @Schema(description = "Build ID") + @JsonProperty("build_id") + private String buildId; + + @Schema(description = "Build Display ID") + @JsonProperty("build_display_id") + private String buildDisplayId; + + @Schema(description = "Build 指纹") + @JsonProperty("build_fingerprint") + private String buildFingerprint; + + @Schema(description = "Build 类型") + @JsonProperty("build_type") + private String buildType; + + @Schema(description = "Build 用户") + @JsonProperty("build_user") + private String buildUser; + + @Schema(description = "Build 主机") + @JsonProperty("build_host") + private String buildHost; + + @Schema(description = "Build 标签") + @JsonProperty("build_tags") + private String buildTags; + + @Schema(description = "Build 时间") + @JsonProperty("build_time") + private LocalDateTime buildTime; + + @Schema(description = "系统语言") + @JsonProperty("language") + private String language; + + @Schema(description = "时区") + @JsonProperty("timezone") + private String timezone; + + @Schema(description = "开机时间") + @JsonProperty("boot_time") + private LocalDateTime bootTime; + + @Schema(description = "屏幕分辨率") + @JsonProperty("screen_resolution") + private String screenResolution; + + @Schema(description = "屏幕密度") + @JsonProperty("screen_density") + private Integer screenDensity; + + @Schema(description = "内核版本") + @JsonProperty("kernel_version") + private String kernelVersion; + + @Schema(description = "ROM 版本") + @JsonProperty("rom_version") + private String romVersion; + + @Schema(description = "产品名称") + @JsonProperty("product_name") + private String productName; + + @Schema(description = "产品型号") + @JsonProperty("product_model") + private String productModel; + + @Schema(description = "产品设备名") + @JsonProperty("product_device") + private String productDevice; + + @Schema(description = "主板平台") + @JsonProperty("board_platform") + private String boardPlatform; + + @Schema(description = "设备类型(phone/tablet/tv 等)") + @JsonProperty("device_type") + private String deviceType; + + @Schema(description = "是否平板(0否 1是)") + @JsonProperty("is_tablet") + private Integer isTablet; + + @Schema(description = "Android 发布版本号") + @JsonProperty("release_version") + private String releaseVersion; + + @Schema(description = "显示版本号") + @JsonProperty("display_version") + private String displayVersion; + + @Schema(description = "Bootloader 版本") + @JsonProperty("bootloader") + private String bootloader; + + @Schema(description = "基带版本") + @JsonProperty("baseband_version") + private String basebandVersion; + + @Schema(description = "Radio 版本") + @JsonProperty("radio_version") + private String radioVersion; + + @Schema(description = "屏幕尺寸(英寸,文本)") + @JsonProperty("screen_size") + private String screenSize; + + @Schema(description = "屏幕尺寸(数值,英寸)") + @JsonProperty("screen_inch") + private BigDecimal screenInch; + + @Schema(description = "屏幕刷新率(Hz)") + @JsonProperty("refresh_rate") + private Integer refreshRate; + + @Schema(description = "操作系统类型") + @JsonProperty("os_type") + private String osType; + + @Schema(description = "操作系统版本") + @JsonProperty("os_version") + private String osVersion; + + @Schema(description = "固件版本") + @JsonProperty("firmware_version") + private String firmwareVersion; }