puzhibing
2026-07-08 0911dabe2e8dff4d79c1243d2d613600b3eeeb4d
修改bug
3个文件已修改
39 ■■■■■ 已修改文件
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/util/task/TaskUtil.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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);
                //启动失败后取消订单,退款操作
                refund(code);
                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);
                //启动失败后取消订单,退款操作
                refund(code);
                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);
            //启动失败后取消订单,退款操作
            refund(code);
            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);
                    }
                }
            }