From 64119d539107c3bc001b71dd449fe96a1c60f1f4 Mon Sep 17 00:00:00 2001 From: aaron <> Date: Fri, 23 May 2025 14:45:20 +0800 Subject: [PATCH] update --- cryptoai/routes/fastapi_app.py | 2 ++ cryptoai/routes/platform.py | 29 ++++++++++++++++ cryptoai/routes/usstock.py | 0 cryptoai/utils/db_manager.py | 61 ++++++++++++++++++++++++++++++++++ docker-compose.yml | 2 +- 5 files changed, 93 insertions(+), 1 deletion(-) create mode 100644 cryptoai/routes/platform.py delete mode 100644 cryptoai/routes/usstock.py diff --git a/cryptoai/routes/fastapi_app.py b/cryptoai/routes/fastapi_app.py index 6b79552..e653e72 100644 --- a/cryptoai/routes/fastapi_app.py +++ b/cryptoai/routes/fastapi_app.py @@ -21,6 +21,7 @@ from cryptoai.routes.user import router as user_router from cryptoai.routes.adata import router as adata_router from cryptoai.routes.question import router as question_router from cryptoai.routes.crypto import router as crypto_router +from cryptoai.routes.platform import router as platform_router # 配置日志 logging.basicConfig( @@ -51,6 +52,7 @@ app.add_middleware( # 添加API路由 app.include_router(agent_router, prefix="/agent") +app.include_router(platform_router, prefix="/platform", tags=["平台信息"]) app.include_router(feed_router, prefix="/feed", tags=["AI Agent信息流"]) app.include_router(user_router, prefix="/user", tags=["用户管理"]) app.include_router(question_router, prefix="/question", tags=["用户提问"]) diff --git a/cryptoai/routes/platform.py b/cryptoai/routes/platform.py new file mode 100644 index 0000000..a2e3c0c --- /dev/null +++ b/cryptoai/routes/platform.py @@ -0,0 +1,29 @@ +from fastapi import APIRouter +from cryptoai.utils.db_manager import get_db_manager +import logging + +router = APIRouter() + +logger = logging.getLogger("platform_router") +logger.setLevel(logging.INFO) + +@router.get("/info") +async def get_platform_info(): + db_manager = get_db_manager() + + result = {} + + try: + result["user_count"] = db_manager.get_user_count() + result["question_count"] = db_manager.get_user_question_count() + + return result + except Exception as e: + logger.error(f"获取平台信息失败: {e}") + return {} + + + + + + diff --git a/cryptoai/routes/usstock.py b/cryptoai/routes/usstock.py deleted file mode 100644 index e69de29..0000000 diff --git a/cryptoai/utils/db_manager.py b/cryptoai/utils/db_manager.py index 49d1bab..8e3c156 100644 --- a/cryptoai/utils/db_manager.py +++ b/cryptoai/utils/db_manager.py @@ -430,6 +430,36 @@ class DBManager: except: pass return False + + def get_user_count(self) -> int: + """ + 获取用户数量 + """ + if not self.engine: + try: + self._init_db() + except Exception as e: + logger.error(f"重新连接数据库失败: {e}") + return 0 + + try: + # 创建会话 + session = self.Session() + + try: + # 查询用户数量 + user_count = session.query(User).count() + + return user_count + except Exception as e: + logger.error(f"获取用户数量失败: {e}") + return 0 + finally: + session.close() + + except Exception as e: + logger.error(f"获取用户数量失败: {e}") + return 0 def get_user_by_id(self, user_id: int) -> Optional[Dict[str, Any]]: """ @@ -789,6 +819,37 @@ class DBManager: except: pass return False + + def get_user_question_count(self) -> int: + """ + 获取用户提问数量 + """ + if not self.engine: + try: + self._init_db() + except Exception as e: + logger.error(f"重新连接数据库失败: {e}") + return 0 + + try: + # 创建会话 + session = self.Session() + + try: + # 查询用户提问数量 + question_count = session.query(UserQuestion).count() + + return question_count + except Exception as e: + logger.error(f"获取用户提问数量失败: {e}") + return 0 + finally: + session.close() + + except Exception as e: + logger.error(f"获取用户提问数量失败: {e}") + return 0 + def get_user_questions(self, user_id: Optional[int] = None, agent_id: Optional[str] = None, limit: int = 20, skip: int = 0) -> List[Dict[str, Any]]: diff --git a/docker-compose.yml b/docker-compose.yml index 4a5d8af..0ee86f8 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -29,7 +29,7 @@ services: cryptoai-api: build: . container_name: cryptoai-api - image: cryptoai-api:0.1.24 + image: cryptoai-api:0.1.25 restart: always ports: - "8000:8000"