From 129cf155e169d369c722c217dd1c092d9192bd7f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E6=B5=B7=E6=B4=8B?= Date: Thu, 4 Jun 2026 18:43:38 +0800 Subject: [PATCH] =?UTF-8?q?API=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- controllers/orders.js | 6 ++++-- routes/categories.js | 8 ++++---- routes/homeCategories.js | 6 +++--- routes/points-goods.js | 6 +++--- routes/suppliers.js | 2 +- services/orderService.js | 4 ++-- 6 files changed, 17 insertions(+), 15 deletions(-) diff --git a/controllers/orders.js b/controllers/orders.js index eb1c360..faf2616 100644 --- a/controllers/orders.js +++ b/controllers/orders.js @@ -31,13 +31,15 @@ async function getOrders(ctx) { 'goods_name', oi.goods_name, 'price', oi.price, 'quantity', oi.quantity, - 'weight', oi.weight, + 'Weight', oi.weight, 'subtotal', oi.subtotal, - 'unit', oi.unit + 'unit', oi.unit, + 'image', g.images ) ) as items_json FROM orders o LEFT JOIN order_items oi ON o.id = oi.order_id + LEFT JOIN goods g ON oi.goods_id = g.id WHERE 1=1 ` const params = [] diff --git a/routes/categories.js b/routes/categories.js index 58f0b63..1b7eed6 100644 --- a/routes/categories.js +++ b/routes/categories.js @@ -1,13 +1,13 @@ const Router = require('koa-router') const categoryController = require('../controllers/categories') -const { requireAdminAuth } = require('../middleware/auth') +const { requireStaffAuth } = require('../middleware/auth') const router = new Router() router.get('/', categoryController.getCategories) router.get('/:id', categoryController.getCategoryById) -router.post('/', requireAdminAuth(), categoryController.createCategory) -router.put('/:id', requireAdminAuth(), categoryController.updateCategory) -router.delete('/:id', requireAdminAuth(), categoryController.deleteCategory) +router.post('/', requireStaffAuth(), categoryController.createCategory) +router.put('/:id', requireStaffAuth(), categoryController.updateCategory) +router.delete('/:id', requireStaffAuth(), categoryController.deleteCategory) module.exports = router.routes() \ No newline at end of file diff --git a/routes/homeCategories.js b/routes/homeCategories.js index fe25943..bd4ff96 100644 --- a/routes/homeCategories.js +++ b/routes/homeCategories.js @@ -1,11 +1,11 @@ const Router = require('koa-router') const homeCategoryController = require('../controllers/homeCategories') -const { requireAdminAuth } = require('../middleware/auth') +const { requireStaffAuth } = require('../middleware/auth') const router = new Router() router.get('/categories', homeCategoryController.getHomeCategories) -router.put('/categories', requireAdminAuth(), homeCategoryController.updateHomeCategories) -router.get('/categories/config', requireAdminAuth(), homeCategoryController.getAllCategoriesForConfig) +router.put('/categories', requireStaffAuth(), homeCategoryController.updateHomeCategories) +router.get('/categories/config', requireStaffAuth(), homeCategoryController.getAllCategoriesForConfig) module.exports = router.routes() diff --git a/routes/points-goods.js b/routes/points-goods.js index 47fb2fb..d35beb7 100644 --- a/routes/points-goods.js +++ b/routes/points-goods.js @@ -6,9 +6,9 @@ const router = new Router() router.get('/', pointsGoodsController.getPointsGoods) router.get('/:id', pointsGoodsController.getPointsGoodsById) -router.post('/', requireAdminAuth(), pointsGoodsController.createPointsGoods) -router.put('/:id', requireAdminAuth(), pointsGoodsController.updatePointsGoods) -router.delete('/:id', requireAdminAuth(), pointsGoodsController.deletePointsGoods) +router.post('/', requireStaffAuth(), pointsGoodsController.createPointsGoods) +router.put('/:id', requireStaffAuth(), pointsGoodsController.updatePointsGoods) +router.delete('/:id', requireStaffAuth(), pointsGoodsController.deletePointsGoods) router.post('/exchange', requireAuth(), pointsGoodsController.exchangePointsGoods) module.exports = router.routes() diff --git a/routes/suppliers.js b/routes/suppliers.js index 6d85e71..5bab203 100644 --- a/routes/suppliers.js +++ b/routes/suppliers.js @@ -8,6 +8,6 @@ router.get('/', requireStaffAuth(), supplierController.getSuppliers) router.get('/:id', requireStaffAuth(), supplierController.getSupplierById) router.post('/', requireStaffAuth(), supplierController.createSupplier) router.put('/:id', requireStaffAuth(), supplierController.updateSupplier) -router.delete('/:id', requireAdminAuth(), supplierController.deleteSupplier) +router.delete('/:id', requireStaffAuth(), supplierController.deleteSupplier) module.exports = router.routes() diff --git a/services/orderService.js b/services/orderService.js index ad63680..ea91fd3 100644 --- a/services/orderService.js +++ b/services/orderService.js @@ -33,7 +33,7 @@ async function insertOrderItems(conn, orderId, cart) { } async function getOrderItems(orderId) { - return query('SELECT * FROM order_items WHERE order_id = ?', [orderId]) + return query('SELECT oi.*, g.images as image FROM order_items oi LEFT JOIN goods g ON oi.goods_id = g.id WHERE oi.order_id = ?', [orderId]) } async function attachOrderItems(orders) { @@ -41,7 +41,7 @@ async function attachOrderItems(orders) { const ids = orders.map(o => o.id) if (ids.length === 0) return orders const placeholders = ids.map(() => '?').join(',') - const rows = await query(`SELECT * FROM order_items WHERE order_id IN (${placeholders})`, ids) + const rows = await query(`SELECT oi.*, g.images as image FROM order_items oi LEFT JOIN goods g ON oi.goods_id = g.id WHERE oi.order_id IN (${placeholders})`, ids) const grouped = {} for (const row of rows) { if (!grouped[row.order_id]) grouped[row.order_id] = []