From 1b6e117c7f1e50a9cc81df09023284e9c1ae6870 Mon Sep 17 00:00:00 2001 From: yml2213 Date: Thu, 10 Sep 2026 10:13:00 +0800 Subject: [PATCH] =?UTF-8?q?perf(order-repo):=20=E4=BC=98=E5=8C=96=E5=90=8E?= =?UTF-8?q?=E5=8F=B0=E8=AE=A2=E5=8D=95=E5=85=B3=E9=94=AE=E8=AF=8D=E6=90=9C?= =?UTF-8?q?=E7=B4=A2=EF=BC=8C=E6=8F=90=E5=8F=96=E5=85=B3=E9=94=AE=20JSON?= =?UTF-8?q?=20=E5=AD=97=E6=AE=B5=E5=B9=B6=E4=BF=9D=E7=95=99=E7=8E=B0?= =?UTF-8?q?=E6=9C=89=20GIN=20=E7=B4=A2=E5=BC=95=E5=91=BD=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/backend/src/repositories/order-repo.ts | 24 +++++++++++++++------ 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/apps/backend/src/repositories/order-repo.ts b/apps/backend/src/repositories/order-repo.ts index a112fd71..1fb356f4 100644 --- a/apps/backend/src/repositories/order-repo.ts +++ b/apps/backend/src/repositories/order-repo.ts @@ -243,19 +243,29 @@ export async function listOrdersWithExecutor( filters.push(`( ( o.platform_order_id || ' ' || o.shop_id || ' ' || o.shop_name || ' ' || - o.buyer_id || ' ' || o.buyer_name || ' ' || o.receiver_contact || ' ' || - o.raw_payload_json::text + o.buyer_id || ' ' || o.buyer_name || ' ' || o.receiver_contact + ) ILIKE ${keywordParam} + OR ( + COALESCE(o.raw_payload_json->'body'->>'itemTitle', o.raw_payload_json->>'itemTitle', '') || ' ' || + COALESCE(o.raw_payload_json->'body'->>'productNo', o.raw_payload_json->>'productNo', '') || ' ' || + COALESCE(o.raw_payload_json->'body'->>'itemId', o.raw_payload_json->>'itemId', '') || ' ' || + COALESCE(o.raw_payload_json->'body'->>'skuId', o.raw_payload_json->>'skuId', '') ) ILIKE ${keywordParam} OR EXISTS ( SELECT 1 FROM order_items oi WHERE oi.order_id = o.id AND ( - oi.sku_code || ' ' || oi.sku_name || ' ' || - COALESCE(oi.item_snapshot_json->'kuaishouSendCode'->>'itemTitle', '') || ' ' || - COALESCE(oi.item_snapshot_json->'kuaishouSendCode'->>'skuNick', '') || ' ' || - COALESCE(oi.spec_json::text, '') - ) ILIKE ${keywordParam} + ( + oi.sku_code || ' ' || oi.sku_name || ' ' || + COALESCE(oi.item_snapshot_json->'kuaishouSendCode'->>'itemTitle', '') || ' ' || + COALESCE(oi.item_snapshot_json->'kuaishouSendCode'->>'skuNick', '') + ) ILIKE ${keywordParam} + OR ( + COALESCE(oi.spec_json->>'skuNick', '') || ' ' || + COALESCE(oi.spec_json->>'itemTitle', '') + ) ILIKE ${keywordParam} + ) ) )`) }