feat: 优化设备位置冲突检测和前端虚拟滚动

为设备表添加复合索引优化位置冲突检测性能
在设备位置检查中添加悲观锁防止竞态条件
添加 react-window 和 react-virtualized-auto-sizer 支持虚拟滚动
This commit is contained in:
zhangbing
2026-03-29 10:40:33 +08:00
parent 1d815b812e
commit 5d972799f2
6 changed files with 80 additions and 0 deletions
+4
View File
@@ -63,6 +63,8 @@ async function checkPositionAvailable(
if (transaction) {
queryOptions.transaction = transaction;
// 使用悲观锁防止竞态条件
queryOptions.lock = transaction.LOCK ? transaction.LOCK.UPDATE : 'UPDATE';
}
const existingDevices = await Device.findAll(queryOptions);
@@ -126,6 +128,8 @@ async function checkBatchPositions(rackId, devices, excludeDeviceIds = [], trans
if (transaction) {
queryOptions.transaction = transaction;
// 使用悲观锁防止竞态条件
queryOptions.lock = transaction.LOCK ? transaction.LOCK.UPDATE : 'UPDATE';
}
const existingDevices = await Device.findAll(queryOptions);
+2
View File
@@ -1033,6 +1033,8 @@ async function checkPositionAvailable(
if (transaction) {
queryOptions.transaction = transaction;
// 使用悲观锁防止竞态条件
queryOptions.lock = transaction.LOCK ? transaction.LOCK.UPDATE : 'UPDATE';
}
const existingDevices = await Device.findAll(queryOptions);