| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164 |
- CREATE TABLE IF NOT EXISTS agent_tool_registry (
- id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '主键',
- tool_name VARCHAR(128) NOT NULL COMMENT 'MCP工具名',
- tool_version VARCHAR(32) NOT NULL DEFAULT 'v1' COMMENT '工具版本',
- description VARCHAR(512) NOT NULL COMMENT '工具说明',
- transport VARCHAR(32) NOT NULL DEFAULT 'mcp' COMMENT '工具传输协议',
- handler_bean VARCHAR(192) NOT NULL COMMENT 'Java处理器Bean或路由标识',
- risk_level VARCHAR(16) NOT NULL COMMENT '风险等级: LOW, MEDIUM, HIGH',
- enabled TINYINT(1) NOT NULL DEFAULT 1 COMMENT '是否启用',
- require_approval TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否需要审批',
- idempotent TINYINT(1) NOT NULL DEFAULT 1 COMMENT '是否支持幂等',
- input_schema_json JSON NOT NULL COMMENT '输入参数JSON Schema',
- output_schema_json JSON NULL COMMENT '输出结果JSON Schema',
- allowed_roles JSON NULL COMMENT '允许调用的角色列表',
- sensitive_fields JSON NULL COMMENT '需要脱敏的字段列表',
- rate_limit_per_minute INT NOT NULL DEFAULT 60 COMMENT '单工具分钟限流',
- timeout_ms INT NOT NULL DEFAULT 10000 COMMENT '工具超时时间',
- remark VARCHAR(512) NULL COMMENT '备注',
- create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
- update_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
- deleted TINYINT(1) NOT NULL DEFAULT 0 COMMENT '逻辑删除标记',
- UNIQUE KEY uk_agent_tool_name_version (tool_name, tool_version),
- KEY idx_agent_tool_enabled_risk (enabled, risk_level),
- KEY idx_agent_tool_handler (handler_bean)
- ) COMMENT='Agent MCP工具注册表';
- CREATE TABLE IF NOT EXISTS agent_approval (
- id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '主键',
- approval_id VARCHAR(64) NOT NULL COMMENT '审批ID',
- trace_id VARCHAR(64) NOT NULL COMMENT 'Agent运行链路ID',
- pending_action_id BIGINT NULL COMMENT '关联冻结动作ID',
- biz_type VARCHAR(64) NOT NULL COMMENT '业务类型',
- biz_no VARCHAR(128) NULL COMMENT '业务编号',
- risk_level VARCHAR(16) NOT NULL COMMENT '风险等级',
- status VARCHAR(32) NOT NULL DEFAULT 'pending' COMMENT '状态',
- request_user_id BIGINT NULL COMMENT '发起用户ID',
- request_username VARCHAR(128) NULL COMMENT '发起用户名',
- request_reason VARCHAR(1024) NULL COMMENT '申请原因',
- risk_reason VARCHAR(1024) NULL COMMENT '命中高风险的原因',
- policy_evidence_json JSON NULL COMMENT '政策依据和RAG命中证据',
- requested_amount DECIMAL(10,2) NULL COMMENT '申请金额',
- approver_id BIGINT NULL COMMENT '审批人ID',
- approver_username VARCHAR(128) NULL COMMENT '审批人名称',
- decision_comment VARCHAR(1024) NULL COMMENT '审批意见',
- decision_time DATETIME NULL COMMENT '审批时间',
- expires_at DATETIME NOT NULL COMMENT '审批过期时间',
- create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
- update_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
- version INT NOT NULL DEFAULT 0 COMMENT '乐观锁版本',
- deleted TINYINT(1) NOT NULL DEFAULT 0 COMMENT '逻辑删除标记',
- UNIQUE KEY uk_agent_approval_id (approval_id),
- KEY idx_agent_approval_trace (trace_id),
- KEY idx_agent_approval_status_time (status, create_time),
- KEY idx_agent_approval_request_user (request_user_id, status),
- KEY idx_agent_approval_biz (biz_type, biz_no)
- ) COMMENT='Agent高风险动作审批表';
- CREATE TABLE IF NOT EXISTS agent_pending_action (
- id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '主键',
- action_id VARCHAR(64) NOT NULL COMMENT '冻结动作ID',
- approval_id VARCHAR(64) NOT NULL COMMENT '关联审批ID',
- trace_id VARCHAR(64) NOT NULL COMMENT 'Agent运行链路ID',
- tool_name VARCHAR(128) NOT NULL COMMENT '待执行MCP工具名',
- tool_version VARCHAR(32) NOT NULL DEFAULT 'v1' COMMENT '工具版本',
- risk_level VARCHAR(16) NOT NULL COMMENT '风险等级',
- params_json JSON NOT NULL COMMENT '冻结后的工具参数',
- params_hash CHAR(64) NOT NULL COMMENT '参数SHA-256摘要',
- idempotency_key VARCHAR(128) NOT NULL COMMENT '幂等键',
- execute_status VARCHAR(32) NOT NULL DEFAULT 'pending' COMMENT '执行状态',
- execute_result_json JSON NULL COMMENT '执行结果',
- error_message TEXT NULL COMMENT '失败原因',
- retry_count INT NOT NULL DEFAULT 0 COMMENT '重试次数',
- executed_at DATETIME NULL COMMENT '执行完成时间',
- expires_at DATETIME NOT NULL COMMENT '冻结动作过期时间',
- create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
- update_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
- version INT NOT NULL DEFAULT 0 COMMENT '乐观锁版本',
- deleted TINYINT(1) NOT NULL DEFAULT 0 COMMENT '逻辑删除标记',
- UNIQUE KEY uk_agent_action_id (action_id),
- UNIQUE KEY uk_agent_action_idempotency (idempotency_key),
- KEY idx_agent_action_approval (approval_id),
- KEY idx_agent_action_trace (trace_id),
- KEY idx_agent_action_status_time (execute_status, create_time),
- KEY idx_agent_action_tool (tool_name, tool_version)
- ) COMMENT='Agent审批后待恢复执行动作表';
- CREATE TABLE IF NOT EXISTS agent_audit_log (
- id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '主键',
- trace_id VARCHAR(64) NOT NULL COMMENT 'Agent运行链路ID',
- span_id VARCHAR(64) NULL COMMENT '步骤Span ID',
- parent_span_id VARCHAR(64) NULL COMMENT '父级Span ID',
- approval_id VARCHAR(64) NULL COMMENT '关联审批ID',
- pending_action_id VARCHAR(64) NULL COMMENT '关联冻结动作ID',
- actor_type VARCHAR(32) NOT NULL COMMENT '操作者类型',
- actor_id VARCHAR(64) NULL COMMENT '操作者ID',
- actor_name VARCHAR(128) NULL COMMENT '操作者名称',
- step VARCHAR(64) NOT NULL COMMENT '步骤',
- event_type VARCHAR(64) NOT NULL COMMENT '事件类型',
- tool_name VARCHAR(128) NULL COMMENT '工具名',
- risk_level VARCHAR(16) NULL COMMENT '风险等级',
- input_json JSON NULL COMMENT '输入快照',
- output_json JSON NULL COMMENT '输出快照',
- status VARCHAR(32) NOT NULL COMMENT '状态',
- error_message TEXT NULL COMMENT '错误信息',
- duration_ms BIGINT NULL COMMENT '步骤耗时毫秒',
- ip_address VARCHAR(64) NULL COMMENT '客户端IP',
- user_agent VARCHAR(512) NULL COMMENT '客户端User-Agent',
- create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
- KEY idx_agent_audit_trace_time (trace_id, create_time),
- KEY idx_agent_audit_approval (approval_id),
- KEY idx_agent_audit_action (pending_action_id),
- KEY idx_agent_audit_tool_time (tool_name, create_time),
- KEY idx_agent_audit_status_time (status, create_time)
- ) COMMENT='Agent全链路审计日志表';
- CREATE TABLE IF NOT EXISTS aftersales_work_order (
- id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '主键',
- work_order_no VARCHAR(64) NOT NULL COMMENT '售后工单号',
- trace_id VARCHAR(64) NOT NULL COMMENT 'Agent运行链路ID',
- order_no VARCHAR(128) NOT NULL COMMENT '充电订单号',
- charge_record_id BIGINT NULL COMMENT '充电记录ID',
- user_id BIGINT NULL COMMENT '用户ID',
- phone_masked VARCHAR(64) NULL COMMENT '脱敏手机号',
- issue_type VARCHAR(64) NOT NULL COMMENT '问题类型',
- issue_level VARCHAR(16) NOT NULL DEFAULT 'normal' COMMENT '问题等级',
- source VARCHAR(32) NOT NULL DEFAULT 'agent' COMMENT '来源',
- suggestion TEXT NOT NULL COMMENT 'Agent处理建议',
- policy_evidence_json JSON NULL COMMENT '政策依据和RAG命中证据',
- order_snapshot_json JSON NULL COMMENT '订单和充电记录快照',
- status VARCHAR(32) NOT NULL DEFAULT 'created' COMMENT '状态',
- created_by_agent TINYINT(1) NOT NULL DEFAULT 1 COMMENT '是否Agent创建',
- created_by VARCHAR(64) NULL COMMENT '创建人',
- assigned_to VARCHAR(64) NULL COMMENT '处理人',
- resolve_result TEXT NULL COMMENT '处理结果',
- closed_at DATETIME NULL COMMENT '关闭时间',
- create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
- update_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
- deleted TINYINT(1) NOT NULL DEFAULT 0 COMMENT '逻辑删除标记',
- UNIQUE KEY uk_aftersales_work_order_no (work_order_no),
- KEY idx_aftersales_order_no (order_no),
- KEY idx_aftersales_trace (trace_id),
- KEY idx_aftersales_status_time (status, create_time),
- KEY idx_aftersales_issue_type (issue_type, create_time)
- ) COMMENT='售后工单表';
- INSERT INTO agent_tool_registry
- (tool_name, tool_version, description, transport, handler_bean, risk_level, enabled, require_approval, idempotent, input_schema_json, output_schema_json)
- VALUES
- ('query_charge_order', 'v1', '查询充电订单', 'mcp', 'defaultAgentBusinessToolExecutor', 'LOW', 1, 0, 1, JSON_OBJECT(), JSON_OBJECT()),
- ('query_charge_session', 'v1', '查询充电记录', 'mcp', 'defaultAgentBusinessToolExecutor', 'LOW', 1, 0, 1, JSON_OBJECT(), JSON_OBJECT()),
- ('retrieve_aftersales_policy', 'v1', '检索售后政策', 'mcp', 'defaultAgentBusinessToolExecutor', 'LOW', 1, 0, 1, JSON_OBJECT(), JSON_OBJECT()),
- ('create_aftersales_work_order', 'v1', '创建售后工单', 'mcp', 'defaultAgentBusinessToolExecutor', 'LOW', 1, 0, 1, JSON_OBJECT(), JSON_OBJECT()),
- ('request_refund', 'v1', '发起退款审批', 'mcp', 'defaultAgentBusinessToolExecutor', 'HIGH', 1, 1, 1, JSON_OBJECT(), JSON_OBJECT()),
- ('request_compensation', 'v1', '发起补偿审批', 'mcp', 'defaultAgentBusinessToolExecutor', 'HIGH', 1, 1, 1, JSON_OBJECT(), JSON_OBJECT()),
- ('resume_after_approval', 'v1', '审批后恢复冻结动作', 'mcp', 'agentToolOrchestrator', 'HIGH', 1, 0, 1, JSON_OBJECT(), JSON_OBJECT()),
- ('get_approval_status', 'v1', '查询审批状态', 'mcp', 'agentToolOrchestrator', 'LOW', 1, 0, 1, JSON_OBJECT(), JSON_OBJECT()),
- ('write_agent_audit', 'v1', '写入Agent审计日志', 'mcp', 'defaultAgentBusinessToolExecutor', 'LOW', 1, 0, 1, JSON_OBJECT(), JSON_OBJECT())
- ON DUPLICATE KEY UPDATE
- description = VALUES(description),
- handler_bean = VALUES(handler_bean),
- risk_level = VALUES(risk_level),
- enabled = VALUES(enabled),
- require_approval = VALUES(require_approval),
- update_time = CURRENT_TIMESTAMP;
|