整理代码

This commit is contained in:
咕谷酱
2025-08-22 05:57:28 +08:00
parent ad131c0158
commit ce465aa049
20 changed files with 1078 additions and 799 deletions

View File

@@ -7,7 +7,7 @@ from app.config import settings
from .mods import API_MODS, APIMod
from pydantic import BaseModel, Field, ValidationInfo, field_validator, field_serializer
from pydantic import BaseModel, Field, ValidationInfo, field_serializer, field_validator
if TYPE_CHECKING:
import rosu_pp_py as rosu
@@ -212,7 +212,7 @@ class SoloScoreSubmissionInfo(BaseModel):
if isinstance(v, dict):
serialized = {}
for key, value in v.items():
if hasattr(key, 'value'):
if hasattr(key, "value"):
# 如果是枚举,使用其值
serialized[key.value] = value
else:
@@ -224,7 +224,7 @@ class SoloScoreSubmissionInfo(BaseModel):
@field_serializer("rank", when_used="json")
def serialize_rank(self, v):
"""序列化等级,确保枚举值正确转换为字符串"""
if hasattr(v, 'value'):
if hasattr(v, "value"):
return v.value
return str(v)

View File

@@ -1,13 +1,13 @@
from __future__ import annotations
from datetime import datetime
from typing import Any
from pydantic import BaseModel
class OnlineStats(BaseModel):
"""在线统计信息"""
registered_users: int
online_users: int
playing_users: int
@@ -16,6 +16,7 @@ class OnlineStats(BaseModel):
class OnlineHistoryPoint(BaseModel):
"""在线历史数据点"""
timestamp: datetime
online_count: int
playing_count: int
@@ -23,12 +24,14 @@ class OnlineHistoryPoint(BaseModel):
class OnlineHistoryStats(BaseModel):
"""24小时在线历史统计"""
history: list[OnlineHistoryPoint]
current_stats: OnlineStats
class ServerStatistics(BaseModel):
"""服务器统计信息"""
total_users: int
online_users: int
playing_users: int