Pu Zhibing
2025-03-18 9b646c003c5dcc9c878c8c023af57e19eaef027a
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java
@@ -1351,7 +1351,6 @@
               chargingOrderVO.setAuthRecord(t1.get(0));
            }
         }
         chargingOrderVO.setSharingAmount(chargingOrderVO.getServiceCharge()!=null?chargingOrderVO.getServiceCharge().multiply(new BigDecimal("0.2")).setScale(2,BigDecimal.ROUND_DOWN):new BigDecimal("0"));
         chargingOrderVO.setCommissionAmount(chargingOrderVO.getRechargeAmount()!=null?chargingOrderVO.getRechargeAmount().multiply(new BigDecimal("0.006")):new BigDecimal("0"));
         chargingOrderVO.setPlatFormMoney(chargingOrderVO.getRechargeAmount()!=null?chargingOrderVO.getRechargeAmount().multiply(new BigDecimal("0.006")).setScale(2,BigDecimal.ROUND_DOWN):new BigDecimal("0"));
         chargingOrderVO.setUid(chargingOrderVO.getId()+"");
@@ -1374,7 +1373,17 @@
            // 计算时间差 单位秒
            long between = ChronoUnit.SECONDS.between(startTime, endTime);
            chargingOrderVO.setChargingSecond(between);
            BigDecimal electronic_reduce = chargingOrderId.stream().map(TChargingOrderAccountingStrategy::getPeriodElectricPrice).reduce(BigDecimal.ZERO, BigDecimal::add);
            chargingOrderVO.setElectrovalence(electronic_reduce);
            BigDecimal service_reduce = chargingOrderId.stream().map(TChargingOrderAccountingStrategy::getPeriodServicePrice).reduce(BigDecimal.ZERO, BigDecimal::add);
            if (!chargingOrderVO.getOrderSource().equals(2)){
               chargingOrderVO.setServiceCharge(service_reduce);
               chargingOrderVO.setSharingAmount(BigDecimal.ZERO);
            }else{
               chargingOrderVO.setServiceCharge(service_reduce.multiply(new BigDecimal("0.8")));
               chargingOrderVO.setSharingAmount(service_reduce.multiply(new BigDecimal("0.2")));
            }
         }
         // 充电时段数
         int size = chargingOrderId.size();
@@ -1403,11 +1412,12 @@
            .eq(TChargingOrderRefund::getRefundStatus,2).list();
      for (ChargingOrderVO chargingOrderVO : list1) {
         List<TChargingOrderAccountingStrategy> list4 = list3.stream().filter(e -> e.getChargingOrderId().equals(chargingOrderVO.getId())).collect(Collectors.toList());
         BigDecimal service_reduce = list4.stream().map(TChargingOrderAccountingStrategy::getPeriodServicePrice).reduce(BigDecimal.ZERO, BigDecimal::add);
         if (!chargingOrderVO.getOrderSource().equals(2)) {
            paymentMoney = paymentMoney.add(chargingOrderVO.getPaymentAmount() != null ? chargingOrderVO.getPaymentAmount() : new BigDecimal("0"));
         }else{
            paymentMoney = paymentMoney.add(chargingOrderVO.getServiceCharge() != null ? chargingOrderVO.getServiceCharge().multiply(new BigDecimal("0.2")).setScale(2, BigDecimal.ROUND_DOWN) : new BigDecimal("0"));
            paymentMoney = paymentMoney.add(service_reduce.multiply(new BigDecimal("0.8")).setScale(2, BigDecimal.ROUND_DOWN));
         }
         if (chargingOrderVO.getRechargeAmount()!=null){
            commissionMoney = commissionMoney.add(chargingOrderVO.getRechargeAmount().multiply(new BigDecimal("0.006")).setScale(2,BigDecimal.ROUND_DOWN));
@@ -1427,16 +1437,18 @@
         for (TChargingOrderRefund tChargingOrderRefund : list2) {
               refundMoney = refundMoney.add(tChargingOrderRefund.getRefundTotalAmount());
         }
         electronicMoney = electronicMoney.add(chargingOrderVO.getElectrovalence()!=null?chargingOrderVO.getElectrovalence():new BigDecimal("0"));
         //充电明细
         BigDecimal electronic_reduce = list4.stream().map(TChargingOrderAccountingStrategy::getPeriodElectricPrice).reduce(BigDecimal.ZERO, BigDecimal::add);
         electronicMoney = electronicMoney.add(electronic_reduce);
         if (!chargingOrderVO.getOrderSource().equals(2)){
            serviceMoney = serviceMoney.add(chargingOrderVO.getServiceCharge()!=null?chargingOrderVO.getServiceCharge():new BigDecimal("0"));
            serviceMoney = serviceMoney.add(service_reduce);
         }else{
            serviceMoney = serviceMoney.add(chargingOrderVO.getServiceCharge()!=null?chargingOrderVO.getServiceCharge().multiply(new BigDecimal("0.2")).setScale(2,BigDecimal.ROUND_DOWN):new BigDecimal("0"));
            serviceMoney = serviceMoney.add(service_reduce.multiply(new BigDecimal("0.8")));
         }
      }
      tCharingOrderVO.setTotal(total);
      tCharingOrderVO.setTime(time);
//      tCharingOrderVO.setIncome(paymentMoney.subtract(commissionMoney));
      tCharingOrderVO.setIncome(paymentMoney);
      tCharingOrderVO.setElectronicMoney(electronicMoney);
      tCharingOrderVO.setServiceMoney(serviceMoney);
@@ -1494,17 +1506,17 @@
   }
   @Override
   public List<Map<String, Object>> getSumByType(LocalDate start,LocalDate end) {
   public List<Map<String, Object>> getSumByType(LocalDate start,LocalDate end,List<Integer> siteIds) {
      LocalDateTime start1 = start.atStartOfDay();
      LocalDateTime end1 = end.atTime(LocalTime.MAX);
      return this.baseMapper.getSumByType(start1,end1);
      return this.baseMapper.getSumByType(start1,end1, siteIds);
   }
   @Override
   public List<Map<String, Object>> getDateData(LocalDate start,LocalDate end) {
   public List<Map<String, Object>> getDateData(LocalDate start,LocalDate end,List<Integer> siteIds) {
      LocalDateTime start1 = start.atStartOfDay();
      LocalDateTime end1 = end.atTime(LocalTime.MAX);
      return this.baseMapper.getDateData(start1,end1);
      return this.baseMapper.getDateData(start1,end1, siteIds);
   }
   @Override