ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java
@@ -33,6 +33,7 @@ import com.ruoyi.common.security.service.TokenService; import com.ruoyi.common.core.web.domain.AjaxResult; import com.ruoyi.common.core.web.page.PageInfo; import com.ruoyi.integration.api.model.UploadRealTimeMonitoringData; import com.ruoyi.order.api.dto.ChargingStatisticeDTO; import com.ruoyi.order.api.model.*; import com.ruoyi.order.api.query.ChargingOrderQuery; @@ -827,6 +828,10 @@ @ResponseBody @PostMapping(value = "/refund") public R refund(@RequestParam(value = "code") String code){ List<UploadRealTimeMonitoringData> dataByOrderCode = uploadRealTimeMonitoringDataService.getDataByOrderCode(code); if(!dataByOrderCode.isEmpty()){ return R.fail("订单有充电数据,无法全额退款"); } chargingOrderService.refund(code); return R.ok(); } ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java
@@ -1057,7 +1057,7 @@ log.info(code + ":-------------------开始检查调起充电结果-------------------" + data.toString()); Site site = siteClient.getSiteByIds(Arrays.asList(chargingOrder.getSiteId())).getData().get(0); if (!data.isEmpty()) { PlatformStartChargingReply platformStartChargingReply = data.get(1); PlatformStartChargingReply platformStartChargingReply = data.get(0); Integer startup_result = platformStartChargingReply.getStartup_result(); Integer failure_cause = platformStartChargingReply.getFailure_cause(); Integer counter = counter_map.get(code); @@ -1082,8 +1082,11 @@ chargingOrder.setStatus(2); chargingOrder.setEndMode(0); this.updateById(chargingOrder); List<UploadRealTimeMonitoringData> dataByOrderCode = uploadRealTimeMonitoringDataService.getDataByOrderCode(code); if(dataByOrderCode.isEmpty()){ //启动失败后取消订单,退款操作 refund(code); } } else { //启动成功 preChargeCheck1.setStartupSuccess(2); @@ -1167,8 +1170,11 @@ order.setStatus(2); order.setEndMode(0); this.updateById(order); List<UploadRealTimeMonitoringData> dataByOrderCode = uploadRealTimeMonitoringDataService.getDataByOrderCode(code); if(dataByOrderCode.isEmpty()){ //启动失败后取消订单,退款操作 refund(code); } redisService.setCacheObject(key, preChargeCheck1, 24L, TimeUnit.HOURS); //推送三方平台订单状态 if (2 == chargingOrder.getOrderSource() && 1 == site.getIsOpenSynchronization()) { @@ -1236,8 +1242,13 @@ order.setStatus(2); order.setEndMode(0); this.updateById(order); List<UploadRealTimeMonitoringData> dataByOrderCode = uploadRealTimeMonitoringDataService.getDataByOrderCode(code); if(dataByOrderCode.isEmpty()){ //启动失败后取消订单,退款操作 refund(code); } } else { //启动成功 preChargeCheck1.setStartupSuccess(2); ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/util/task/TaskUtil.java
@@ -319,6 +319,15 @@ order.setStatus(-1); chargingOrderService.updateById(order); } }else{ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); LocalDateTime dateTime = LocalDateTime.parse(sdf.format(dataByOrderCode.get(0).getCreate_time()), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss").withZone(ZoneId.systemDefault())); if(dateTime.plusMinutes(30).isBefore(LocalDateTime.now())){ order.setStartTime(LocalDateTime.parse(sdf.format(dataByOrderCode.get(dataByOrderCode.size() - 1).getCreate_time()), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss").withZone(ZoneId.systemDefault()))); order.setEndTime(dateTime); order.setStatus(4); chargingOrderService.updateById(order); } } }