From 1f41490f50b3861f68e54cd8aebee37549bab3eb Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期六, 08 二月 2025 17:23:41 +0800 Subject: [PATCH] 补充 --- DriverOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushUtil.java | 7 + ManagementOKTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tCompany/tCompany_detail.html | 5 + ManagementOKTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tCompany/tCompany_add.html | 7 + ManagementOKTravel/guns-admin/src/main/webapp/static/home.js | 64 +++++------- UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushUtil.java | 7 + ManagementOKTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tCompany/tCompany_edit.html | 5 + ManagementOKTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tCompany/tCompany_updateFranchisee.html | 5 + UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java | 1 UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GDMapElectricFenceUtil.java | 47 +++++++- UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PayMoneyUtil.java | 2 ManagementOKTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tCompany/tCompany_addFranchisee.html | 5 + DriverOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OrderServiceImpl.java | 16 ++- UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java | 38 +++++-- DriverOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GDMapElectricFenceUtil.java | 13 +- ManagementOKTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tCompany/tCompany_detailFranchisee.html | 5 + UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java | 15 +- UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OrderServiceImpl.java | 2 17 files changed, 160 insertions(+), 84 deletions(-) diff --git a/DriverOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OrderServiceImpl.java b/DriverOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OrderServiceImpl.java index 7ebfd2c..46e4ecb 100644 --- a/DriverOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OrderServiceImpl.java +++ b/DriverOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OrderServiceImpl.java @@ -308,15 +308,21 @@ } } break; + + case 2://出租 map = orderTaxiService.queryPushOrder(orderId); - String order1 = String.valueOf(map.get("startLon")) + "," + String.valueOf(map.get("startLat")); - String distance1 = gdMapElectricFenceUtil.getDistance(lon + "," + lat, order1, 1).get("distance"); + System.err.println("订单数据"); + System.err.println(map); + String order1 = String.valueOf(map.get("startLat")) + "," + String.valueOf(map.get("startLon")); + System.err.println("订单经纬度"); + System.err.println(order1); + String distance1 = gdMapElectricFenceUtil.getDistance(lat + "," + lon, order1, 1).get("distance"); map.put("startDistance", ToolUtil.isNotEmpty(distance1) ? Double.valueOf(distance1) / 1000 : 0); //总距离 - String end1 = String.valueOf(map.get("endLon")) + "," + String.valueOf(map.get("endLat")); + String end1 = String.valueOf(map.get("endLat")) + "," + String.valueOf(map.get("endLon")); if(end1.equals(",")){ map.put("totalDistance", 0); }else{ @@ -945,14 +951,14 @@ break; case 2: OrderTaxi orderTaxi = orderTaxiService.selectById(orderId); - Map<String, String> distance1 = gdMapElectricFenceUtil.getDistance(lon + "," + lat, orderTaxi.getStartLon() + "," + orderTaxi.getStartLat(), 1); + Map<String, String> distance1 = gdMapElectricFenceUtil.getDistance(lat + "," + lon, orderTaxi.getStartLat() + "," + orderTaxi.getStartLon(), 1); Double d1 = null != distance1 ? (Double.valueOf(String.valueOf(distance1.get("distance"))) / 1000) : 0; if(ToolUtil.isEmpty(orderTaxi.getEndLon())){ /*Map<String, String> distance1_ = gdMapElectricFenceUtil.getDistance(orderTaxi.getStartLon() + "," + orderTaxi.getStartLat(), orderTaxi.getEndLon() + "," + orderTaxi.getEndLat(), 1); Double d1_ = null != distance1_ ? (Double.valueOf(String.valueOf(distance1_.get("distance"))) / 1000) : 0;*/ content = (orderTaxi.getOrderType() == 1 ? "实时单" : "预约单") + ",距您约" + d1 + "公里。"; }else{ - Map<String, String> distance1_ = gdMapElectricFenceUtil.getDistance(orderTaxi.getStartLon() + "," + orderTaxi.getStartLat(), orderTaxi.getEndLon() + "," + orderTaxi.getEndLat(), 1); + Map<String, String> distance1_ = gdMapElectricFenceUtil.getDistance(orderTaxi.getStartLat() + "," + orderTaxi.getStartLon(), orderTaxi.getEndLat() + "," + orderTaxi.getEndLon(), 1); Double d1_ = null != distance1_ ? (Double.valueOf(String.valueOf(distance1_.get("distance"))) / 1000) : 0; content = (orderTaxi.getOrderType() == 1 ? "实时单" : "预约单") + ",距您约" + d1 + "公里,从" + orderTaxi.getStartAddress() + "到" + orderTaxi.getEndAddress() + ",全程" + d1_ + "公里。"; } diff --git a/DriverOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GDMapElectricFenceUtil.java b/DriverOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GDMapElectricFenceUtil.java index 78bd875..62b38a9 100644 --- a/DriverOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GDMapElectricFenceUtil.java +++ b/DriverOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GDMapElectricFenceUtil.java @@ -351,20 +351,21 @@ * @return */ public Map<String, String> getDistance(String origins, String destination, Integer type){ - String url = "https://restapi.amap.com/v3/distance?key=" + key + "&origins=" + origins + "&destination=" + destination + - "&type=" + type; + String url = "https://api.map.baidu.com/directionlite/v1/driving?origin="+origins+"&destination="+destination+"&ak="+key; String forObject = restTemplate.getForObject(url, String.class); JSONObject jsonObject = JSON.parseObject(forObject); + System.err.println("获取距离"+jsonObject); String status = jsonObject.getString("status"); - // gdInterfaceService.saveData("https://restapi.amap.com/v3/distance", "查询两点间的距离"); - - if(status.equals("1")){ - JSONArray results = jsonObject.getJSONArray("results"); + if(status.equals("0")){ + JSONObject result = jsonObject.getJSONObject("result"); + JSONArray results = result.getJSONArray("routes"); + System.err.println("路线数组"+results); JSONObject jsonObject1 = results.getJSONObject(0); Map<String, String> map = new HashMap<>(); map.put("distance", jsonObject1.getString("distance"));//距离(米) map.put("duration", jsonObject1.getString("duration"));//预计时间(秒) + System.err.println("返回map"); return map; }else{ System.err.println(forObject); diff --git a/DriverOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushUtil.java b/DriverOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushUtil.java index 813f4fd..c861635 100644 --- a/DriverOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushUtil.java +++ b/DriverOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushUtil.java @@ -258,12 +258,12 @@ this.removeTask(orderId, orderType); }else{ driverId = orderPrivateCar.getDriverId(); - startLonLat = orderPrivateCar.getStartLon() + "," + orderPrivateCar.getStartLat(); + startLonLat = orderPrivateCar.getStartLat() + "," + orderPrivateCar.getStartLon(); state = orderPrivateCar.getState(); oldState = orderPrivateCar.getOldState(); startServiceTime = null != orderPrivateCar.getStartServiceTime() ? orderPrivateCar.getStartServiceTime().getTime() : null; servedMileage = orderPrivateCar.getMileage(); - endLonLat = orderPrivateCar.getEndLon() + "," + orderPrivateCar.getEndLat(); + endLonLat = orderPrivateCar.getEndLat() + "," + orderPrivateCar.getEndLon(); } break; case 2: @@ -326,6 +326,9 @@ System.err.println("司机没有上传位置信息"); return; } + // todo 注意 因更换地图为百度 两者lon和lat位置互换了 + String[] split = value.split(","); + value = split[1] + "," + split[0]; Map<String, String> distance = gdMapElectricFenceUtil.getDistance(value, startLonLat, 1); String d = "0"; String t = "0"; diff --git a/ManagementOKTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tCompany/tCompany_add.html b/ManagementOKTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tCompany/tCompany_add.html index 0619f33..c9fb4be 100644 --- a/ManagementOKTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tCompany/tCompany_add.html +++ b/ManagementOKTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tCompany/tCompany_add.html @@ -1,4 +1,9 @@ @layout("/common/_container.html"){ +<style> + .newWidth, .single-line{ + max-width:150px !important;display: initial !important; + } +</style> <div class="ibox float-e-margins"> <div class="ibox-content"> <div class="form-horizontal" id="companyInfoForm"> @@ -152,7 +157,7 @@ <label class="col-sm-2 control-label"></label> <div class="col-sm-5"> <div class="col-sm-3"> - <span class="control-label">订单扣除固定费用</span> + <span class="control-label">扣除固定费用</span> </div> <div class="col-sm-3"> <input type="text" class="form-control" id="fixedDeduction" name="fixedDeduction" > diff --git a/ManagementOKTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tCompany/tCompany_addFranchisee.html b/ManagementOKTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tCompany/tCompany_addFranchisee.html index 7b40bdf..7d87237 100644 --- a/ManagementOKTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tCompany/tCompany_addFranchisee.html +++ b/ManagementOKTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tCompany/tCompany_addFranchisee.html @@ -1,4 +1,9 @@ @layout("/common/_container.html"){ +<style> + .newWidth, .single-line{ + max-width:150px !important;display: initial !important; + } +</style> <div class="ibox float-e-margins"> <div class="ibox-content"> <div class="form-horizontal" id="franchiseeInfoForm"> diff --git a/ManagementOKTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tCompany/tCompany_detail.html b/ManagementOKTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tCompany/tCompany_detail.html index 00c6e50..5a71203 100644 --- a/ManagementOKTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tCompany/tCompany_detail.html +++ b/ManagementOKTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tCompany/tCompany_detail.html @@ -1,4 +1,9 @@ @layout("/common/_container.html"){ +<style> + .newWidth, .single-line{ + max-width:150px !important;display: initial !important; + } +</style> <div class="ibox float-e-margins"> <div class="ibox-content"> <div class="form-horizontal" id="companyInfoForm"> diff --git a/ManagementOKTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tCompany/tCompany_detailFranchisee.html b/ManagementOKTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tCompany/tCompany_detailFranchisee.html index 2254f44..dbedfe5 100644 --- a/ManagementOKTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tCompany/tCompany_detailFranchisee.html +++ b/ManagementOKTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tCompany/tCompany_detailFranchisee.html @@ -1,4 +1,9 @@ @layout("/common/_container.html"){ +<style> + .newWidth, .single-line{ + max-width:150px !important;display: initial !important; + } +</style> <div class="ibox float-e-margins"> <div class="ibox-content"> <div class="form-horizontal" id="franchiseeInfoForm"> diff --git a/ManagementOKTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tCompany/tCompany_edit.html b/ManagementOKTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tCompany/tCompany_edit.html index e3f1472..9c5ba0d 100644 --- a/ManagementOKTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tCompany/tCompany_edit.html +++ b/ManagementOKTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tCompany/tCompany_edit.html @@ -1,4 +1,9 @@ @layout("/common/_container.html"){ +<style> + .newWidth, .single-line{ + max-width:150px !important;display: initial !important; + } +</style> <div class="ibox float-e-margins"> <div class="ibox-content"> <div class="form-horizontal" id="companyInfoForm"> diff --git a/ManagementOKTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tCompany/tCompany_updateFranchisee.html b/ManagementOKTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tCompany/tCompany_updateFranchisee.html index 587bbd2..62dc939 100644 --- a/ManagementOKTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tCompany/tCompany_updateFranchisee.html +++ b/ManagementOKTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tCompany/tCompany_updateFranchisee.html @@ -1,4 +1,9 @@ @layout("/common/_container.html"){ +<style> + .newWidth, .single-line{ + max-width:150px !important;display: initial !important; + } +</style> <div class="ibox float-e-margins"> <div class="ibox-content"> <div class="form-horizontal" id="franchiseeInfoForm"> diff --git a/ManagementOKTravel/guns-admin/src/main/webapp/static/home.js b/ManagementOKTravel/guns-admin/src/main/webapp/static/home.js index 094b28b..8c7a00f 100644 --- a/ManagementOKTravel/guns-admin/src/main/webapp/static/home.js +++ b/ManagementOKTravel/guns-admin/src/main/webapp/static/home.js @@ -357,6 +357,7 @@ var data = res.driver; var order = res.order; var d = ''; + var markerArray = []; // 用于存储所有标记对象的数组 for(var i in data){ var driver = data[i].driver; var driverId = driver.id; @@ -364,17 +365,27 @@ if('' != data[i].lon){ var point = new BMapGL.Point(data[i].lon, data[i].lat); // 创建小车图标 - var myIcon = new BMapGL.Icon("/static/car.png", new BMapGL.Size(52, 26)); + var myIcon = new BMapGL.Icon("/static/car.png", new BMapGL.Size(40, 40)); // 创建Marker标注,使用小车图标 var marker = new BMapGL.Marker(point, { icon: myIcon }); - marker.on('click', function(){ - Home.openNetCarInfo(driverId); - }); + // 使用立即执行函数表达式 (IIFE) 捕获当前的 driverId + (function(driverId) { + marker.addEventListener('click', function () { + Home.openNetCarInfo(driverId); + }); + })(driverId); // markers.push(marker) - map.addOverlay(marker); + markerArray.push(marker); // 将标记对象添加到数组中 } + } + // 清除之前的标记 + map.clearOverlays(); + + // 批量添加所有标记到地图 + for (var j = 0; j < markerArray.length; j++) { + map.addOverlay(markerArray[j]); } $('#netcardriver').html(d); @@ -412,44 +423,19 @@ uid: uid }, success: function (res) { - var style = [{ - url: 'https://a.amap.com/jsapi_demos/static/images/mass0.png', - anchor: new AMap.Pixel(6, 6), - size: new AMap.Size(11, 11) - }, { - url: 'https://a.amap.com/jsapi_demos/static/images/mass1.png', - anchor: new AMap.Pixel(4, 4), - size: new AMap.Size(7, 7) - }, { - url: 'https://a.amap.com/jsapi_demos/static/images/mass2.png', - anchor: new AMap.Pixel(3, 3), - size: new AMap.Size(5, 5) - }]; - - var mass = new AMap.MassMarks(citys, { - opacity: 0.8, - zIndex: 111, - cursor: 'pointer', - style: style - }); - - var marker = new AMap.Marker({content: ' ', map: map_}); - - mass.on('mouseover', function (e) { - - marker.setPosition(e.data.lnglat); - marker.setLabel({content: e.data.name}) - }); - + map_.clearOverlays(); + // 创建点标记 + // 在地图上添加点标记 var data = []; + console.log("看看返回参数") + console.log(res) for(var i in res){ - var obj = { - lnglat: [res[i].lon, res[i].lat] + if (res[i].lon!="" && res[i].lat!=""){ + var marker = new BMapGL.Marker(new BMapGL.Point(res[i].lon,res[i].lat )); + map_.addOverlay(marker); } - data.push(obj); + } - mass.setData(data); - mass.setMap(map_); } }); } diff --git a/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java b/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java index f409dcd..f23851f 100644 --- a/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java +++ b/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java @@ -55,6 +55,7 @@ }) public ResultUtil<BaseWarpper> queryIdleDriver(Integer type, Double lon, Double lat){ try { + System.err.println("用户经纬度"+lon+lat); List<Driver> list = driverService.queryIdleDriver(type, lon, lat, 5D, null); BaseWarpper baseWarpper = new BaseWarpper(); baseWarpper.setNumber(list.size()); diff --git a/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java b/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java index 2c86ade..85f6856 100644 --- a/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java +++ b/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java @@ -1281,7 +1281,7 @@ case 1: break; case 2: - orderTaxiService.payOrderTaxiCallback(id, order_id, 2); + orderTaxiService.payOrderTaxiCallback(id, order_id, 1); break; case 3: break; @@ -1414,22 +1414,34 @@ HttpServletRequest request, HttpServletResponse response){ try { String url = "https://api.map.baidu.com/directionlite/v1/driving?origin=" - +startLat+","+startLon+"&destination="+nextLatitude+","+nextLongitude+"&ak=WQhfsluNzEeUHUxoH4jc4JiCQOXw4Mnx&ret_coordtype=bd09ll&coord_type=bd09ll"; + +startLat+","+startLon+"&destination="+nextLatitude+","+nextLongitude+"&ak=WQhfsluNzEeUHUxoH4jc4JiCQOXw4Mnx&ret_coordtype=gcj02"; String get = HttpUtil.get(url); JSONObject jsonObject = JSON.parseObject(get); JSONArray jsonArray = jsonObject.getJSONObject("result").getJSONArray("routes").getJSONObject(0).getJSONArray("steps"); - for (int i = 0; i < jsonArray.size(); i++) { - JSONObject jsonObject1 = jsonArray.getJSONObject(i); - JSONObject start_location = jsonObject1.getJSONObject("start_location"); - double[] doubles = GpsCoordinateUtils.calBD09toGCJ02(start_location.getDouble("lat"), start_location.getDouble("lng")); - start_location.put("lat", doubles[0]); - start_location.put("lng", doubles[1]); - JSONObject end_location = jsonObject1.getJSONObject("end_location"); - double[] doubles1 = GpsCoordinateUtils.calBD09toGCJ02(end_location.getDouble("lat"), end_location.getDouble("lng")); - end_location.put("lat", doubles1[0]); - end_location.put("lng", doubles1[1]); - } +// for (int i = 0; i < jsonArray.size(); i++) { +// JSONObject jsonObject1 = jsonArray.getJSONObject(i); +// JSONObject start_location = jsonObject1.getJSONObject("start_location"); +// double[] doubles = GpsCoordinateUtils.calBD09toGCJ02(start_location.getDouble("lat"), start_location.getDouble("lng")); +// start_location.put("lat", doubles[0]); +// start_location.put("lng", doubles[1]); +// JSONObject end_location = jsonObject1.getJSONObject("end_location"); +// double[] doubles1 = GpsCoordinateUtils.calBD09toGCJ02(end_location.getDouble("lat"), end_location.getDouble("lng")); +// end_location.put("lat", doubles1[0]); +// end_location.put("lng", doubles1[1]); +// } +// for (int i = 0; i < jsonArray.size(); i++) { +// JSONObject jsonObject1 = jsonArray.getJSONObject(i); +// String path = jsonObject1.getString("path"); +// String[] split = path.split(";"); +// StringBuilder temp = new StringBuilder(); +// for (String s : split) { +// String[] split1 = s.split(","); +// double[] doubles = GpsCoordinateUtils.calBD09toGCJ02(Double.valueOf(split1[0]), Double.valueOf(split1[1])); +// temp.append(doubles[0]).append(",").append(doubles[1]).append(";"); +// } +// jsonObject1.put("path", temp.toString()); +// } System.out.println(jsonArray); return ResultUtil.success(jsonArray); }catch (Exception e){ diff --git a/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OrderServiceImpl.java b/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OrderServiceImpl.java index a4f7c6f..9a3f53e 100644 --- a/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OrderServiceImpl.java +++ b/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OrderServiceImpl.java @@ -63,7 +63,7 @@ */ @Override public ResultUtil<BaseWarpper> queryExpectedTime(Double slon, Double slat, Double elon, Double elat) throws Exception { - Map<String, String> distance = gdMapElectricFenceUtil.getDistance(slon + "," + slat, elon + "," + elat, 1); + Map<String, String> distance = gdMapElectricFenceUtil.getDistance(slat + "," + slon, elat+ "," + elon, 1); int duration = Integer.valueOf(distance.get("duration")) / 60; BaseWarpper baseWarpper = new BaseWarpper(); baseWarpper.setMinute(duration); diff --git a/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GDMapElectricFenceUtil.java b/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GDMapElectricFenceUtil.java index dc5e5a3..58322c9 100644 --- a/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GDMapElectricFenceUtil.java +++ b/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GDMapElectricFenceUtil.java @@ -33,7 +33,7 @@ @Autowired private IGDInterfaceService gdInterfaceService; - private String key = "5053ca611c0106e01a665ce7ab84ff26"; + private String key = "WQhfsluNzEeUHUxoH4jc4JiCQOXw4Mnx"; private JSONArray jsonArray = new JSONArray(); @@ -351,20 +351,21 @@ * @return */ public Map<String, String> getDistance(String origins, String destination, Integer type){ - String url = "https://restapi.amap.com/v3/distance?key=" + key + "&origins=" + origins + "&destination=" + destination + - "&type=" + type; + String url = "https://api.map.baidu.com/directionlite/v1/driving?origin="+origins+"&destination="+destination+"&ak="+key; String forObject = restTemplate.getForObject(url, String.class); JSONObject jsonObject = JSON.parseObject(forObject); + System.err.println("获取距离"+jsonObject); String status = jsonObject.getString("status"); - // gdInterfaceService.saveData("https://restapi.amap.com/v3/distance", "查询两点间的距离"); - - if(status.equals("1")){ - JSONArray results = jsonObject.getJSONArray("results"); + if(status.equals("0")){ + JSONObject result = jsonObject.getJSONObject("result"); + JSONArray results = result.getJSONArray("routes"); + System.err.println("路线数组"+results); JSONObject jsonObject1 = results.getJSONObject(0); Map<String, String> map = new HashMap<>(); map.put("distance", jsonObject1.getString("distance"));//距离(米) map.put("duration", jsonObject1.getString("duration"));//预计时间(秒) + System.err.println("返回map"); return map; }else{ System.err.println(forObject); @@ -372,7 +373,37 @@ return null; } - + /** + * 根据经纬度获取行政区域信息 + * + * @param lon + * @param lan + * @return + * @throws Exception + */ + public Map<String, String> geocode(String lon, String lan) throws Exception { + String url = "https://api.map.baidu.com/reverse_geocoding/v3/?ak=" + key + "&output=json&coordtype=bd09ll" + "&location=" + lan + "," + lon; + String forObject = restTemplate.getForObject(url, String.class); + JSONObject jsonObject = JSON.parseObject(forObject); + Map<String, String> map = new HashMap<>(); + if (jsonObject.getString("status").equals("0")) { + JSONObject result = jsonObject.getJSONObject("result"); + JSONObject addressComponent = result.getJSONObject("addressComponent"); + String address = result.getString("formatted_address"); + map.put("address", address); + String code = addressComponent.getString("adcode"); + String province = addressComponent.getString("province"); + String city = addressComponent.getString("city"); + String district = addressComponent.getString("district"); + map.put("province", province); + map.put("provinceCode", code.substring(0, 2) + "0000"); + map.put("city", city); + map.put("cityCode", code.substring(0, 4) + "00"); + map.put("district", district); + map.put("districtCode", code); + } + return map; + } /** * 获取路径规划 * @param origins 起点坐标 diff --git a/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PayMoneyUtil.java b/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PayMoneyUtil.java index 1c69d88..5d768f1 100644 --- a/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PayMoneyUtil.java +++ b/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PayMoneyUtil.java @@ -348,7 +348,7 @@ if("SUCCESS".equals(result_code)){ Map<String, String> map1 = new HashedMap(); map1.put("nonce_str", map.get("nonce_str")); - map1.put("out_trade_no", map.get("out_trade_no").split("_")[1]);//存储的订单code + map1.put("out_trade_no", map.get("out_trade_no"));//存储的订单code map1.put("attach", map.get("attach"));//存储订单id map1.put("total_fee", map.get("total_fee")); map1.put("transaction_id", map.get("transaction_id"));//微信支付订单号 diff --git a/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushUtil.java b/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushUtil.java index 617aecd..259c031 100644 --- a/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushUtil.java +++ b/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushUtil.java @@ -233,12 +233,12 @@ case 2: OrderTaxi orderTaxi = orderTaxiService.selectById(orderId); driverId = orderTaxi.getDriverId(); - startLonLat = orderTaxi.getStartLon() + "," + orderTaxi.getStartLat(); + startLonLat = orderTaxi.getStartLat() + "," + orderTaxi.getStartLon(); state = orderTaxi.getState(); oldState = orderTaxi.getOldState(); startServiceTime = null != orderTaxi.getStartServiceTime() ? orderTaxi.getStartServiceTime().getTime() : null; servedMileage = orderTaxi.getMileage(); - endLonLat = orderTaxi.getEndLon() + "," + orderTaxi.getEndLat(); + endLonLat = orderTaxi.getEndLat() + "," + orderTaxi.getEndLon(); break; case 3: OrderCrossCity orderCrossCity = orderCrossCityService.selectById(orderId); @@ -256,6 +256,9 @@ if(null == value || "".equals(value)){ System.err.println("司机没有上传位置信息"); } + // todo 注意 因更换地图为百度 两者lon和lat位置互换了 + String[] split = value.split(","); + value = split[1] + "," + split[0]; Map<String, String> distance = gdMapElectricFenceUtil.getDistance(value, startLonLat, 1); String d = "0"; String t = "0"; diff --git a/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java b/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java index 0b99ce3..e0dd55c 100644 --- a/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java +++ b/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java @@ -1073,7 +1073,10 @@ value = map.get("lon") + "," + map.get("lat"); } } - Map<String, String> distance = gdMapElectricFenceUtil.getDistance(value, orderTaxi.getStartLon() + "," + orderTaxi.getStartLat(), 1); + // todo 注意 因更换地图为百度 两者lon和lat位置互换了 + String[] split = value.split(","); + value = split[1] + "," + split[0]; + Map<String, String> distance = gdMapElectricFenceUtil.getDistance(value, orderTaxi.getStartLat() + "," + orderTaxi.getStartLon(), 1); String d = "0"; String t = "0"; if(null == distance){ @@ -1110,7 +1113,7 @@ orderServerWarpper.setLaveTime("0"); } if(orderTaxi.getState() == 5 || orderTaxi.getState() == 6){//服务中 - distance = gdMapElectricFenceUtil.getDistance(value, orderTaxi.getEndLon() + "," + orderTaxi.getEndLat(), 1); + distance = gdMapElectricFenceUtil.getDistance(value, orderTaxi.getEndLat() + "," + orderTaxi.getEndLon(), 1); if(null == distance){ System.err.println("查询距离出错了"); }else{ @@ -1272,10 +1275,10 @@ orderTaxi.setPayMoney(query.getAmount()); this.updateById(orderTaxi); - UserInfo userInfo = userInfoService.selectById(orderTaxi.getUserId()); - SysIntegral query1 = sysIntegralMapper.query(orderTaxi.getCompanyId()); - userInfo.setIntegral(userInfo.getIntegral() + (query.getAmount().intValue() * query1.getIntegral()));//积分 - userInfoService.updateById(userInfo); +// UserInfo userInfo = userInfoService.selectById(orderTaxi.getUserId()); +// SysIntegral query1 = sysIntegralMapper.query(orderTaxi.getCompanyId()); +// userInfo.setIntegral(userInfo.getIntegral() + (query.getAmount().intValue() * query1.getIntegral()));//积分 +// userInfoService.updateById(userInfo); //处理优惠券和红包 if(null != orderTaxi.getCouponId()){ -- Gitblit v1.7.1