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/AsnOrderServiceImpl.java |   34 ++++++++++++++++++++++++++--------
 1 files changed, 26 insertions(+), 8 deletions(-)

diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderServiceImpl.java
index 6f1592b..ab223ec 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderServiceImpl.java
@@ -203,14 +203,32 @@
         if (Objects.isNull(order)) {
             throw new CoolException("淇敼鍙傛暟涓嶈兘涓虹┖锛侊紒");
         }
-        return this.update(new LambdaUpdateWrapper<WkOrder>()
-                .in(WkOrder::getId, params.getIds())
-                .set(!Objects.isNull(order.getRleStatus()), WkOrder::getRleStatus, order.getRleStatus())
-                .set(!Objects.isNull(order.getNtyStatus()), WkOrder::getNtyStatus, order.getNtyStatus())
-                .set(!Objects.isNull(order.getStatus()), WkOrder::getStatus, order.getStatus())
-                .set(!Objects.isNull(order.getWkType()), WkOrder::getWkType, order.getWkType())
-                .set(!Objects.isNull(order.getExceStatus()), WkOrder::getExceStatus, order.getExceStatus())
-                .set(WkOrder::getUpdateBy, userId));
+        List<WkOrder> orders = this.listByIds(params.getIds());
+        if (orders.isEmpty()) {
+            return false;
+        }
+        for (WkOrder current : orders) {
+            if (!Objects.isNull(order.getRleStatus())) {
+                current.setRleStatus(order.getRleStatus());
+            }
+            if (!Objects.isNull(order.getNtyStatus())) {
+                current.setNtyStatus(order.getNtyStatus());
+            }
+            if (!Objects.isNull(order.getStatus())) {
+                current.setStatus(order.getStatus());
+            }
+            if (!Objects.isNull(order.getWkType())) {
+                current.setWkType(order.getWkType());
+            }
+            if (!Objects.isNull(order.getExceStatus())) {
+                current.setExceStatus(order.getExceStatus());
+            }
+            current.setUpdateBy(userId);
+            if (!this.updateById(current)) {
+                throw new CoolException("鎵归噺淇敼澶辫触锛侊紒");
+            }
+        }
+        return true;
     }
 
     /**

--
Gitblit v1.9.1