const express = require('express'); const router = express.Router(); const { getDB } = require('../database'); router.get('/', 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', async (req, res) => { try { const userId = req.params.id; const couponId = req.body.coupon_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 = [` select * from coupon_use where user_id = ? `,` update coupon_products set remain = remain - 1 where id = ? `,` insert into coupon_use (user_id, coupon_id, get_time) values (?, ?, now()) `] const [checkUser] = await db.query(query[0], [userId]); console.log("12345",checkUser) for (const item of checkUser) { if (item.coupon_id === coupon[0].id && item.use_time === null) { return res.status(400).json({ error: '优惠券已领取' }); } } await db.query(query[1], [coupon[0].id]); await db.query(query[2], [userId, coupon[0].id]); } res.json({coupon, success: true}); } catch (error) { res.status(500).json({ error: '获取优惠券失败' }); } }); module.exports = router;