WIP-CHECKPOINT[auth-refactor]: 固化工程师崩溃前部分成果 + 同树其他未提交WIP(仅源码,不含密钥/二进制)-- 待重激活工程师续作

This commit is contained in:
Simon
2026-07-07 21:52:11 +08:00
parent 242c1967ff
commit fab75760e0
203 changed files with 21504 additions and 3345 deletions
+44
View File
@@ -612,6 +612,27 @@ class MessageRouter:
self.db.add(conversation)
await self.db.flush() # 刷新以获取生成的 ID
# 创建会话后,尝试从 employees 表获取员工信息(作为回退)
try:
from app.models.employee import Employee
stmt = select(Employee).where(Employee.employee_id == employee_id)
result = await self.db.execute(stmt)
employee = result.scalars().first()
if employee and employee.name:
conversation.employee_name = employee.name
conversation.department = employee.department or ""
conversation.position = employee.position or ""
conversation.level = employee.level or ""
logger.info(
f"从employees表获取员工信息: employee_id={employee_id}, "
f"name={employee.name}"
)
except Exception as e:
logger.warning(
f"从employees表获取员工信息失败: employee_id={employee_id}, "
f"error={e}"
)
logger.info(
f"创建新会话: conv_id={conversation.id}, "
f"employee_id={employee_id}, status=ai_handling"
@@ -669,3 +690,26 @@ class MessageRouter:
f"VIP检测失败(不阻塞流程): employee_id={conversation.employee_id}, "
f"error={e}"
)
# 企微API失败时,从employees表回退获取员工信息
try:
from sqlalchemy import select
from app.models.employee import Employee
stmt = select(Employee).where(
Employee.employee_id == conversation.employee_id
)
result = await self.db.execute(stmt)
employee = result.scalars().first()
if employee and employee.name:
conversation.employee_name = employee.name
conversation.department = employee.department or ""
conversation.position = employee.position or ""
conversation.level = employee.level or ""
logger.info(
f"从employees表回退获取员工信息: employee_id={conversation.employee_id}, "
f"name={employee.name}"
)
except Exception as fallback_error:
logger.warning(
f"从employees表回退获取员工信息失败: employee_id={conversation.employee_id}, "
f"error={fallback_error}"
)