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} + ) ) )`) }