v0.8.1测试

This commit is contained in:
2026-04-16 08:57:22 +08:00
parent c8262cf92e
commit c543de1dfe
2 changed files with 21 additions and 3 deletions

View File

@@ -12,6 +12,19 @@
import aiomysql
from typing import Optional, Dict, Any, List
from contextlib import asynccontextmanager
from datetime import datetime, date
def _convert_datetime(obj: Any) -> Any:
'''递归转换datetime对象为字符串'''
if isinstance(obj, datetime):
return obj.strftime('%Y-%m-%d %H:%M:%S')
elif isinstance(obj, date):
return obj.strftime('%Y-%m-%d')
elif isinstance(obj, dict):
return {k: _convert_datetime(v) for k, v in obj.items()}
elif isinstance(obj, list):
return [_convert_datetime(item) for item in obj]
return obj
from config import settings
from utils.logger import get_logger
@@ -88,14 +101,16 @@ async def execute_query(sql: str, params: tuple = None) -> List[Dict[str, Any]]:
"""执行查询SQL"""
async with get_connection() as cursor:
await cursor.execute(sql, params)
return await cursor.fetchall()
result = await cursor.fetchall()
return _convert_datetime(result)
async def execute_one(sql: str, params: tuple = None) -> Optional[Dict[str, Any]]:
"""执行查询SQL单条"""
async with get_connection() as cursor:
await cursor.execute(sql, params)
return await cursor.fetchone()
result = await cursor.fetchone()
return _convert_datetime(result)
async def execute_insert(sql: str, params: tuple = None) -> int: