refactor(device): 重构设备基本信息表结构与请求实体
将 sys_sn_system_info 表的字段从旧的 sn_ 前缀命名统一重构为语义化命名,并扩充基本信息字段;同步更新 Java 请求实体 SnSystemInfoReq,字段与数据库表完全对齐,同时调整 display_version 列长度至 256。
This commit is contained in:
@@ -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`),
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user