zhibing.pu
2024-09-11 aa7727d8ed9eca34f8126c3dc5a80fbdf9ad56cd
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());
@@ -1384,6 +1390,22 @@
      TChargingOrder chargingOrder= this.getById(uid);
      ChargingOrderListInfoVO chargingOrderListInfoVO = new ChargingOrderListInfoVO();
      chargingOrderListInfoVO.setElectrovalence(chargingOrder.getElectrovalence());
      chargingOrderListInfoVO.setServiceCharge(chargingOrder.getServiceCharge());
      if (chargingOrder.getElectrovalence()!=null && chargingOrder.getServiceCharge()!=null){
         chargingOrderListInfoVO.setTotal(chargingOrder.getElectrovalence().add(chargingOrder.getServiceCharge()));
      }else{
         chargingOrderListInfoVO.setTotal(new BigDecimal("0"));
      }
      if (chargingOrderListInfoVO.getTotal().compareTo(new BigDecimal("0"))>0){
         if (chargingOrder.getCouponDiscountAmount()!=null&& chargingOrder.getVipDiscountAmount()!=null&& chargingOrder.getSharingAmount()!=null&& chargingOrder.getCommissionAmount()!=null){
            chargingOrderListInfoVO.setRealTotal(chargingOrderListInfoVO.getTotal().subtract(chargingOrder.getCouponDiscountAmount()).subtract(chargingOrder.getVipDiscountAmount()).subtract(chargingOrder.getSharingAmount()).subtract(chargingOrder.getCommissionAmount()));
         }else{
            chargingOrderListInfoVO.setRealTotal(chargingOrderListInfoVO.getTotal());
         }
      }else{
         chargingOrderListInfoVO.setRealTotal(new BigDecimal("0"));
      }
      chargingOrderListInfoVO.setCode(chargingOrder.getCode());
      List<Site> data = siteClient.getSiteByIds(Arrays.asList(chargingOrder.getSiteId())).getData();
      if (!data.isEmpty()){