最低价格
This commit is contained in:
parent
9a4d04cbe0
commit
87148ac038
|
|
@ -1,17 +1,16 @@
|
|||
import pool from './db'
|
||||
import { RowDataPacket } from 'mysql2'
|
||||
|
||||
/**
|
||||
* 同步商品价格为其规格数据中的最低价。
|
||||
* 如果没有规格数据,价格设为 0。
|
||||
* 同步商品价格(规格最低价)和库存(规格条数)。
|
||||
* 支持传入 connection(事务中使用)或使用默认 pool。
|
||||
*/
|
||||
export async function syncProductMinPrice(productId: number, conn?: any): Promise<void> {
|
||||
const db = conn || pool
|
||||
const [rows]: any = await db.execute(
|
||||
'SELECT MIN(total_price) as min_price FROM spec_data WHERE product_id = ?',
|
||||
'SELECT MIN(total_price) as min_price, COUNT(*) as spec_count FROM spec_data WHERE product_id = ?',
|
||||
[productId]
|
||||
)
|
||||
const minPrice = rows[0]?.min_price ?? 0
|
||||
await db.execute('UPDATE products SET base_price = ? WHERE id = ?', [minPrice, productId])
|
||||
const stock = rows[0]?.spec_count ?? 0
|
||||
await db.execute('UPDATE products SET base_price = ?, stock = ? WHERE id = ?', [minPrice, stock, productId])
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user