Pu Zhibing
2024-10-18 bdeb8e219b8eca2ff603db66bd84ba04f2fd20d2
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java
@@ -1802,13 +1802,13 @@
                  break;
               case 4:
                  //充电度数
                  invoke = clazz.getMethod("getValley_amount" + (i + 1)).invoke(vo);
                  invoke = clazz.getMethod("getValley_charge" + (i + 1)).invoke(vo);
                  break;
            }
            if(null == invoke || invoke.toString().equals("0")){
            if(null == invoke || Integer.valueOf(invoke.toString()) == 0){
               continue;
            }
            BigDecimal Sharp_peak_charge = new BigDecimal(invoke.toString());
            BigDecimal sharp_peak_charge = new BigDecimal(invoke.toString());
            TChargingOrderAccountingStrategy chargingOrderAccountingStrategy = new TChargingOrderAccountingStrategy();
            chargingOrderAccountingStrategy.setChargingOrderId(chargingOrder.getId());
            chargingOrderAccountingStrategy.setAccountingStrategyDetailId(strategyDetail.getId());
@@ -1819,14 +1819,14 @@
            chargingOrderAccountingStrategy.setServiceCharge(strategyDetail.getServiceCharge());
            chargingOrderAccountingStrategy.setCostServiceCharge(strategyDetail.getCostServiceCharge());
            //已充电总度数
            BigDecimal electrovalenc = strategyDetail.getElectrovalence().multiply(Sharp_peak_charge);
            BigDecimal originalServicePrice = strategyDetail.getServiceCharge().multiply(Sharp_peak_charge);
            BigDecimal electrovalenc = strategyDetail.getElectrovalence().multiply(sharp_peak_charge).setScale(2, RoundingMode.DOWN);
            BigDecimal originalServicePrice = strategyDetail.getServiceCharge().multiply(sharp_peak_charge).setScale(2, RoundingMode.DOWN);
            BigDecimal serviceCharge = originalServicePrice;
            //计算优惠金额
            if(null != chargingOrder.getVipDiscount()){
               serviceCharge = serviceCharge.multiply(chargingOrder.getVipDiscount().divide(new BigDecimal(10)));
               serviceCharge = serviceCharge.multiply(chargingOrder.getVipDiscount().divide(new BigDecimal(10))).setScale(2, RoundingMode.DOWN);
            }
            chargingOrderAccountingStrategy.setChargingCapacity(Sharp_peak_charge);
            chargingOrderAccountingStrategy.setChargingCapacity(sharp_peak_charge);
            chargingOrderAccountingStrategy.setPeriodElectricPrice(electrovalenc);
            chargingOrderAccountingStrategy.setPeriodServicePrice(serviceCharge);
            chargingOrderAccountingStrategy.setPeriodOriginalServicePrice(originalServicePrice);
@@ -1837,7 +1837,7 @@
            BigDecimal periodServicePrice = chargingOrderAccountingStrategy.getPeriodOriginalServicePrice();
            periodElectricPrice_total = periodElectricPrice_total.add(periodElectricPrice);
            periodServicePrice_total = periodServicePrice_total.add(periodServicePrice);
            total = total.add(periodElectricPrice).add(periodServicePrice);
            total = total.add(periodElectricPrice.add(periodServicePrice));
         } catch (IllegalAccessException e) {
            throw new RuntimeException(e);
         } catch (InvocationTargetException e) {
@@ -1898,11 +1898,12 @@
      order.setStartTime(LocalDateTime.parse(vo.getStart_time(), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SS")));
      order.setEndTime(LocalDateTime.parse(vo.getEnd_time(), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SS")));
      order.setStatus(5);
      order.setOrderAmount(orderAmount.setScale(2, RoundingMode.DOWN));
      order.setVipDiscountAmount(discountAmount.setScale(2, RoundingMode.DOWN));
      order.setServiceCharge(periodServicePrice_total.setScale(2, RoundingMode.DOWN));
      order.setElectrovalence(periodElectricPrice_total.setScale(2, RoundingMode.DOWN));
      order.setOrderAmount(orderAmount);
      order.setVipDiscountAmount(discountAmount);
      order.setServiceCharge(periodServicePrice_total);
      order.setElectrovalence(periodElectricPrice_total);
      order.setChargingCapacity(vo.getTotal_electricity());
      order.setElectricity(vo.getTotal_electricity());
      
      //计算优惠券
      if(null != chargingOrder.getAppCouponId()){
@@ -1939,8 +1940,8 @@
            }
         }
      }
      order.setPaymentAmount(payAmount.setScale(2, RoundingMode.DOWN));
      order.setRefundAmount(refundAmount.setScale(2, RoundingMode.DOWN));
      order.setPaymentAmount(payAmount);
      order.setRefundAmount(refundAmount);
      order.setRefundStatus(1);
      this.updateById(order);
      chargingOrder = this.getById(order.getId());