| | |
| | | if(com.ruoyi.common.core.utils.StringUtils.isNotEmpty(query.getTransaction_serial_number())){ |
| | | //获取当前的计费策略 |
| | | TChargingOrder chargingOrder = this.getOne(new LambdaQueryWrapper<TChargingOrder>().eq(TChargingOrder::getCode, query.getTransaction_serial_number())); |
| | | BigDecimal residualAmount = chargingOrder.getResidualAmount().add(chargingOrder.getVipDiscountAmount()).subtract(query.getPaid_amount()); |
| | | BigDecimal residualAmount = chargingOrder.getRechargeAmount().add(chargingOrder.getVipDiscountAmount()).subtract(query.getPaid_amount()); |
| | | chargingOrder.setResidualAmount(residualAmount); |
| | | if(query.getOutput_current().compareTo(BigDecimal.ZERO) != 0){ |
| | | BigDecimal divide = (query.getOutput_current().multiply(query.getOutput_voltage())).divide(new BigDecimal(1000)); |
| | |
| | | |
| | | //获取订单的计费策略 |
| | | List<AccountingStrategyDetailOrder> accountingStrategyDetailOrderList = accountingStrategyDetailOrderClient.getAllAccountingStrategyDetailOrder(chargingOrder.getId()).getData(); |
| | | AccountingStrategyDetailOrder accountingStrategyDetailOrder = accountingStrategyDetailOrderList.get(accountingStrategyDetailOrderList.size() - 1); |
| | | if(accountingStrategyDetailOrder.getEndTime().equals("00:00")){ |
| | | accountingStrategyDetailOrder.setEndTime("24:00"); |
| | | } |
| | | chargingOrderAccountingStrategyService.remove(new LambdaQueryWrapper<TChargingOrderAccountingStrategy>().eq(TChargingOrderAccountingStrategy::getChargingOrderId, chargingOrder.getId())); |
| | | for (int i = 0; i < 12; i++) { |
| | | Class<? extends TransactionRecordMessageVO> clazz = vo.getClass(); |
| | | try { |
| | | String time = (String) clazz.getMethod("getTime" + (i + 1)).invoke(vo); |
| | | if(StringUtils.hasLength(time)){ |
| | | String[] split = time.split("-"); |
| | | Object invoke1 = clazz.getMethod("getTime" + (i + 1)).invoke(vo); |
| | | if(null != invoke1){ |
| | | String[] split = invoke1.toString().split("-"); |
| | | AccountingStrategyDetailOrder strategyDetail = accountingStrategyDetailOrderList.stream().filter(s -> s.getStartTime().equals(split[0]) && s.getEndTime().equals(split[1])).findFirst().get(); |
| | | //阶段(1=尖阶段,2=峰阶段,3=平阶段,4=谷阶段) |
| | | Object invoke = null; |