新增接口
This commit is contained in:
92
routes/couponproducts.js
Normal file
92
routes/couponproducts.js
Normal 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;
|
||||||
@@ -102,6 +102,8 @@ app.use('/products', require('./routes/products'))
|
|||||||
app.use('/supplier',require('./routes/supplier'))
|
app.use('/supplier',require('./routes/supplier'))
|
||||||
//规格处理
|
//规格处理
|
||||||
app.use('/specifications', require('./routes/specifications'));
|
app.use('/specifications', require('./routes/specifications'));
|
||||||
|
// 优惠券商品接口
|
||||||
|
app.use('/couponproducts', require('./routes/couponproducts'));
|
||||||
|
|
||||||
// 404处理
|
// 404处理
|
||||||
app.use(notFound);
|
app.use(notFound);
|
||||||
|
|||||||
Reference in New Issue
Block a user