完善库存算法,修复bug

This commit is contained in:
dzl
2025-10-24 16:17:22 +08:00
parent 9eea43e92e
commit 8c8bcb8ec3
2 changed files with 30 additions and 1 deletions

View File

@@ -841,6 +841,27 @@ router.put('/:id/status', async (req, res) => {
const order = orders[0]; const order = orders[0];
const [orderItems] = await db.execute(
'SELECT * FROM order_items WHERE order_id = ?',
[orderId]
);
if (status === 'cancelled') {
// 增加商品库存
for (const item of orderItems) {
await db.execute(
'UPDATE products SET stock = stock + ? WHERE id = ?',
[item.quantity, item.product_id]
);
await db.execute(
'UPDATE product_spec_combinations SET stock = stock + ? WHERE id = ?',
[item.quantity, item.spec_combination_id]
)
}
}
// console.log(111,order,orderItems)
// 如果是取消订单,需要退还积分和融豆 // 如果是取消订单,需要退还积分和融豆
if (status === 'cancelled' && order.status !== 'cancelled' && order.status !== 'pre_order') { if (status === 'cancelled' && order.status !== 'cancelled' && order.status !== 'pre_order') {
// 退还用户积分 // 退还用户积分
@@ -898,6 +919,14 @@ router.put('/:id/status', async (req, res) => {
'SELECT * FROM products WHERE id = ?', 'SELECT * FROM products WHERE id = ?',
[product.product_id] [product.product_id]
); );
await getDB().execute(
'UPDATE products SET sales = sales + ? WHERE id = ?',
[product.quantity, product.product_id]
);
await getDB().execute(
'UPDATE products SET stock = stock - ? WHERE id = ?',
[product.quantity, product.product_id]
);
if (producersResult[0].shop_name) { if (producersResult[0].shop_name) {
await db.execute( await db.execute(
'UPDATE users SET income = income + ? WHERE id = ?', 'UPDATE users SET income = income + ? WHERE id = ?',

View File

@@ -673,7 +673,7 @@ router.put('/:id', async (req, res) => {
updateValues.push(status); updateValues.push(status);
} }
if (sale_price !== null) { if (sale_price !== undefined) {
updateFields.push('sale_price = ?'); updateFields.push('sale_price = ?');
updateValues.push(sale_price); updateValues.push(sale_price);
console.log(12345,sale_price) console.log(12345,sale_price)