From 7e0384601e24ff67a8f5ea9bfdf692a64a1064d3 Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期二, 19 八月 2025 20:47:32 +0800
Subject: [PATCH] 是否包车

---
 UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ServerCarModelServiceImpl.java |   33 ++++++++++++++++++++++++++++-----
 1 files changed, 28 insertions(+), 5 deletions(-)

diff --git a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ServerCarModelServiceImpl.java b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ServerCarModelServiceImpl.java
index 7987767..04a97d7 100644
--- a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ServerCarModelServiceImpl.java
+++ b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ServerCarModelServiceImpl.java
@@ -6,12 +6,14 @@
 import com.stylefeng.guns.modular.system.dao.ServerCarModelMapper;
 import com.stylefeng.guns.modular.system.dao.SystemPriceMapper;
 import com.stylefeng.guns.modular.system.model.Company;
+import com.stylefeng.guns.modular.system.model.OpenCity;
 import com.stylefeng.guns.modular.system.model.ServerCarModel;
 import com.stylefeng.guns.modular.system.model.SystemPriceCity;
 import com.stylefeng.guns.modular.system.service.*;
 import com.stylefeng.guns.modular.system.util.GDMapElectricFenceUtil;
 import com.stylefeng.guns.modular.system.util.GDMapGeocodingUtil;
 import com.stylefeng.guns.modular.system.util.ResultUtil;
+import com.stylefeng.guns.modular.system.warpper.BaseWarpper;
 import com.stylefeng.guns.modular.system.warpper.ServerCarModelWarpper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -69,7 +71,6 @@
             return ResultUtil.success(new ArrayList<>());
         }
     
-        // TODO: 2023/11/4 无法修改
         Map<String, String> distance = gdMapElectricFenceUtil.getDistance(startLonLat, endLonLat, 1);
         if (null == distance) {
             return ResultUtil.error("获取预估距离出错", new ArrayList<>());
@@ -78,10 +79,28 @@
         double distance1_ = Double.valueOf(distance1).doubleValue();
         String duration = distance.get("duration");//时间(秒)
         long duration_ = Long.valueOf(duration).longValue();
-        List<ServerCarModelWarpper> price = this.getPrice(query.getId(), distance1_, duration_, 0, 1, geocode);
-        //添加出租车车型和价格
-        ServerCarModelWarpper serverCarModelWarpper = this.getTextPrice(query.getId(), distance1_, duration_, 0, 2, geocode);
-        price.add(serverCarModelWarpper);
+        OpenCity openCity = openCityService.openCity1(geocode.get("districtCode"));
+        if(null == openCity){
+            return ResultUtil.error("起点暂未开通");
+        }
+    
+        //专车车型
+        List<ServerCarModelWarpper> price = new ArrayList<>();
+        List<BaseWarpper> baseWarppers = openCityBusinessService.queryBusinessById(openCity.getId());
+        Optional<BaseWarpper> first = baseWarppers.stream().filter(s->s.getId() == 1).findFirst();
+        if(first.isPresent()){
+            price = this.getPrice(query.getId(), distance1_, duration_, 0, 1, geocode);
+        }
+        
+        //出租车车型
+        ServerCarModelWarpper serverCarModelWarpper = null;
+        first = baseWarppers.stream().filter(s->s.getId() == 2).findFirst();
+        if(first.isPresent()){
+            serverCarModelWarpper = this.getTextPrice(query.getId(), distance1_, duration_, 0, 2, geocode);
+            if(serverCarModelWarpper!=null){
+                price.add(serverCarModelWarpper);
+            }
+        }
         return ResultUtil.success(price);
     }
     
@@ -110,15 +129,19 @@
      * @throws Exception
      */
     public List<ServerCarModelWarpper> getPrice(Integer companyId, double distance, long duration, long wait, Integer type, Map<String, String> geocode) throws Exception {
+        System.err.println("预估里程:" + distance);
+        System.err.println("预估时间:" + duration);
         String provinceCode = geocode.get("provinceCode");
         String cityCode = geocode.get("cityCode");
         String districtCode = geocode.get("districtCode");
         //获取匹配的城市价格配置
         SystemPriceCity systemPriceCity = systemPriceCityService.queryOne(provinceCode, cityCode, districtCode);
+        System.err.println("获取匹配的城市价格配置:" + systemPriceCity);
         if (null == systemPriceCity) {
             return new ArrayList<>();
         }
         List<Map<String, Object>> list = serverCarModelMapper.queryServerCarModel(type);
+        System.err.println("获取匹配的城市价格配置111:" + list);
         List<ServerCarModelWarpper> data = new ArrayList<>();
         for (Map<String, Object> map : list) {
             Map<String, Object> query1 = systemPriceMapper.query(companyId, type, Integer.valueOf(map.get("id").toString()), systemPriceCity.getId());

--
Gitblit v1.7.1