From e5d17ab1bc9e0779b325c53bf23d61ae4a15432e Mon Sep 17 00:00:00 2001
From: seatonwan9
Date: 星期四, 28 八月 2025 16:17:52 +0800
Subject: [PATCH] 更新代码

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

diff --git a/src/main/java/com/webmanage/controller/OrderController.java b/src/main/java/com/webmanage/controller/OrderController.java
index f66ad4d..5a9e406 100644
--- a/src/main/java/com/webmanage/controller/OrderController.java
+++ b/src/main/java/com/webmanage/controller/OrderController.java
@@ -43,6 +43,13 @@
         catch (Exception e) { log.error("鏌ヨ涔板璁㈠崟鍒楄〃澶辫触", e); return Result.error("鏌ヨ涔板璁㈠崟鍒楄〃澶辫触锛�" + e.getMessage()); }
     }
 
+    @PostMapping("/buyer/page/with-product-conditions")
+    @ApiOperation("鍒嗛〉鏌ヨ涔板璁㈠崟鍒楄〃锛堟敮鎸佷骇鍝佹潯浠讹級")
+    public Result<Object> getBuyerOrderPageWithProductConditions(@Valid @RequestBody OrderQueryDTO queryDTO) {
+        try { return Result.success(orderInfoService.getBuyerOrderPageWithProductConditions(queryDTO)); }
+        catch (Exception e) { log.error("鏌ヨ涔板璁㈠崟鍒楄〃澶辫触", e); return Result.error("鏌ヨ涔板璁㈠崟鍒楄〃澶辫触锛�" + e.getMessage()); }
+    }
+
     @PostMapping("/create")
     @ApiOperation("鍒涘缓璁㈠崟锛堝寘鍚鍗曡鎯咃級锛岄渶鍦� Header 鎼哄甫 Idempotency-Token 闃查噸澶嶆彁浜�")
     public Result<OrderInfo> createOrder(@RequestHeader(value = "Idempotency-Token", required = false) String token,
@@ -125,11 +132,36 @@
         }
     }
 
+    @PostMapping("/seller/page/with-product-conditions")
+    @ApiOperation("鍒嗛〉鏌ヨ鍗栧璁㈠崟鍒楄〃锛堟敮鎸佷骇鍝佹潯浠讹級")
+    public Result<Object> getSellerOrderPageWithProductConditions(@Valid @RequestBody OrderQueryDTO queryDTO) {
+        try {
+            if (queryDTO.getProviderId() == null) {
+                return Result.error("鎻愪緵鑰匢D涓嶈兘涓虹┖");
+            }
+            return Result.success(orderInfoService.getSellerOrderPageWithProductConditions(queryDTO));
+        } catch (Exception e) {
+            log.error("鏌ヨ鍗栧璁㈠崟鍒楄〃澶辫触", e);
+            return Result.error("鏌ヨ鍗栧璁㈠崟鍒楄〃澶辫触锛�" + e.getMessage());
+        }
+    }
+
     @PostMapping("/approval/page")
     @ApiOperation("鍒嗛〉鏌ヨ寰呭鎵硅鍗曞垪琛�")
     public Result<Object> getPendingApprovalOrderPage(@Valid @RequestBody OrderQueryDTO queryDTO) {
         try {
             return Result.success(orderInfoService.getPendingApprovalOrderPage(queryDTO));
+        } catch (Exception e) {
+            log.error("鏌ヨ寰呭鎵硅鍗曞垪琛ㄥけ璐�", e);
+            return Result.error("鏌ヨ寰呭鎵硅鍗曞垪琛ㄥけ璐ワ細" + e.getMessage());
+        }
+    }
+
+    @PostMapping("/approval/page/with-product-conditions")
+    @ApiOperation("鍒嗛〉鏌ヨ寰呭鎵硅鍗曞垪琛紙鏀寔浜у搧鏉′欢锛�")
+    public Result<Object> getPendingApprovalOrderPageWithProductConditions(@Valid @RequestBody OrderQueryDTO queryDTO) {
+        try {
+            return Result.success(orderInfoService.getPendingApprovalOrderPageWithProductConditions(queryDTO));
         } catch (Exception e) {
             log.error("鏌ヨ寰呭鎵硅鍗曞垪琛ㄥけ璐�", e);
             return Result.error("鏌ヨ寰呭鎵硅鍗曞垪琛ㄥけ璐ワ細" + e.getMessage());
@@ -290,6 +322,20 @@
         }
     }
 
+    @PostMapping("/workflow/update")
+    @ApiOperation("鏍规嵁璁㈠崟ID鏇存柊宸ヤ綔娴両D锛坵orkflow_id锛�")
+    public Result<Boolean> updateWorkflowId(
+            @ApiParam("璁㈠崟ID") @RequestParam @NotBlank String orderId,
+            @ApiParam("宸ヤ綔娴両D") @RequestParam @NotBlank String workflowId) {
+        try {
+            boolean result = orderInfoService.updateWorkflowId(orderId, workflowId);
+            return result ? Result.success(true) : Result.error("鏇存柊宸ヤ綔娴両D澶辫触");
+        } catch (Exception e) {
+            log.error("鏇存柊宸ヤ綔娴両D澶辫触锛岃鍗旾D: {}", orderId, e);
+            return Result.error("鏇存柊宸ヤ綔娴両D澶辫触锛�" + e.getMessage());
+        }
+    }
+
     @GetMapping("/agreement/check/{orderId}")
     @ApiOperation("妫�鏌ヨ鍗曟槸鍚﹀寘鍚崗璁被鍨嬬殑瀛愯鍗�")
     public Result<Boolean> checkAgreementPriceType(
@@ -314,4 +360,17 @@
             return Result.error("鍙栨秷璁㈠崟澶辫触锛�" + e.getMessage());
         }
     }
+
+    @GetMapping("/product/{productId}/has-completed-orders")
+    @ApiOperation("鏍规嵁浜у搧ID鍒ゆ柇鏄惁瀛樺湪瀹℃牳涓殑鍏宠仈璁㈠崟")
+    public Result<Boolean> hasCompletedOrdersByProductId(
+            @ApiParam("浜у搧ID") @PathVariable @NotBlank String productId) {
+        try {
+            boolean exists = orderInfoService.existsCompletedNotCancelledOrderByProductId(productId);
+            return Result.success(exists);
+        } catch (Exception e) {
+            log.error("鏌ヨ浜у搧鍏宠仈璁㈠崟瀛樺湪鎬уけ璐ワ紝浜у搧ID: {}", productId, e);
+            return Result.error("鏌ヨ澶辫触锛�" + e.getMessage());
+        }
+    }
 }

--
Gitblit v1.8.0