style: ruff自动格式化修复 - 修复180个空白行和格式问题

This commit is contained in:
Windpicker-owo
2025-11-01 17:06:40 +08:00
parent 939119665c
commit 997167053c
4 changed files with 173 additions and 179 deletions

View File

@@ -6,11 +6,9 @@
- 智能预加载:关联数据自动预加载
"""
from typing import Any, Optional, Type, TypeVar
from typing import Any, TypeVar
from sqlalchemy import and_, delete, func, select, update
from sqlalchemy.ext.asyncio import AsyncSession
from sqlalchemy.inspection import inspect
from sqlalchemy import delete, func, select, update
from src.common.database.core.models import Base
from src.common.database.core.session import get_db_session
@@ -19,7 +17,6 @@ from src.common.database.optimization import (
Priority,
get_batch_scheduler,
get_cache,
get_preloader,
)
from src.common.logger import get_logger
@@ -47,7 +44,7 @@ def _model_to_dict(instance: Base) -> dict[str, Any]:
return result
def _dict_to_model(model_class: Type[T], data: dict[str, Any]) -> T:
def _dict_to_model(model_class: type[T], data: dict[str, Any]) -> T:
"""从字典创建 SQLAlchemy 模型实例 (detached状态)
Args:
@@ -70,7 +67,7 @@ class CRUDBase:
提供通用的增删改查操作,自动集成缓存和批处理
"""
def __init__(self, model: Type[T]):
def __init__(self, model: type[T]):
"""初始化CRUD操作
Args:
@@ -83,7 +80,7 @@ class CRUDBase:
self,
id: int,
use_cache: bool = True,
) -> Optional[T]:
) -> T | None:
"""根据ID获取单条记录
Args:
@@ -130,7 +127,7 @@ class CRUDBase:
self,
use_cache: bool = True,
**filters: Any,
) -> Optional[T]:
) -> T | None:
"""根据条件获取单条记录
Args:
@@ -140,7 +137,7 @@ class CRUDBase:
Returns:
模型实例或None
"""
cache_key = f"{self.model_name}:filter:{str(sorted(filters.items()))}"
cache_key = f"{self.model_name}:filter:{sorted(filters.items())!s}"
# 尝试从缓存获取 (缓存的是字典)
if use_cache:
@@ -196,7 +193,7 @@ class CRUDBase:
Returns:
模型实例列表
"""
cache_key = f"{self.model_name}:multi:{skip}:{limit}:{str(sorted(filters.items()))}"
cache_key = f"{self.model_name}:multi:{skip}:{limit}:{sorted(filters.items())!s}"
# 尝试从缓存获取 (缓存的是字典列表)
if use_cache:
@@ -284,7 +281,7 @@ class CRUDBase:
id: int,
obj_in: dict[str, Any],
use_batch: bool = False,
) -> Optional[T]:
) -> T | None:
"""更新记录
Args:
@@ -424,7 +421,7 @@ class CRUDBase:
async def get_or_create(
self,
defaults: Optional[dict[str, Any]] = None,
defaults: dict[str, Any] | None = None,
**filters: Any,
) -> tuple[T, bool]:
"""获取或创建记录

View File

@@ -7,19 +7,16 @@
- 关联查询
"""
from typing import Any, Generic, Optional, Sequence, Type, TypeVar
from typing import Any, Generic, TypeVar
from sqlalchemy import and_, asc, desc, func, or_, select
from sqlalchemy.ext.asyncio import AsyncSession
from sqlalchemy.engine import Row
from src.common.database.core.models import Base
from src.common.database.core.session import get_db_session
from src.common.database.optimization import get_cache, get_preloader
from src.common.logger import get_logger
# 导入 CRUD 辅助函数以避免重复定义
from src.common.database.api.crud import _dict_to_model, _model_to_dict
from src.common.database.core.models import Base
from src.common.database.core.session import get_db_session
from src.common.database.optimization import get_cache
from src.common.logger import get_logger
logger = get_logger("database.query")
@@ -32,7 +29,7 @@ class QueryBuilder(Generic[T]):
支持链式调用,构建复杂查询
"""
def __init__(self, model: Type[T]):
def __init__(self, model: type[T]):
"""初始化查询构建器
Args:
@@ -106,7 +103,7 @@ class QueryBuilder(Generic[T]):
logger.warning(f"未知操作符: {operator}")
# 更新缓存键
self._cache_key_parts.append(f"filter:{str(sorted(conditions.items()))}")
self._cache_key_parts.append(f"filter:{sorted(conditions.items())!s}")
return self
def filter_or(self, **conditions: Any) -> "QueryBuilder":
@@ -126,7 +123,7 @@ class QueryBuilder(Generic[T]):
if or_conditions:
self._stmt = self._stmt.where(or_(*or_conditions))
self._cache_key_parts.append(f"or:{str(sorted(conditions.items()))}")
self._cache_key_parts.append(f"or:{sorted(conditions.items())!s}")
return self
@@ -224,7 +221,7 @@ class QueryBuilder(Generic[T]):
return instances
async def first(self) -> Optional[T]:
async def first(self) -> T | None:
"""获取第一个结果
Returns:
@@ -337,7 +334,7 @@ class AggregateQuery:
提供聚合操作如sum、avg、max、min等
"""
def __init__(self, model: Type[T]):
def __init__(self, model: type[T]):
"""初始化聚合查询
Args:

View File

@@ -9,9 +9,9 @@ import orjson
from json_repair import repair_json
from sqlalchemy import select
from src.common.database.api.crud import CRUDBase
from src.common.database.compatibility import get_db_session
from src.common.database.core.models import PersonInfo
from src.common.database.api.crud import CRUDBase
from src.common.database.utils.decorators import cached
from src.common.logger import get_logger
from src.config.config import global_config, model_config
@@ -669,7 +669,7 @@ class PersonInfoManager:
logger.error(f"数据库操作异常,耗时 {total_time:.3f}秒: {e}")
raise
found, needs_creation = await _db_update_async(person_id, field_name, processed_value)
_found, needs_creation = await _db_update_async(person_id, field_name, processed_value)
if needs_creation:
logger.info(f"{person_id} 不存在,将新建。")
@@ -992,7 +992,7 @@ class PersonInfoManager:
try:
value = getattr(record, f_name, None)
if value is not None and way(value):
person_id_value = getattr(record, 'person_id', None)
person_id_value = getattr(record, "person_id", None)
if person_id_value:
found_results[person_id_value] = value
except Exception as e:
@@ -1070,7 +1070,7 @@ class PersonInfoManager:
model_fields = [column.name for column in PersonInfo.__table__.columns]
filtered_initial_data = {k: v for k, v in initial_data.items() if v is not None and k in model_fields}
record, was_created = await _db_get_or_create_async(person_id, filtered_initial_data)
_record, was_created = await _db_get_or_create_async(person_id, filtered_initial_data)
if was_created:
logger.info(f"用户 {platform}:{user_id} (person_id: {person_id}) 不存在,将创建新记录。")