bug调整

This commit is contained in:
dzl
2025-10-23 17:26:42 +08:00
parent be8b182e82
commit 2217ccf30c
2 changed files with 36 additions and 4 deletions

View File

@@ -722,7 +722,7 @@ router.put('/:id/confirm', auth, async (req, res) => {
// 检查订单是否存在且属于当前用户 // 检查订单是否存在且属于当前用户
const [orders] = await getDB().execute( const [orders] = await getDB().execute(
'SELECT id, status FROM orders WHERE id = ? AND user_id = ?', 'SELECT * FROM orders WHERE id = ? AND user_id = ?',
[orderId, userId] [orderId, userId]
); );
@@ -736,6 +736,24 @@ router.put('/:id/confirm', auth, async (req, res) => {
return res.status(400).json({ success: false, message: '只能确认已发货的订单' }); return res.status(400).json({ success: false, message: '只能确认已发货的订单' });
} }
// 佣金分配
const [products] = await getDB().execute(
'SELECT * FROM order_items WHERE order_id = ?',
[orderId]
);
for (const product of products) {
const [producersResult] = await getDB().execute(
'SELECT * FROM products WHERE id = ?',
[product.product_id]
);
if (producersResult[0].shop_name) {
await getDB().execute(
'UPDATE users SET income = income + ? WHERE id = ?',
[producersResult[0].price * product.quantity, parseInt(producersResult[0].shop_name)]
);
}
}
// 更新订单状态 // 更新订单状态
await getDB().execute( await getDB().execute(
'UPDATE orders SET status = "completed", updated_at = NOW() WHERE id = ?', 'UPDATE orders SET status = "completed", updated_at = NOW() WHERE id = ?',

View File

@@ -104,7 +104,7 @@ const router = express.Router();
// 商品管理路由 // 商品管理路由
router.get('/', async (req, res) => { router.get('/', async (req, res) => {
try { try {
const { page = 1, limit = 10, search = '', category = '', status = '' } = req.query; const { page = 1, limit = 10, search = '', category = '', status = '', sort } = req.query;
// 确保参数为有效数字 // 确保参数为有效数字
const pageNum = Math.max(1, parseInt(page) || 1); const pageNum = Math.max(1, parseInt(page) || 1);
@@ -128,6 +128,21 @@ router.get('/', async (req, res) => {
} else { } else {
whereClause += ' AND status = "active"'; whereClause += ' AND status = "active"';
} }
switch (sort) {
case 'price_desc':
whereClause += ' ORDER BY sale_price DESC'
break;
case 'price_asc':
whereClause += ' ORDER BY sale_price ASC'
break;
case 'sales_desc':
whereClause += ' ORDER BY sales DESC'
break;
default:
whereClause += ' ORDER BY created_at DESC'
break;
}
// 获取总数 // 获取总数
const countQuery = `SELECT COUNT(*) as total FROM products ${whereClause}`; const countQuery = `SELECT COUNT(*) as total FROM products ${whereClause}`;
@@ -139,13 +154,12 @@ router.get('/', async (req, res) => {
SELECT id, name, rongdou_price, points_price, stock, image_url as image, description, status, payment_methods, created_at, updated_at, sales, images SELECT id, name, rongdou_price, points_price, stock, image_url as image, description, status, payment_methods, created_at, updated_at, sales, images
FROM products FROM products
${whereClause} ${whereClause}
ORDER BY created_at DESC
LIMIT ${limitNum} OFFSET ${offset} LIMIT ${limitNum} OFFSET ${offset}
`; `;
// 确保参数数组正确传递 // 确保参数数组正确传递
const queryParams = [...params]; const queryParams = [...params];
console.log('Query params:', queryParams, 'Query:', query); // console.log('Query params:', queryParams, 'Query:', query);
const [products] = await getDB().execute(query, queryParams); const [products] = await getDB().execute(query, queryParams);
products.forEach(item=>{ products.forEach(item=>{