From 2cb89c777631fed49521a2f09a6241bd9459d7dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BD=90=E5=A4=A9=E5=A4=A7=E5=9C=A3?= <17615834396@163.com> Date: Thu, 4 Jan 2024 14:00:45 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/ActiveExchangeServiceImpl.java | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/activeExchange/service/impl/ActiveExchangeServiceImpl.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/activeExchange/service/impl/ActiveExchangeServiceImpl.java index 164339473..7e1923370 100644 --- a/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/activeExchange/service/impl/ActiveExchangeServiceImpl.java +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/activeExchange/service/impl/ActiveExchangeServiceImpl.java @@ -395,6 +395,7 @@ public class ActiveExchangeServiceImpl implements ActiveExchangeService { PaymentActiveVO paymentActiveVO = new PaymentActiveVO(); Integer storeId = paymentActiveDTO.getStoreId(); double amount = 0.0; + double fullAmount = 0.0; //折扣 List activeDiscountVOList = oilOrderMapper.selectActiveDiscount(storeId,paymentActiveDTO.getAmount()); if (CollectionUtils.isNotEmpty(activeDiscountVOList)){ @@ -402,10 +403,10 @@ public class ActiveExchangeServiceImpl implements ActiveExchangeService { if (activeDiscountPayVO.getOilId().contains(paymentActiveDTO.getOilId().toString()) && activeDiscountPayVO.getAdaptUser().contains(paymentActiveDTO.getMtUserLevel().toString())){ if (activeDiscountPayVO.getDiscount() * activeDiscountPayVO.getAmount() > amount){ - amount = paymentActiveDTO.getAmount() - (activeDiscountPayVO.getDiscount() * activeDiscountPayVO.getAmount()); + amount = paymentActiveDTO.getAmount() - ((10-activeDiscountPayVO.getDiscount()) * activeDiscountPayVO.getAmount() * 0.1); paymentActiveVO.setActiveId(activeDiscountPayVO.getActiveId()); paymentActiveVO.setAmount(amount); - paymentActiveVO.setFavorableAmount(activeDiscountPayVO.getAmount()); + paymentActiveVO.setFavorableAmount((10-activeDiscountPayVO.getDiscount()) * activeDiscountPayVO.getAmount() * 0.1); } } } @@ -416,11 +417,15 @@ public class ActiveExchangeServiceImpl implements ActiveExchangeService { for (ActiveDiscountPayVO activeDiscountPayVO : activeFuletVOList) { if (activeDiscountPayVO.getOilId().contains(paymentActiveDTO.getOilId().toString()) && activeDiscountPayVO.getAdaptUser().contains(paymentActiveDTO.getMtUserLevel().toString())){ - if (activeDiscountPayVO.getAmount() > amount){ - amount = paymentActiveDTO.getAmount() - activeDiscountPayVO.getAmount(); + //如果满足条件 + if (paymentActiveDTO.getAmount() >= activeDiscountPayVO.getAmount()){ + fullAmount = paymentActiveDTO.getAmount() - activeDiscountPayVO.getDiscount(); + if (amount > fullAmount){ + amount = paymentActiveDTO.getAmount() - fullAmount; paymentActiveVO.setActiveId(activeDiscountPayVO.getActiveId()); paymentActiveVO.setAmount(amount); - paymentActiveVO.setFavorableAmount(activeDiscountPayVO.getAmount()); + paymentActiveVO.setFavorableAmount(paymentActiveDTO.getAmount() - activeDiscountPayVO.getDiscount()); + } } } }