From 8f39e870ca9519d8a8190c038d15a030149de98e Mon Sep 17 00:00:00 2001
From: zhibing.pu <393733352@qq.com>
Date: 星期二, 27 八月 2024 09:13:33 +0800
Subject: [PATCH] 修改2.0 bug

---
 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/impl/OrderLogisticsServiceImpl.java  |   52 ++++---
 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java                                   |   35 ++++
 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OpenCityBusinessServiceImpl.java       |    9 +
 UserIGOTravel/guns-admin/pom.xml                                                                                             |    8 +
 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/ServerCarModelController.java                          |   10 +
 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ServerCarModelServiceImpl.java         |   24 ++
 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/controller/OrderLogisticsController.java    |   18 +
 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IOpenCityBusinessService.java               |    2 
 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/AdvertisementController.java                           |   10 +
 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/IOrderLogisticsService.java          |    2 
 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IAdvertisementService.java                  |    2 
 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java                 |    5 
 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/ServerCarModel.java                           |   50 +++++-
 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java                |    4 
 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/CharteredCar/server/impl/OrderCharteredCarServiceImpl.java |    2 
 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java   |   28 ++-
 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/ServerCarModelMapper.xml                |    8 
 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/PhoneController.java                                   |   19 ++
 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IOrderService.java                          |    2 
 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OpenCityServiceImpl.java               |    9 +
 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IDriverService.java                         |    2 
 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OrderServiceImpl.java                  |   10 +
 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IOpenCityService.java                       |    2 
 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OpenCityController.java                                |   10 
 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java               |    4 
 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/GoogleMapUtil.java                   |   16 +
 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ICompanyCityService.java                    |    2 
 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/CompanyCityServiceImpl.java            |    9 +
 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserCouponRecordServiceImpl.java       |   15 ++
 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java       |    8 
 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/PhoneServiceImpl.java                  |   17 +
 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IPhoneService.java                          |    4 
 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/AdvertisementServiceImpl.java          |   10 +
 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IServerCarModelService.java                 |    2 
 34 files changed, 296 insertions(+), 114 deletions(-)

diff --git a/UserIGOTravel/guns-admin/pom.xml b/UserIGOTravel/guns-admin/pom.xml
index 9584c88..cf22f1a 100644
--- a/UserIGOTravel/guns-admin/pom.xml
+++ b/UserIGOTravel/guns-admin/pom.xml
@@ -205,13 +205,19 @@
         <dependency>
             <groupId>com.google.maps</groupId>
             <artifactId>google-maps-services</artifactId>
-            <version>2.0.0</version>
+            <version>2.2.0</version>
         </dependency>
         <dependency>
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-simple</artifactId>
             <version>1.7.25</version>
         </dependency>
+    
+        <dependency>
+            <groupId>com.google.appengine</groupId>
+            <artifactId>appengine-api-1.0-sdk</artifactId>
+            <version>2.0.29</version>
+        </dependency>
 
         <dependency>
             <groupId>org.jsoup</groupId>
diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/CharteredCar/server/impl/OrderCharteredCarServiceImpl.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/CharteredCar/server/impl/OrderCharteredCarServiceImpl.java
index 1f7eebf..d1f08ea 100644
--- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/CharteredCar/server/impl/OrderCharteredCarServiceImpl.java
+++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/CharteredCar/server/impl/OrderCharteredCarServiceImpl.java
@@ -64,7 +64,7 @@
                                         String contactPerson, String contactPhone, String placeLonLat, Integer uid, Integer language) throws Exception {
         OrderCharteredCar orderCharteredCar = new OrderCharteredCar();
         orderCharteredCar.setUserId(uid);
-        Company query = companyCityService.query1(placeLonLat.split(",")[0], placeLonLat.split(",")[1]);
+        Company query = companyCityService.query1(uid, placeLonLat.split(",")[0], placeLonLat.split(",")[1]);
         if(null == query){
             return ResultUtil.error(language == 1 ? "该地点暂无企业服务" : language == 2 ? "No service yet at this area" : "Pas encore de service dans cette zone");
         }
diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/AdvertisementController.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/AdvertisementController.java
index 259f84c..ac8e89e 100644
--- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/AdvertisementController.java
+++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/AdvertisementController.java
@@ -1,6 +1,7 @@
 package com.stylefeng.guns.modular.api;
 
 import com.stylefeng.guns.modular.system.service.IAdvertisementService;
+import com.stylefeng.guns.modular.system.service.IUserInfoService;
 import com.stylefeng.guns.modular.system.util.ResultUtil;
 import com.stylefeng.guns.modular.system.warpper.AdvertisementWarpper;
 import io.swagger.annotations.Api;
@@ -13,6 +14,7 @@
 import org.springframework.web.bind.annotation.ResponseBody;
 import org.springframework.web.bind.annotation.RestController;
 
+import javax.servlet.http.HttpServletRequest;
 import java.util.List;
 
 /**
@@ -25,6 +27,9 @@
 
     @Autowired
     private IAdvertisementService advertisementService;
+    
+    @Autowired
+    private IUserInfoService userInfoService;
 
 
 
@@ -36,9 +41,10 @@
             @ApiImplicitParam(value = "当前定位纬度", name = "lat", required = true, dataType = "double"),
             @ApiImplicitParam(value = "当前定位经度", name = "lnt", required = true, dataType = "double")
     })
-    public ResultUtil<List<AdvertisementWarpper>> queryAdvertisement(Double lat, Double lnt, Integer type){
+    public ResultUtil<List<AdvertisementWarpper>> queryAdvertisement(Double lat, Double lnt, Integer type, HttpServletRequest request){
         try {
-            List<AdvertisementWarpper> advertisementWarpper = advertisementService.queryAdvertisement(lat, lnt, type);
+            Integer uid = userInfoService.getUserIdFormRedis(request);
+            List<AdvertisementWarpper> advertisementWarpper = advertisementService.queryAdvertisement(uid, lat, lnt, type);
             return ResultUtil.success(advertisementWarpper);
         }catch (Exception e){
             e.printStackTrace();
diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OpenCityController.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OpenCityController.java
index 780c6e3..cb3e889 100644
--- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OpenCityController.java
+++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OpenCityController.java
@@ -86,9 +86,10 @@
             @ApiImplicitParam(value = "经度", name = "lnt", required = true, dataType = "double"),
             @ApiImplicitParam(value = "语言类型(1=简体中文,2=英语,3=法语)", name = "language", required = false, dataType = "int"),
     })
-    public ResultUtil<List<BaseWarpper>> queryBusiness(Double lat, Double lnt, Integer language){
+    public ResultUtil<List<BaseWarpper>> queryBusiness(Double lat, Double lnt, Integer language, HttpServletRequest request){
         try {
-            List<BaseWarpper> list = openCityBusinessService.queryBusiness(lat, lnt, language);
+            Integer uid = userInfoService.getUserIdFormRedis(request);
+            List<BaseWarpper> list = openCityBusinessService.queryBusiness(uid, lat, lnt, language);
             return ResultUtil.success(list);
         }catch (Exception e){
             e.printStackTrace();
@@ -130,9 +131,10 @@
             @ApiImplicitParam(value = "纬度", name = "lat", required = true, dataType = "String"),
             @ApiImplicitParam(value = "经度", name = "lnt", required = true, dataType = "String")
     })
-    public ResultUtil openCity(Double lat, Double lnt, Integer language){
+    public ResultUtil openCity(Double lat, Double lnt, Integer language, HttpServletRequest request){
         try {
-            City city = openCityService.openCity(lat, lnt, language);
+            Integer uid = userInfoService.getUserIdFormRedis(request);
+            City city = openCityService.openCity(uid, lat, lnt, language);
             if(null == city){
                 return ResultUtil.error("");
             }
diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java
index 090c631..ebdead0 100644
--- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java
+++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java
@@ -118,6 +118,14 @@
     
     @Resource
     private UserActivityDiscount1Mapper userActivityDiscount1Mapper;
+    
+    @Resource
+    private RedisUtil redisUtil;
+    
+    
+    
+    
+    
 
     /**
      * 获取正在进行中的订单
@@ -849,9 +857,10 @@
             @ApiImplicitParam(value = "终点经度", name = "elon", required = true, dataType = "double"),
             @ApiImplicitParam(value = "终点纬度", name = "elat", required = true, dataType = "double")
     })
-    public ResultUtil<BaseWarpper> queryExpectedTime(Double slon, Double slat, Double elon, Double elat){
+    public ResultUtil<BaseWarpper> queryExpectedTime(Double slon, Double slat, Double elon, Double elat, HttpServletRequest request){
         try {
-            return orderService.queryExpectedTime(slon, slat, elon, elat);
+            Integer uid = userInfoService.getUserIdFormRedis(request);
+            return orderService.queryExpectedTime(uid, slon, slat, elon, elat);
         }catch (Exception e){
             e.printStackTrace();
             return ResultUtil.runErr();
@@ -1810,4 +1819,26 @@
             return ResultUtil.runErr();
         }
     }
+    
+    
+    @ResponseBody
+    @PostMapping("/api/order/getNewTripId")
+    @ApiOperation(value = "获取google预定tripid【2.0】", tags = {"用户端-首页"}, notes = "")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
+    })
+    public ResultUtil<String> getNewTripId(HttpServletRequest request){
+        try {
+            Integer uid = userInfoService.getUserIdFormRedis(request);
+            if(null == uid){
+                return ResultUtil.tokenErr();
+            }
+            String randomCode = UUIDUtil.getRandomCode();
+            redisUtil.setStrValue("trip" + uid, randomCode);
+            return ResultUtil.success(randomCode);
+        }catch (Exception e){
+            e.printStackTrace();
+            return ResultUtil.runErr();
+        }
+    }
 }
diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/PhoneController.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/PhoneController.java
index 81e0152..cf1aa72 100644
--- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/PhoneController.java
+++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/PhoneController.java
@@ -2,6 +2,7 @@
 
 import com.stylefeng.guns.modular.system.model.Phone;
 import com.stylefeng.guns.modular.system.service.IPhoneService;
+import com.stylefeng.guns.modular.system.service.IUserInfoService;
 import com.stylefeng.guns.modular.system.util.ResultUtil;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
@@ -13,6 +14,7 @@
 import org.springframework.web.bind.annotation.ResponseBody;
 import org.springframework.web.bind.annotation.RestController;
 
+import javax.servlet.http.HttpServletRequest;
 import java.util.List;
 import java.util.Map;
 
@@ -26,6 +28,13 @@
 
     @Autowired
     private IPhoneService phoneService;
+    
+    @Autowired
+    private IUserInfoService userInfoService;
+    
+    
+    
+    
 
     /**
      * 获取系统所有电话
@@ -38,9 +47,10 @@
             @ApiImplicitParam(value = "定位经度", name = "lat", required = true, dataType = "double"),
             @ApiImplicitParam(value = "定位维度", name = "lnt", required = true, dataType = "double")
     })
-    public ResultUtil queryPhones(Double lat, Double lnt){
+    public ResultUtil queryPhones(Double lat, Double lnt, HttpServletRequest request){
         try {
-            List<Phone> phones = phoneService.queryPhones(lat, lnt);
+            Integer uid = userInfoService.getUserIdFormRedis(request);
+            List<Phone> phones = phoneService.queryPhones(uid, lat, lnt);
             return ResultUtil.success(phones);
         }catch (Exception e){
             e.printStackTrace();
@@ -61,9 +71,10 @@
             @ApiImplicitParam(value = "定位维度", name = "lnt", required = true, dataType = "double"),
             @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
     })
-    public ResultUtil queryCustomerPhone(Double lat, Double lnt){
+    public ResultUtil queryCustomerPhone(Double lat, Double lnt, HttpServletRequest request){
         try {
-            Map<String, Object> map = phoneService.queryCustomerPhone(lat, lnt);
+            Integer uid = userInfoService.getUserIdFormRedis(request);
+            Map<String, Object> map = phoneService.queryCustomerPhone(uid, lat, lnt);
             return ResultUtil.success(map);
         }catch (Exception e){
             e.printStackTrace();
diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/ServerCarModelController.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/ServerCarModelController.java
index 4273654..17921dc 100644
--- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/ServerCarModelController.java
+++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/ServerCarModelController.java
@@ -2,6 +2,7 @@
 
 
 import com.stylefeng.guns.modular.system.service.IServerCarModelService;
+import com.stylefeng.guns.modular.system.service.IUserInfoService;
 import com.stylefeng.guns.modular.system.util.ResultUtil;
 import com.stylefeng.guns.modular.system.warpper.ServerCarModelWarpper;
 import io.swagger.annotations.Api;
@@ -14,6 +15,7 @@
 import org.springframework.web.bind.annotation.ResponseBody;
 import org.springframework.web.bind.annotation.RestController;
 
+import javax.servlet.http.HttpServletRequest;
 import java.util.List;
 import java.util.Map;
 
@@ -25,6 +27,9 @@
 
     @Autowired
     private IServerCarModelService serverCarModelService;
+    
+    @Autowired
+    private IUserInfoService userInfoService;
 
 
     /**
@@ -43,9 +48,10 @@
             @ApiImplicitParam(value = "语言类型(1=简体中文,2=英语,3=法语)", name = "language", required = false, dataType = "int"),
             @ApiImplicitParam(value = "业务类型(1=专车,2=出租车,3=城际,4=小件物流-同城,5=小件物流-跨城,6=包车)", name = "type", required = true, dataType = "int")
     })
-    public ResultUtil<List<ServerCarModelWarpper>> queryServerCarModel(String startLonLat, String endLonLat, Integer type, Integer language){
+    public ResultUtil<List<ServerCarModelWarpper>> queryServerCarModel(String startLonLat, String endLonLat, Integer type, Integer language, HttpServletRequest request){
         try {
-            return serverCarModelService.queryServerCarModel(startLonLat, endLonLat, type, language);
+            Integer uid = userInfoService.getUserIdFormRedis(request);
+            return serverCarModelService.queryServerCarModel(uid, startLonLat, endLonLat, type, language);
         }catch (Exception e){
             e.printStackTrace();
             return ResultUtil.runErr();
diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java
index a9dffee..bb180e9 100644
--- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java
+++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java
@@ -1454,7 +1454,7 @@
         //定义用户所属公司
         OrderTaxi orderTaxi = new OrderTaxi();
         UserInfo userInfo1 = userInfoService.selectById(uid);
-        Company query = companyCityService.query1(startLon, startLat);
+        Company query = companyCityService.query1(uid, startLon, startLat);
         if(null == query){
             return ResultUtil.error("出发点暂未开通");
         }
@@ -1624,7 +1624,7 @@
                         if(orderType == 1){//专车
                             OrderPrivateCar orderPrivateCar = orderPrivateCarMapper.selectById(orderId);
                             OrderPrivateCarServiceImpl.orderIds.add(orderPrivateCar.getId());//添加记录,防止调用接口重复提醒无人接单
-                            Company query = companyCityService.query1(String.valueOf(orderPrivateCar.getStartLon()), String.valueOf(orderPrivateCar.getStartLat()));//获取起点所属分公司
+                            Company query = companyCityService.query1(orderPrivateCar.getUserId(), String.valueOf(orderPrivateCar.getStartLon()), String.valueOf(orderPrivateCar.getStartLat()));//获取起点所属分公司
                             List<PushOrder> querys = pushOrderService.querys(null, 1, query.getId());//获取需要推送的次数
                             for(int i = 1; i <= querys.size(); i++){
                                 //订单被抢后的处理
@@ -1658,7 +1658,7 @@
                                 //开始进行推送的处理
                                 PushOrder pushOrder = pushOrderService.querys(i, 1, query.getId()).get(0);
                                 //获取空闲司机
-                                List<Driver> list = driverService.queryIdleDriver(1, orderPrivateCar.getServerCarModelId(), orderPrivateCar.getStartLon(), orderPrivateCar.getStartLat(), pushOrder.getPushDistance(), null);//所有附近空闲司机
+                                List<Driver> list = driverService.queryIdleDriver(orderPrivateCar.getUserId(), 1, orderPrivateCar.getServerCarModelId(), orderPrivateCar.getStartLon(), orderPrivateCar.getStartLat(), pushOrder.getPushDistance(), null);//所有附近空闲司机
                                 if(list.size() > 0){
                                     double driverProportion = pushOrder.getDriverProportion() / 100;//推送占比计算成小数
                                     int lastIndex = Double.valueOf(list.size() * driverProportion).intValue();//计算占比转成整数(下标截取)
@@ -1693,7 +1693,7 @@
                         if(orderType == 2){//出租车
                             OrderTaxi orderTaxi = orderTaxiMapper.selectById(orderId);
                             OrderTaxiServiceImpl.orderIds.add(orderTaxi.getId());//添加记录,防止调用接口重复提醒无人接单
-                            Company query = companyCityService.query1(String.valueOf(orderTaxi.getStartLon()), String.valueOf(orderTaxi.getStartLat()));//获取起点所属分公司
+                            Company query = companyCityService.query1(orderTaxi.getUserId(), String.valueOf(orderTaxi.getStartLon()), String.valueOf(orderTaxi.getStartLat()));//获取起点所属分公司
                             List<PushOrder> querys = pushOrderService.querys(null, 2, query.getId());//获取需要推送的次数
                             for(int i = 1; i <= querys.size(); i++){
                                 //处理订单被抢
diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/controller/OrderLogisticsController.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/controller/OrderLogisticsController.java
index e791822..4785244 100644
--- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/controller/OrderLogisticsController.java
+++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/controller/OrderLogisticsController.java
@@ -119,9 +119,10 @@
             @ApiImplicitParam(value = "终点经纬度(103.23265,30.2312)", name = "endLonLat", required = true, paramType = "query", dataType = "string"),
             @ApiImplicitParam(value = "终点详细地址", name = "endAddress", required = true, paramType = "query", dataType = "string")
     })
-    public ResultUtil queryPayMoney(Integer number, Integer type, String startLonLat, String endLonLat, String endAddress, Integer language){
+    public ResultUtil queryPayMoney(Integer number, Integer type, String startLonLat, String endLonLat, String endAddress, Integer language, HttpServletRequest request){
         try {
-            return orderLogisticsService.queryPayMoney(number, type, startLonLat, endLonLat, endAddress, language);
+            Integer uid = userInfoService.getUserIdFormRedis(request);
+            return orderLogisticsService.queryPayMoney(uid, number, type, startLonLat, endLonLat, endAddress, language);
         }catch (Exception e){
             e.printStackTrace();
             return ResultUtil.runErr();
@@ -317,8 +318,12 @@
             @ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"),
             @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
     })
-    public ResultUtil<OrderTimeInfo> queryTimeInfo(Integer orderId, Integer language){
+    public ResultUtil<OrderTimeInfo> queryTimeInfo(Integer orderId, Integer language, HttpServletRequest request){
         try {
+            Integer uid = userInfoService.getUserIdFormRedis(request);
+            if(null == uid) {
+                return ResultUtil.tokenErr();
+            }
             OrderLogistics orderLogistics = orderLogisticsService.selectById(orderId);
             OrderTimeInfo orderTimeInfo = new OrderTimeInfo();
             SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
@@ -340,21 +345,22 @@
                 usedTime = language == 1 ? h + "小时" + m + "分钟" : language == 2 ? h + "-hour" + m + "-minute(s)" : h + "-hour" + m + "-minute";
             }
             orderTimeInfo.setUsedTime(usedTime);
+            String tripId = redisUtil.getValue("trip" + uid);
             if(null != orderLogistics.getEndServiceTime()){
                 orderTimeInfo.setEndServiceTime(DateUtil.conversionFormat(language, sdf.format(orderLogistics.getEndServiceTime())));
             }else{
-                DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(orderLogistics.getStartLat(), orderLogistics.getStartLon(), orderLogistics.getEndLat(), orderLogistics.getEndLon());
+                DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(orderLogistics.getStartLat(), orderLogistics.getStartLon(), orderLogistics.getEndLat(), orderLogistics.getEndLon(), tripId);
                 Long duration = distancematrix.getDuration();
                 orderTimeInfo.setEndServiceTime(DateUtil.conversionFormat(language, sdf.format(new Date(System.currentTimeMillis() + duration * 1000))));
             }
-            DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(orderLogistics.getStartLat(), orderLogistics.getStartLon(), orderLogistics.getEndLat(), orderLogistics.getEndLon());
+            DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(orderLogistics.getStartLat(), orderLogistics.getStartLon(), orderLogistics.getEndLat(), orderLogistics.getEndLon(), tripId);
             Long distance = distancematrix.getDistance();
             orderTimeInfo.setAllMileage(Double.valueOf(distance / 1000));
             orderTimeInfo.setMileage(orderLogistics.getMileage() / 1000);
             String value = redisUtil.getValue("DRIVER" + orderLogistics.getDriverId());
             if(ToolUtil.isNotEmpty(value)){
                 String[] split = value.split(",");
-                distancematrix = GoogleMapUtil.getDistancematrix(Double.valueOf(split[1]), Double.valueOf(split[0]), orderLogistics.getEndLat(), orderLogistics.getEndLon());
+                distancematrix = GoogleMapUtil.getDistancematrix(Double.valueOf(split[1]), Double.valueOf(split[0]), orderLogistics.getEndLat(), orderLogistics.getEndLon(), tripId);
                 //分钟
                 Long duration = distancematrix.getDuration() / 60;
                 h = Double.valueOf(duration / 60).intValue();
diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/IOrderLogisticsService.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/IOrderLogisticsService.java
index ae4c770..659ed8a 100644
--- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/IOrderLogisticsService.java
+++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/IOrderLogisticsService.java
@@ -45,7 +45,7 @@
      * @return
      * @throws Exception
      */
-    ResultUtil queryPayMoney(Integer number, Integer type, String startLonLat, String endLonLat, String endAddress, Integer language) throws Exception;
+    ResultUtil queryPayMoney(Integer uid, Integer number, Integer type, String startLonLat, String endLonLat, String endAddress, Integer language) throws Exception;
 
 
     /**
diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/impl/OrderLogisticsServiceImpl.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/impl/OrderLogisticsServiceImpl.java
index 6146c4a..ecf7c91 100644
--- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/impl/OrderLogisticsServiceImpl.java
+++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/impl/OrderLogisticsServiceImpl.java
@@ -254,7 +254,7 @@
         String[] split = endLonLat.split(",");
         Double lng = Double.valueOf(split[0]);
         Double lat = Double.valueOf(split[1]);
-        ResultUtil<Map<String, Object>> price = this.getPrice1(type, startLonLat.split(",")[0], startLonLat.split(",")[1], lng.toString(), lat.toString(), language);
+        ResultUtil<Map<String, Object>> price = this.getPrice1(uid, type, startLonLat.split(",")[0], startLonLat.split(",")[1], lng.toString(), lat.toString(), language);
         if(price.getCode() != 200){
             return price;
         }
@@ -273,11 +273,11 @@
      * @return
      * @throws Exception
      */
-    public ResultUtil queryPayMoney(Integer number, Integer type, String startLonLat, String endLonLat, String endAddress, Integer language) throws Exception{
+    public ResultUtil queryPayMoney(Integer uid, Integer number, Integer type, String startLonLat, String endLonLat, String endAddress, Integer language) throws Exception{
         String[] split = endLonLat.split(",");
         Double lng = Double.valueOf(split[0]);
         Double lat = Double.valueOf(split[1]);
-        ResultUtil<Map<String, Object>> price = this.getPrice1(type, startLonLat.split(",")[0], startLonLat.split(",")[1], lng.toString(), lat.toString(), language);
+        ResultUtil<Map<String, Object>> price = this.getPrice1(uid, type, startLonLat.split(",")[0], startLonLat.split(",")[1], lng.toString(), lat.toString(), language);
         if(price.getCode() == 200 && type == 5){
             Map<String, Object> data = price.getData();
             Double ordinary = Double.valueOf(data.get("ordinary").toString());
@@ -327,7 +327,7 @@
         endAddress = endAddress.replaceAll("& #40;", "(");
         endAddress = endAddress.replaceAll("& #41;", ")");
         OrderLogistics orderLogistics = new OrderLogistics();
-        Company query = companyCityService.query1(placementLon, placementLat);
+        Company query = companyCityService.query1(uid, placementLon, placementLat);
         if(null == query){
             return ResultUtil.error(language == 1 ? "该地点暂无企业服务" : language == 2 ? "No service yet at this area" : "Pas encore de service dans cette zone");
         }
@@ -340,7 +340,8 @@
         orderLogistics.setRemark(remark);
         orderLogistics.setPlacementLon(Double.valueOf(placementLon));
         orderLogistics.setPlacementLat(Double.valueOf(placementLat));
-        ReverseGeocodeVo reverseGeocode = GoogleMapUtil.getReverseGeocode(Double.valueOf(placementLat), Double.valueOf(placementLon));
+        String tripId = redisUtil.getValue("trip" + uid);
+        ReverseGeocodeVo reverseGeocode = GoogleMapUtil.getReverseGeocode(Double.valueOf(placementLat), Double.valueOf(placementLon), tripId);
         if(null == reverseGeocode){
             return ResultUtil.error(language == 1 ? "解析地址出错" : language == 2 ? "Address resolution error" : "Erreur de résolution d’adresse");
         }
@@ -363,7 +364,7 @@
         orderLogistics.setMileage(0D);
         orderLogistics.setIsReassign(1);
         orderLogistics.setReassignNotice(0);
-        ResultUtil<Map<String, Object>> price = this.getPrice1(type, String.valueOf(startLon), String.valueOf(startLat), lng.toString(), lat.toString(), language);
+        ResultUtil<Map<String, Object>> price = this.getPrice1(uid, type, String.valueOf(startLon), String.valueOf(startLat), lng.toString(), lat.toString(), language);
         if(price.getCode() != 200){
             return price;
         }
@@ -412,8 +413,8 @@
      * @return
      * @throws Exception
      */
-    public ResultUtil<Map<String, Double>> getPrice(Integer type, String startLon, String startLat, String endLon, String endLat) throws Exception{
-        Company query = companyCityService.query1(startLon, startLat);
+    public ResultUtil<Map<String, Double>> getPrice(Integer uid, Integer type, String startLon, String startLat, String endLon, String endLat) throws Exception{
+        Company query = companyCityService.query1(uid, startLon, startLat);
         if(null == query){
             return ResultUtil.error("预约取货点暂无企业服务");
         }
@@ -456,8 +457,8 @@
 
 
 
-    public ResultUtil<Map<String, Object>> getPrice1(Integer type, String startLon, String startLat, String endLon, String endLat, Integer language) throws Exception{
-        Company query = companyCityService.query1(startLon, startLat);
+    public ResultUtil<Map<String, Object>> getPrice1(Integer uid, Integer type, String startLon, String startLat, String endLon, String endLat, Integer language) throws Exception{
+        Company query = companyCityService.query1(uid, startLon, startLat);
         if(null == query){
             return ResultUtil.error(language == 1 ? "预约取货点暂无企业服务" : language == 2 ?
                     "No service yet at the reserved pickup point." : "Les points de ramassage prévus ne sont pas disponibles pour le moment.");
@@ -469,7 +470,8 @@
         Integer activityId = null;
         if(type == 4){//同城
             Map<String, Object> query1 = systemPriceMapper.query(query.getId(), type, null);
-            DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(Double.valueOf(startLat), Double.valueOf(startLon), Double.valueOf(endLat), Double.valueOf(endLon));
+            String tripId = redisUtil.getValue("trip" + uid);
+            DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(Double.valueOf(startLat), Double.valueOf(startLon), Double.valueOf(endLat), Double.valueOf(endLon), tripId);
             if(null == distancematrix){
                 return ResultUtil.error(language == 1 ? "计算距离出错" : language == 2 ? "Errors in computing distance" : "Erreurs dans le calcul de la distance");
             }
@@ -540,12 +542,12 @@
                     if(ToolUtil.isNotEmpty(vehicle)){
                         integers = JSON.parseArray(vehicle).toJavaList(Integer.class);
                     }
-                    Company query = companyCityService.query1(String.valueOf(orderLogistics.getStartLon()), String.valueOf(orderLogistics.getStartLat()));//获取起点所属分公司
+                    Company query = companyCityService.query1(orderLogistics.getUserId(), String.valueOf(orderLogistics.getStartLon()), String.valueOf(orderLogistics.getStartLat()));//获取起点所属分公司
                     List<PushOrder> querys = pushOrderService.querys(null, 1, query.getId());//用专车的推单配置
                     for(int i = 1; i <= querys.size(); i++){
                         PushOrder pushOrder = pushOrderService.querys(i, 1, query.getId()).get(0);
                         //获取空闲司机
-                        List<Driver> list = driverService.queryIdleDriver(orderLogistics.getType(), orderLogistics.getServerCarModelId(), orderLogistics.getStartLon(), orderLogistics.getStartLat(), pushOrder.getPushDistance(), null);//所有附近空闲司机
+                        List<Driver> list = driverService.queryIdleDriver(orderLogistics.getUserId(), orderLogistics.getType(), orderLogistics.getServerCarModelId(), orderLogistics.getStartLon(), orderLogistics.getStartLat(), pushOrder.getPushDistance(), null);//所有附近空闲司机
                         System.err.println("【" + orderLogistics.getId() + "】空闲司机:" + JSON.toJSONString(list));
                         if(list.size() > 0){
                             double driverProportion = pushOrder.getDriverProportion() / 100;//推送占比计算成小数
@@ -682,7 +684,8 @@
         orderLogistics.setUrgent(1);
         orderLogistics.setCargoNumber(1);
     
-        ReverseGeocodeVo reverseGeocode = GoogleMapUtil.getReverseGeocode(Double.valueOf(placementLat), Double.valueOf(placementLon));
+        String tripId = redisUtil.getValue("trip" + uid);
+        ReverseGeocodeVo reverseGeocode = GoogleMapUtil.getReverseGeocode(Double.valueOf(placementLat), Double.valueOf(placementLon), tripId);
         orderLogistics.setPlacementAddress(reverseGeocode.getAddress());
         orderLogistics.setStartLon(Double.valueOf(startLon));
         orderLogistics.setStartLat(Double.valueOf(startLat));
@@ -737,7 +740,7 @@
             String value = redisUtil.getValue("DRIVER" + driver.getId());
             if(ToolUtil.isNotEmpty(value)) {
                 String[] split = value.split(",");
-                DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(orderLogistics.getStartLat(), orderLogistics.getStartLon(), Double.valueOf(split[1]), Double.valueOf(split[0]));
+                DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(orderLogistics.getStartLat(), orderLogistics.getStartLon(), Double.valueOf(split[1]), Double.valueOf(split[0]), tripId);
                 //超时时间
                 long timeOut = System.currentTimeMillis() + (distancematrix.getDuration() * 1000);
                 orderLogistics.setEstimateArriveTime(new Date(timeOut));
@@ -749,8 +752,8 @@
     
         orderLogistics.setIsReassign(1);
         orderLogistics.setIsDelete(1);
-        orderLogistics.setTripId(UUIDUtil.getRandomCode());
-        DistancematrixVo distancematrix1 = GoogleMapUtil.getDistancematrix(orderLogistics.getStartLat(), orderLogistics.getStartLon(), orderLogistics.getEndLat(), orderLogistics.getEndLon());
+        orderLogistics.setTripId(tripId);
+        DistancematrixVo distancematrix1 = GoogleMapUtil.getDistancematrix(orderLogistics.getStartLat(), orderLogistics.getStartLon(), orderLogistics.getEndLat(), orderLogistics.getEndLon(), tripId);
         Long distance1 = distancematrix1.getDistance();
         orderLogistics.setEstimatedMileage(new BigDecimal(distance1).divide(new BigDecimal(1000)).setScale(2, RoundingMode.HALF_EVEN).doubleValue());
         this.insert(orderLogistics);
@@ -838,14 +841,14 @@
     
         // TODO: 2021/5/11 修改,根据后台设定的派单范围查询范围内有无司机,将单子指派给距离最近的司机(距离相同随机取),范围内没有司机再进行推单流程
         if(orderLogistics.getState() == 1){
-            Company query = companyCityService.query1(orderLogistics.getStartLon().toString(), orderLogistics.getStartLat().toString());
+            Company query = companyCityService.query1(uid, orderLogistics.getStartLon().toString(), orderLogistics.getStartLat().toString());
             if(null == query){
                 return ResultUtil.error(language == 1 ? "起点暂未企业提供服务" : language == 2 ? "Starting point no enterprise to provide services" : "Point de départ pas encore disponible pour les entreprises");
             }
             AssignOrder assignOrder = assignOrderService.selectOne(new EntityWrapper<AssignOrder>().eq("companyId", query.getId()).eq("type", 1));
             if(null != assignOrder && assignOrder.getPeople() > 0){//配置了指派规则才处理
                 //获取空闲司机
-                List<Driver> drivers = driverService.queryIdleDriver(4, orderLogistics.getServerCarModelId(), orderLogistics.getStartLon(), orderLogistics.getStartLat(), assignOrder.getDistance(), null);//获取范围内空闲司机
+                List<Driver> drivers = driverService.queryIdleDriver(uid, 4, orderLogistics.getServerCarModelId(), orderLogistics.getStartLon(), orderLogistics.getStartLat(), assignOrder.getDistance(), null);//获取范围内空闲司机
                 if(drivers.size() > 0){//有司机,直接指派给司机
                     Driver dr = null;
                     if(drivers.size() > 1){
@@ -858,7 +861,7 @@
                                 String value = redisUtil.getValue("DRIVER" + drivers.get(j).getId());
                                 if(null != value){
                                     String[] split = value.split(",");
-                                    DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(orderLogistics.getStartLat(), orderLogistics.getStartLon(), Double.valueOf(split[1]), Double.valueOf(split[0]));
+                                    DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(orderLogistics.getStartLat(), orderLogistics.getStartLon(), Double.valueOf(split[1]), Double.valueOf(split[0]), tripId);
                                     Long distance = distancematrix.getDistance();
                                     if((0 == m && null == driver) || (distance < m)){
                                         driver = drivers.get(j);
@@ -877,7 +880,7 @@
                             String value = redisUtil.getValue("DRIVER" + driver.getId());
                             if(null != value){
                                 String[] split = value.split(",");
-                                DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(orderLogistics.getStartLat(), orderLogistics.getStartLon(), Double.valueOf(split[1]), Double.valueOf(split[0]));
+                                DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(orderLogistics.getStartLat(), orderLogistics.getStartLon(), Double.valueOf(split[1]), Double.valueOf(split[0]), tripId);
                                 Long d = distancematrix.getDistance();
                                 if((0 == m && null == dr) || (d.intValue() < m.intValue())){
                                     dr = driver;
@@ -3828,13 +3831,14 @@
                 }
             }
         }
-        
+    
+        String tripId = redisUtil.getValue("trip" + uid);
         String lnt = "0";
         String lat = "0";
         if(ToolUtil.isNotEmpty(value)){
             lnt = value.split(",")[0];
             lat = value.split(",")[1];
-            DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(orderLogistics.getStartLat(), orderLogistics.getStartLon(), Double.valueOf(lat), Double.valueOf(lnt));
+            DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(orderLogistics.getStartLat(), orderLogistics.getStartLon(), Double.valueOf(lat), Double.valueOf(lnt), tripId);
             
             if(null == distancematrix){
                 System.err.println("查询距离出错了");
@@ -3862,7 +3866,7 @@
             orderServerWarpper.setLaveTime("0");
         }
         if(orderLogistics.getState() == 5 || orderLogistics.getState() == 6){//服务中
-            DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(Double.valueOf(lat), Double.valueOf(lnt), orderLogistics.getEndLat(), orderLogistics.getEndLon());
+            DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(Double.valueOf(lat), Double.valueOf(lnt), orderLogistics.getEndLat(), orderLogistics.getEndLon(), tripId);
             if(null == distancematrix){
                 System.err.println("查询距离出错了");
             }else if(distancematrix.getDistance() == 0){
diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java
index d7db9e8..e74f5ff 100644
--- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java
+++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java
@@ -264,7 +264,8 @@
             baseWarpper.setId(orderPrivateCars.get(0).getId());
             return ResultUtil.success(baseWarpper);
         }
-
+    
+        String tripId = redisUtil.getValue("trip" + uid);
         startAddress = startAddress.replaceAll("& #40;", "(");
         startAddress = startAddress.replaceAll("& #41;", ")");
         endAddress = endAddress.replaceAll("& #40;", "(");
@@ -281,7 +282,7 @@
         orderPrivateCar.setPlacementLon(Double.valueOf(placementLon));
         orderPrivateCar.setPlacementLat(Double.valueOf(placementLat));
 
-        ReverseGeocodeVo reverseGeocode = GoogleMapUtil.getReverseGeocode(Double.valueOf(placementLat), Double.valueOf(placementLon));
+        ReverseGeocodeVo reverseGeocode = GoogleMapUtil.getReverseGeocode(Double.valueOf(placementLat), Double.valueOf(placementLon), tripId);
         orderPrivateCar.setPlacementAddress(reverseGeocode.getAddress());
         orderPrivateCar.setStartLon(Double.valueOf(startLon));
         orderPrivateCar.setStartLat(Double.valueOf(startLat));
@@ -346,7 +347,7 @@
                 String value = redisUtil.getValue("DRIVER" + driver.getId());
                 if(ToolUtil.isNotEmpty(value)) {
                     String[] split = value.split(",");
-                    DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(orderPrivateCar.getStartLat(), orderPrivateCar.getStartLon(), Double.valueOf(split[1]), Double.valueOf(split[0]));
+                    DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(orderPrivateCar.getStartLat(), orderPrivateCar.getStartLon(), Double.valueOf(split[1]), Double.valueOf(split[0]), tripId);
                     //超时时间
                     long timeOut = System.currentTimeMillis() + (distancematrix.getDuration() * 1000);
                     orderPrivateCar.setEstimateArriveTime(new Date(timeOut));
@@ -359,8 +360,8 @@
 
         orderPrivateCar.setIsReassign(1);
         orderPrivateCar.setIsDelete(1);
-        orderPrivateCar.setTripId(UUIDUtil.getRandomCode());
-        DistancematrixVo distancematrix1 = GoogleMapUtil.getDistancematrix(orderPrivateCar.getStartLat(), orderPrivateCar.getStartLon(), orderPrivateCar.getEndLat(), orderPrivateCar.getEndLon());
+        orderPrivateCar.setTripId(tripId);
+        DistancematrixVo distancematrix1 = GoogleMapUtil.getDistancematrix(orderPrivateCar.getStartLat(), orderPrivateCar.getStartLon(), orderPrivateCar.getEndLat(), orderPrivateCar.getEndLon(), tripId);
         Long distance1 = distancematrix1.getDistance();
         orderPrivateCar.setEstimatedMileage(new BigDecimal(distance1).divide(new BigDecimal(1000)).setScale(2, RoundingMode.HALF_EVEN).doubleValue());
         this.insert(orderPrivateCar);
@@ -449,14 +450,14 @@
 
         // TODO: 2021/5/11 修改,根据后台设定的派单范围查询范围内有无司机,将单子指派给距离最近的司机(距离相同随机取),范围内没有司机再进行推单流程
         if(orderPrivateCar.getState() == 1){
-            Company query = companyCityService.query1(orderPrivateCar.getStartLon().toString(), orderPrivateCar.getStartLat().toString());
+            Company query = companyCityService.query1(uid, orderPrivateCar.getStartLon().toString(), orderPrivateCar.getStartLat().toString());
             if(null == query){
                 return ResultUtil.error(language == 1 ? "起点暂未企业提供服务" : language == 2 ? "Starting point no enterprise to provide services" : "Point de départ pas encore disponible pour les entreprises");
             }
             AssignOrder assignOrder = assignOrderService.selectOne(new EntityWrapper<AssignOrder>().eq("companyId", query.getId()).eq("type", 1));
             if(null != assignOrder && assignOrder.getPeople() > 0){//配置了指派规则才处理
                 //获取空闲司机
-                List<Driver> drivers = driverService.queryIdleDriver(1, orderPrivateCar.getServerCarModelId(), orderPrivateCar.getStartLon(), orderPrivateCar.getStartLat(), assignOrder.getDistance(), null);//获取范围内空闲司机
+                List<Driver> drivers = driverService.queryIdleDriver(orderPrivateCar.getUserId(), 1, orderPrivateCar.getServerCarModelId(), orderPrivateCar.getStartLon(), orderPrivateCar.getStartLat(), assignOrder.getDistance(), null);//获取范围内空闲司机
                 if(drivers.size() > 0){//有司机,直接指派给司机
                     Driver dr = null;
                     if(drivers.size() > 1){
@@ -469,7 +470,7 @@
                                 String value = redisUtil.getValue("DRIVER" + drivers.get(j).getId());
                                 if(null != value){
                                     String[] split = value.split(",");
-                                    DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(orderPrivateCar.getStartLat(), orderPrivateCar.getStartLon(), Double.valueOf(split[1]), Double.valueOf(split[0]));
+                                    DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(orderPrivateCar.getStartLat(), orderPrivateCar.getStartLon(), Double.valueOf(split[1]), Double.valueOf(split[0]), tripId);
                                     Long distance = distancematrix.getDistance();
                                     if((0 == m && null == driver) || (distance < m)){
                                         driver = drivers.get(j);
@@ -488,7 +489,7 @@
                             String value = redisUtil.getValue("DRIVER" + driver.getId());
                             if(null != value){
                                 String[] split = value.split(",");
-                                DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(orderPrivateCar.getStartLat(), orderPrivateCar.getStartLon(), Double.valueOf(split[1]), Double.valueOf(split[0]));
+                                DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(orderPrivateCar.getStartLat(), orderPrivateCar.getStartLon(), Double.valueOf(split[1]), Double.valueOf(split[0]), tripId);
                                 Long d = distancematrix.getDistance();
                                 if((0 == m && null == dr) || (d.intValue() < m.intValue())){
                                     dr = driver;
@@ -1016,12 +1017,12 @@
                     if(ToolUtil.isNotEmpty(vehicle)){
                         integers = JSON.parseArray(vehicle).toJavaList(Integer.class);
                     }
-                    Company query = companyCityService.query1(String.valueOf(orderPrivateCar.getStartLon()), String.valueOf(orderPrivateCar.getStartLat()));//获取起点所属分公司
+                    Company query = companyCityService.query1(orderPrivateCar.getUserId(), String.valueOf(orderPrivateCar.getStartLon()), String.valueOf(orderPrivateCar.getStartLat()));//获取起点所属分公司
                     List<PushOrder> querys = pushOrderService.querys(null, 1, query.getId());//获取需要推送的次数
                     for(int i = 1; i <= querys.size(); i++){
                         PushOrder pushOrder = pushOrderService.querys(i, 1, query.getId()).get(0);
                         //获取空闲司机
-                        List<Driver> list = driverService.queryIdleDriver(1, orderPrivateCar.getServerCarModelId(), orderPrivateCar.getStartLon(), orderPrivateCar.getStartLat(), pushOrder.getPushDistance(), null);//所有附近空闲司机
+                        List<Driver> list = driverService.queryIdleDriver(orderPrivateCar.getUserId(), 1, orderPrivateCar.getServerCarModelId(), orderPrivateCar.getStartLon(), orderPrivateCar.getStartLat(), pushOrder.getPushDistance(), null);//所有附近空闲司机
                         System.err.println("【" + orderPrivateCar.getId() + "】空闲司机:" + JSON.toJSONString(list));
                         if(list.size() > 0){
                             double driverProportion = pushOrder.getDriverProportion() / 100;//推送占比计算成小数
@@ -3270,10 +3271,11 @@
 
         String lnt = "0";
         String lat = "0";
+        String tripId = redisUtil.getValue("trip" + uid);
         if(ToolUtil.isNotEmpty(value)){
             lnt = value.split(",")[0];
             lat = value.split(",")[1];
-            DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(orderPrivateCar.getStartLat(), orderPrivateCar.getStartLon(), Double.valueOf(lat), Double.valueOf(lnt));
+            DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(orderPrivateCar.getStartLat(), orderPrivateCar.getStartLon(), Double.valueOf(lat), Double.valueOf(lnt), tripId);
 
             if(null == distancematrix){
                 System.err.println("查询距离出错了");
@@ -3301,7 +3303,7 @@
             orderServerWarpper.setLaveTime("0");
         }
         if(orderPrivateCar.getState() == 5 || orderPrivateCar.getState() == 6){//服务中
-            DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(Double.valueOf(lat), Double.valueOf(lnt), orderPrivateCar.getEndLat(), orderPrivateCar.getEndLon());
+            DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(Double.valueOf(lat), Double.valueOf(lnt), orderPrivateCar.getEndLat(), orderPrivateCar.getEndLon(), tripId);
             if(null == distancematrix){
                 System.err.println("查询距离出错了");
             }else if(distancematrix.getDistance() == 0){
diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/ServerCarModelMapper.xml b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/ServerCarModelMapper.xml
index 95202f6..925c5a1 100644
--- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/ServerCarModelMapper.xml
+++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/ServerCarModelMapper.xml
@@ -6,7 +6,9 @@
     <resultMap id="BaseResultMap" type="com.stylefeng.guns.modular.system.model.ServerCarModel">
         <id column="id" property="id"/>
         <result column="type" property="type"/>
-        <result column="name" property="name"/>
+        <result column="chineseName" property="chineseName"/>
+        <result column="englishName" property="englishName"/>
+        <result column="frenchName" property="frenchName"/>
         <result column="img" property="img"/>
         <result column="price" property="price"/>
         <result column="state" property="state"/>
@@ -18,7 +20,9 @@
     <select id="queryServerCarModel" resultType="map">
         select
         id as id,
-        `name` as `name`,
+        chineseName,
+        englishName,
+        frenchName,
         img as img,
         price as price
         from t_server_carmodel where state = 1 and `type` = #{type}
diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/ServerCarModel.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/ServerCarModel.java
index e12def7..0b09d72 100644
--- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/ServerCarModel.java
+++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/ServerCarModel.java
@@ -26,8 +26,18 @@
     /**
      * 车型名称
      */
-    @TableField("name")
-    private String name;
+    @TableField("chineseName")
+    private String chineseName;
+    /**
+     * 车型名称
+     */
+    @TableField("englishName")
+    private String englishName;
+    /**
+     * 车型名称
+     */
+    @TableField("frenchName")
+    private String frenchName;
     /**
      * 车型照片
      */
@@ -64,15 +74,31 @@
     public void setType(Integer type) {
         this.type = type;
     }
-
-    public String getName() {
-        return name;
+    
+    public String getChineseName() {
+        return chineseName;
     }
-
-    public void setName(String name) {
-        this.name = name;
+    
+    public void setChineseName(String chineseName) {
+        this.chineseName = chineseName;
     }
-
+    
+    public String getEnglishName() {
+        return englishName;
+    }
+    
+    public void setEnglishName(String englishName) {
+        this.englishName = englishName;
+    }
+    
+    public String getFrenchName() {
+        return frenchName;
+    }
+    
+    public void setFrenchName(String frenchName) {
+        this.frenchName = frenchName;
+    }
+    
     public String getImg() {
         return img;
     }
@@ -104,13 +130,15 @@
     public void setPrice(String price) {
         this.price = price;
     }
-
+    
     @Override
     public String toString() {
         return "ServerCarModel{" +
                 "id=" + id +
                 ", type=" + type +
-                ", name='" + name + '\'' +
+                ", chineseName='" + chineseName + '\'' +
+                ", englishName='" + englishName + '\'' +
+                ", frenchName='" + frenchName + '\'' +
                 ", img='" + img + '\'' +
                 ", price='" + price + '\'' +
                 ", state=" + state +
diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IAdvertisementService.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IAdvertisementService.java
index 0537c8e..326f2ac 100644
--- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IAdvertisementService.java
+++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IAdvertisementService.java
@@ -15,5 +15,5 @@
      * @return
      * @throws Exception
      */
-    List<AdvertisementWarpper> queryAdvertisement(Double lat, Double lnt, Integer type) throws Exception;
+    List<AdvertisementWarpper> queryAdvertisement(Integer uid, Double lat, Double lnt, Integer type) throws Exception;
 }
diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ICompanyCityService.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ICompanyCityService.java
index a1a045d..8259456 100644
--- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ICompanyCityService.java
+++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ICompanyCityService.java
@@ -9,7 +9,7 @@
 
 
 
-    Company query1(String lon, String lat) throws Exception;
+    Company query1(Integer uid, String lon, String lat) throws Exception;
 
 
 
diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IDriverService.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IDriverService.java
index 4af2b23..b72eb86 100644
--- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IDriverService.java
+++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IDriverService.java
@@ -32,7 +32,7 @@
      * @return
      * @throws Exception
      */
-    List<Driver> queryIdleDriver(Integer type, Integer serverCarModelId, Double lon, Double lat, Double distance, Integer companyId) throws Exception;
+    List<Driver> queryIdleDriver(Integer uid, Integer type, Integer serverCarModelId, Double lon, Double lat, Double distance, Integer companyId) throws Exception;
 
 
     /**
diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IOpenCityBusinessService.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IOpenCityBusinessService.java
index 5c987b1..c74453c 100644
--- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IOpenCityBusinessService.java
+++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IOpenCityBusinessService.java
@@ -14,7 +14,7 @@
      * @return
      * @throws Exception
      */
-    List<BaseWarpper> queryBusiness(Double lat, Double lnt, Integer language) throws Exception;
+    List<BaseWarpper> queryBusiness(Integer uid, Double lat, Double lnt, Integer language) throws Exception;
 
 
     /**
diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IOpenCityService.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IOpenCityService.java
index 853c0d8..1b2a181 100644
--- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IOpenCityService.java
+++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IOpenCityService.java
@@ -23,5 +23,5 @@
      * @return
      * @throws Exception
      */
-    City openCity(Double lat, Double lnt, Integer language) throws Exception;
+    City openCity(Integer uid, Double lat, Double lnt, Integer language) throws Exception;
 }
diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IOrderService.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IOrderService.java
index 208b2d3..60655fb 100644
--- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IOrderService.java
+++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IOrderService.java
@@ -17,7 +17,7 @@
      * @return
      * @throws Exception
      */
-    ResultUtil<BaseWarpper> queryExpectedTime(Double slon, Double slat, Double elon, Double elat) throws Exception;
+    ResultUtil<BaseWarpper> queryExpectedTime(Integer uid, Double slon, Double slat, Double elon, Double elat) throws Exception;
 
 
     /**
diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IPhoneService.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IPhoneService.java
index 083bb62..88089c2 100644
--- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IPhoneService.java
+++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IPhoneService.java
@@ -13,7 +13,7 @@
      * @return
      * @throws Exception
      */
-    List<Phone> queryPhones(Double lat, Double lnt) throws Exception;
+    List<Phone> queryPhones(Integer uid, Double lat, Double lnt) throws Exception;
 
 
     /**
@@ -21,5 +21,5 @@
      * @return
      * @throws Exception
      */
-    Map<String, Object> queryCustomerPhone(Double lat, Double lnt) throws Exception;
+    Map<String, Object> queryCustomerPhone(Integer uid, Double lat, Double lnt) throws Exception;
 }
diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IServerCarModelService.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IServerCarModelService.java
index 5193cff..dc7b76d 100644
--- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IServerCarModelService.java
+++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IServerCarModelService.java
@@ -19,7 +19,7 @@
      * @return
      * @throws Exception
      */
-    ResultUtil<List<ServerCarModelWarpper>> queryServerCarModel(String startLonLat, String endLonLat, Integer type, Integer language) throws Exception;
+    ResultUtil<List<ServerCarModelWarpper>> queryServerCarModel(Integer uid, String startLonLat, String endLonLat, Integer type, Integer language) throws Exception;
 
 
     /**
diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/AdvertisementServiceImpl.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/AdvertisementServiceImpl.java
index 02fd658..f6db82f 100644
--- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/AdvertisementServiceImpl.java
+++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/AdvertisementServiceImpl.java
@@ -7,6 +7,7 @@
 import com.stylefeng.guns.modular.system.util.GoogleMap.AddressComponentsVo;
 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.warpper.AdvertisementWarpper;
 import org.springframework.stereotype.Service;
 
@@ -20,6 +21,10 @@
 
     @Resource
     private AdvertisementMapper advertisementMapper;
+    
+    @Resource
+    private RedisUtil redisUtil;
+    
 
 
     /**
@@ -29,8 +34,9 @@
      * @throws Exception
      */
     @Override
-    public List<AdvertisementWarpper> queryAdvertisement(Double lat, Double lnt, Integer type) throws Exception {
-        ReverseGeocodeVo reverseGeocode = GoogleMapUtil.getReverseGeocode(lat, lnt);
+    public List<AdvertisementWarpper> queryAdvertisement(Integer uid, Double lat, Double lnt, Integer type) throws Exception {
+        String tripId = redisUtil.getValue("trip" + uid);
+        ReverseGeocodeVo reverseGeocode = GoogleMapUtil.getReverseGeocode(lat, lnt, tripId);
         if(null == reverseGeocode){
             return new ArrayList<>();
         }
diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/CompanyCityServiceImpl.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/CompanyCityServiceImpl.java
index 7c00286..72c6d5c 100644
--- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/CompanyCityServiceImpl.java
+++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/CompanyCityServiceImpl.java
@@ -13,6 +13,7 @@
 import com.stylefeng.guns.modular.system.util.GoogleMap.AddressComponentsVo;
 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 org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -31,13 +32,17 @@
 
     @Autowired
     private ICityService cityService;
+    
+    @Resource
+    private RedisUtil redisUtil;
 
 
 
 
     @Override
-    public Company query1(String lon, String lat) throws Exception {
-        ReverseGeocodeVo reverseGeocode = GoogleMapUtil.getReverseGeocode(Double.valueOf(lat), Double.valueOf(lon));
+    public Company query1(Integer uid, String lon, String lat) throws Exception {
+        String tripId = redisUtil.getValue("trip" + uid);
+        ReverseGeocodeVo reverseGeocode = GoogleMapUtil.getReverseGeocode(Double.valueOf(lat), Double.valueOf(lon), tripId);
         if(null == reverseGeocode){
             return null;
         }
diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java
index b6b55f9..886a48c 100644
--- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java
+++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java
@@ -81,13 +81,14 @@
      * @throws Exception
      */
     @Override
-    public List<Driver> queryIdleDriver(Integer type, Integer serverCarModelId, Double lon, Double lat, Double distance, Integer companyId) throws Exception {
+    public List<Driver> queryIdleDriver(Integer uid, Integer type, Integer serverCarModelId, Double lon, Double lat, Double distance, Integer companyId) throws Exception {
+        String tripId = redisUtil.getValue("trip" + uid);
         List<Driver> drivers = driverMapper.queryIdleDriver_(type, serverCarModelId, companyId);
         List<Driver> list = new ArrayList<>();
         for(Driver driver : drivers){
             String value = redisUtil.getValue("DRIVER" + driver.getId());
             if(null != value){
-                DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(lat, lon, Double.parseDouble(value.split(",")[1]), Double.parseDouble(value.split(",")[0]));
+                DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(lat, lon, Double.parseDouble(value.split(",")[1]), Double.parseDouble(value.split(",")[0]), tripId);
                 if(null != distancematrix){
                     if(distancematrix.getDistance() < (distance * 1000)){
                         list.add(driver);
diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OpenCityBusinessServiceImpl.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OpenCityBusinessServiceImpl.java
index 40e16d8..4d02159 100644
--- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OpenCityBusinessServiceImpl.java
+++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OpenCityBusinessServiceImpl.java
@@ -7,6 +7,7 @@
 import com.stylefeng.guns.modular.system.util.GoogleMap.AddressComponentsVo;
 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.warpper.BaseWarpper;
 import org.springframework.stereotype.Service;
 
@@ -20,6 +21,9 @@
 
     @Resource
     private OpenCityBusinessMapper openCityBusinessMapper;
+    
+    @Resource
+    private RedisUtil redisUtil;
 
 
     /**
@@ -28,11 +32,12 @@
      * @throws Exception
      */
     @Override
-    public List<BaseWarpper> queryBusiness(Double lat, Double lnt, Integer language) throws Exception {
+    public List<BaseWarpper> queryBusiness(Integer uid, Double lat, Double lnt, Integer language) throws Exception {
         if(null == language){
             language = 2;
         }
-        ReverseGeocodeVo reverseGeocode = GoogleMapUtil.getReverseGeocode(lat, lnt);
+        String tripId = redisUtil.getValue("trip" + uid);
+        ReverseGeocodeVo reverseGeocode = GoogleMapUtil.getReverseGeocode(lat, lnt, tripId);
         if(null == reverseGeocode){
             return new ArrayList<>();
         }
diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OpenCityServiceImpl.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OpenCityServiceImpl.java
index 713ebab..a38f19a 100644
--- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OpenCityServiceImpl.java
+++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OpenCityServiceImpl.java
@@ -12,6 +12,7 @@
 import com.stylefeng.guns.modular.system.util.GoogleMap.AddressComponentsVo;
 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.warpper.BaseWarpper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -32,6 +33,9 @@
 
     @Autowired
     private IUserInfoService userInfoService;
+    
+    @Resource
+    private RedisUtil redisUtil;
 
 
     /**
@@ -70,11 +74,12 @@
      * @throws Exception
      */
     @Override
-    public City openCity(Double lat, Double lnt, Integer language) throws Exception {
+    public City openCity(Integer uid, Double lat, Double lnt, Integer language) throws Exception {
         if(null == language){
             language = 2;
         }
-        ReverseGeocodeVo reverseGeocode = GoogleMapUtil.getReverseGeocode(lat, lnt);
+        String tripId = redisUtil.getValue("trip" + uid);
+        ReverseGeocodeVo reverseGeocode = GoogleMapUtil.getReverseGeocode(lat, lnt, tripId);
         if(null == reverseGeocode){
             return null;
         }
diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OrderServiceImpl.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OrderServiceImpl.java
index c2a091f..3fba8f0 100644
--- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OrderServiceImpl.java
+++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OrderServiceImpl.java
@@ -17,6 +17,7 @@
 import com.stylefeng.guns.modular.system.util.GDMapElectricFenceUtil;
 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.RedisUtil;
 import com.stylefeng.guns.modular.system.util.ResultUtil;
 import com.stylefeng.guns.modular.system.warpper.BaseWarpper;
 import com.stylefeng.guns.modular.taxi.service.IOrderTaxiService;
@@ -29,6 +30,7 @@
 import org.springframework.util.MultiValueMap;
 import org.springframework.web.client.RestTemplate;
 
+import javax.annotation.Resource;
 import java.util.HashMap;
 import java.util.Map;
 
@@ -62,6 +64,9 @@
 
     @Autowired
     private ICarService carService;
+    
+    @Resource
+    private RedisUtil redisUtil;
 
 
     /**
@@ -74,8 +79,9 @@
      * @throws Exception
      */
     @Override
-    public ResultUtil<BaseWarpper> queryExpectedTime(Double slon, Double slat, Double elon, Double elat) throws Exception {
-        DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(slat, slon, elat, elon);
+    public ResultUtil<BaseWarpper> queryExpectedTime(Integer uid, Double slon, Double slat, Double elon, Double elat) throws Exception {
+        String tripId = redisUtil.getValue("trip" + uid);
+        DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(slat, slon, elat, elon, tripId);
         Long duration = distancematrix.getDuration() / 60;
         BaseWarpper baseWarpper = new BaseWarpper();
         baseWarpper.setMinute(duration.intValue());
diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/PhoneServiceImpl.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/PhoneServiceImpl.java
index 5d3f442..af742a4 100644
--- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/PhoneServiceImpl.java
+++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/PhoneServiceImpl.java
@@ -7,6 +7,7 @@
 import com.stylefeng.guns.modular.system.util.GoogleMap.AddressComponentsVo;
 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 org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
@@ -21,6 +22,12 @@
 
     @Resource
     private PhoneMapper phoneMapper;
+    
+    @Resource
+    private RedisUtil redisUtil;
+    
+    
+    
 
     /**
      * 获取所有系统电话
@@ -28,8 +35,9 @@
      * @throws Exception
      */
     @Override
-    public List<Phone> queryPhones(Double lat, Double lnt) throws Exception {
-        ReverseGeocodeVo reverseGeocode = GoogleMapUtil.getReverseGeocode(lat, lnt);
+    public List<Phone> queryPhones(Integer uid, Double lat, Double lnt) throws Exception {
+        String tripId = redisUtil.getValue("trip" + uid);
+        ReverseGeocodeVo reverseGeocode = GoogleMapUtil.getReverseGeocode(lat, lnt, tripId);
         if(null == reverseGeocode){
             return new ArrayList<>();
         }
@@ -49,8 +57,9 @@
      * @throws Exception
      */
     @Override
-    public Map<String, Object> queryCustomerPhone(Double lat, Double lnt) throws Exception {
-        ReverseGeocodeVo reverseGeocode = GoogleMapUtil.getReverseGeocode(lat, lnt);
+    public Map<String, Object> queryCustomerPhone(Integer uid, Double lat, Double lnt) throws Exception {
+        String tripId = redisUtil.getValue("trip" + uid);
+        ReverseGeocodeVo reverseGeocode = GoogleMapUtil.getReverseGeocode(lat, lnt, tripId);
         if(null == reverseGeocode){
             return new HashMap<>();
         }
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..7339b5f 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,10 +128,19 @@
      * @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){
+            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()));
             if(null == query1){//排除没有设置价格的车型
                 continue;
diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserCouponRecordServiceImpl.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserCouponRecordServiceImpl.java
index f07c287..9f651c7 100644
--- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserCouponRecordServiceImpl.java
+++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserCouponRecordServiceImpl.java
@@ -4,6 +4,7 @@
 import com.stylefeng.guns.modular.system.dao.UserCouponRecordMapper;
 import com.stylefeng.guns.modular.system.model.UserCouponRecord;
 import com.stylefeng.guns.modular.system.model.UserInfo;
+import com.stylefeng.guns.modular.system.service.ISystemNoticeService;
 import com.stylefeng.guns.modular.system.service.IUserCouponRecordService;
 import com.stylefeng.guns.modular.system.service.IUserInfoService;
 import com.stylefeng.guns.modular.system.util.DateUtil;
@@ -24,6 +25,12 @@
 
     @Autowired
     private IUserInfoService userInfoService;
+    
+    @Resource
+    private ISystemNoticeService systemNoticeService;
+    
+    
+    
 
 
     /**
@@ -112,6 +119,9 @@
     public ResultUtil handselCoupon(Integer id, Integer uid, Integer userId, Integer language) throws Exception {
         UserCouponRecord userCouponRecord = userCouponRecordMapper.selectById(id);
         language = userInfoService.queryLanguage(uid, language);
+        UserInfo userInfo1 = userInfoService.selectById(uid);
+        String nickName = userInfo1.getNickName();
+        String phone = userInfo1.getPhone();
         if(userCouponRecord.getUserId().compareTo(uid) != 0){
             return ResultUtil.error(language == 1 ? "您不能赠送此优惠券" : language == 2 ? "You cannot gift the coupon." : "Vous ne pouvez pas offrir le coupon.");
         }
@@ -120,6 +130,11 @@
         }
         userCouponRecord.setUserId(userId);
         userCouponRecordMapper.updateById(userCouponRecord);
+        UserInfo userInfo = userInfoService.selectById(userId);
+        Integer language1 = userInfo.getLanguage();
+        systemNoticeService.addSystemNotice(1, language1 == 1 ? nickName + "(" + phone + ")刚赠送您了一张GHS 5.00的优惠券,请查看账户。" : language1 == 2
+                ? nickName + "(" + phone + ")just gifted a GHS 5.00 coupon to you, please check your account."
+                : nickName + "(" + phone + ")vient de vous offrir un coupon de GHS 5.00, veuillez vérifier votre compte.", userId, 1);
         return ResultUtil.success();
     }
 
diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java
index e5fbae1..2c65f75 100644
--- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java
+++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java
@@ -217,7 +217,7 @@
 
             //用户所属企业
             if(null != lat && null != lng){
-                ReverseGeocodeVo reverseGeocode = GoogleMapUtil.getReverseGeocode(lat, lat);
+                ReverseGeocodeVo reverseGeocode = GoogleMapUtil.getReverseGeocode(lat, lat, null);
                 AddressComponentsVo[] addressComponentsVos = reverseGeocode.getAddressComponentsVos();
                 String[] citys = new String[addressComponentsVos.length];
                 for (int i = 0; i < addressComponentsVos.length; i++) {
@@ -1301,7 +1301,7 @@
             }
             //用户所属企业
             if(null != lat && null != lng){
-                ReverseGeocodeVo reverseGeocode = GoogleMapUtil.getReverseGeocode(lat, lng);
+                ReverseGeocodeVo reverseGeocode = GoogleMapUtil.getReverseGeocode(lat, lng, null);
                 if(null != reverseGeocode){
                     AddressComponentsVo[] addressComponentsVos = reverseGeocode.getAddressComponentsVos();
                     String[] citys = new String[addressComponentsVos.length];
diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/GoogleMapUtil.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/GoogleMapUtil.java
index 74dce96..7b56632 100644
--- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/GoogleMapUtil.java
+++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/GoogleMapUtil.java
@@ -5,6 +5,7 @@
 import com.google.gson.GsonBuilder;
 import com.google.maps.*;
 import com.google.maps.model.*;
+import com.stylefeng.guns.core.util.ToolUtil;
 
 /**
  * 谷歌地图工具类
@@ -49,12 +50,15 @@
      * @return
      * @throws Exception
      */
-    public static ReverseGeocodeVo getReverseGeocode(double lat, double lng) throws Exception{
+    public static ReverseGeocodeVo getReverseGeocode(double lat, double lng, String tripId) throws Exception{
         GeoApiContext context = new GeoApiContext.Builder()
                 .apiKey(key)
                 .build();
         GeocodingApiRequest request = GeocodingApi.reverseGeocode(context, new LatLng(lat, lng));
         request.language("en");
+        if(ToolUtil.isNotEmpty(tripId)){
+            request.header("X-Goog-Maps-Experience-ID", tripId);//行程id
+        }
         GeocodingResult[] results = request.await();
         ReverseGeocodeVo vo = null;
         if(results.length > 0){
@@ -162,13 +166,16 @@
      * @return
      * @throws Exception
      */
-    public static DistancematrixVo getDistancematrix(String origin, String destination) throws Exception{
+    public static DistancematrixVo getDistancematrix(String origin, String destination, String tripId) throws Exception{
         GeoApiContext context = new GeoApiContext.Builder()
                 .apiKey(key)
                 .build();
         DistanceMatrixApiRequest request = DistanceMatrixApi.getDistanceMatrix(context, new String[]{origin}, new String[]{destination});
         request.language("en");
         request.mode(TravelMode.DRIVING);//出行方式(驾车)
+        if(ToolUtil.isNotEmpty(tripId)){
+            request.header("X-Goog-Maps-Experience-ID", tripId);//行程id
+        }
         DistanceMatrix distanceMatrix = request.await();
         Gson gson = new GsonBuilder().setPrettyPrinting().create();
         System.err.println(gson.toJson(distanceMatrix));
@@ -197,7 +204,7 @@
      * @return
      * @throws Exception
      */
-    public static DistancematrixVo getDistancematrix(Double sLat, Double sLnt, Double eLat, Double eLnt) throws Exception{
+    public static DistancematrixVo getDistancematrix(Double sLat, Double sLnt, Double eLat, Double eLnt, String tripId) throws Exception{
         GeoApiContext context = new GeoApiContext.Builder()
                 .apiKey(key)
                 .build();
@@ -205,6 +212,9 @@
         request.origins(new LatLng(sLat, sLnt));
         request.destinations(new LatLng(eLat, eLnt));
         request.mode(TravelMode.DRIVING);//出行方式(驾车)
+        if(ToolUtil.isNotEmpty(tripId)){
+            request.header("X-Goog-Maps-Experience-ID", tripId);//行程id
+        }
         DistanceMatrix distanceMatrix = request.await();
         Gson gson = new GsonBuilder().setPrettyPrinting().create();
         System.out.println(gson.toJson(distanceMatrix));
diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java
index ded228b..e39b984 100644
--- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java
+++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java
@@ -176,7 +176,7 @@
     public synchronized ResultUtil<BaseWarpper> taxiOrder(OrderTaxi orderTaxi, Integer uid) throws Exception {
         //定义用户所属公司
         UserInfo userInfo1 = userInfoService.selectById(uid);
-        Company query = companyCityService.query1(String.valueOf(orderTaxi.getStartLon()), String.valueOf(orderTaxi.getStartLat()));
+        Company query = companyCityService.query1(orderTaxi.getUserId(), String.valueOf(orderTaxi.getStartLon()), String.valueOf(orderTaxi.getStartLat()));
         if(null == query){
             return ResultUtil.error("出发点暂未开通");
         }
@@ -1302,7 +1302,7 @@
                     if(ToolUtil.isNotEmpty(vehicle)){
                         integers = JSON.parseArray(vehicle).toJavaList(Integer.class);
                     }
-                    Company query = companyCityService.query1(String.valueOf(orderTaxi.getStartLon()), String.valueOf(orderTaxi.getStartLat()));//获取起点所属分公司
+                    Company query = companyCityService.query1(orderTaxi.getUserId(), String.valueOf(orderTaxi.getStartLon()), String.valueOf(orderTaxi.getStartLat()));//获取起点所属分公司
                     List<PushOrder> querys = pushOrderService.querys(null, 2, query.getId());//获取需要推送的次数
                     for(int i = 1; i <= querys.size(); i++){
                         PushOrder pushOrder = pushOrderService.querys(i, 2, query.getId()).get(0);

--
Gitblit v1.7.1