This commit is contained in:
aaron 2025-05-23 14:45:20 +08:00
parent 25335e5633
commit 64119d5391
5 changed files with 93 additions and 1 deletions

View File

@ -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.adata import router as adata_router
from cryptoai.routes.question import router as question_router from cryptoai.routes.question import router as question_router
from cryptoai.routes.crypto import router as crypto_router from cryptoai.routes.crypto import router as crypto_router
from cryptoai.routes.platform import router as platform_router
# 配置日志 # 配置日志
logging.basicConfig( logging.basicConfig(
@ -51,6 +52,7 @@ app.add_middleware(
# 添加API路由 # 添加API路由
app.include_router(agent_router, prefix="/agent") 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(feed_router, prefix="/feed", tags=["AI Agent信息流"])
app.include_router(user_router, prefix="/user", tags=["用户管理"]) app.include_router(user_router, prefix="/user", tags=["用户管理"])
app.include_router(question_router, prefix="/question", tags=["用户提问"]) app.include_router(question_router, prefix="/question", tags=["用户提问"])

View File

@ -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 {}

View File

@ -430,6 +430,36 @@ class DBManager:
except: except:
pass pass
return False 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]]: def get_user_by_id(self, user_id: int) -> Optional[Dict[str, Any]]:
""" """
@ -789,6 +819,37 @@ class DBManager:
except: except:
pass pass
return False 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, 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]]: limit: int = 20, skip: int = 0) -> List[Dict[str, Any]]:

View File

@ -29,7 +29,7 @@ services:
cryptoai-api: cryptoai-api:
build: . build: .
container_name: cryptoai-api container_name: cryptoai-api
image: cryptoai-api:0.1.24 image: cryptoai-api:0.1.25
restart: always restart: always
ports: ports:
- "8000:8000" - "8000:8000"