From c825a6f7e52ce1d61b21c352861c1da082a9fcb6 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期二, 13 十月 2026 17:50:24 +0800
Subject: [PATCH] 修改小程序bug

---
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java |   26 +++++++++++++++++++++++++-
 1 files changed, 25 insertions(+), 1 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 9e39242..8d08113 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
@@ -56,6 +56,7 @@
 import com.ruoyi.order.mapper.TChargingOrderMapper;
 import com.ruoyi.order.mapper.TChargingOrderShareRecordMapper;
 import com.ruoyi.order.mapper.TSettlementConfirmMapper;
+import com.ruoyi.order.mapper.TVinChargingOrderMapper;
 import com.ruoyi.order.service.TChargingOrderAccountingStrategyService;
 import com.ruoyi.order.service.TChargingOrderRefundService;
 import com.ruoyi.order.service.TChargingOrderService;
@@ -251,6 +252,9 @@
 
     @Resource
     private UploadRealTimeMonitoringDataService uploadRealTimeMonitoringDataService;
+
+    @Resource
+    private TVinChargingOrderMapper vinChargingOrderMapper;
 
     @Resource
     private TCECClient tcecClient;
@@ -2767,7 +2771,19 @@
                 .orderByDesc(TChargingOrder::getCreateTime)
                 .last(" limit 0, 1"));
         if (null == one || !one.getAppUserId().equals(userId)) {
-            return null;
+            // VIN 码充电订单兜底:VD 订单存于 t_vin_charging_order,且后付模式无支付动作,
+            // 不按 rechargePaymentStatus 过滤;TVinChargingOrder 继承 TChargingOrder,后续组装原样复用
+            TVinChargingOrder vinOrder = vinChargingOrderMapper.selectOne(new LambdaQueryWrapper<TVinChargingOrder>()
+                    .eq(TVinChargingOrder::getAppUserId, userId)
+                    .eq(TVinChargingOrder::getChargingGunId, id)
+                    .in(TVinChargingOrder::getStatus, Arrays.asList(2, 3, 4))
+                    .eq(TVinChargingOrder::getDelFlag, 0)
+                    .orderByDesc(TVinChargingOrder::getCreateTime)
+                    .last(" limit 0, 1"));
+            if (null == vinOrder) {
+                return null;
+            }
+            one = vinOrder;
         }
         ChargingDetails chargingDetails = new ChargingDetails();
         chargingDetails.setId(one.getId().toString());
@@ -8058,6 +8074,14 @@
     public EndOfChargePageInfo getEndOfChargePageInfo(String id) {
         EndOfChargePageInfo info = new EndOfChargePageInfo();
         TChargingOrder chargingOrder = this.getById(id);
+        if (chargingOrder == null) {
+            // VIN 码充电订单兜底:VD 订单存于 t_vin_charging_order(继承 TChargingOrder,字段兼容;
+            // 结算已写 paymentAmount/startTime/endTime,后续组装原样复用)
+            chargingOrder = vinChargingOrderMapper.selectById(id);
+        }
+        if (chargingOrder == null) {
+            throw new RuntimeException("充电订单不存在");
+        }
         Long userId = tokenService.getLoginUserApplet().getUserId();
         if (!chargingOrder.getAppUserId().equals(userId)) {
             throw new RuntimeException("权限不足");

--
Gitblit v1.7.1