| | |
| | | f"收到回调消息: messageType={callback_data.messageType}, wcId={callback_data.wcId}" |
| | | ) |
| | | |
| | | # 将Pydantic模型转换为字典 |
| | | callback_dict = callback_data.model_dump() |
| | | # 将Pydantic模型转换为字典(兼容v1和v2) |
| | | if hasattr(callback_data, 'model_dump'): |
| | | # Pydantic v2 |
| | | callback_dict = callback_data.model_dump() |
| | | else: |
| | | # Pydantic v1 |
| | | callback_dict = callback_data.dict() |
| | | |
| | | # 将消息加入队列 |
| | | success = message_processor.enqueue_callback_message(callback_dict) |
| | | |
| | | logger.info(f"消息入队结果: success={success}") |
| | | |
| | | if success: |
| | | # 获取发送用户ID |
| | | from_user = callback_dict.get("data", {}).get("fromUser") |
| | | if from_user: |
| | | logger.info(f"启动用户队列处理: from_user={from_user}") |
| | | # 启动用户队列处理 |
| | | message_worker.process_user_queue(from_user) |
| | | |
| | |
| | | success=True, message="消息已成功加入处理队列", code=200 |
| | | ) |
| | | else: |
| | | logger.warning("消息处理失败,未能加入队列") |
| | | return CallbackResponse(success=False, message="消息处理失败", code=400) |
| | | |
| | | except Exception as e: |