diff --git a/routers/returns.py b/routers/returns.py index bed929c..780fb3b 100644 --- a/routers/returns.py +++ b/routers/returns.py @@ -68,12 +68,15 @@ async def return_lookup(tracking_no: str): conn = get_order_db_conn() cur = conn.cursor() # 주문일시(order_date 또는 upload_date) 기준 가장 최신 1건 조회 - cur.execute(""" + cur.execute(r""" SELECT vendor, recipient_name, recipient_phone, recipient_mobile, address FROM orders - WHERE tracking_number = %s + WHERE tracking_number = %s + OR (tracking_number IS NOT NULL + AND tracking_number != '' + AND %s = ANY(regexp_split_to_array(tracking_number, '[,\s/;]+'))) ORDER BY order_date DESC LIMIT 1 - """, (tracking_no,)) + """, (tracking_no, tracking_no)) row = cur.fetchone() conn.close() @@ -164,12 +167,15 @@ async def create_return_receive_bulk(req: BulkReturnReceive): else: remarks = "고객이 반품" # 2. Check orders - cur_order.execute(""" + cur_order.execute(r""" SELECT vendor, recipient_name, recipient_phone, recipient_mobile, address FROM orders WHERE tracking_number = %s + OR (tracking_number IS NOT NULL + AND tracking_number != '' + AND %s = ANY(regexp_split_to_array(tracking_number, '[,\s/;]+'))) ORDER BY order_date DESC LIMIT 1 - """, (tracking_no,)) + """, (tracking_no, tracking_no)) ord_row = cur_order.fetchone() if ord_row: mall = ord_row['vendor'] or ""