From 4c77ac6367145e4740141e872e1cda1c16efa9b1 Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期一, 09 六月 2025 15:17:16 +0800 Subject: [PATCH] 优化功能及重复退款问题 --- ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderInvoiceServiceImpl.java | 12 +++++++----- 1 files changed, 7 insertions(+), 5 deletions(-) diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderInvoiceServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderInvoiceServiceImpl.java index dba9058..09b19fc 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderInvoiceServiceImpl.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderInvoiceServiceImpl.java @@ -95,7 +95,6 @@ * @return */ @Override - @GlobalTransactional(rollbackFor = Exception.class) public AjaxResult addOrderInvoice(AddOrderInvoice addOrderInvoice) { Long userId = tokenService.getLoginUserApplet().getUserId(); String orders = addOrderInvoice.getOrders(); @@ -146,7 +145,8 @@ orderInvoiceDetail.setAddedServiceTariff(invoiceType.getAddedServiceTariff()); orderInvoiceDetail.setElectrovalence(electrovalence); orderInvoiceDetail.setServiceCharge(serviceCharge); - orderInvoiceDetail.setAddedService(serviceCharge.multiply(invoiceType.getAddedServiceTariff().divide(new BigDecimal(100)))); + orderInvoiceDetail.setAddedService(serviceCharge.multiply(null == invoiceType.getAddedServiceTariff() + ? new BigDecimal(1) : invoiceType.getAddedServiceTariff().divide(new BigDecimal(100)))); orderInvoiceDetailService.save(orderInvoiceDetail); } return AjaxResult.success(); @@ -218,6 +218,8 @@ BigDecimal payMoney = tChargingOrder.getStatus() < 4 ? tChargingOrder.getRechargeAmount() : tChargingOrder.getPaymentAmount(); myChargingOrderList.setPayMoney(payMoney); myChargingOrderList.setCreateTime(tChargingOrder.getCreateTime().format(DateTimeFormatter.ofPattern("yyyy.MM.dd HH:mm:ss"))); + myChargingOrderList.setElectricCharge(tChargingOrder.getElectrovalence()); + myChargingOrderList.setServiceCharge(tChargingOrder.getServiceCharge()); chargingOrder.add(myChargingOrderList); } myOrderInvoiceInfo.setChargingOrder(chargingOrder); @@ -296,9 +298,9 @@ } e.setElectricityTariff(orderInvoiceDetailList.get(0).getElectricityTariff()); e.setAddedServiceTariff(orderInvoiceDetailList.get(0).getAddedServiceTariff()); - e.setAddedService(orderInvoiceDetailList.stream().filter(t->t.getAddedService()!=null).map(TOrderInvoiceDetail::getAddedService).reduce(BigDecimal::add).get()); - e.setElectrovalence(orderInvoiceDetailList.stream().filter(t->t.getElectrovalence()!=null).map(TOrderInvoiceDetail::getElectrovalence).reduce(BigDecimal::add).get()); - e.setServiceCharge(orderInvoiceDetailList.stream().filter(t->t.getServiceCharge()!=null).map(TOrderInvoiceDetail::getServiceCharge).reduce(BigDecimal::add).get()); + e.setAddedService(orderInvoiceDetailList.stream().filter(t->t.getOrderInvoiceId().equals(e.getId()) &&t.getAddedService()!=null).map(TOrderInvoiceDetail::getAddedService).reduce(BigDecimal::add).get()); + e.setElectrovalence(orderInvoiceDetailList.stream().filter(t->t.getOrderInvoiceId().equals(e.getId()) &&t.getElectrovalence()!=null).map(TOrderInvoiceDetail::getElectrovalence).reduce(BigDecimal::add).get()); + e.setServiceCharge(orderInvoiceDetailList.stream().filter(t->t.getOrderInvoiceId().equals(e.getId()) && t.getServiceCharge()!=null).map(TOrderInvoiceDetail::getServiceCharge).reduce(BigDecimal::add).get()); }); } -- Gitblit v1.7.1