fix(data_management): 更新数据库交易查询逻辑

在后端 API 的 `query_db_trades` 函数中,将 `reconciled_only` 参数类型从布尔值更改为可选字符串,并在查询逻辑中添加了相应的处理。同时,在前端 `DataManagement` 组件中,初始化 `dbDate` 为当前日期,并优化了参数构建逻辑,以确保在请求时正确传递日期和对账状态。这些改动提升了数据查询的灵活性与准确性。
This commit is contained in:
薇薇安 2026-02-22 10:21:01 +08:00
parent f2b04911a2
commit 69be629369
2 changed files with 8 additions and 10 deletions

View File

@ -78,7 +78,7 @@ async def query_db_trades(
end_date: Optional[str] = Query(None),
symbol: Optional[str] = Query(None),
time_filter: str = Query("created", description="created/entry/exit"),
reconciled_only: bool = Query(False),
reconciled_only: Optional[str] = Query(None),
limit: int = Query(500, ge=1, le=2000),
):
"""
@ -87,6 +87,7 @@ async def query_db_trades(
sd, ed = start_date, end_date
if date:
sd, ed = date, date
_reconciled = str(reconciled_only or "").lower() in ("true", "1", "yes")
start_ts, end_ts = _get_timestamp_range(period or "today", sd, ed)
trades = Trade.get_all(
start_timestamp=start_ts,
@ -96,7 +97,7 @@ async def query_db_trades(
account_id=account_id,
time_filter=time_filter,
limit=limit,
reconciled_only=reconciled_only,
reconciled_only=_reconciled,
include_sync=True,
)
out = []

View File

@ -17,7 +17,7 @@ export default function DataManagement() {
// DB
const [dbAccountId, setDbAccountId] = useState('')
const [dbDate, setDbDate] = useState('')
const [dbDate, setDbDate] = useState(() => new Date().toISOString().slice(0, 10))
const [dbTimeFilter, setDbTimeFilter] = useState('created')
const [dbReconciledOnly, setDbReconciledOnly] = useState(false)
const [dbSymbol, setDbSymbol] = useState('')
@ -53,13 +53,10 @@ export default function DataManagement() {
setDbError('')
setDbResult(null)
try {
const params = {
account_id: aid,
date: dbDate || undefined,
time_filter: dbTimeFilter,
reconciled_only: dbReconciledOnly ? 'true' : undefined,
symbol: dbSymbol || undefined,
}
const params = { account_id: aid, time_filter: dbTimeFilter }
if (dbDate) params.date = dbDate
if (dbReconciledOnly) params.reconciled_only = 'true'
if (dbSymbol && dbSymbol.trim()) params.symbol = dbSymbol.trim()
const res = await api.getDataManagementDbTrades(params)
setDbResult(res)
} catch (e) {