feat: 添加耗材管理乐观锁机制

- 在 Consumable 模型中添加 version 字段用于乐观锁控制
- 为 quick-inout、inout、adjust 接口添加乐观锁和重试机制
- 修复 adjust/set 类型的负数库存校验
- 添加数据库迁移脚本支持 SQLite 和 MySQL
- 防止并发操作导致的负库存问题

技术细节:
- 使用 version 字段实现乐观锁,更新时校验版本号
- 并发冲突时自动重试(最多3次)
- 409 状态码表示并发冲突,400 表示库存不足
This commit is contained in:
zhang1106
2026-01-29 18:05:22 +08:00
parent 9e6a3da888
commit 94effd3436
2 changed files with 17 additions and 6 deletions
+10 -3
View File
@@ -226,9 +226,16 @@ function ConsumableStatistics() {
};
useEffect(() => {
fetchSummary();
fetchLowStock();
fetchInOutStats();
const loadData = async () => {
setLoading(true);
await Promise.all([
fetchSummary(),
fetchLowStock(),
fetchInOutStats()
]);
setLoading(false);
};
loadData();
}, []);
useEffect(() => {