无关风月
2025-02-07 a16c9bebf9ab97e04afa67db1665549af86948fb
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java
@@ -1948,11 +1948,11 @@
    */
   @Override
   @GlobalTransactional(rollbackFor = Exception.class)
   public void endChargeBillingCharge(TransactionRecordMessageVO vo) {
   public R endChargeBillingCharge(TransactionRecordMessageVO vo) {
      TChargingOrder chargingOrder = this.getOne(new LambdaQueryWrapper<TChargingOrder>().eq(TChargingOrder::getCode, vo.getTransaction_serial_number()));
      Integer status = chargingOrder.getStatus();
      if(status == 5){
         return;
         return R.ok();
      }
      
      //如果使用优惠券需要判断优惠券是否满足使用条件
@@ -2092,6 +2092,7 @@
         }
      }catch (Exception e){
         e.printStackTrace();
         R.fail("处理失败");
      }
      
      //开始处理明细
@@ -2186,9 +2187,13 @@
      UploadRealTimeMonitoringData uploadRealTimeMonitoringData = uploadRealTimeMonitoringDataClient.chargingOrderInfo(chargingOrder.getCode()).getData();
      if(null != uploadRealTimeMonitoringData && null == chargingOrder.getEndMode()){
         Integer soc = uploadRealTimeMonitoringData.getSoc();
         order.setEndMode(soc > 98 ? 2 : 3);
         if(soc > 98){
            order.setEndMode(2);
         }else if(order.getResidualAmount().compareTo(new BigDecimal(1)) <= 0){
            order.setEndMode(3);
      }else{
         order.setEndMode(1);
            order.setEndMode(0);
         }
      }
      order.setResidualAmount(rechargeAmount.subtract(total).setScale(2, RoundingMode.HALF_EVEN));
      order.setStartTime(LocalDateTime.parse(vo.getStart_time(), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SS")));
@@ -2372,6 +2377,7 @@
         }
         
      }
      return R.ok();
   }