From 2f8e173048d22c5b40612c3538b9c1aa5a5397f6 Mon Sep 17 00:00:00 2001
From: zhou zhou <3272660260@qq.com>
Date: 星期五, 27 三月 2026 13:38:05 +0800
Subject: [PATCH] #乐观锁
---
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockItemServiceImpl.java | 10 +++++++---
1 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockItemServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockItemServiceImpl.java
index 367fd19..9f5a9e1 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockItemServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockItemServiceImpl.java
@@ -147,9 +147,13 @@
}
if (!items.isEmpty()) {
double purQty = items.stream().mapToDouble(WkOrderItem::getAnfme).sum();
- if (asnOrderMapper.update(null, new LambdaUpdateWrapper<WkOrder>()
- .set(WkOrder::getExceStatus, AsnExceStatus.OUT_STOCK_STATUS_TASK_INIT.val)
- .set(WkOrder::getAnfme, purQty).eq(WkOrder::getId, order.getId())) <= 0) {
+ WkOrder currentOrder = asnOrderMapper.selectById(order.getId());
+ if (Objects.isNull(currentOrder)) {
+ throw new CoolException("鍗曟嵁鏁伴噺淇敼澶辫触锛侊紒");
+ }
+ currentOrder.setExceStatus(AsnExceStatus.OUT_STOCK_STATUS_TASK_INIT.val)
+ .setAnfme(purQty);
+ if (asnOrderMapper.updateById(currentOrder) <= 0) {
throw new CoolException("鍗曟嵁鏁伴噺淇敼澶辫触锛侊紒");
}
}
--
Gitblit v1.9.1