WIP-CHECKPOINT[auth-refactor]: 固化工程师崩溃前部分成果 + 同树其他未提交WIP(仅源码,不含密钥/二进制)-- 待重激活工程师续作
This commit is contained in:
@@ -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}"
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user