新增优惠券领取相关接口
This commit is contained in:
51
routes/coupon.js
Normal file
51
routes/coupon.js
Normal file
@@ -0,0 +1,51 @@
|
||||
const express = require('express');
|
||||
const router = express.Router();
|
||||
const { getDB } = require('../database');
|
||||
const { auth } = require('../middleware/auth');
|
||||
|
||||
|
||||
router.get('/', auth, async (req, res) => {
|
||||
try {
|
||||
const db = getDB();
|
||||
const query = `
|
||||
SELECT * FROM coupon_products where remain > 0
|
||||
`
|
||||
const [coupon] = await db.query(query);
|
||||
|
||||
if (coupon.length === 0) {
|
||||
res.json({ error: '暂无优惠券' });
|
||||
}
|
||||
|
||||
res.json({coupon, success: true});
|
||||
} catch (error) {
|
||||
res.status(500).json({ error: '获取优惠券失败' });
|
||||
}
|
||||
});
|
||||
router.get('/:id', auth, async (req, res) => {
|
||||
try {
|
||||
const userId = req.params.id;
|
||||
const db = getDB();
|
||||
const query = `
|
||||
SELECT * FROM coupon_products where remain > 0
|
||||
`
|
||||
const [coupon] = await db.query(query);
|
||||
|
||||
if (coupon.length === 0) {
|
||||
return res.status(404).json({ error: '暂无优惠券' });
|
||||
} else {
|
||||
const query = [`
|
||||
update coupon_products set remain = remain - 1 where id = ?
|
||||
`,`
|
||||
insert into coupon_use (user_id, coupon_id, get_time) values (?, ?, now())
|
||||
`]
|
||||
await db.query(query[0], [coupon[0].id]);
|
||||
await db.query(query[1], [userId, coupon[0].id]);
|
||||
}
|
||||
|
||||
res.json({coupon, success: true});
|
||||
} catch (error) {
|
||||
res.status(500).json({ error: '获取优惠券失败' });
|
||||
}
|
||||
});
|
||||
|
||||
module.exports = router;
|
||||
@@ -249,6 +249,9 @@ app.use('/api/announcements', require('./routes/announcements')); // 通知公
|
||||
app.use('/api/wechat-pay', require('./routes/wechatPay')); // 只保留微信支付
|
||||
app.use('/api/payment', require('./routes/payment'));
|
||||
|
||||
// 优惠券路由
|
||||
app.use('/api/coupon', require('./routes/coupon'));
|
||||
|
||||
// 前端路由 - 必须在最后,作为fallback
|
||||
app.get('/', (req, res) => {
|
||||
res.removeHeader('Origin-Agent-Cluster');
|
||||
|
||||
Reference in New Issue
Block a user