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 | 36 ++++++++++++++++++++++++++++++------ 1 files changed, 30 insertions(+), 6 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 c02d01d..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()); @@ -157,6 +180,7 @@ serverCarModelWarpper.setContentExclusive(contentExclusive); serverCarModelWarpper.setContentPrice(contentPrice); + serverCarModelWarpper.setWaitPrice(jsonObject); serverCarModelWarpper.setAmount(this.calculationPrice(contentExclusive, distance, duration, wait, waitMoney)); serverCarModelWarpper.setBuyNowAmount(this.calculationPrice(contentPrice, distance, duration, wait, waitMoney)); @@ -296,7 +320,7 @@ serverCarModelWarpper.setContentNotTwo(new JSONObject()); serverCarModelWarpper.setContentPutThree(new JSONObject()); serverCarModelWarpper.setContentNotThree(new JSONObject()); - serverCarModelWarpper.setContentExclusive(new JSONObject()); + serverCarModelWarpper.setContentExclusive(jsonObject); serverCarModelWarpper.setContentPrice(new JSONObject()); return serverCarModelWarpper; -- Gitblit v1.7.1