From 5f3db406212c961daffdb55d76547d3733c7e805 Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期二, 08 十月 2024 14:28:08 +0800 Subject: [PATCH] 修改bug --- ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java | 20 ++++++++++++++------ 1 files changed, 14 insertions(+), 6 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 10f849d..dcc55cb 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 @@ -650,6 +650,9 @@ //执行5分钟的定时任务检测 ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1); scheduler.scheduleAtFixedRate(()->{ + //获取安全校验 + + List<PlatformStartChargingReply> data = platformStartChargingReplyClient.getPlatformStartChargingReply(code).getData(); System.err.println("-------------------开始检查调起充电结果-------------------"); System.err.println(data.toString()); @@ -659,10 +662,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 +672,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 +685,7 @@ order.setStatus(-1); order.setEndMode(0); }else{ + //启动成功 preChargeCheck1.setStartupSuccess(2); order.setStatus(3); order.setStartTime(LocalDateTime.now()); @@ -691,8 +694,10 @@ redisService.setCacheObject(key, preChargeCheck1); //提前结束定时任务 scheduler.shutdown(); + }else{ + log.error("未上传开启充电结果........"); } - }, 5000, 300, TimeUnit.MILLISECONDS); + }, 5, 1, TimeUnit.SECONDS); return AjaxResult.success(); } @@ -946,6 +951,9 @@ throw new RuntimeException(failure_cause); } + // 将枪状态重置为空闲 + chargingGun.setStatus(2); + chargingGunClient.updateChargingGunById(chargingGun); //计算费用,处理退款 endCharge(chargingOrder); break; -- Gitblit v1.7.1