This commit is contained in:
2026-08-14 16:11:07 +08:00
parent 3194356859
commit a4417e8976
4 changed files with 23 additions and 6 deletions
+9 -3
View File
@@ -1,5 +1,7 @@
"""银行账户管理与交易查询后台路由。"""
from datetime import datetime, time
from fastapi import APIRouter, Depends, HTTPException, Path, Query
import sqlalchemy as sa
from sqlalchemy import select
@@ -163,12 +165,16 @@ async def list_transactions(
if account is None:
raise HTTPException(status_code=404, detail="银行账户不存在")
# 构建查询条件
# 构建查询条件(日期字符串转为 datetime,避免 PostgreSQL 类型错误)
conditions = [BankTransaction.account_id == account_id]
if start_date:
conditions.append(BankTransaction.transaction_time >= start_date)
start_dt = datetime.strptime(start_date, "%Y-%m-%d")
conditions.append(BankTransaction.transaction_time >= start_dt)
if end_date:
conditions.append(BankTransaction.transaction_time < end_date + " 23:59:59")
end_dt = datetime.strptime(end_date, "%Y-%m-%d").replace(
hour=23, minute=59, second=59
)
conditions.append(BankTransaction.transaction_time <= end_dt)
if dc_flag is not None:
direction = "DR" if dc_flag == 0 else "CR"
conditions.append(BankTransaction.balance_direction == direction)