From 76bfef072c45777a993d889f8fdeacbd57ca9b70 Mon Sep 17 00:00:00 2001
From: longz <longzhaoz@qq.com>
Date: 星期五, 22 五月 2026 18:51:41 +0800
Subject: [PATCH] BUG fix

---
 DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/LineShiftDriverServiceImpl.java |   32 ++++++++++++++++++++++++++++++++
 1 files changed, 32 insertions(+), 0 deletions(-)

diff --git a/DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/LineShiftDriverServiceImpl.java b/DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/LineShiftDriverServiceImpl.java
index aea27f5..95b6cb4 100644
--- a/DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/LineShiftDriverServiceImpl.java
+++ b/DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/LineShiftDriverServiceImpl.java
@@ -804,4 +804,36 @@
         }
         return ResultUtil.success(result);
     }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public Integer autoCancelExpiredNoOrderShifts() throws Exception {
+        List<Integer> shiftIds = lineShiftDriverMapper.queryExpiredNoOrderShiftIds();
+        if (shiftIds == null || shiftIds.isEmpty()) {
+            return 0;
+        }
+        int cancelCount = 0;
+        for (Integer shiftId : shiftIds) {
+            if (shiftId == null) {
+                continue;
+            }
+            LineShiftDriver lineShiftDriver = lineShiftDriverMapper.selectById(shiftId);
+            if (lineShiftDriver == null) {
+                continue;
+            }
+            if (lineShiftDriver.getLineShiftId() != null
+                    && lineShiftDriver.getLineShiftId() == -1
+                    && lineShiftDriver.getCustomerId() != null) {
+                DriverSelfTrip trip = driverSelfTripMapper.selectById(lineShiftDriver.getCustomerId());
+                if (trip != null && trip.getState() != null && trip.getState() == 1) {
+                    trip.setState(2);
+                    trip.setUpdateTime(new Date());
+                    driverSelfTripMapper.updateById(trip);
+                }
+            }
+            lineShiftDriverMapper.deleteById(shiftId);
+            cancelCount++;
+        }
+        return cancelCount;
+    }
 }

--
Gitblit v1.7.1