Pu Zhibing
2024-09-27 72fc79723a5be2d4b132357d8e03cc0a67bedea7
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java
@@ -659,10 +659,9 @@
            Integer failure_cause = platformStartChargingReply.getFailure_cause();
            Integer counter = counter_map.get(code);
            PreChargeCheck preChargeCheck1 = redisService.getCacheObject(key);
            //状态为5的时候,硬件会间隔60秒后再次检测,依然未插枪,则不启动充电
            //因这里是间隔5秒执行检测,所以累计次数在30次以上
            if(failure_cause == 5 && (null == counter || counter < 35)){
               counter++;
            //5分钟内还未插枪则取消充电,退回金额。
            if(failure_cause == 5 && (null == counter || counter < 300)){
               counter = (null == counter ? 0 : counter) + 1;
               counter_map.put(code, counter);
               //启动失败
               preChargeCheck1.setStartupSuccess(3);
@@ -670,9 +669,9 @@
               redisService.setCacheObject(key, preChargeCheck1);
               return;
            }
            //清除计时器中的无效数据
            counter_map.remove(code);
            //开始处理退款
            TChargingOrder order = this.getOne(new LambdaQueryWrapper<TChargingOrder>().eq(TChargingOrder::getCode, code));
            if(0 == startup_result){
               //启动失败
@@ -683,6 +682,7 @@
               order.setStatus(-1);
               order.setEndMode(0);
            }else{
               //启动成功
               preChargeCheck1.setStartupSuccess(2);
               order.setStatus(3);
               order.setStartTime(LocalDateTime.now());
@@ -691,8 +691,10 @@
            redisService.setCacheObject(key, preChargeCheck1);
            //提前结束定时任务
            scheduler.shutdown();
         }else{
            log.error("未上传开启充电结果........");
         }
      }, 5, 300, TimeUnit.SECONDS);
      }, 5, 1, TimeUnit.SECONDS);
      return AjaxResult.success();
   }
   
@@ -1205,6 +1207,12 @@
      for (ChargingOrderVO chargingOrderVO : list) {
         TChargingGun data3 = chargingGunClient.getChargingGunById(chargingOrderVO.getChargingGunId()).getData();
         TChargingPile data2 = chargingPileClient.getChargingPileById(chargingOrderVO.getChargingPileId()).getData();
         if (chargingOrderVO.getSiteId()!=null){
            List<Integer> integers = new ArrayList<>();
            integers.add(chargingOrderVO.getSiteId());
            List<Site> data = siteClient.getSiteByIds(integers).getData();
            if (!data.isEmpty())chargingOrderVO.setSiteName(data.get(0).getName());
         }
         if (data2!=null && data3!=null){
            chargingOrderVO.setTerminalName(data2.getName()+"-"+data3.getName());
@@ -1220,7 +1228,9 @@
         // 单个订单累计服务费
         BigDecimal serviceMoney1 = new BigDecimal("0");
         UploadRealTimeMonitoringData data5 = uploadRealTimeMonitoringDataClient.chargingOrderInfo(chargingOrderVO.getCode()).getData();
         chargingOrderVO.setChargingSecond(data5.getTime_remaining()*60L);
         if (data5!=null){
            chargingOrderVO.setChargingSecond(data5.getTime_remaining()*60L);
         }
         // 总收入
         if (chargingOrderVO.getRefundStatus() !=null && chargingOrderVO.getRefundStatus() == 2){
            income = income.add(chargingOrderVO.getPaymentAmount().subtract(chargingOrderVO.getRefundAmount()));