From e4f50565f585ac3bb7355fe7b9da794bb855113f Mon Sep 17 00:00:00 2001
From: 曾富康 <1067864236@qq.com>
Date: 星期一, 22 六月 2026 16:28:35 +0800
Subject: [PATCH] 新增需求

---
 UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ServerCarModelServiceImpl.java |   40 ++++++++++++++++++++++++++++++++++++++++
 1 files changed, 40 insertions(+), 0 deletions(-)

diff --git a/UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ServerCarModelServiceImpl.java b/UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ServerCarModelServiceImpl.java
index a42183a..aa07045 100644
--- a/UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ServerCarModelServiceImpl.java
+++ b/UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ServerCarModelServiceImpl.java
@@ -118,6 +118,46 @@
     public List<Map<String, Object>> queryServerCarModels(Integer type) {
         return serverCarModelMapper.queryServerCarModel(type);
     }
+
+    /**
+     * 快捷叫车无终点,只返回可选车辆信息,不计算预估价格。
+     *
+     * @param startLonLat 起点经纬度
+     * @return 车辆信息
+     * @throws Exception
+     */
+    @Override
+    public ResultUtil<List<ServerCarModelWarpper>> queryQuickCallServerCarModel(String startLonLat) throws Exception {
+        Map<String, String> geocode = gdMapGeocodingUtil.geocode(startLonLat.split(",")[0], startLonLat.split(",")[1]);
+        Company query = companyCityService.query(geocode.get("districtCode"));
+        if (null == query) {
+            return ResultUtil.error("起点暂无企业提供服务", new ArrayList<>());
+        }
+        OpenCity openCity = openCityService.openCity1(geocode.get("districtCode"));
+        if (null == openCity) {
+            return ResultUtil.error("起点暂未开通", new ArrayList<>());
+        }
+        List<BaseWarpper> baseWarppers = openCityBusinessService.queryBusinessById(openCity.getId());
+        List<ServerCarModelWarpper> data = new ArrayList<>();
+        Optional<BaseWarpper> privateCarBusiness = baseWarppers.stream().filter(s -> s.getId() == 1).findFirst();
+        if (privateCarBusiness.isPresent() && !Integer.valueOf(2).equals(query.getIsSpe())) {
+            data.addAll(this.getPrice(query.getId(), 0, 0, 0, 1, geocode));
+        }
+        Optional<BaseWarpper> taxiBusiness = baseWarppers.stream().filter(s -> s.getId() == 2).findFirst();
+        if (taxiBusiness.isPresent() && !Integer.valueOf(2).equals(query.getIsTaxi())) {
+            ServerCarModelWarpper taxiWarpper = this.getTextPrice(query.getId(), 0, 0, 0, 2, geocode);
+            if (taxiWarpper != null) {
+                data.add(taxiWarpper);
+            }
+        }
+        // 快捷叫车不能参与拼车合单,前端不展示拼车选项。
+        for (ServerCarModelWarpper warpper : data) {
+            warpper.setMileage(0D);
+            warpper.setDuration(0D);
+            warpper.setPc_check(0);
+        }
+        return ResultUtil.success(data);
+    }
     
     
     /**

--
Gitblit v1.7.1