From 703ca1c4ac199d13f0345bb913c320845f77f2ee Mon Sep 17 00:00:00 2001 From: p-honggang.li <p-honggang.li@pcitc.com> Date: 星期三, 03 九月 2025 16:58:08 +0800 Subject: [PATCH] 新增订单表是否已评价字段 --- src/main/java/com/webmanage/service/impl/OrderInfoServiceImpl.java | 58 +++++++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 51 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..72522e1 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() ); } @@ -449,6 +464,7 @@ orderInfo.setPaymentType(createOrderDTO.getPaymentType()); orderInfo.setPaymentStatus("鏈敮浠�"); orderInfo.setBuyerRemarks(createOrderDTO.getBuyerRemarks()); + orderInfo.setIsEvaluate("鏈瘎浠�"); orderInfo.setCreatedAt(LocalDateTime.now()); orderInfo.setUpdatedAt(LocalDateTime.now()); @@ -1169,4 +1185,32 @@ 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("宸插畬鎴�", "宸插彇娑�")); + Long count = this.baseMapper.selectCount(wrapper); + return count != null && count > 0; + } + + @Override + public boolean updateOrderIsEvaluate(String orderId) { + if (!StringUtils.hasText(orderId)) { + throw new BusinessException("璁㈠崟ID涓嶈兘涓虹┖"); + } + OrderInfo orderInfo = this.getById(orderId); + if (orderInfo == null) { + throw new BusinessException("璁㈠崟涓嶅瓨鍦�"); + } + orderInfo.setIsEvaluate("宸茶瘎浠�"); + return this.updateById(orderInfo); + } } -- Gitblit v1.8.0