liujie
2025-08-28 4ef5e1e6b073508964dfb378053d178de63860bb
DriverOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OrderServiceImpl.java
@@ -35,6 +35,8 @@
@Service
public class OrderServiceImpl implements IOrderService {
    @Resource
    private IOrderTaxiService orderTaxiService;
@@ -308,15 +310,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{
@@ -363,12 +371,12 @@
                break;
            case 3://城际
                map = orderCrossCityService.queryPushOrder(orderId);
                String order2 = String.valueOf(map.get("startLon")) + "," + String.valueOf(map.get("startLat"));
                String distance2 = gdMapElectricFenceUtil.getDistance(lon + "," + lat, order2, 1).get("distance");
                String order2 =  String.valueOf(map.get("startLat"))  + "," +String.valueOf(map.get("startLon"));
                String distance2 = gdMapElectricFenceUtil.getDistance(lat + "," + lon, order2, 1).get("distance");
                map.put("startDistance", ToolUtil.isNotEmpty(distance2) ? Double.valueOf(distance2) / 1000 : 0);
                //总距离
                String end2 = String.valueOf(map.get("endLon")) + "," + String.valueOf(map.get("endLat"));
                String end2 =String.valueOf(map.get("endLat"))  + "," + String.valueOf(map.get("endLon")) ;
                distance = gdMapElectricFenceUtil.getDistance(end2, order2, 1).get("distance");
                map.put("totalDistance", ToolUtil.isNotEmpty(distance) ? Double.valueOf(distance) / 1000 : 0);
@@ -392,8 +400,8 @@
                break;
            case 4://同城小件物流
                map = orderLogisticsService.queryPushOrder(orderId);
                String order3 = String.valueOf(map.get("startLon")) + "," + String.valueOf(map.get("startLat"));
                String distance3 = gdMapElectricFenceUtil.getDistance(lon + "," + lat, order3, 1).get("distance");
                String order3 = String.valueOf(map.get("startLat")) + "," + String.valueOf(map.get("startLon"))  ;
                String distance3 = gdMapElectricFenceUtil.getDistance(lat + "," + lon, order3, 1).get("distance");
                map.put("startDistance", ToolUtil.isNotEmpty(distance3) ? Double.valueOf(distance3) / 1000 : 0);
                //总距离
@@ -471,7 +479,7 @@
            case 2://出租
                return orderTaxiService.grabOrder(orderId, uid);
            case 3://城际
                return ResultUtil.success();//不作任何操作,跨城默认选择的司机
                return orderCrossCityService.grabOrder(orderId, uid);
            case 4://同城小件
                return orderLogisticsService.grabOrder(orderId, uid);
            case 5://跨城小件
@@ -499,7 +507,7 @@
            case 2://出租
                return orderTaxiService.grabOrder_(orderId, uid);
            case 3://城际
                break;
                return orderCrossCityService.grabOrder(orderId, uid);
            case 4://同城小件
                return orderLogisticsService.grabOrder_(orderId, uid);
            case 5://跨城小件
@@ -945,14 +953,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_ + "公里。";
                }