From b701b92c8af86026b2536c65ec9161037e88a8d9 Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期三, 12 三月 2025 18:26:41 +0800 Subject: [PATCH] 修改bug --- UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ServerCarModelServiceImpl.java | 29 +++++++++++++++++++++++------ 1 files changed, 23 insertions(+), 6 deletions(-) diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ServerCarModelServiceImpl.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ServerCarModelServiceImpl.java index 7404f7e..c1fb2af 100644 --- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ServerCarModelServiceImpl.java +++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ServerCarModelServiceImpl.java @@ -16,6 +16,7 @@ import com.stylefeng.guns.modular.system.util.GoogleMap.DistancematrixVo; import com.stylefeng.guns.modular.system.util.GoogleMap.GoogleMapUtil; import com.stylefeng.guns.modular.system.util.GoogleMap.ReverseGeocodeVo; +import com.stylefeng.guns.modular.system.util.RedisUtil; import com.stylefeng.guns.modular.system.util.ResultUtil; import com.stylefeng.guns.modular.system.warpper.ServerCarModelWarpper; import org.springframework.beans.factory.annotation.Autowired; @@ -46,6 +47,9 @@ @Autowired private IUserInfoService userInfoService; + + @Resource + private RedisUtil redisUtil; @@ -61,9 +65,10 @@ * @throws Exception */ @Override - public ResultUtil<List<ServerCarModelWarpper>> queryServerCarModel(String startLonLat, String endLonLat, Integer type, Integer language) throws Exception { + public ResultUtil<List<ServerCarModelWarpper>> queryServerCarModel(Integer uid, String startLonLat, String endLonLat, Integer type, Integer language) throws Exception { + String tripId = redisUtil.getValue("trip" + uid); //查找与起点匹配的企业(经营范围) - ReverseGeocodeVo reverseGeocode = GoogleMapUtil.getReverseGeocode(Double.valueOf(startLonLat.split(",")[1]), Double.valueOf(startLonLat.split(",")[0])); + ReverseGeocodeVo reverseGeocode = GoogleMapUtil.getReverseGeocode(Double.valueOf(startLonLat.split(",")[1]), Double.valueOf(startLonLat.split(",")[0]), tripId); if(null == language){ language = 2; } @@ -83,7 +88,7 @@ Double slat = Double.valueOf(startLonLat.split(",")[1]); Double elnt = Double.valueOf(endLonLat.split(",")[0]); Double elat = Double.valueOf(endLonLat.split(",")[1]); - DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(slat, slnt, elat, elnt); + DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(slat, slnt, elat, elnt, tripId); if(null == distancematrix){ return ResultUtil.error(language == 1 ? "获取预估距离出错" : language == 2 ? "Obtaining-estimated-distance error" : "Erreur d’obtention de la distance estimée", new ArrayList<>()); }else if(distancematrix.getDistance() == 0){ @@ -94,7 +99,7 @@ long duration = distancematrix.getDuration();//时间(秒) long duration_ = Long.valueOf(duration).longValue(); - List<ServerCarModelWarpper> price = this.getPrice(query.getId(), distance1_, duration_, 0, type); + List<ServerCarModelWarpper> price = this.getPrice(query.getId(), distance1_, duration_, 0, type, language); if(price.size() == 0){ return ResultUtil.error(language == 1 ? "未获取到可服务的车型" : language == 2 ? "Not obtaining available vehicle-type" : "Ne pas obtenir le type de véhicule disponible", new ArrayList<>()); } @@ -123,11 +128,20 @@ * @return * @throws Exception */ - public List<ServerCarModelWarpper> getPrice(Integer companyId, double distance, long duration, long wait, Integer type) throws Exception { + public List<ServerCarModelWarpper> getPrice(Integer companyId, double distance, long duration, long wait, Integer type, Integer language) throws Exception { List<Map<String, Object>> list = serverCarModelMapper.queryServerCarModel(type); 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())); + if(1 == language){ + map.put("name", map.get("chineseName")); + } + if(2 == language){ + map.put("name", map.get("englishName")); + } + if(3 == language){ + map.put("name", map.get("frenchName")); + } + Map<String, Object> query1 = systemPriceMapper.query(companyId, type, Integer.valueOf(map.get("id").toString()), language); if(null == query1){//排除没有设置价格的车型 continue; } @@ -135,6 +149,7 @@ double amount = 0; if(type == 1 || type == 4){//专车 JSONObject jsonObject = JSON.parseObject(query1.get("content").toString()); + String fareTypeNote = query1.get("fareTypeNote").toString(); Double num1 = jsonObject.getDouble("num1");//起步价(元) Double num2 = jsonObject.getDouble("num2");//起步公里(公里) Double num3 = jsonObject.getDouble("num3");//起步时间(分钟) @@ -244,6 +259,7 @@ serverCarModelWarpper.setAmount(new BigDecimal(amount).setScale(BigDecimal.ROUND_HALF_EVEN, 2).doubleValue()); serverCarModelWarpper.setMileage(d); serverCarModelWarpper.setDuration(t); + serverCarModelWarpper.setFareTypeNote(fareTypeNote); data.add(serverCarModelWarpper); continue; } @@ -263,6 +279,7 @@ serverCarModelWarpper.setAmount(new BigDecimal(amount).setScale(BigDecimal.ROUND_HALF_EVEN, 2).doubleValue()); serverCarModelWarpper.setMileage(d); serverCarModelWarpper.setDuration(t); + serverCarModelWarpper.setFareTypeNote(fareTypeNote); data.add(serverCarModelWarpper); continue; } -- Gitblit v1.7.1