from typing import Any from app.config import settings from app.wechat.client import WeChatClient class NotificationService: def __init__(self): self.client = WeChatClient() async def send(self, announcements: list[dict[str, Any]]) -> int: if not settings.wechat_enabled: return 0 if not announcements: return 0 sent = 0 for ann in announcements: try: title = ann.get("title", "") if len(title) > 128: title = title[:125] + "..." purchase_name = ann.get("purchase_name", "") if len(purchase_name) > 25: purchase_name = purchase_name[:22] + "..." pub_date = ann.get("publish_date") time_str = pub_date.strftime("%Y-%m-%d %H:%M") if pub_date else "时间未知" source_name = ann.get("source_name", "") description = ( f'