物流管理:增加订单号,完善搜索功能 #5

Merged
longbot merged 1 commits from longbot/API:Feature-add-shipment into main 2025-08-11 07:20:35 +00:00
1 changed files with 17 additions and 10 deletions

View File

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