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/api/service/impl/WcsServiceImpl.java | 33 ++++++++++++++++++++++++---------
1 files changed, 24 insertions(+), 9 deletions(-)
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/WcsServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/WcsServiceImpl.java
index c82f047..3a435cf 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/WcsServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/WcsServiceImpl.java
@@ -234,10 +234,17 @@
* 鏇存柊搴撲綅鐘舵��
*/
private void updateLocStatus(String locCode, String barcode) {
- boolean updated = locService.update(new LambdaUpdateWrapper<Loc>()
- .eq(Loc::getCode, locCode)
- .set(Loc::getUseStatus, LocStsType.LOC_STS_TYPE_S.type)
- .set(Loc::getBarcode, barcode));
+ Loc current = locService.getOne(new LambdaQueryWrapper<Loc>().eq(Loc::getCode, locCode));
+ if (Objects.isNull(current)) {
+ throw new CoolException("搴撲綅棰勭害澶辫触锛侊紒");
+ }
+ Loc update = new Loc();
+ update.setId(current.getId());
+ update.setVersion(current.getVersion());
+ update.setUseStatus(LocStsType.LOC_STS_TYPE_S.type);
+ update.setBarcode(barcode);
+ boolean updated = locService.update(update, new LambdaUpdateWrapper<Loc>()
+ .eq(Loc::getId, current.getId()));
if (!updated) {
throw new CoolException("搴撲綅棰勭害澶辫触锛侊紒");
}
@@ -284,11 +291,19 @@
* 鏇存柊缁勬墭鐘舵��
*/
private void updateWaitPakinStatus(String barcode, Long loginUserId) {
- boolean updated = waitPakinService.update(new LambdaUpdateWrapper<WaitPakin>()
- .eq(WaitPakin::getBarcode, barcode)
- .set(WaitPakin::getUpdateBy, loginUserId)
- .set(WaitPakin::getCreateBy, loginUserId)
- .set(WaitPakin::getIoStatus, PakinIOStatus.PAKIN_IO_STATUS_TASK_EXCE.val));
+ WaitPakin current = waitPakinService.getOne(new LambdaQueryWrapper<WaitPakin>()
+ .eq(WaitPakin::getBarcode, barcode));
+ if (Objects.isNull(current)) {
+ throw new CoolException("缁勬墭鐘舵�佷慨鏀瑰け璐ワ紒锛�");
+ }
+ WaitPakin update = new WaitPakin();
+ update.setId(current.getId());
+ update.setVersion(current.getVersion());
+ update.setUpdateBy(loginUserId);
+ update.setCreateBy(loginUserId);
+ update.setIoStatus(PakinIOStatus.PAKIN_IO_STATUS_TASK_EXCE.val);
+ boolean updated = waitPakinService.update(update, new LambdaUpdateWrapper<WaitPakin>()
+ .eq(WaitPakin::getId, current.getId()));
if (!updated) {
throw new CoolException("缁勬墭鐘舵�佷慨鏀瑰け璐ワ紒锛�");
--
Gitblit v1.9.1