# ============================================================================= # 企微IT智能服务台 — 超时提醒服务 # ============================================================================= # 说明:提供发送超时提醒企微消息的功能 # 在坐席回复后员工长时间未回复时,发送企微提醒消息 # ============================================================================= import logging from app.config import settings from app.services.wecom_service import WecomService logger = logging.getLogger(__name__) # 超时提醒消息内容 REMINDER_MESSAGE = ( "IT服务提醒:您有新的消息未查看," "咨询将在10分钟后标记为待关闭,请尽快点击处理 👉 " "https://itsupport.servyou.com.cn/itdesk/" ) async def send_reminder_message(employee_id: str) -> bool: """发送超时提醒企微消息。 当坐席回复后员工超过3分钟未回复时,发送企微消息提醒员工查看。 Args: employee_id: 员工的企微 UserID Returns: bool: 发送是否成功 Raises: Exception: 发送失败时抛出异常 """ try: redis_client = settings.create_redis_client() wecom_service = WecomService(redis_client) try: result = await wecom_service.send_text_message( employee_id, REMINDER_MESSAGE ) if result.get("errcode") == 0: logger.info(f"超时提醒发送成功: employee_id={employee_id}") return True else: logger.warning( f"超时提醒发送失败: employee_id={employee_id}, " f"errcode={result.get('errcode')}, errmsg={result.get('errmsg')}" ) return False finally: await wecom_service.close() await redis_client.close() except Exception as e: logger.error(f"发送超时提醒异常: employee_id={employee_id}, error={e}") raise