1
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user