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)),