From b2cddad10af800e4d47b916c2f2c55bd9f62c33c Mon Sep 17 00:00:00 2001 From: cll <931958862@qq.com> Date: Sat, 23 Aug 2025 16:44:18 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E9=94=80=E5=94=AE=E7=BB=9F=E8=AE=A1?= =?UTF-8?q?=E6=80=BB=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/service/order.service.ts | 36 +++++++++++++++++++++++++++--------- 1 file changed, 27 insertions(+), 9 deletions(-) diff --git a/src/service/order.service.ts b/src/service/order.service.ts index 90b99db..9781941 100644 --- a/src/service/order.service.ts +++ b/src/service/order.service.ts @@ -853,9 +853,17 @@ export class OrderService { // 4. 总量统计(时间段 + siteId) // ------------------------- const totalParams: any[] = [startDate, endDate]; + const yooneParams: any[] = [startDate, endDate]; let totalSql = ` SELECT - SUM(os.quantity) AS totalQuantity, + SUM(os.quantity) AS totalQuantity + FROM order_sale os + INNER JOIN \`order\` o ON o.id = os.orderId + WHERE o.date_paid BETWEEN ? AND ? + AND o.status IN ('completed','processing') + `; + let yooneSql = ` + SELECT SUM(CASE WHEN os.isYoone = 1 AND os.size = 3 THEN os.quantity ELSE 0 END) AS yoone3Quantity, SUM(CASE WHEN os.isYoone = 1 AND os.size = 6 THEN os.quantity ELSE 0 END) AS yoone6Quantity, SUM(CASE WHEN os.isYoone = 1 AND os.size = 9 THEN os.quantity ELSE 0 END) AS yoone9Quantity, @@ -869,24 +877,34 @@ export class OrderService { WHERE o.date_paid BETWEEN ? AND ? AND o.status IN ('completed','processing') `; + if (siteId) { totalSql += ' AND os.siteId = ?'; totalParams.push(siteId); + yooneSql += ' AND os.siteId = ?'; + yooneParams.push(siteId); } + + if (nameKeywords.length > 0) { + totalSql += ' AND (' + nameKeywords.map(() => 'os.name LIKE ?').join(' AND ') + ')'; + totalParams.push(...nameKeywords.map(w => `%${w}%`)); + } + const [totalResult] = await this.orderSaleModel.query(totalSql, totalParams); + const [yooneResult] = await this.orderSaleModel.query(yooneSql, yooneParams); return { items, total: totalCount, // ✅ 总条数 totalQuantity: Number(totalResult.totalQuantity || 0), - yoone3Quantity: Number(totalResult.yoone3Quantity || 0), - yoone6Quantity: Number(totalResult.yoone6Quantity || 0), - yoone9Quantity: Number(totalResult.yoone9Quantity || 0), - yoone12Quantity: Number(totalResult.yoone12Quantity || 0), - yoone12QuantityNew: Number(totalResult.yoone12QuantityNew || 0), - yoone15Quantity: Number(totalResult.yoone15Quantity || 0), - yoone18Quantity: Number(totalResult.yoone18Quantity || 0), - zexQuantity: Number(totalResult.zexQuantity || 0), + yoone3Quantity: Number(yooneResult.yoone3Quantity || 0), + yoone6Quantity: Number(yooneResult.yoone6Quantity || 0), + yoone9Quantity: Number(yooneResult.yoone9Quantity || 0), + yoone12Quantity: Number(yooneResult.yoone12Quantity || 0), + yoone12QuantityNew: Number(yooneResult.yoone12QuantityNew || 0), + yoone15Quantity: Number(yooneResult.yoone15Quantity || 0), + yoone18Quantity: Number(yooneResult.yoone18Quantity || 0), + zexQuantity: Number(yooneResult.zexQuantity || 0), current, pageSize, };