feat: 娣诲姞澶氫釜鏂板姛鑳藉拰淇 - 鍖呮嫭鐢ㄦ埛绠$悊銆佹暟鎹簱杩佺Щ銆丟it鎺ㄩ€佸伐鍏风瓑

This commit is contained in:
赵杰 Jie Zhao (雄狮汽车科技)
2025-11-05 10:16:34 +08:00
parent a4261ef06f
commit c9d5c80f42
43 changed files with 4435 additions and 7439 deletions

156
init.sql
View File

@@ -23,49 +23,83 @@ CREATE TABLE IF NOT EXISTS work_orders (
id INT AUTO_INCREMENT PRIMARY KEY,
order_id VARCHAR(50) UNIQUE NOT NULL,
title VARCHAR(200) NOT NULL,
description TEXT,
category VARCHAR(50),
priority ENUM('low', 'medium', 'high', 'urgent') DEFAULT 'medium',
status ENUM('open', 'in_progress', 'resolved', 'closed') DEFAULT 'open',
user_id INT,
assigned_to INT,
description TEXT NOT NULL,
category VARCHAR(100) NOT NULL,
priority VARCHAR(20) NOT NULL DEFAULT 'medium',
status VARCHAR(20) NOT NULL DEFAULT 'pending',
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
resolved_at TIMESTAMP NULL,
FOREIGN KEY (user_id) REFERENCES users(id),
FOREIGN KEY (assigned_to) REFERENCES users(id)
resolution TEXT,
satisfaction_score FLOAT,
-- 飞书集成字段
feishu_record_id VARCHAR(100) UNIQUE,
assignee VARCHAR(100),
solution TEXT,
ai_suggestion TEXT,
-- 扩展飞书字段
source VARCHAR(50),
module VARCHAR(100),
created_by VARCHAR(100),
wilfulness VARCHAR(100),
date_of_close TIMESTAMP NULL,
vehicle_type VARCHAR(100),
vin_sim VARCHAR(50),
app_remote_control_version VARCHAR(100),
hmi_sw VARCHAR(100),
parent_record VARCHAR(100),
has_updated_same_day VARCHAR(50),
operating_time VARCHAR(100),
-- 工单分发和权限管理字段
assigned_module VARCHAR(50),
module_owner VARCHAR(100),
dispatcher VARCHAR(100),
dispatch_time TIMESTAMP NULL,
region VARCHAR(50),
INDEX idx_order_id (order_id),
INDEX idx_status (status),
INDEX idx_priority (priority),
INDEX idx_created_at (created_at),
INDEX idx_assigned_module (assigned_module),
INDEX idx_region (region),
INDEX idx_feishu_record_id (feishu_record_id)
);
-- 创建预警表
CREATE TABLE IF NOT EXISTS alerts (
id INT AUTO_INCREMENT PRIMARY KEY,
rule_name VARCHAR(100) NOT NULL,
alert_type VARCHAR(50) NOT NULL,
level VARCHAR(20) NOT NULL DEFAULT 'info',
severity VARCHAR(20) NOT NULL DEFAULT 'medium',
message TEXT NOT NULL,
level ENUM('info', 'warning', 'error', 'critical') DEFAULT 'info',
status ENUM('active', 'resolved', 'suppressed') DEFAULT 'active',
source VARCHAR(100),
metadata JSON,
data TEXT,
is_active BOOLEAN DEFAULT TRUE,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
resolved_at TIMESTAMP NULL,
INDEX idx_level (level),
INDEX idx_status (status),
INDEX idx_alert_type (alert_type),
INDEX idx_severity (severity),
INDEX idx_is_active (is_active),
INDEX idx_created_at (created_at)
);
-- 创建对话表
CREATE TABLE IF NOT EXISTS conversations (
id INT AUTO_INCREMENT PRIMARY KEY,
session_id VARCHAR(100) NOT NULL,
user_id INT,
work_order_id INT,
user_message TEXT NOT NULL,
assistant_response TEXT NOT NULL,
confidence_score DECIMAL(3,2) DEFAULT 0.50,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (user_id) REFERENCES users(id),
FOREIGN KEY (work_order_id) REFERENCES work_orders(id),
INDEX idx_session_id (session_id),
INDEX idx_created_at (created_at)
timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
confidence_score FLOAT,
knowledge_used TEXT,
response_time FLOAT,
FOREIGN KEY (work_order_id) REFERENCES work_orders(id) ON DELETE CASCADE,
INDEX idx_work_order_id (work_order_id),
INDEX idx_timestamp (timestamp)
);
-- 创建知识库表
@@ -73,13 +107,16 @@ CREATE TABLE IF NOT EXISTS knowledge_entries (
id INT AUTO_INCREMENT PRIMARY KEY,
question TEXT NOT NULL,
answer TEXT NOT NULL,
category VARCHAR(50),
confidence_score DECIMAL(3,2) DEFAULT 0.50,
category VARCHAR(100) NOT NULL,
confidence_score FLOAT DEFAULT 0.0,
usage_count INT DEFAULT 0,
is_verified BOOLEAN DEFAULT FALSE,
is_active BOOLEAN DEFAULT TRUE,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
is_active BOOLEAN DEFAULT TRUE,
is_verified BOOLEAN DEFAULT FALSE,
verified_by VARCHAR(100),
verified_at TIMESTAMP NULL,
vector_embedding TEXT,
INDEX idx_category (category),
INDEX idx_is_active (is_active),
INDEX idx_is_verified (is_verified)
@@ -91,9 +128,35 @@ CREATE TABLE IF NOT EXISTS work_order_suggestions (
work_order_id INT NOT NULL,
ai_suggestion TEXT,
human_resolution TEXT,
ai_similarity FLOAT,
approved BOOLEAN DEFAULT FALSE,
use_human_resolution BOOLEAN DEFAULT FALSE,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
FOREIGN KEY (work_order_id) REFERENCES work_orders(id) ON DELETE CASCADE
FOREIGN KEY (work_order_id) REFERENCES work_orders(id) ON DELETE CASCADE,
INDEX idx_work_order_id (work_order_id),
INDEX idx_approved (approved)
);
-- 创建工单处理过程记录表
CREATE TABLE IF NOT EXISTS work_order_process_history (
id INT AUTO_INCREMENT PRIMARY KEY,
work_order_id INT NOT NULL,
processor_name VARCHAR(100) NOT NULL,
processor_role VARCHAR(50),
processor_region VARCHAR(50),
process_content TEXT NOT NULL,
action_type VARCHAR(50) NOT NULL,
previous_status VARCHAR(50),
new_status VARCHAR(50),
assigned_module VARCHAR(50),
process_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (work_order_id) REFERENCES work_orders(id) ON DELETE CASCADE,
INDEX idx_work_order_id (work_order_id),
INDEX idx_process_time (process_time),
INDEX idx_action_type (action_type),
INDEX idx_processor_name (processor_name)
);
-- 创建系统配置表
@@ -107,21 +170,42 @@ CREATE TABLE IF NOT EXISTS system_settings (
);
-- 插入默认管理员用户
INSERT IGNORE INTO users (username, email, password_hash, role) VALUES
INSERT IGNORE INTO users (username, email, password_hash, role) VALUES
('admin', 'admin@tsp.com', '$2b$12$LQv3c1yqBWVHxkd0LHAkCOYz6TtxMQJqhN8/LewdBPj4J/8K8K8K8', 'admin');
-- 插入默认系统配置
INSERT IGNORE INTO system_settings (key_name, value, description) VALUES
INSERT IGNORE INTO system_settings (key_name, value, description) VALUES
('system_name', 'TSP智能助手', '系统名称'),
('version', '2.0.0', '系统版本'),
('maintenance_mode', 'false', '维护模式'),
('max_concurrent_users', '100', '最大并发用户数'),
('session_timeout', '3600', '会话超时时间(秒)');
-- 创建索引优化查询性能
CREATE INDEX idx_work_orders_status ON work_orders(status);
CREATE INDEX idx_work_orders_priority ON work_orders(priority);
CREATE INDEX idx_work_orders_created_at ON work_orders(created_at);
CREATE INDEX idx_alerts_level_status ON alerts(level, status);
CREATE INDEX idx_conversations_user_id ON conversations(user_id);
CREATE INDEX idx_knowledge_entries_category_active ON knowledge_entries(category, is_active);
-- 创建分析统计表
CREATE TABLE IF NOT EXISTS analytics (
id INT AUTO_INCREMENT PRIMARY KEY,
date TIMESTAMP NOT NULL,
total_orders INT DEFAULT 0,
resolved_orders INT DEFAULT 0,
avg_resolution_time FLOAT DEFAULT 0.0,
satisfaction_avg FLOAT DEFAULT 0.0,
knowledge_hit_rate FLOAT DEFAULT 0.0,
category_distribution TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
INDEX idx_date (date)
);
-- 创建车辆实时数据表(如果不存在)
CREATE TABLE IF NOT EXISTS vehicle_data (
id INT AUTO_INCREMENT PRIMARY KEY,
vehicle_id VARCHAR(50) NOT NULL,
vehicle_vin VARCHAR(17),
data_type VARCHAR(50) NOT NULL,
data_value TEXT NOT NULL,
timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
is_active BOOLEAN DEFAULT TRUE,
INDEX idx_vehicle_id (vehicle_id),
INDEX idx_vehicle_vin (vehicle_vin),
INDEX idx_data_type (data_type),
INDEX idx_timestamp (timestamp)
);