From ac99ede4b1c87f157693dd9f3bfebde08a13dedb Mon Sep 17 00:00:00 2001 From: Jerry Yan <792602257@qq.com> Date: Fri, 1 Aug 2025 11:38:13 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E6=83=A0=E5=88=B8=E8=B4=AD=E4=B9=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/ycwl/basic/biz/OrderBiz.java | 5 ++-- .../service/pc/impl/OrderServiceImpl.java | 24 ++++++++++++++----- 2 files changed, 21 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/ycwl/basic/biz/OrderBiz.java b/src/main/java/com/ycwl/basic/biz/OrderBiz.java index 0294e71..83825a1 100644 --- a/src/main/java/com/ycwl/basic/biz/OrderBiz.java +++ b/src/main/java/com/ycwl/basic/biz/OrderBiz.java @@ -246,8 +246,9 @@ public class OrderBiz { } }); orderRepository.clearOrderCache(orderId); // 更新完了,清理下 - if (order.getCouponRecordId() != null) { - couponBiz.userUseCoupon(order.getMemberId(), order.getFaceId(), order.getCouponRecordId(), orderId); + Integer couponRecordId = order.getCouponRecordId(); + if (couponRecordId != null) { + couponBiz.userUseCoupon(order.getMemberId(), order.getFaceId(), couponRecordId, orderId); } //支付时间 diff --git a/src/main/java/com/ycwl/basic/service/pc/impl/OrderServiceImpl.java b/src/main/java/com/ycwl/basic/service/pc/impl/OrderServiceImpl.java index 29f6468..d0662d2 100644 --- a/src/main/java/com/ycwl/basic/service/pc/impl/OrderServiceImpl.java +++ b/src/main/java/com/ycwl/basic/service/pc/impl/OrderServiceImpl.java @@ -160,13 +160,20 @@ public class OrderServiceImpl implements OrderService { public ApiResponse> pageQueryDetail(OrderReqQuery query) { PageHelper.startPage(query.getPageNum(), query.getPageSize()); List list = orderMapper.listDetail(query); + for (OrderRespVO item : list) { + item.setPrice(item.getPayPrice()); + } PageInfo pageInfo = new PageInfo<>(list); return ApiResponse.success(pageInfo); } @Override public ApiResponse> list(OrderReqQuery query) { - return ApiResponse.success(orderMapper.list(query)); + List list = orderMapper.list(query); + for (OrderRespVO item : list) { + item.setPrice(item.getPayPrice()); + } + return ApiResponse.success(list); } @Override @@ -521,11 +528,6 @@ public class OrderServiceImpl implements OrderService { } // promo code order.setPayPrice(priceObj.getPrice()); - order.setPayPrice(order.getPayPrice().subtract(order.getCouponPrice())); - if (order.getPayPrice().compareTo(BigDecimal.ZERO) < NumberConstant.ZERO) { - // 至少需要支付0.01 - order.setPayPrice(BigDecimal.valueOf(0.01)); - } order.setFaceId(priceObj.getFaceId()); if (order.getPayPrice().equals(BigDecimal.ZERO)) { order.setStatus(OrderStateEnum.PAID.getState()); @@ -558,6 +560,16 @@ public class OrderServiceImpl implements OrderService { order.setCouponId(couponRecord.getCouponId()); order.setCouponRecordId(couponRecord.getId()); order.setCouponPrice(couponRecord.getCoupon().calculateDiscountPrice(order.getPrice())); + order.setPayPrice(order.getPayPrice().subtract(order.getCouponPrice())); + if (order.getPayPrice().compareTo(BigDecimal.ZERO) < NumberConstant.ZERO) { + // 至少需要支付0.01 + order.setPayPrice(BigDecimal.valueOf(0.01)); + } + } else { + log.info("优惠券不可用,优惠券记录ID:{},优惠券ID:{}", couponRecord.getId(), couponRecord.getCouponId()); + order.setCouponId(null); + order.setCouponRecordId(null); + order.setCouponPrice(BigDecimal.ZERO); } } List orderItems = new ArrayList<>();