From 85c15b5db4db8c3ed0277ec290c8a37da9ea8fb8 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期二, 08 四月 2025 10:05:20 +0800
Subject: [PATCH] 添加关闭收货单接口

---
 rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/AsnOrderController.java    |   12 +++++++++---
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderServiceImpl.java |   20 ++++++++++++++++++++
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/AsnOrderService.java          |    2 ++
 3 files changed, 31 insertions(+), 3 deletions(-)

diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/AsnOrderController.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/AsnOrderController.java
index 037dee9..2e9e296 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/AsnOrderController.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/AsnOrderController.java
@@ -200,8 +200,14 @@
         return asnOrderService.completeOrder(id, getLoginUserId());
     }
 
-
-
-
+    @ApiOperation("鍏抽棴鏀惰揣鍗�")
+    @PostMapping("/asnOrder/close/{id}")
+    @PreAuthorize("hasAuthority('manager:asnOrder:update')")
+    public R closeOrder(@PathVariable Long id) {
+        if (Objects.isNull(id)) {
+            return R.error("鍙傛暟涓嶈兘涓虹┖锛侊紒");
+        }
+        return asnOrderService.closeOrder(id);
+    }
 
 }
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/AsnOrderService.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/AsnOrderService.java
index 1ebb220..ee9376f 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/AsnOrderService.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/AsnOrderService.java
@@ -22,4 +22,6 @@
     boolean batchUpdate(BatchUpdateParam params, Long loginUserId);
 
     R completeOrder(Long id, Long loginUserId);
+
+    R closeOrder(Long id);
 }
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 15498b2..b2ee5fa 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
@@ -231,6 +231,26 @@
         return R.ok("鏀惰揣鎴愬姛锛侊紒");
     }
 
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public R closeOrder(Long id) {
+        AsnOrder order = this.getById(id);
+        if (Objects.isNull(order)) {
+            throw new CoolException("鍗曟嵁涓嶅瓨鍦紒锛�");
+        }
+        order.setExceStatus(Short.parseShort(AsnExceStatus.ASN_EXCE_STATUS_TASK_CLOSE.val));
+
+        if (!this.updateById(order)) {
+            throw new CoolException("鍗曟嵁鍏抽棴澶辫触锛侊紒");
+        }
+        try {
+            operateOrderLogs(order);
+        } catch (Exception e) {
+            throw new CoolException("鍗曟嵁鍏抽棴澶辫触锛侊紒");
+        }
+        return null;
+    }
+
     /**
      * @author Ryan
      * @description 鍒犻櫎鍘熶富鍗曞強鏄庣粏锛屽姞鍏ュ巻鍙叉。

--
Gitblit v1.9.1