From 5fd8f535ef44ef055d91673740491b9c9177aa89 Mon Sep 17 00:00:00 2001
From: seatonwan9
Date: 星期日, 24 八月 2025 20:32:01 +0800
Subject: [PATCH] 交易管理

---
 src/main/java/com/webmanage/controller/OrderController.java |  122 +++++++++++++++++++++++++++++++++++++++-
 1 files changed, 119 insertions(+), 3 deletions(-)

diff --git a/src/main/java/com/webmanage/controller/OrderController.java b/src/main/java/com/webmanage/controller/OrderController.java
index d2d30e7..f66ad4d 100644
--- a/src/main/java/com/webmanage/controller/OrderController.java
+++ b/src/main/java/com/webmanage/controller/OrderController.java
@@ -2,8 +2,10 @@
 
 import com.webmanage.common.Result;
 import com.webmanage.dto.CreateOrderDTO;
+import com.webmanage.dto.FileCheckDTO;
 import com.webmanage.dto.OrderQueryDTO;
 import com.webmanage.entity.OrderInfo;
+import com.webmanage.dto.UpdateOrderDetailDTO;
 import com.webmanage.service.OrderInfoService;
 import com.webmanage.service.TokenService;
 import com.webmanage.service.OrderNoService;
@@ -19,6 +21,7 @@
 import javax.validation.Valid;
 import javax.validation.constraints.NotBlank;
 import javax.validation.constraints.NotNull;
+import com.webmanage.dto.OrderApprovalDTO;
 
 /**
  * 璁㈠崟绠$悊Controller
@@ -80,6 +83,34 @@
         }
     }
 
+
+
+    @PostMapping("/status/next")
+    @ApiOperation("鏇存柊璁㈠崟鐘舵�佸埌涓嬩竴涓姸鎬�")
+    public Result<Object> updateOrderStatusToNext(
+            @ApiParam("璁㈠崟ID") @RequestParam @NotBlank String orderId) {
+        try {
+            boolean success = orderInfoService.updateOrderStatusToNext(orderId);
+            return success ? Result.success("璁㈠崟鐘舵�佹洿鏂板埌涓嬩竴涓姸鎬佹垚鍔�") : Result.error("璁㈠崟鐘舵�佹洿鏂板け璐�");
+        } catch (Exception e) {
+            log.error("鏇存柊璁㈠崟鐘舵�佸埌涓嬩竴涓姸鎬佸け璐�", e);
+            return Result.error("鏇存柊璁㈠崟鐘舵�佸埌涓嬩竴涓姸鎬佸け璐ワ細" + e.getMessage());
+        }
+    }
+
+    @PostMapping("/status/previous")
+    @ApiOperation("鏇存柊璁㈠崟鐘舵�佸埌涓婁竴涓姸鎬�")
+    public Result<Object> updateOrderStatusToPrevious(
+            @ApiParam("璁㈠崟ID") @RequestParam @NotBlank String orderId) {
+        try {
+            boolean success = orderInfoService.updateOrderStatusToPrevious(orderId);
+            return success ? Result.success("璁㈠崟鐘舵�佹洿鏂板埌涓婁竴涓姸鎬佹垚鍔�") : Result.error("璁㈠崟鐘舵�佹洿鏂板け璐�");
+        } catch (Exception e) {
+            log.error("鏇存柊璁㈠崟鐘舵�佸埌涓婁竴涓姸鎬佸け璐�", e);
+            return Result.error("鏇存柊璁㈠崟鐘舵�佸埌涓婁竴涓姸鎬佸け璐ワ細" + e.getMessage());
+        }
+    }
+
     @PostMapping("/seller/page")
     @ApiOperation("鍒嗛〉鏌ヨ鍗栧璁㈠崟鍒楄〃")
     public Result<Object> getSellerOrderPage(@Valid @RequestBody OrderQueryDTO queryDTO) {
@@ -120,7 +151,7 @@
 
     @PostMapping("/attachment/upload")
     @ApiOperation("涓婁紶璁㈠崟闄勪欢")
-    public Result<Boolean> uploadOrderAttachment(
+    public Result<Long> uploadOrderAttachment(
             @ApiParam("璁㈠崟ID") @RequestParam @NotBlank String orderId,
             @ApiParam("鏂囦欢鍚�") @RequestParam @NotBlank String fileName,
             @ApiParam("鍘熷鏂囦欢鍚�") @RequestParam String originalName,
@@ -134,11 +165,11 @@
             @ApiParam("闄勪欢绫诲瀷") @RequestParam String attachmentType,
             @ApiParam("闄勪欢鎻忚堪") @RequestParam String description) {
         try {
-            boolean result = orderInfoService.uploadOrderAttachment(
+            Long attachmentId = orderInfoService.uploadOrderAttachment(
                 orderId, fileName, originalName, fileType, fileSize, fileUrl,
                 bucketName, objectName, uploadUserId, uploadUserName, attachmentType, description
             );
-            return result ? Result.success(true) : Result.error("涓婁紶璁㈠崟闄勪欢澶辫触");
+            return Result.success("涓婁紶璁㈠崟闄勪欢鎴愬姛", attachmentId);
         } catch (Exception e) {
             log.error("涓婁紶璁㈠崟闄勪欢澶辫触锛岃鍗旾D: {}", orderId, e);
             return Result.error("涓婁紶璁㈠崟闄勪欢澶辫触锛�" + e.getMessage());
@@ -198,4 +229,89 @@
             return Result.error("鍥炲璇勪环澶辫触锛�" + e.getMessage());
         }
     }
+
+    @PostMapping("/detail/update")
+    @ApiOperation("鏇存柊璁㈠崟璇︽儏")
+    public Result<Boolean> updateOrderDetail(@Valid @RequestBody UpdateOrderDetailDTO updateOrderDetailDTO) {
+        try {
+            boolean result = orderInfoService.updateOrderDetail(updateOrderDetailDTO);
+            return result ? Result.success(true) : Result.error("鏇存柊璁㈠崟璇︽儏澶辫触");
+        } catch (Exception e) {
+            log.error("鏇存柊璁㈠崟璇︽儏澶辫触锛岃鍗旾D: {}", updateOrderDetailDTO.getOrderId(), e);
+            return Result.error("鏇存柊璁㈠崟璇︽儏澶辫触锛�" + e.getMessage());
+        }
+    }
+
+    @PostMapping("/detail/remarks/update")
+    @ApiOperation("鍙洿鏂拌鍗曡鎯呯殑澶囨敞淇℃伅")
+    public Result<Boolean> updateOrderDetailRemarksOnly(@Valid @RequestBody UpdateOrderDetailDTO.UpdateOrderDetailRemarksOnlyDTO updateOrderDetailDTO) {
+        try {
+            boolean result = orderInfoService.updateOrderDetailRemarksOnly(updateOrderDetailDTO);
+            return result ? Result.success(true) : Result.error("鏇存柊璁㈠崟璇︽儏澶囨敞澶辫触");
+        } catch (Exception e) {
+            log.error("鏇存柊璁㈠崟璇︽儏澶囨敞澶辫触锛岃鍗旾D: {}", updateOrderDetailDTO.getOrderId(), e);
+            return Result.error("鏇存柊璁㈠崟璇︽儏澶囨敞澶辫触锛�" + e.getMessage());
+        }
+    }
+
+    @PostMapping("/trade/checkFiles")
+    @ApiOperation("鏂囦欢鏍告煡")
+    public Result<Boolean> checkFiles(@Valid @RequestBody FileCheckDTO fileCheckDTO) {
+        try {
+            boolean result = orderInfoService.checkFiles(fileCheckDTO);
+            return result ? Result.success(true) : Result.error("鏂囦欢鏍告煡澶辫触");
+        } catch (Exception e) {
+            log.error("鏂囦欢鏍告煡澶辫触锛岃鍗旾D: {}", fileCheckDTO.getOrderId(), e);
+            return Result.error("鏂囦欢鏍告煡澶辫触锛�" + e.getMessage());
+        }
+    }
+
+    @DeleteMapping("/attachment/delete/{attachmentId}")
+    @ApiOperation("鍒犻櫎璁㈠崟闄勪欢")
+    public Result<Boolean> deleteOrderAttachment(@ApiParam("闄勪欢ID") @PathVariable @NotNull Long attachmentId) {
+        try {
+            boolean result = orderInfoService.deleteOrderAttachment(attachmentId);
+            return result ? Result.success(true) : Result.error("鍒犻櫎璁㈠崟闄勪欢澶辫触");
+        } catch (Exception e) {
+            log.error("鍒犻櫎璁㈠崟闄勪欢澶辫触锛岄檮浠禝D: {}", attachmentId, e);
+            return Result.error("鍒犻櫎璁㈠崟闄勪欢澶辫触锛�" + e.getMessage());
+        }
+    }
+
+    @PostMapping("/trade/approve")
+    @ApiOperation("瀹℃壒閫氳繃")
+    public Result<Boolean> approveOrder(@Valid @RequestBody OrderApprovalDTO orderApprovalDTO) {
+        try {
+            boolean result = orderInfoService.approveOrder(orderApprovalDTO);
+            return result ? Result.success(true) : Result.error("瀹℃壒閫氳繃澶辫触");
+        } catch (Exception e) {
+            log.error("瀹℃壒閫氳繃澶辫触锛岃鍗旾D: {}", orderApprovalDTO.getOrderId(), e);
+            return Result.error("瀹℃壒閫氳繃澶辫触锛�" + e.getMessage());
+        }
+    }
+
+    @GetMapping("/agreement/check/{orderId}")
+    @ApiOperation("妫�鏌ヨ鍗曟槸鍚﹀寘鍚崗璁被鍨嬬殑瀛愯鍗�")
+    public Result<Boolean> checkAgreementPriceType(
+            @ApiParam("璁㈠崟ID") @PathVariable @NotBlank String orderId) {
+        try {
+            boolean hasAgreement = orderInfoService.hasAgreementPriceType(orderId);
+            return Result.success(hasAgreement);
+        } catch (Exception e) {
+            log.error("妫�鏌ヨ鍗曞崗璁被鍨嬪け璐ワ紝璁㈠崟ID: {}", orderId, e);
+            return Result.error("妫�鏌ヨ鍗曞崗璁被鍨嬪け璐ワ細" + e.getMessage());
+        }
+    }
+
+    @DeleteMapping("/cancel/{orderId}")
+    @ApiOperation("鍙栨秷璁㈠崟")
+    public Result<Boolean> cancelOrder(@ApiParam("璁㈠崟ID") @PathVariable @NotBlank String orderId) {
+        try {
+            boolean result = orderInfoService.cancelOrder(orderId);
+            return result ? Result.success(true) : Result.error("鍙栨秷璁㈠崟澶辫触");
+        } catch (Exception e) {
+            log.error("鍙栨秷璁㈠崟澶辫触锛岃鍗旾D: {}", orderId, e);
+            return Result.error("鍙栨秷璁㈠崟澶辫触锛�" + e.getMessage());
+        }
+    }
 }

--
Gitblit v1.8.0