CMVR-IOT/sql/aima_module.sql
lixiaolong 5ea88ddb99 feat(aima): 更新任务实例和测试日志的数据结构
- 将AimaTestLog实体中的logMessage字段改为logContent,并调整数据库表结构
- 在AimaTaskInstance表中新增create_by、update_time、update_by和remark字段
- 添加AimaTaskInstanceQuery查询DTO类支持多条件查询
- 修改控制器和业务层方法参数类型从AimaTaskInstance到AimaTaskInstanceQuery
- 更新MyBatis映射文件中的参数类型和字段引用
- 在监听器中更新日志记录的字段名和状态设置
- 移除测试日志服务中自动设置创建者和更新者的逻辑
2026-06-24 09:55:51 +08:00

215 lines
11 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

-- ----------------------------
-- 爱玛电动车测试模块数据库表设计
-- ----------------------------
-- ----------------------------
-- 1、手机管理表
-- ----------------------------
DROP TABLE IF EXISTS `aima_phone`;
CREATE TABLE `aima_phone` (
`id` varchar(64) NOT NULL COMMENT '主键ID',
`phone_name` varchar(100) DEFAULT NULL COMMENT '手机名称',
`phone_model` varchar(100) DEFAULT NULL COMMENT '手机型号',
`os_system` varchar(50) DEFAULT NULL COMMENT '操作系统(Android/iOS)',
`os_version` varchar(50) DEFAULT NULL COMMENT '系统版本',
`specifications` varchar(500) DEFAULT NULL COMMENT '规格参数',
`manufacturer` varchar(100) DEFAULT NULL COMMENT '厂商',
`status` char(1) DEFAULT '0' COMMENT '状态(0正常 1停用)',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`create_by` varchar(64) DEFAULT '' COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) DEFAULT '' COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='爱玛手机管理表';
-- ----------------------------
-- 2、车辆管理表
-- ----------------------------
DROP TABLE IF EXISTS `aima_vehicle`;
CREATE TABLE `aima_vehicle` (
`id` varchar(64) NOT NULL COMMENT '主键ID',
`vin` varchar(50) DEFAULT NULL COMMENT '车架号(VIN)',
`vehicle_model` varchar(100) DEFAULT NULL COMMENT '车型',
`vehicle_name` varchar(100) DEFAULT NULL COMMENT '车辆名称',
`color` varchar(50) DEFAULT NULL COMMENT '颜色',
`production_date` date DEFAULT NULL COMMENT '生产日期',
`status` char(1) DEFAULT '0' COMMENT '状态(0正常 1停用)',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`create_by` varchar(64) DEFAULT '' COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) DEFAULT '' COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_vin` (`vin`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='爱玛车辆管理表';
-- ----------------------------
-- 3、测试用例管理表(对标巡检点位)
-- ----------------------------
DROP TABLE IF EXISTS `aima_test_case`;
CREATE TABLE `aima_test_case` (
`id` varchar(64) NOT NULL COMMENT '主键ID',
`case_code` varchar(50) DEFAULT NULL COMMENT '用例编码',
`case_name` varchar(100) DEFAULT NULL COMMENT '用例名称',
`case_category` varchar(50) DEFAULT NULL COMMENT '用例分类(功能测试/性能测试/安全测试等)',
`test_description` text COMMENT '测试描述',
`precondition` text COMMENT '前置条件',
`test_steps` text COMMENT '测试步骤',
`expected_result` text COMMENT '预期结果',
`priority` char(1) DEFAULT '2' COMMENT '优先级(1高 2中 3低)',
`enabled` char(1) DEFAULT '0' COMMENT '是否启用(0启用 1禁用)',
`sort_order` int DEFAULT '0' COMMENT '排序号',
`estimated_duration` int DEFAULT NULL COMMENT '预计执行时长(秒)',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`create_by` varchar(64) DEFAULT '' COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) DEFAULT '' COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
`detect_item_id` varchar(64) DEFAULT NULL COMMENT '检测项ID',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_case_code` (`case_code`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='爱玛测试用例表';
-- ----------------------------
-- 4、任务管理表
-- ----------------------------
DROP TABLE IF EXISTS `aima_task`;
CREATE TABLE `aima_task` (
`id` varchar(64) NOT NULL COMMENT '主键ID',
`task_code` varchar(50) DEFAULT NULL COMMENT '任务编码',
`task_name` varchar(100) DEFAULT NULL COMMENT '任务名称',
`task_type` char(1) DEFAULT '1' COMMENT '任务类型(1常规测试 2回归测试 3专项测试)',
`phone_id` varchar(64) DEFAULT NULL COMMENT '手机ID',
`vehicle_id` varchar(64) DEFAULT NULL COMMENT '车辆ID',
`test_case_count` int DEFAULT '0' COMMENT '测试用例数量',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`create_by` varchar(64) DEFAULT '' COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) DEFAULT '' COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
`task_config_id` varchar(64) DEFAULT NULL COMMENT '任务配置ID',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_task_code` (`task_code`),
KEY `idx_phone_id` (`phone_id`),
KEY `idx_vehicle_id` (`vehicle_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='爱玛任务管理表';
-- ----------------------------
-- 5、任务与测试用例关联表
-- ----------------------------
DROP TABLE IF EXISTS `aima_task_test_case`;
CREATE TABLE `aima_task_test_case` (
`task_id` varchar(64) NOT NULL COMMENT '任务ID',
`test_case_id` varchar(64) NOT NULL COMMENT '测试用例ID',
`sort_order` int(11) DEFAULT '0' COMMENT '排序号',
PRIMARY KEY (`task_id`, `test_case_id`),
KEY `idx_task_id` (`task_id`),
KEY `idx_test_case_id` (`test_case_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='爱玛任务与测试用例关联表';
-- ----------------------------
-- 6、任务执行实例表
-- ----------------------------
DROP TABLE IF EXISTS `aima_task_instance`;
CREATE TABLE `aima_task_instance` (
`id` varchar(64) NOT NULL COMMENT '主键ID',
`task_id` varchar(64) DEFAULT NULL COMMENT '任务ID',
`phone_id` varchar(64) DEFAULT NULL COMMENT '手机ID',
`vehicle_id` varchar(64) DEFAULT NULL COMMENT '车辆ID',
`execution_number` int DEFAULT '1' COMMENT '第几次执行',
`status` int DEFAULT '0' COMMENT '执行状态(0待执行 1执行中 2已完成 3已取消 4执行失败 5已暂停)',
`total_cases` int DEFAULT '0' COMMENT '总用例数',
`completed_cases` int DEFAULT '0' COMMENT '已完成用例数',
`passed_cases` int DEFAULT '0' COMMENT '通过用例数',
`failed_cases` int DEFAULT '0' COMMENT '失败用例数',
`progress` decimal(5,2) DEFAULT '0.00' COMMENT '执行进度(百分比保留2位小数)',
`start_time` datetime DEFAULT NULL COMMENT '开始时间',
`end_time` datetime DEFAULT NULL COMMENT '结束时间',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`create_by` varchar(64) DEFAULT '' COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) DEFAULT '' COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
`task_ins_id` varchar(64) DEFAULT NULL COMMENT '任务执行实例ID',
PRIMARY KEY (`id`),
KEY `idx_task_id` (`task_id`),
KEY `idx_phone_id` (`phone_id`),
KEY `idx_vehicle_id` (`vehicle_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='爱玛任务执行实例表';
-- ----------------------------
-- 6、日志管理表(单独存表)
-- ----------------------------
DROP TABLE IF EXISTS `aima_test_log`;
CREATE TABLE `aima_test_log` (
`id` varchar(64) NOT NULL COMMENT '主键ID',
`task_instance_id` varchar(64) DEFAULT NULL COMMENT '任务执行实例ID',
`task_id` varchar(64) DEFAULT NULL COMMENT '任务ID',
`task_name` varchar(100) DEFAULT NULL COMMENT '任务名称',
`test_case_id` varchar(64) DEFAULT NULL COMMENT '测试用例ID',
`case_name` varchar(100) DEFAULT NULL COMMENT '用例名称',
`log_level` varchar(20) DEFAULT 'INFO' COMMENT '日志级别(DEBUG/INFO/WARN/ERROR)',
`log_type` varchar(50) DEFAULT NULL COMMENT '日志类型(执行日志/系统日志/异常日志)',
`log_content` varchar(255) COMMENT '日志内容',
`log_time` datetime DEFAULT NULL COMMENT '日志时间',
`execution_step` varchar(100) DEFAULT NULL COMMENT '执行步骤',
`actual_result` text COMMENT '实际结果',
`test_status` char(1) DEFAULT NULL COMMENT '测试结果(0未执行 1通过 2失败 3跳过)',
`screenshot_url` varchar(500) DEFAULT NULL COMMENT '截图URL',
`video_url` varchar(500) DEFAULT NULL COMMENT '视频URL',
`error_stack` text COMMENT '错误堆栈',
`duration_ms` bigint DEFAULT NULL COMMENT '执行耗时(毫秒)',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`create_by` varchar(64) DEFAULT '' COMMENT '创建者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
`update_by` varchar(64) DEFAULT '' COMMENT '更新者',
`progress` decimal(5,2) DEFAULT '0.00' COMMENT '执行进度(百分比保留2位小数)',
`status` char(1) DEFAULT '0' COMMENT '执行状态(0进行中 1已完成 2已暂停 3已取消 4已失败)',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`id`),
KEY `idx_task_instance_id` (`task_instance_id`),
KEY `idx_task_id` (`task_id`),
KEY `idx_test_case_id` (`test_case_id`),
KEY `idx_log_time` (`log_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='爱玛测试日志表';
-- ----------------------------
-- 7、告警管理表
-- ----------------------------
DROP TABLE IF EXISTS `aima_alarm`;
CREATE TABLE `aima_alarm` (
`id` varchar(64) NOT NULL COMMENT '主键ID',
`alarm_code` varchar(50) DEFAULT NULL COMMENT '告警编码',
`task_instance_id` varchar(64) DEFAULT NULL COMMENT '任务执行实例ID',
`task_id` varchar(64) DEFAULT NULL COMMENT '任务ID',
`task_name` varchar(100) DEFAULT NULL COMMENT '任务名称',
`phone_id` varchar(64) DEFAULT NULL COMMENT '手机ID',
`phone_name` varchar(100) DEFAULT NULL COMMENT '手机名称',
`vehicle_id` varchar(64) DEFAULT NULL COMMENT '车辆ID',
`vin` varchar(50) DEFAULT NULL COMMENT '车架号',
`test_case_id` varchar(64) DEFAULT NULL COMMENT '测试用例ID',
`case_name` varchar(100) DEFAULT NULL COMMENT '用例名称',
`alarm_level` char(1) DEFAULT '2' COMMENT '告警级别(1提示 2警告 3严重)',
`alarm_type` char(1) DEFAULT '1' COMMENT '告警类型(1设备异常 2测试异常 3通信异常 4性能异常)',
`alarm_title` varchar(200) DEFAULT NULL COMMENT '告警标题',
`alarm_content` text COMMENT '告警内容',
`alarm_location` varchar(200) DEFAULT NULL COMMENT '告警位置/步骤',
`alarm_time` datetime DEFAULT NULL COMMENT '告警时间',
`handle_status` char(1) DEFAULT '0' COMMENT '处理状态(0未处理 1处理中 2已处理 3已忽略)',
`handler` varchar(64) DEFAULT NULL COMMENT '处理人',
`handle_time` datetime DEFAULT NULL COMMENT '处理时间',
`handle_remark` varchar(500) DEFAULT NULL COMMENT '处理说明',
`evidence_image` varchar(500) DEFAULT NULL COMMENT '图片证据',
`create_by` varchar(64) DEFAULT '' COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) DEFAULT '' COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_alarm_code` (`alarm_code`),
KEY `idx_task_instance_id` (`task_instance_id`),
KEY `idx_task_id` (`task_id`),
KEY `idx_alarm_time` (`alarm_time`),
KEY `idx_handle_status` (`handle_status`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='爱玛告警管理表';