From 814f3fed091f4efbf029e72ecacc320289be8c39 Mon Sep 17 00:00:00 2001 From: lhx Date: Wed, 10 Dec 2025 11:05:14 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B4=A6=E5=8F=B7=E6=B7=BB=E5=8A=A0=E5=AE=87?= =?UTF-8?q?=E6=81=92=E4=B8=80=E5=8F=B7=E7=94=A8=E6=88=B7id=E7=AE=A1?= =?UTF-8?q?=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/api/account.py | 3 ++- app/models/account.py | 3 ++- app/schemas/account.py | 3 +++ app/services/account.py | 5 ++++- 4 files changed, 11 insertions(+), 3 deletions(-) diff --git a/app/api/account.py b/app/api/account.py index e0b1f38..b76fac5 100644 --- a/app/api/account.py +++ b/app/api/account.py @@ -51,7 +51,8 @@ def get_account(request: AccountGetRequest, db: Session = Depends(get_db)): username=request.username, project_name=request.project_name, status=request.status, - today_updated=request.today_updated + today_updated=request.today_updated, + yh_id=request.yh_id ) if not accounts: return AccountListResponse( diff --git a/app/models/account.py b/app/models/account.py index 006637a..0f04e9a 100644 --- a/app/models/account.py +++ b/app/models/account.py @@ -15,8 +15,9 @@ class Account(Base): updated_at = Column(DateTime, server_default=func.now(), onupdate=func.now(), comment="更新时间") update_time = Column(String(1000), nullable=False, comment="更新时间跨度") max_variation = Column(Integer, default=1, comment="变化量的绝对值,单位是毫米") + yh_id = Column(String(1000), comment="宇恒一号用户id") + - # 模型转字典 def to_dict(self): """将模型实例转换为字典,支持 Pydantic 序列化""" diff --git a/app/schemas/account.py b/app/schemas/account.py index 617307e..bed86f5 100644 --- a/app/schemas/account.py +++ b/app/schemas/account.py @@ -10,6 +10,7 @@ class AccountBase(BaseModel): project_name: Optional[str] = None update_time: Optional[str] = None max_variation: Optional[int] = None + yh_id: Optional[str] = None class AccountCreate(AccountBase): pass @@ -45,6 +46,7 @@ class AccountResponse(AccountBase): updated_at=account.updated_at, update_time=account.update_time, max_variation=account.max_variation, + yh_id=account.yh_id ) class AccountListRequest(BaseModel): @@ -58,6 +60,7 @@ class AccountGetRequest(BaseModel): status: Optional[int] = None today_updated: Optional[int] = None update_time: Optional[str] = None + yh_id: Optional[str] = None class AccountUpdateRequest(BaseModel): account_id: int diff --git a/app/services/account.py b/app/services/account.py index 270f688..85b4d8f 100644 --- a/app/services/account.py +++ b/app/services/account.py @@ -32,7 +32,8 @@ class AccountService: @staticmethod def search_accounts(db: Session, account_id: Optional[int] = None, username: Optional[str] = None, project_name: Optional[str] = None, - status: Optional[int] = None, today_updated: Optional[int] = None) -> List[AccountResponse]: + status: Optional[int] = None, today_updated: Optional[int] = None, + yh_id: Optional[str] = None) -> List[AccountResponse]: """根据多种条件搜索账号""" query = db.query(Account) @@ -46,6 +47,8 @@ class AccountService: query = query.filter(Account.status == status) if today_updated is not None: query = query.filter(Account.today_updated == today_updated) + if yh_id is not None: + query = query.filter(Account.yh_id == yh_id) accounts = query.all() return [AccountResponse.from_orm_account(account) for account in accounts]