feat: 对话历史页面租户分组展示功能
- 新增 ConversationHistoryManager.get_tenant_summary() 按租户聚合会话统计 - get_sessions_paginated() 和 get_conversation_analytics() 增加 tenant_id 过滤 - 新增 GET /api/conversations/tenants 租户汇总端点 - sessions 和 analytics API 端点支持 tenant_id 查询参数 - 前端实现租户卡片列表视图和租户详情会话表格视图 - 实现面包屑导航、搜索范围限定、统计面板上下文切换 - 会话删除后自动检测空租户并返回列表视图 - dashboard.html 添加租户视图 DOM 容器 - 交互模式与知识库租户分组视图保持一致
This commit is contained in:
@@ -199,6 +199,7 @@ class DatabaseInitializer:
|
||||
self._migrate_analytics_enhancements,
|
||||
self._migrate_system_optimization_fields,
|
||||
self._migrate_chat_sessions_table,
|
||||
self._migrate_tenant_id_fields,
|
||||
]
|
||||
|
||||
success_count = 0
|
||||
@@ -477,6 +478,30 @@ class DatabaseInitializer:
|
||||
print(f" 会话管理表迁移失败: {e}")
|
||||
return False
|
||||
|
||||
def _migrate_tenant_id_fields(self) -> bool:
|
||||
"""迁移:为核心表添加 tenant_id 多租户字段"""
|
||||
print(" 检查多租户 tenant_id 字段...")
|
||||
tables = [
|
||||
"work_orders", "chat_sessions", "conversations",
|
||||
"knowledge_entries", "analytics", "alerts", "users",
|
||||
]
|
||||
try:
|
||||
added = 0
|
||||
for table in tables:
|
||||
if not self._column_exists(table, 'tenant_id'):
|
||||
print(f" 添加 {table}.tenant_id ...")
|
||||
self._add_table_columns(table, [
|
||||
('tenant_id', "VARCHAR(50) DEFAULT 'default' NOT NULL")
|
||||
])
|
||||
added += 1
|
||||
else:
|
||||
print(f" {table}.tenant_id 已存在")
|
||||
print(f" tenant_id 迁移完成,新增 {added} 个表")
|
||||
return True
|
||||
except Exception as e:
|
||||
print(f" tenant_id 迁移失败: {e}")
|
||||
return False
|
||||
|
||||
def _add_table_columns(self, table_name: str, fields: List[tuple]) -> bool:
|
||||
"""为表添加字段"""
|
||||
try:
|
||||
|
||||
Reference in New Issue
Block a user