From 42c4d4f7fafed636859978db35de5ff7ff4d964b Mon Sep 17 00:00:00 2001
From: 1 <1@123>
Date: 星期二, 27 一月 2026 09:50:43 +0800
Subject: [PATCH] lsh#

---
 rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/SyncOrderController.java |   61 ++++++++++++++++++++++--------
 1 files changed, 44 insertions(+), 17 deletions(-)

diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/SyncOrderController.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/SyncOrderController.java
index f523790..fc23911 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/SyncOrderController.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/SyncOrderController.java
@@ -2,16 +2,15 @@
 
 import com.vincent.rsf.framework.common.R;
 import com.vincent.rsf.framework.exception.CoolException;
-import com.vincent.rsf.server.api.controller.erp.params.OrderParams;
-import com.vincent.rsf.server.api.controller.erp.params.SyncLocReviseParams;
-import com.vincent.rsf.server.api.controller.erp.params.SyncOrderParams;
-import com.vincent.rsf.server.api.controller.erp.params.SyncTransferParams;
+import com.vincent.rsf.server.api.controller.erp.params.*;
+import com.vincent.rsf.server.api.entity.validator.SyncOrderValidator;
 import com.vincent.rsf.server.api.service.ReceiveMsgService;
 import com.vincent.rsf.server.common.annotation.OperationLog;
 import com.vincent.rsf.server.common.utils.ExcelUtil;
 import com.vincent.rsf.server.manager.entity.excel.AsnOrderTemplate;
-import com.vincent.rsf.server.manager.enums.OrderType;
 import com.vincent.rsf.server.system.controller.BaseController;
+import com.vincent.rsf.server.system.entity.User;
+import com.vincent.rsf.server.system.service.impl.UserServiceImpl;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -33,6 +32,8 @@
 
     @Autowired
     private ReceiveMsgService receiveMsgService;
+    @Autowired
+    private UserServiceImpl userService;
 
     /**
      * @author Ryan
@@ -95,14 +96,14 @@
     /**
      * @author Ryan
      * @date 2025/8/19
-     * @description: 鍚屾鐩樼偣鍗曟嵁
+     * @description: 鏀惰揣閫氱煡鍗曞悓姝�
      * @version 1.0
      */
     @ApiOperation("鍚屾鍗曟嵁")
     @OperationLog("鍗曟嵁鍚屾")
     @PostMapping("/sync/checks")
-    public R syncCheckResult(@RequestBody SyncOrderParams syncOrders) {
-        if (Objects.isNull(syncOrders)) {
+    public R syncCheckResult(@RequestBody List<SyncOrderParams> syncOrders) {
+        if (Objects.isNull(syncOrders) || syncOrders.isEmpty()) {
             throw new CoolException("鍙傛暟涓嶈兘涓虹┖锛侊紒");
         }
         return receiveMsgService.syncCheckOrder(syncOrders, getLoginUserId());
@@ -121,7 +122,7 @@
         if (Objects.isNull(transferParams)) {
             throw new CoolException("鍙傛暟涓嶈兘涓虹┖锛侊紒");
         }
-        return receiveMsgService.syncTransfer(transferParams);
+        return receiveMsgService.syncTransfer(transferParams, getLoginUserId());
     }
 
 
@@ -138,7 +139,7 @@
         if (Objects.isNull(reviseParams)) {
             return R.error("鍙傛暟涓嶈兘涓虹┖锛侊紒");
         }
-        return receiveMsgService.syncLocRevise(reviseParams);
+        return receiveMsgService.syncLocRevise(reviseParams, getLoginUserId());
     }
 
     /**
@@ -164,12 +165,22 @@
     @ApiOperation("鍗曟嵁淇敼")
     @OperationLog("鍗曟嵁淇敼")
     @PostMapping("/sync/orders/update")
-    public R syncOrderUpdate(@RequestBody SyncOrderParams orders) {
-        if (Objects.isNull(orders)) {
+    public R syncOrderUpdate(@RequestBody List<SyncOrderParams> orders) {
+        if (Objects.isNull(orders) || orders.isEmpty()) {
             return R.error("鍙傛暟涓嶈兘涓虹┖锛侊紒");
         }
+        try {
+            // 涓氬姟楠岃瘉
+            new SyncOrderValidator().validateBatchOrders(orders);
 
-        return receiveMsgService.syncOrderUpdate(orders);
+            User erp = userService.getByUsername("erp", 1L);
+            // 澶勭悊涓氬姟
+            return receiveMsgService.syncCheckOrder(orders, erp.getId());
+        } catch (IllegalArgumentException e) {
+            return R.error(e.getMessage());
+        } catch (Exception e) {
+            return R.error(e.getMessage());
+        }
     }
 
 
@@ -182,12 +193,28 @@
     @ApiOperation("鍗曟嵁鍒犻櫎")
     @OperationLog("鍗曟嵁鍒犻櫎")
     @PostMapping("/sync/orders/delete")
-    public R syncOrderDel(@RequestBody List<OrderParams> orders) {
-
-        return R.ok();
+    public R syncOrderDel(@RequestBody List<SyncOrderParams> orders) {
+        if (Objects.isNull(orders)) {
+            return R.error("鍙傛暟涓嶈兘涓虹┖锛侊紒");
+        }
+        return receiveMsgService.syncOrderDelete(orders);
     }
 
 
-
+    /**
+     * @author Ryan
+     * @date 2025/8/22
+     * @description: 鐩樼偣宸紓鍗曞悓姝�
+     * @version 1.0
+     */
+    @PostMapping("/sync/check/result")
+    @ApiOperation("鐩樼偣宸紓鍗曞悓姝�")
+    @OperationLog("鐩樼偣宸紓鍗�")
+    public R checkResult(@RequestBody SyncCheckDiffParams syncParams) {
+        if (Objects.isNull(syncParams)) {
+            return R.error("鍙傛暟涓嶈兘涓虹┖锛侊紒");
+        }
+        return receiveMsgService.syncCheckDiffs(syncParams);
+    }
 
 }

--
Gitblit v1.9.1