新增接口
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('/specifications', require('./routes/specifications'));
|
||||
// 优惠券商品接口
|
||||
app.use('/couponproducts', require('./routes/couponproducts'));
|
||||
|
||||
// 404处理
|
||||
app.use(notFound);
|
||||
|
||||
Reference in New Issue
Block a user