From a0b030d6f6a641594db40fc97e3192120f57bdca Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期三, 11 九月 2024 16:20:39 +0800 Subject: [PATCH] 代码提交 --- ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java | 72 +++++++++++++++++++++++------------- 1 files changed, 46 insertions(+), 26 deletions(-) diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java index 52e8601..47c3dfb 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java @@ -450,8 +450,14 @@ this.save(chargingOrder); //添加订单的计费策略 - TAccountingStrategy accountingStrategy = accountingStrategyClient.getAccountingStrategyById(tChargingGun.getAccountingStrategyId()).getData(); - List<TAccountingStrategyDetail> strategyDetailList = accountingStrategyDetailClient.getListByAccountingStrategyId(tChargingGun.getAccountingStrategyId()).getData(); + Integer accountingStrategyId = tChargingGun.getAccountingStrategyId(); + if(null == accountingStrategyId){ + //查询站点上面的计费策略 + Site site = siteClient.getSiteByIds(Arrays.asList(tChargingGun.getSiteId())).getData().get(0); + accountingStrategyId = site.getAccountingStrategyId(); + } + TAccountingStrategy accountingStrategy = accountingStrategyClient.getAccountingStrategyById(accountingStrategyId).getData(); + List<TAccountingStrategyDetail> strategyDetailList = accountingStrategyDetailClient.getListByAccountingStrategyId(accountingStrategyId).getData(); AccountingStrategyOrder accountingStrategyOrder = new AccountingStrategyOrder(); BeanUtils.copyProperties(accountingStrategy, accountingStrategyOrder); accountingStrategyOrder.setChargingOrderId(chargingOrder.getId()); @@ -1840,13 +1846,23 @@ BigDecimal paymentAmount = new BigDecimal("0"); for (TChargingOrder tChargingOrder : tChargingOrders) { // 累加充电总度数 - chargingElectronic = chargingElectronic.add(tChargingOrder.getChargingCapacity()); + if (tChargingOrder.getChargingCapacity()!=null){ + chargingElectronic = chargingElectronic.add(tChargingOrder.getChargingCapacity()); + + } // 累加分佣 - sharingAmount = sharingAmount.add(tChargingOrder.getSharingAmount()); + if (tChargingOrder.getSharingAmount()!=null) { + sharingAmount = sharingAmount.add(tChargingOrder.getSharingAmount()); + } // 累加电费 + if (tChargingOrder.getElectrovalence()!=null) { electrovalence = electrovalence.add(tChargingOrder.getElectrovalence()); + } // 累加服务费 - serviceCharge = serviceCharge.add(tChargingOrder.getServiceCharge()); + if (tChargingOrder.getServiceCharge()!=null){ + serviceCharge = serviceCharge.add(tChargingOrder.getServiceCharge()); + + } // 累加会员折扣 if (tChargingOrder.getVipDiscountAmount()!=null){ vipDiscount = vipDiscount.add(tChargingOrder.getVipDiscountAmount()); @@ -1855,11 +1871,13 @@ if (tChargingOrder.getCouponDiscountAmount()!=null){ couponDiscount = couponDiscount.add(tChargingOrder.getCouponDiscountAmount()); } - if (tChargingOrder.getRefundStatus() == 2){ + if (tChargingOrder.getRefundStatus()!=null &&tChargingOrder.getRefundStatus() == 2){ // 如果成功退款 那么减去退款金额 paymentAmount = paymentAmount.add(tChargingOrder.getPaymentAmount().subtract(tChargingOrder.getRefundAmount())); }else{ - paymentAmount = paymentAmount.add(tChargingOrder.getPaymentAmount()); + if (tChargingOrder.getPaymentAmount()!=null){ + paymentAmount = paymentAmount.add(tChargingOrder.getPaymentAmount()); + } } } // 三方交易手续费 三方收费*0.6% @@ -1875,34 +1893,36 @@ tSettlementConfirm.setVipDiscount(vipDiscount); tSettlementConfirm.setCouponDiscount(couponDiscount); tSettlementConfirm.setSiteId(dto.getSiteId()); - tSettlementConfirm.setMeteringElectronic(dto.getData().getMeteringElectronic()); tSettlementConfirm.setChargingElectronic(chargingElectronic); - tSettlementConfirm.setLossElectronic(dto.getData().getLossElectronic()); tSettlementConfirm.setIncome(chargingElectronic.add(serviceCharge)); - tSettlementConfirm.setVenue(dto.getData().getVenue()); - tSettlementConfirm.setMetering(dto.getData().getMetering()); - tSettlementConfirm.setClean(dto.getData().getClean()); - tSettlementConfirm.setMaintain(dto.getData().getMaintain()); - tSettlementConfirm.setCost(dto.getData().getVenue().add(dto.getData().getClean()).add(dto.getData().getMaintain())); tSettlementConfirm.setProfitMoney(new BigDecimal("0")); tSettlementConfirm.setNewMoney(new BigDecimal("0")); tSettlementConfirm.setNewSettlement(new BigDecimal("0")); tSettlementConfirm.setVipDiscount(vipDiscount); tSettlementConfirm.setCouponDiscount(couponDiscount); - tSettlementConfirm.setSupplyElectronic(dto.getData().getSupplyElectronic()); tSettlementConfirm.setType(dto.getType()); - tSettlementConfirm.setProportionPartner(dto.getData().getProportionPartner()); - tSettlementConfirm.setProportionMoney(dto.getData().getProportionMoney()); - tSettlementConfirm.setTotalElectronic(dto.getData().getTotalElectronic()); - tSettlementConfirm.setTotalService(dto.getData().getTotalService()); - tSettlementConfirm.setRemark(dto.getData().getRemark()); - tSettlementConfirm.setServicePartner(dto.getData().getServicePartner()); - tSettlementConfirm.setServiceMoney(dto.getData().getServiceMoney()); - tSettlementConfirm.setTotalService(dto.getData().getTotalService()); - tSettlementConfirm.setServiceRemark(dto.getData().getServiceRemark()); - tSettlementConfirm.setDistribution(dto.getData().getDistribution()); - tSettlementConfirm.setIncome(dto.getData().getElectrovalence().add(dto.getData().getServiceCharge())); + if (dto.getState() == 2){ + tSettlementConfirm.setSupplyElectronic(dto.getData().getSupplyElectronic()); + tSettlementConfirm.setVenue(dto.getData().getVenue()); + tSettlementConfirm.setMetering(dto.getData().getMetering()); + tSettlementConfirm.setClean(dto.getData().getClean()); + tSettlementConfirm.setLossElectronic(dto.getData().getLossElectronic()); + tSettlementConfirm.setMaintain(dto.getData().getMaintain()); + + tSettlementConfirm.setMeteringElectronic(dto.getData().getMeteringElectronic()); + tSettlementConfirm.setProportionPartner(dto.getData().getProportionPartner()); + tSettlementConfirm.setProportionMoney(dto.getData().getProportionMoney()); + tSettlementConfirm.setTotalElectronic(dto.getData().getTotalElectronic()); + tSettlementConfirm.setTotalService(dto.getData().getTotalService()); + tSettlementConfirm.setRemark(dto.getData().getRemark()); + tSettlementConfirm.setServicePartner(dto.getData().getServicePartner()); + tSettlementConfirm.setServiceMoney(dto.getData().getServiceMoney()); + tSettlementConfirm.setTotalService(dto.getData().getTotalService()); + tSettlementConfirm.setServiceRemark(dto.getData().getServiceRemark()); + tSettlementConfirm.setDistribution(dto.getData().getDistribution()); + tSettlementConfirm.setIncome(dto.getData().getElectrovalence().add(dto.getData().getServiceCharge())); + tSettlementConfirm.setCost(dto.getData().getVenue().add(dto.getData().getClean()).add(dto.getData().getMaintain())); tSettlementConfirmMapper.insert(tSettlementConfirm); } return tSettlementConfirm; -- Gitblit v1.7.1