From 44aee19acc82024d5233283dc736c8bdda073efe Mon Sep 17 00:00:00 2001 From: aiotagro Date: Mon, 22 Sep 2025 18:19:31 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=8D=E6=9E=84=E8=AE=A4=E8=AF=81=E7=B3=BB?= =?UTF-8?q?=E7=BB=9F=E5=92=8C=E8=AE=A2=E5=8D=95=E6=94=AF=E4=BB=98=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=EF=BC=8C=E6=96=B0=E5=A2=9E=E9=82=AE=E7=AE=B1=E9=AA=8C?= =?UTF-8?q?=E8=AF=81=E3=80=81=E5=AF=86=E7=A0=81=E9=87=8D=E7=BD=AE=E5=8F=8A?= =?UTF-8?q?=E6=94=AF=E4=BB=98=E6=B5=81=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/src/controllers/order/index.js | 3 +-- backend/src/routes/order.js | 6 +++--- backend/src/services/order/index.js | 17 ++++++++--------- backend/src/services/user/index.js | 1 + 4 files changed, 13 insertions(+), 14 deletions(-) diff --git a/backend/src/controllers/order/index.js b/backend/src/controllers/order/index.js index 3e2486a..d161317 100644 --- a/backend/src/controllers/order/index.js +++ b/backend/src/controllers/order/index.js @@ -242,8 +242,7 @@ async function payOrder(req, res, next) { */ async function getOrderStatistics(req, res, next) { try { - const userId = req.user.id; - const statistics = await OrderService.getOrderStatistics(userId); + const statistics = await OrderService.getOrderStatistics(); res.json({ success: true, diff --git a/backend/src/routes/order.js b/backend/src/routes/order.js index 6a93543..95291b9 100644 --- a/backend/src/routes/order.js +++ b/backend/src/routes/order.js @@ -20,12 +20,12 @@ const router = express.Router(); // 创建订单 router.post('/', authenticate, createOrder); -// 获取订单详情 -router.get('/:orderId', authenticate, getOrder); - // 获取订单统计信息 router.get('/statistics', authenticate, getOrderStatistics); +// 获取订单详情 +router.get('/:orderId', authenticate, getOrder); + // 管理员获取所有订单 router.get('/admin', authenticate, requireAdmin, getAllOrders); diff --git a/backend/src/services/order/index.js b/backend/src/services/order/index.js index a22df9e..ae8fd0c 100644 --- a/backend/src/services/order/index.js +++ b/backend/src/services/order/index.js @@ -60,7 +60,7 @@ class OrderService { LEFT JOIN animals a ON o.animal_id = a.id LEFT JOIN users u ON o.user_id = u.id LEFT JOIN merchants m ON o.merchant_id = m.id - WHERE o.id = ? AND o.is_deleted = 0 + WHERE o.id = ? `; const [order] = await database.query(query, [orderId]); @@ -163,13 +163,13 @@ class OrderService { FROM orders o LEFT JOIN animals a ON o.animal_id = a.id LEFT JOIN users u ON o.user_id = u.id - WHERE o.merchant_id = ? AND o.is_deleted = 0 + WHERE o.merchant_id = ? `; let countQuery = ` SELECT COUNT(*) as total FROM orders o - WHERE o.merchant_id = ? AND o.is_deleted = 0 + WHERE o.merchant_id = ? `; const params = [merchantId]; @@ -220,7 +220,7 @@ class OrderService { const query = ` UPDATE orders SET status = ?, updated_by = ?, updated_at = CURRENT_TIMESTAMP - WHERE id = ? AND is_deleted = 0 + WHERE id = ? `; const result = await database.query(query, [status, userId, orderId]); @@ -245,12 +245,11 @@ class OrderService { async deleteOrder(orderId, userId) { try { const query = ` - UPDATE orders - SET is_deleted = 1, deleted_by = ?, deleted_at = CURRENT_TIMESTAMP - WHERE id = ? AND is_deleted = 0 + DELETE FROM orders + WHERE id = ? `; - const result = await database.query(query, [userId, orderId]); + const result = await database.query(query, [orderId]); return result.affectedRows > 0; } catch (error) { @@ -323,7 +322,7 @@ class OrderService { SUM(CASE WHEN status = 'cancelled' THEN 1 ELSE 0 END) as cancelled_orders, SUM(total_amount) as total_revenue FROM orders - WHERE merchant_id = ? AND is_deleted = 0 + WHERE merchant_id = ? `; const [stats] = await database.query(query, [merchantId]); diff --git a/backend/src/services/user/index.js b/backend/src/services/user/index.js index 62023c1..07b940a 100644 --- a/backend/src/services/user/index.js +++ b/backend/src/services/user/index.js @@ -113,6 +113,7 @@ class UserService { queryParams.push(parseInt(pageSize), parseInt(offset)); const users = await UserMySQL.query(sql, queryParams); + return { users: users.map(user => UserMySQL.sanitize(user)),