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} `;