Files

90 lines
4.6 KiB
SQL
Raw Permalink 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.
-- =============================================================================
-- 单 Agent 专用 MySQL(5 张)
-- 执行时机:各 Agent 组开发自己的功能时创建(也可一次性全建)
-- 共用底座见 01-mysql-共用底座.sql
-- =============================================================================
USE jinrong_agent;
-- ⚪ 客户财富 Agent
CREATE TABLE customer_threshold_config (
id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
customer_id VARCHAR(64) NOT NULL,
scope_type ENUM('portfolio','product') NOT NULL DEFAULT 'portfolio',
scope_ref VARCHAR(64) NULL,
loss_threshold_pct DECIMAL(5,2) NOT NULL,
notify_channel SET('app','sms','email') NOT NULL DEFAULT 'app',
is_enabled TINYINT(1) NOT NULL DEFAULT 1,
created_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
updated_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3),
KEY idx_customer (customer_id, is_enabled)
) ENGINE=InnoDB COMMENT='【客户专用】亏损阈值配置';
CREATE TABLE customer_notify_log (
id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
customer_id VARCHAR(64) NOT NULL,
trace_id VARCHAR(64) NOT NULL,
notify_type ENUM('loss_threshold','market_volatility') NOT NULL,
threshold_config_id BIGINT UNSIGNED NULL,
payload JSON NOT NULL,
channel VARCHAR(16) NOT NULL,
send_status ENUM('sent','failed') NOT NULL,
created_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
KEY idx_customer_time (customer_id, created_at)
) ENGINE=InnoDB COMMENT='【客户专用】提醒留痕';
-- ⚪ 代理人助手 Agent
CREATE TABLE advisor_draft (
id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
draft_id VARCHAR(64) NOT NULL,
session_id VARCHAR(64) NOT NULL,
trace_id VARCHAR(64) NOT NULL,
advisor_id VARCHAR(64) NOT NULL,
customer_id VARCHAR(64) NOT NULL,
draft_type ENUM('script','follow_up') NOT NULL,
content MEDIUMTEXT NOT NULL,
review_status ENUM('pending','approved','rejected') NOT NULL DEFAULT 'pending',
reviewer_id VARCHAR(64) NULL,
reviewed_at DATETIME(3) NULL,
created_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
UNIQUE KEY uk_draft_id (draft_id),
KEY idx_advisor_customer (advisor_id, customer_id, created_at),
KEY idx_review (review_status, created_at)
) ENGINE=InnoDB COMMENT='【代理人专用】话术/跟进草稿';
CREATE TABLE compliance_hit_log (
id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
session_id VARCHAR(64) NOT NULL,
trace_id VARCHAR(64) NOT NULL,
agent_type ENUM('customer','advisor') NOT NULL,
actor_id VARCHAR(64) NOT NULL,
hit_category ENUM('return_promise','principal_guarantee','buy_sell_guide','product_recommend','other') NOT NULL,
matched_terms JSON NOT NULL,
severity ENUM('low','medium','high') NOT NULL,
action_taken ENUM('flagged','blocked','alerted') NOT NULL,
created_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
KEY idx_severity_time (severity, created_at),
KEY idx_session (session_id)
) ENGINE=InnoDB COMMENT='【代理人专用】违规话术命中';
-- ⚪ 数据分析 Agent
CREATE TABLE analytics_query_log (
id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
session_id VARCHAR(64) NOT NULL,
trace_id VARCHAR(64) NOT NULL,
staff_id VARCHAR(64) NOT NULL,
nl_question TEXT NOT NULL,
generated_sql TEXT NOT NULL,
sql_hash CHAR(64) NOT NULL,
row_count INT UNSIGNED NULL,
exec_status ENUM('success','error','blocked') NOT NULL,
exec_latency_ms INT UNSIGNED NULL,
result_summary JSON NULL,
has_disclaimer TINYINT(1) NOT NULL DEFAULT 0,
error_message VARCHAR(512) NULL,
created_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
KEY idx_staff_time (staff_id, created_at),
KEY idx_trace (trace_id),
KEY idx_sql_hash (sql_hash)
) ENGINE=InnoDB COMMENT='【分析专用】查数 SQL 留痕';