From cc23f1694de1313f9ec50b47e7f9a252c2f7770f Mon Sep 17 00:00:00 2001 From: longbot <444693295@qq.com> Date: Mon, 11 Aug 2025 13:57:17 +0800 Subject: [PATCH] =?UTF-8?q?=E7=89=A9=E6=B5=81=E7=AE=A1=E7=90=86=EF=BC=9A?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=AE=A2=E5=8D=95=E5=8F=B7=EF=BC=8C=E5=AE=8C?= =?UTF-8?q?=E5=96=84=E6=90=9C=E7=B4=A2=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/service/logistics.service.ts | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/src/service/logistics.service.ts b/src/service/logistics.service.ts index 54d2cc9..c4baf0e 100644 --- a/src/service/logistics.service.ts +++ b/src/service/logistics.service.ts @@ -601,29 +601,36 @@ export class LogisticsService { const { pageSize = 10, current = 1, - primary_tracking_number, + return_tracking_number, stockPointId, + externalOrderId, } = param; const offset = pageSize * (current - 1); const values: any[] = []; let whereClause = 'WHERE 1=1'; - if (primary_tracking_number) { - whereClause += ' AND s.primary_tracking_number LIKE ?'; - values.push(`%${primary_tracking_number}%`); + if (return_tracking_number) { + whereClause += ' AND s.return_tracking_number LIKE ?'; + values.push(`%${return_tracking_number}%`); } if (stockPointId) { - whereClause += ' AND os.stockPointId = ?'; + whereClause += ' AND sp.id = ?'; values.push(stockPointId); } + // todo,增加订单号搜索 + if (externalOrderId) { + whereClause += ' AND o.externalOrderId = ?'; + values.push(externalOrderId); + } + const sql = ` - SELECT s.*, sp.name + SELECT s.*, sp.name, o.externalOrderId FROM shipment s - LEFT JOIN order_shipment os ON s.id = os.shipment_id - LEFT JOIN stock_point sp ON os.stockPointId = sp.id + LEFT JOIN \`order\` o ON s.order_id = o.id + LEFT JOIN stock_point sp ON s.stock_point_id = sp.id ${whereClause} ORDER BY s.createdAt DESC LIMIT ?, ? @@ -632,12 +639,12 @@ export class LogisticsService { values.push(offset, Number(pageSize)); const items = await this.serviceModel.query(sql, values); - // 单独计算总数 const countSql = ` SELECT COUNT(DISTINCT s.id) as total FROM shipment s - LEFT JOIN order_shipment os ON s.id = os.shipment_id + LEFT JOIN \`order\` o ON s.order_id = o.id + LEFT JOIN stock_point sp ON s.stock_point_id = sp.id ${whereClause} `;