From f28ac0166536a2a4b68cac685a41ea667f60f7e9 Mon Sep 17 00:00:00 2001
From: yj <2077506045@qq.com>
Date: 星期三, 03 九月 2025 14:43:03 +0800
Subject: [PATCH] 兼容企业微信

---
 main.py |   27 +++++++++++++++++++++++++++
 1 files changed, 27 insertions(+), 0 deletions(-)

diff --git a/main.py b/main.py
index 978923a..e6b60b3 100644
--- a/main.py
+++ b/main.py
@@ -10,8 +10,12 @@
 import time
 from config import settings
 from app.api.callback import router as callback_router
+from app.api.friend_ignore import router as friend_ignore_router
+from app.api.message_aggregation import router as message_aggregation_router
 from app.models.database import create_tables
 from app.workers.message_worker import message_worker
+from app.services.contact_sync import contact_sync_service
+from app.services.message_aggregator import message_aggregator
 
 
 @asynccontextmanager
@@ -34,12 +38,33 @@
     except Exception as e:
         logger.error(f"娑堟伅宸ヤ綔杩涚▼鍚姩澶辫触: {str(e)}")
 
+    # 鍚屾鑱旂郴浜轰俊鎭苟寤虹珛濂藉弸蹇界暐鍒楄〃
+    try:
+        if settings.ecloud_w_id:
+            logger.info("寮�濮嬪悓姝ヨ仈绯讳汉淇℃伅...")
+            success = contact_sync_service.sync_contacts_on_startup(settings.ecloud_w_id)
+            if success:
+                logger.info("鑱旂郴浜哄悓姝ュ畬鎴愶紝濂藉弸蹇界暐鍒楄〃宸插缓绔�")
+            else:
+                logger.warning("鑱旂郴浜哄悓姝ュけ璐�")
+        else:
+            logger.warning("鏈厤缃甧cloud_w_id锛岃烦杩囪仈绯讳汉鍚屾")
+    except Exception as e:
+        logger.error(f"鑱旂郴浜哄悓姝ュ紓甯�: {str(e)}")
+
     logger.info("搴旂敤鍚姩瀹屾垚")
 
     yield
 
     # 鍏抽棴鏃舵墽琛�
     logger.info("姝e湪鍏抽棴搴旂敤...")
+
+    # 鍋滄娑堟伅鑱氬悎鏈嶅姟
+    try:
+        message_aggregator.stop()
+        logger.info("娑堟伅鑱氬悎鏈嶅姟宸插仠姝�")
+    except Exception as e:
+        logger.error(f"娑堟伅鑱氬悎鏈嶅姟鍋滄澶辫触: {str(e)}")
 
     # 鍋滄娑堟伅宸ヤ綔杩涚▼
     try:
@@ -70,6 +95,8 @@
 
 # 娉ㄥ唽璺敱
 app.include_router(callback_router, prefix="/api/v1", tags=["鍥炶皟鎺ュ彛"])
+app.include_router(friend_ignore_router, prefix="/api/v1", tags=["濂藉弸蹇界暐绠$悊"])
+app.include_router(message_aggregation_router, prefix="/api/v1/aggregation", tags=["娑堟伅鑱氬悎绠$悊"])
 
 
 @app.get("/")

--
Gitblit v1.9.1