From 8c182b3ba68aa74befe624697cb842e1b53034eb Mon Sep 17 00:00:00 2001 From: xin <1099200748@qq.com> Date: Thu, 07 Aug 2025 16:47:01 +0800 Subject: [PATCH] 订单-打包费 --- oying-system/src/main/java/com/oying/modules/sh/service/impl/OrderServiceImpl.java | 6 +++++- 1 files changed, 5 insertions(+), 1 deletions(-) diff --git a/oying-system/src/main/java/com/oying/modules/sh/service/impl/OrderServiceImpl.java b/oying-system/src/main/java/com/oying/modules/sh/service/impl/OrderServiceImpl.java index 6042c17..b5b96a4 100644 --- a/oying-system/src/main/java/com/oying/modules/sh/service/impl/OrderServiceImpl.java +++ b/oying-system/src/main/java/com/oying/modules/sh/service/impl/OrderServiceImpl.java @@ -212,6 +212,7 @@ } List<ProductInfo> products = new ArrayList<>(); BigDecimal amount = BigDecimal.ZERO; + int count = 0; for (ProductOrder productOrder : criteria.getProducts()) { Product product = productService.getById(productOrder.getProductId()); if (product == null) { @@ -236,6 +237,7 @@ info.setCount(productOrder.getCount()); products.add(info); amount = BigDecimalUtils.add(amount, BigDecimalUtils.multiply(product.getPrice(), productOrder.getCount())); + count += productOrder.getCount(); } if (!(amount.compareTo(store.getDeliveryMinimum()) >= 0)) { throw new BadRequestException("起送金额:" + store.getDeliveryMinimum()); @@ -246,6 +248,8 @@ info.setAmount(amount); info.setPayAmount(amount); info.setPromotionAmount(BigDecimal.ZERO); + info.setDeliveryPrice(store.getDeliveryFee()); + info.setPackagingPrice(BigDecimalUtils.multiply(store.getPackagingFee(), count)); info.setUserAddresses(userAddressService.queryUserAddress(store.getLongitude(), store.getLatitude())); return info; } @@ -278,7 +282,7 @@ @Override @Transactional(rollbackFor = Exception.class) - public void cancel(String orderNum) { + public synchronized void cancel(String orderNum) { OrderResponse response = getByOrderNum(orderNum); Order order = response.getOrder(); if (order == null) { -- Gitblit v1.9.3