- 在pom.xml中添加爱玛电动车测试模块依赖 - 创建爱玛电动车测试模块数据库表结构 - 实现爱玛告警管理相关实体类、控制器、服务类和映射器 - 集成爱玛测试工作流执行监听器 - 完成爱玛告警管理的CRUD操作接口 - 重构TeTaskConfigInfoServiceImpl解决循环依赖问题
211 lines
11 KiB
SQL
211 lines
11 KiB
SQL
-- ----------------------------
|
||
-- 爱玛电动车测试模块数据库表设计
|
||
-- ----------------------------
|
||
|
||
-- ----------------------------
|
||
-- 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_message` text 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 '创建时间',
|
||
`progress` decimal(5,2) DEFAULT '0.00' COMMENT '执行进度(百分比,保留2位小数)',
|
||
`status` char(1) DEFAULT '0' COMMENT '执行状态(0进行中 1已完成 2已暂停 3已取消 4已失败)',
|
||
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='爱玛告警管理表';
|