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/service/impl/OrderInfoServiceImpl.java |   44 +++++++++++++++++++++++++++++++++++++-------
 1 files changed, 37 insertions(+), 7 deletions(-)

diff --git a/src/main/java/com/webmanage/service/impl/OrderInfoServiceImpl.java b/src/main/java/com/webmanage/service/impl/OrderInfoServiceImpl.java
index 552ce54..456e8a3 100644
--- a/src/main/java/com/webmanage/service/impl/OrderInfoServiceImpl.java
+++ b/src/main/java/com/webmanage/service/impl/OrderInfoServiceImpl.java
@@ -41,6 +41,7 @@
 import java.math.BigDecimal;
 import java.time.LocalDateTime;
 import java.util.List;
+import java.util.Arrays;
 import java.util.stream.Collectors;
 
 /**
@@ -162,7 +163,7 @@
     }
 
     @Override
-    public PageResult<OrderInfo> getPendingApprovalOrderPage(OrderQueryDTO queryDTO) {
+    public PageResult<OrderDetailVO> getPendingApprovalOrderPage(OrderQueryDTO queryDTO) {
         // 鍒涘缓鍒嗛〉瀵硅薄
         Page<OrderInfo> page = new Page<>(queryDTO.getPageNum(), queryDTO.getPageSize());
 
@@ -175,13 +176,27 @@
             queryDTO.getOrderBy(), queryDTO.getOrderDirection()
         );
 
+        // 灏嗚鍗曚笌璇︽儏鑱旇〃灏佽鍒癡O
+        List<OrderDetailVO> voList = result.getRecords().stream().map(order -> {
+            OrderDetailVO vo = new OrderDetailVO();
+            BeanUtils.copyProperties(order, vo);
+            List<OrderDetail> details = orderDetailMapper.selectByOrderId(order.getOrderId());
+            List<OrderDetailItemVO> items = details.stream().map(d -> {
+                OrderDetailItemVO item = new OrderDetailItemVO();
+                BeanUtils.copyProperties(d, item);
+                return item;
+            }).collect(java.util.stream.Collectors.toList());
+            vo.setOrderDetails(items);
+            return vo;
+        }).collect(java.util.stream.Collectors.toList());
+
         // 鏋勫缓杩斿洖缁撴灉
-        return new PageResult<OrderInfo>(
-            result.getRecords(),
-            result.getTotal(),
-            queryDTO.getPageNum().longValue(),
-            queryDTO.getPageSize().longValue(),
-            result.getPages()
+        return new PageResult<OrderDetailVO>(
+                voList,
+                result.getTotal(),
+                queryDTO.getPageNum().longValue(),
+                queryDTO.getPageSize().longValue(),
+                result.getPages()
         );
     }
 
@@ -1169,4 +1184,19 @@
         orderInfo.setUpdatedAt(LocalDateTime.now());
         return this.updateById(orderInfo);
     }
+
+    @Override
+    public boolean existsCompletedNotCancelledOrderByProductId(String productId) {
+        if (!StringUtils.hasText(productId)) {
+            throw new BusinessException("浜у搧ID涓嶈兘涓虹┖");
+        }
+        QueryWrapper<OrderInfo> wrapper = new QueryWrapper<>();
+        wrapper.eq("product_id", productId);
+        // 鏈彇娑堬細閫昏緫鏈垹闄�
+        wrapper.eq("deleted", 0);
+        // 瀹℃牳涓細鐘舵�佷笉涓� 宸插畬鎴� 鎴� 宸插彇娑�
+        wrapper.notIn("order_status", Arrays.asList("宸插畬鎴�", "宸插彇娑�"));
+        Integer count = this.baseMapper.selectCount(wrapper);
+        return count != null && count > 0;
+    }
 }

--
Gitblit v1.8.0