新增接口

This commit is contained in:
dzl
2025-09-28 17:28:40 +08:00
parent 79339a37d8
commit 94038d314e
2 changed files with 94 additions and 0 deletions

92
routes/couponproducts.js Normal file
View File

@@ -0,0 +1,92 @@
const express = require('express');
const router = express.Router();
const { auth } = require('../middleware/auth');
const { getDB } = require('../database');
router.get('/', auth, async (req, res) => {
try {
const { page = 1, limit = 10 } = req.query;
const pageNum = parseInt(page) || 1;
const limitNum = parseInt(limit) || 10;
const offset = (pageNum - 1) * limitNum;
let whereClause = 'WHERE 1=1';
const params = [];
const countQuery = `
SELECT COUNT(*) as total
FROM coupon_products as c
${whereClause}
`;
console.log(countQuery, params);
const [countResult] = await getDB().execute(countQuery, params);
const total = countResult[0].total;
console.log(total, '数量');
// 获取订单列表
const query = `
SELECT
c.id, c.products_id, price, count, type, discount, for_a_amount
FROM coupon_products as c
${whereClause}
ORDER BY c.id DESC
LIMIT ${limitNum} OFFSET ${offset}
`;
const couponProducts = await getDB().execute(query, [...params]);
for(let item of couponProducts[0]){
const product_name = []
for(id of item.products_id){
const query = `
SELECT id, name, price, category, description, stock, image_url
FROM products
WHERE id = ?
`;
const product = await getDB().execute(query, [id]);
product_name.push(product[0][0].name)
}
item.products_name = product_name;
}
res.json({ success: true, data: couponProducts[0] });
} catch (error) {
res.status(500).json({ success: false, error: error.message });
}
});
router.post('/', auth, async (req, res) => {
try {
const db = getDB();
const couponProduct = await db.query(
`INSERT INTO coupon_products (
products_id,
price,
count,
type,
discount,
for_a_amount
) VALUES (?,?,?,?,?,?)`,
[JSON.stringify(req.body.products_id), req.body.price, req.body.count, req.body.type, req.body.discount, req.body.for_a_amount]
);
res.json({ success: true, data: couponProduct[0] });
} catch (error) {
res.status(500).json({ success: false, error: error.message });
}
});
router.delete('/:id', auth, async (req, res) => {
try {
const db = getDB();
const couponProduct = await db.query(
`DELETE FROM coupon_products WHERE id = ?`,
[req.params.id]
);
res.json({ success: true, data: couponProduct[0] });
} catch (error) {
res.status(500).json({ success: false, error: error.message });
}
});
module.exports = router;

View File

@@ -102,6 +102,8 @@ app.use('/products', require('./routes/products'))
app.use('/supplier',require('./routes/supplier'))
//规格处理
app.use('/specifications', require('./routes/specifications'));
// 优惠券商品接口
app.use('/couponproducts', require('./routes/couponproducts'));
// 404处理
app.use(notFound);