feat: 展示PDD商品和采购订单信息 (#164)

This commit is contained in:
chengma
2026-08-11 16:46:49 +08:00
parent 24497c55fd
commit 1f48d3a857
9 changed files with 319 additions and 31 deletions
+13 -3
View File
@@ -136,7 +136,12 @@ class TaskRepository:
" WHEN latest_run.started_at IS NOT NULL AND latest_run.finished_at IS NOT NULL"
" THEN MAX(0, CAST(strftime('%s', latest_run.finished_at)"
" - strftime('%s', latest_run.started_at) AS INTEGER))"
" ELSE NULL END AS duration_seconds"
" ELSE NULL END AS duration_seconds,"
" CASE WHEN pdd_tasks.pdd_data IS NOT NULL"
" AND json_valid(pdd_tasks.pdd_data)"
" THEN CAST(json_extract(pdd_tasks.pdd_data,"
" '$.purchase.order_no') AS TEXT)"
" ELSE NULL END AS order_no"
" FROM pdd_tasks"
" LEFT JOIN task_runs AS latest_run ON latest_run.id = ("
" SELECT id FROM task_runs WHERE task_id = pdd_tasks.id"
@@ -1830,9 +1835,13 @@ class TaskRepository:
clauses.append(
"(remote_task_id LIKE ? ESCAPE '\\'"
" OR COALESCE(goods_id, '') LIKE ? ESCAPE '\\'"
" OR COALESCE(title, '') LIKE ? ESCAPE '\\')"
" OR COALESCE(title, '') LIKE ? ESCAPE '\\'"
" OR COALESCE(CASE WHEN pdd_data IS NOT NULL"
" AND json_valid(pdd_data)"
" THEN json_extract(pdd_data, '$.purchase.order_no')"
" END, '') LIKE ? ESCAPE '\\')"
)
parameters.extend((pattern, pattern, pattern))
parameters.extend((pattern, pattern, pattern, pattern))
return (" WHERE " + " AND ".join(clauses) if clauses else "", parameters)
@staticmethod
@@ -1859,6 +1868,7 @@ class TaskRepository:
else None
),
duration_seconds=row["duration_seconds"],
order_no=row["order_no"],
updated_at=row["updated_at"],
)