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
+33 -6
View File
@@ -176,6 +176,29 @@ async def get_conversation(
session_service = SessionService(db, redis_client=redis)
conversation = await session_service.get_conversation(conversation_id)
# 如果会话中员工姓名为空,从 employees 表回退获取
if not conversation.employee_name:
try:
from sqlalchemy import select
from app.models.employee import Employee
stmt = select(Employee).where(Employee.employee_id == conversation.employee_id)
result = await 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 e:
logger.warning(
f"从employees表获取会话详情员工信息失败: employee_id={conversation.employee_id}, "
f"error={e}"
)
# 获取员工头像(带缓存)
avatar = await session_service._get_employee_avatar(conversation.employee_id)
@@ -214,14 +237,18 @@ async def assign_conversation(
redis_client = settings.create_redis_client()
wecom_service = WecomService(redis_client)
session_service = SessionService(db, wecom_service=wecom_service)
except Exception:
logger.warning("创建企微服务失败,接入通知将不发送")
except Exception as e:
logger.warning(f"创建企微服务失败: {e},接入通知将不发送")
session_service = SessionService(db)
conversation = await session_service.assign_agent(
conversation_id=conversation_id,
agent_id=body.agent_id,
)
try:
conversation = await session_service.assign_agent(
conversation_id=conversation_id,
agent_id=body.agent_id,
)
except Exception as e:
logger.error(f"接单失败: conversation_id={conversation_id}, agent_id={body.agent_id}, error={e}")
raise
# 关闭企微服务连接
if redis_client: