feat(ops): 新增业务日志表
Some checks failed
Java CI with Maven / build (11) (push) Has been cancelled
Java CI with Maven / build (17) (push) Has been cancelled
Java CI with Maven / build (8) (push) Has been cancelled

- 新增 ops_business_event_log 表结构

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
lzh
2026-01-21 18:44:30 +08:00
parent c4ef31bb98
commit c75696c644

View File

@@ -196,37 +196,6 @@ CREATE TABLE `ops_cleaner_status` (
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='保洁员实时状态';
-- ----------------------------
-- Table structure for ops_order_clean_log
-- 保洁业务日志表
-- ----------------------------
DROP TABLE IF EXISTS `ops_order_clean_log`;
CREATE TABLE `ops_order_clean_log` (
`id` bigint NOT NULL COMMENT '日志ID',
`event_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '事件发生时间',
`event_level` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'INFO' COMMENT '日志级别INFO=信息/WARN=警告/ERROR=错误)',
`event_domain` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '领域RULE=规则引擎/DISPATCH=调度/BADGE=工牌/BEACON=信标/SYSTEM=系统)',
`event_type` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '事件类型',
`ops_order_id` bigint COMMENT '关联工单ID',
`area_id` bigint COMMENT '区域ID',
`cleaner_id` bigint COMMENT '保洁员ID',
`device_id` bigint COMMENT '设备ID工牌/信标)',
`event_message` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '可读日志内容',
`event_payload` json COMMENT '结构化上下文',
`creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '创建者',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '更新者',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
`tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
PRIMARY KEY (`id`),
KEY `idx_event_time` (`event_time`),
KEY `idx_ops_order_id` (`ops_order_id`),
KEY `idx_cleaner_id` (`cleaner_id`),
KEY `idx_event_domain_type` (`event_domain`, `event_type`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='保洁业务日志';
-- ----------------------------
-- Table structure for ops_bus_area
-- 业务区域表(园区/楼栋/楼层/功能区域)
@@ -292,4 +261,58 @@ CREATE TABLE `ops_cleaner_performance_monthly` (
KEY `idx_year_month` (`year_month`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='保洁员绩效月度汇总';
-- ----------------------------
-- Table structure for ops_business_event_log
-- 通用业务事件日志表(支持多模块日志记录)
-- ----------------------------
DROP TABLE IF EXISTS `ops_business_event_log`;
CREATE TABLE `ops_business_event_log` (
`id` bigint NOT NULL COMMENT '主键ID',
-- 时间与级别
`event_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '事件时间',
`event_level` varchar(16) NOT NULL DEFAULT 'INFO' COMMENT '级别INFO/WARN/ERROR',
-- 业务分类
`module` varchar(32) NOT NULL COMMENT '模块clean/repair/patrol',
`event_domain` varchar(32) NOT NULL COMMENT '领域DISPATCH/BEACON/TRAFFIC/DEVICE/SYSTEM/AUDIT',
`event_type` varchar(64) NOT NULL COMMENT '事件类型',
-- 设备关联方案A冗余存储名称
`device_id` bigint DEFAULT NULL COMMENT '设备ID',
`device_name` varchar(128) DEFAULT NULL COMMENT '设备名称(冗余)',
`device_code` varchar(64) DEFAULT NULL COMMENT '设备编码(冗余)',
`device_type` varchar(32) DEFAULT NULL COMMENT '设备类型(冗余)',
-- 人员关联方案A冗余存储名称
`person_id` bigint DEFAULT NULL COMMENT '人员ID',
`person_name` varchar(64) DEFAULT NULL COMMENT '人员姓名(冗余)',
`person_type` varchar(32) DEFAULT NULL COMMENT '人员类型(冗余)',
-- 业务实体关联
`target_id` bigint DEFAULT NULL COMMENT '业务实体ID工单ID/区域ID',
`target_type` varchar(32) DEFAULT NULL COMMENT '业务类型order/area/task',
-- 日志内容
`event_message` varchar(500) NOT NULL COMMENT '事件描述',
`event_summary` varchar(200) DEFAULT NULL COMMENT '简要摘要',
-- 扩展数据
`event_payload` json DEFAULT NULL COMMENT '扩展数据',
-- 标准字段
`creator` varchar(64) DEFAULT '' COMMENT '创建者',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`updater` varchar(64) DEFAULT '' COMMENT '更新者',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
`tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户ID',
PRIMARY KEY (`id`),
KEY `idx_event_time` (`event_time`),
KEY `idx_module_domain_type` (`module`, `event_domain`, `event_type`),
KEY `idx_device_person` (`device_id`, `person_id`),
KEY `idx_target` (`target_type`, `target_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='通用业务事件日志';
SET FOREIGN_KEY_CHECKS = 1;