From 0ab192e97d3b23cb0d330ebaa4ae8bc91b79461b Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期一, 30 九月 2024 11:57:25 +0800 Subject: [PATCH] 修改bug --- ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java | 24 +++++++++++++++++------- 1 files changed, 17 insertions(+), 7 deletions(-) diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java index 1660c2d..30f07fb 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java +++ b/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())); -- Gitblit v1.7.1