From 2ba432c43dad7439b19fbfca12757d5530897db3 Mon Sep 17 00:00:00 2001
From: longz <longzhaoz@qq.com>
Date: 星期三, 22 四月 2026 15:55:10 +0800
Subject: [PATCH] 根据起始站点和终点站点获取第一条线路目的地列表

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

diff --git a/UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/LineServiceImpl.java b/UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/LineServiceImpl.java
index a557929..c366b56 100644
--- a/UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/LineServiceImpl.java
+++ b/UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/LineServiceImpl.java
@@ -8,6 +8,7 @@
 
 import javax.annotation.Resource;
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -70,4 +71,44 @@
     public List<Map<String, Object>> scanCodeQueryLines(Integer driverId) throws Exception {
         return lineMapper.scanCodeQueryLines(driverId);
     }
+
+    /**
+     * 根据司机id查询当前时间之后发车的城际线路
+     */
+    @Override
+    public List<Map<String, Object>> queryFutureLinesByDriver(Integer driverId) throws Exception {
+        if (driverId == null) {
+            return new ArrayList<>();
+        }
+        return lineMapper.queryFutureLinesByDriver(driverId);
+    }
+
+    /**
+     * 根据起始站点和终点站点查询第一条线路的目的地列表
+     */
+    @Override
+    public List<Map<String, Object>> queryFirstLineDestinations(Integer startId, Integer endId) throws Exception {
+        List<Map<String, Object>> lines = queryLines(startId, endId, null);
+        if (lines == null || lines.size() <= 0) {
+            return new ArrayList<>();
+        }
+        Map<String, Object> firstLine = lines.get(0);
+        if (firstLine == null || firstLine.get("id") == null) {
+            return new ArrayList<>();
+        }
+        Integer lineId = Integer.valueOf(firstLine.get("id").toString());
+        List<Map<String, Object>> destinations = lineMapper.queryLineDestinations(lineId);
+        if (destinations == null || destinations.size() <= 0) {
+            return new ArrayList<>();
+        }
+        for (Map<String, Object> destination : destinations) {
+            Map<String, Object> fenceInfo = new HashMap<>();
+            fenceInfo.put("fenceType", destination.get("fenceType"));
+            fenceInfo.put("coordinate", destination.get("coordinate"));
+            fenceInfo.put("defaultPointLon", destination.get("defaultPointLon"));
+            fenceInfo.put("defaultPointLat", destination.get("defaultPointLat"));
+            destination.put("fenceInfo", fenceInfo);
+        }
+        return destinations;
+    }
 }

--
Gitblit v1.7.1