From ddf438536267b9c9bb77369cdccce4e67206842a Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期二, 28 十月 2025 15:29:45 +0800
Subject: [PATCH] 完成支付宝国际版支付对接

---
 DriverGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ReassignServiceImpl.java                       |  232 +-
 DriverGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java                                           |  479 ++--
 DriverGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OrderServiceImpl.java                          |  503 +++--
 UserGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java             |  538 +++-
 UserGOPOSTTravel/guns-admin/pom.xml                                                                                                       |    6 
 ManagementGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/GoogleMapUtil.java                       |    2 
 UserGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/RedEnvelopeController.java                                       |    4 
 DriverGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/PhoneController.java                                           |    2 
 UserGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/UserCallbackController.java                                      |   40 
 ManagementGOPOSTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderCrossCity/tOrderCrossCity_track.html                          |    2 
 ManagementGOPOSTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderTaxi/tOrderTaxi_trajectory.html                               |    2 
 UserGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/UserInfoController.java                                          |   48 
 UserGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/FleetEngineUtil.java                           |    2 
 DriverGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/GoogleMapUtil.java                           |    2 
 ManagementGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TReassignController.java        |  232 +-
 UserGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/WithdrawalController.java                                        |    2 
 DriverGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/FleetEngineUtil.java                         |    2 
 DriverGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java           |  282 +-
 UserGOPOSTTravel/guns-admin/src/main/resources/application-dev.yml                                                                        |   20 
 DriverGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushUtil.java                                          |   72 
 DriverGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/CarController.java                                             |    2 
 DriverGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/SettlementRecordServiceImpl.java               |  492 +++--
 UserGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OpenCityController.java                                          |    8 
 UserGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/GoogleMapUtil.java                             |    2 
 DriverGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java                         |  270 +-
 ManagementGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/FleetEngineUtil.java                     |    2 
 ManagementGOPOSTTravel/guns-admin/src/main/webapp/WEB-INF/view/home.html                                                                  |    2 
 ManagementGOPOSTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderTaxi/tOrderTaxi_edit.html                                     |    2 
 DriverGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/AntomPaymentUtil.java                                  |  237 ++
 UserGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java                                             |  369 +++
 UserGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushUtil.java                                            |   17 
 UserGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java                                            |    2 
 DriverGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/impl/OrderLogisticsServiceImpl.java          |  254 +-
 UserGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/AgreementController.java                                         |    2 
 UserGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/AntomPaymentUtil.java                                    |  237 ++
 ManagementGOPOSTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderPrivateCar/tOrderPrivateCar_trajectory.html                   |    2 
 DriverGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/SettlementRecordController.java                                |   57 
 UserGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/impl/OrderLogisticsServiceImpl.java            |  685 +++++--
 UserGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java                         |  144 +
 ManagementGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TOrderPrivateCarController.java |  110 
 ManagementGOPOSTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderPrivateCar/tOrderPrivateCar_orderDetail.html                  |    2 
 ManagementGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TPubWithdrawalController.java        |   22 
 UserGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/controller/OrderLogisticsController.java              |    8 
 ManagementGOPOSTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderCrossCity/tOrderCrossCity_detail.html                         |    2 
 DriverGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/WithdrawalController.java                                      |    2 
 ManagementGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TOrderLogisticsController.java  |   42 
 DriverGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java                                          |   66 
 UserGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/ServerCarModelController.java                                    |    2 
 DriverGOPOSTTravel/guns-admin/pom.xml                                                                                                     |    6 
 UserGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/PhoneController.java                                             |    4 
 UserGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/AdvertisementController.java                                     |    2 
 51 files changed, 3,635 insertions(+), 1,891 deletions(-)

diff --git a/DriverGOPOSTTravel/guns-admin/pom.xml b/DriverGOPOSTTravel/guns-admin/pom.xml
index 6cd6184..231c945 100644
--- a/DriverGOPOSTTravel/guns-admin/pom.xml
+++ b/DriverGOPOSTTravel/guns-admin/pom.xml
@@ -326,6 +326,12 @@
             <groupId>cn.hutool</groupId>
             <artifactId>hutool-all</artifactId>
         </dependency>
+        <!--支付宝国际版-->
+        <dependency>
+            <groupId>com.alipay.global.sdk</groupId>
+            <artifactId>global-open-sdk-java</artifactId>
+            <version>2.0.69</version>
+        </dependency>
     </dependencies>
     
     
diff --git a/DriverGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/CarController.java b/DriverGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/CarController.java
index d4fb3f3..38aff31 100644
--- a/DriverGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/CarController.java
+++ b/DriverGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/CarController.java
@@ -99,7 +99,7 @@
      */
     @ResponseBody
     @PostMapping("/api/car/addCar")
-    @ApiOperation(value = "添加车辆【1.0】", tags = {"司机端-个人中心"}, notes = "")
+    @ApiOperation(value = "添加车辆", tags = {"司机端-个人中心"}, notes = "")
     @ApiImplicitParams({
             @ApiImplicitParam(value = "车辆型号id", name = "modelId", required = false, dataType = "int"),
             @ApiImplicitParam(value = "车辆id", name = "id", required = false, dataType = "int"),
diff --git a/DriverGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java b/DriverGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java
index 574f879..8e70018 100644
--- a/DriverGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java
+++ b/DriverGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java
@@ -186,7 +186,7 @@
 
     @ResponseBody
     @PostMapping("/base/driver/queryEmailCaptcha")
-    @ApiOperation(value = "发送验证码【1.0】", tags = {"司机端-注册"}, notes = "")
+    @ApiOperation(value = "发送验证码", tags = {"司机端-注册"}, notes = "")
     @ApiImplicitParams({
             @ApiImplicitParam(value = "邮箱地址", name = "email", required = true, dataType = "String"),
     })
@@ -376,7 +376,7 @@
 
     @ResponseBody
     @PostMapping("/api/driver/editEmail")
-    @ApiOperation(value = "个人中心修改邮箱【1.0】", tags = {"司机端-个人中心"}, notes = "")
+    @ApiOperation(value = "个人中心修改邮箱", tags = {"司机端-个人中心"}, notes = "")
     @ApiImplicitParams({
             @ApiImplicitParam(value = "邮箱", name = "email", required = true, dataType = "string"),
             @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
@@ -436,7 +436,7 @@
      */
     @ResponseBody
     @PostMapping("/base/driver/addDriverCar")
-    @ApiOperation(value = "司机注册后完善车辆信息【1.0】", tags = {"司机端-注册"}, notes = "")
+    @ApiOperation(value = "司机注册后完善车辆信息", tags = {"司机端-注册"}, notes = "")
     @ApiImplicitParams({
             @ApiImplicitParam(value = "车辆型号id", name = "modelId", required = true, dataType = "int"),
             @ApiImplicitParam(value = "车辆颜色", name = "color", required = true, dataType = "string"),
@@ -548,7 +548,7 @@
      */
     @ResponseBody
     @PostMapping("/base/driver/queryPhone")
-    @ApiOperation(value = "获取忘记密码页面的电话【1.0】", tags = {"司机端-登录"}, notes = "")
+    @ApiOperation(value = "获取忘记密码页面的电话", tags = {"司机端-登录"}, notes = "")
     @ApiImplicitParams({
             @ApiImplicitParam(value = "当前定位纬度", name = "lat", required = true, dataType = "double"),
             @ApiImplicitParam(value = "当前定位经度", name = "lnt", required = true, dataType = "double")
@@ -627,7 +627,7 @@
      */
     @ResponseBody
     @PostMapping("/api/driver/work")
-    @ApiOperation(value = "司机上下班操作【1.0】", tags = {"司机端-首页"}, notes = "")
+    @ApiOperation(value = "司机上下班操作", tags = {"司机端-首页"}, notes = "")
     @ApiImplicitParams({
             @ApiImplicitParam(value = "上班的业务类型(1=专车,4=小件物流-同城)多个已逗号分隔", name = "type", required = false, dataType = "String"),
             @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
@@ -708,7 +708,7 @@
 
     @ResponseBody
     @PostMapping("/api/driver/work2")
-    @ApiOperation(value = "司机上下班操作,同时设置接单类型【1.0】", tags = {"司机端-车载端"}, notes = "")
+    @ApiOperation(value = "司机上下班操作,同时设置接单类型", tags = {"司机端-车载端"}, notes = "")
     @ApiImplicitParams({
             @ApiImplicitParam(value = "上班的业务类型(1=专车,4=小件物流-同城)多个已逗号分隔", name = "type", required = false, dataType = "String"),
             @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
@@ -820,7 +820,7 @@
      */
     @ResponseBody
     @PostMapping("/api/driver/queryInfo")
-    @ApiOperation(value = "获取个人中心详情【1.0】", tags = {"司机端-个人中心"}, notes = "")
+    @ApiOperation(value = "获取个人中心详情", tags = {"司机端-个人中心"}, notes = "")
     @ApiImplicitParams({
             @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
     })
@@ -895,7 +895,7 @@
 
     @ResponseBody
     @PostMapping("/api/driver/editLanguage")
-    @ApiOperation(value = "修改系统语言【1.0】", tags = {"司机端-个人中心"}, notes = "")
+    @ApiOperation(value = "修改系统语言", tags = {"司机端-个人中心"}, notes = "")
     @ApiImplicitParams({
             @ApiImplicitParam(value = "语言类型(1=简体中文,2=英语,3=法语)", name = "language", required = true, dataType = "String"),
             @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
@@ -1208,7 +1208,7 @@
      */
     @ResponseBody
     @PostMapping("/api/driver/queryTotalRevenue")
-    @ApiOperation(value = "获取收入明细【2.0】", tags = {"司机端-个人中心"}, notes = "")
+    @ApiOperation(value = "获取收入明细", tags = {"司机端-个人中心"}, notes = "")
     @ApiImplicitParams({
             @ApiImplicitParam(value = "页码,首页1", name = "pageNum", required = true, dataType = "int"),
             @ApiImplicitParam(value = "页条数", name = "size", required = true, dataType = "int"),
@@ -1750,7 +1750,7 @@
     
     @ResponseBody
     @PostMapping("/api/driver/queryBalanceUsageRecord")
-    @ApiOperation(value = "获取余额使用记录【2.0】", tags = {"司机端-个人中心"}, notes = "")
+    @ApiOperation(value = "获取余额使用记录", tags = {"司机端-个人中心"}, notes = "")
     @ApiImplicitParams({
             @ApiImplicitParam(value = "页码,首页1", name = "pageNum", required = true, dataType = "int"),
             @ApiImplicitParam(value = "页条数", name = "size", required = true, dataType = "int"),
@@ -1775,29 +1775,29 @@
     
     
     
-    @ResponseBody
-    @PostMapping("/api/driver/getFleetEngineAuth")
-    @ApiOperation(value = "获取google地图授权token", tags = {"司机端-个人中心"}, notes = "")
-    @ApiImplicitParams({
-            @ApiImplicitParam(value = "车辆id", name = "vehicleId", required = true, dataType = "string"),
-            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
-    })
-    public ResultUtil<Map<String, Object>> getFleetEngineAuth(String vehicleId, HttpServletRequest request){
-        try {
-            Integer uid = driverService.getUserIdFormRedis(request);
-            if(null == uid){
-                return ResultUtil.tokenErr();
-            }
-            if(!StringUtils.hasLength(vehicleId)){
-                return ResultUtil.paranErr();
-            }
-            Map<String, Object> s = fleetEngineUtil.fleetEngineAuth(2, vehicleId);
-            return ResultUtil.success(s);
-        }catch (Exception e){
-            e.printStackTrace();
-            return ResultUtil.runErr();
-        }
-    }
+//    @ResponseBody
+//    @PostMapping("/api/driver/getFleetEngineAuth")
+//    @ApiOperation(value = "获取google地图授权token", tags = {"司机端-个人中心"}, notes = "")
+//    @ApiImplicitParams({
+//            @ApiImplicitParam(value = "车辆id", name = "vehicleId", required = true, dataType = "string"),
+//            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
+//    })
+//    public ResultUtil<Map<String, Object>> getFleetEngineAuth(String vehicleId, HttpServletRequest request){
+//        try {
+//            Integer uid = driverService.getUserIdFormRedis(request);
+//            if(null == uid){
+//                return ResultUtil.tokenErr();
+//            }
+//            if(!StringUtils.hasLength(vehicleId)){
+//                return ResultUtil.paranErr();
+//            }
+//            Map<String, Object> s = fleetEngineUtil.fleetEngineAuth(2, vehicleId);
+//            return ResultUtil.success(s);
+//        }catch (Exception e){
+//            e.printStackTrace();
+//            return ResultUtil.runErr();
+//        }
+//    }
     
     
     
diff --git a/DriverGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java b/DriverGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java
index e5be16e..2d4055d 100644
--- a/DriverGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java
+++ b/DriverGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java
@@ -3,6 +3,9 @@
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
+import com.alipay.global.api.model.Result;
+import com.alipay.global.api.model.ResultStatusType;
+import com.alipay.global.api.request.ams.notify.AlipayPayResultNotify;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.stylefeng.guns.core.util.MD5Util;
 import com.stylefeng.guns.core.util.ToolUtil;
@@ -34,12 +37,10 @@
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import javax.validation.Valid;
 import javax.validation.constraints.NotNull;
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.InputStreamReader;
+import java.io.*;
 import java.util.*;
 
 /**
@@ -168,7 +169,7 @@
      */
     @ResponseBody
     @PostMapping("/api/order/queryMyAllOrder")
-    @ApiOperation(value = "获取我的订单列表【2.0】", tags = {"司机端-首页"}, notes = "")
+    @ApiOperation(value = "获取我的订单列表", tags = {"司机端-首页"}, notes = "")
     @ApiImplicitParams({
             @ApiImplicitParam(value = "数据类型(1=全部,2=待支付,3=已取消,4=已完成)", name = "state", required = true, dataType = "int"),
             @ApiImplicitParam(value = "页码,首页1", name = "pageNum", required = true, dataType = "int"),
@@ -200,7 +201,7 @@
      */
     @ResponseBody
     @PostMapping("/api/order/queryPushOrder")
-    @ApiOperation(value = "获取抢单界面的订单详情【1.0】", tags = {"司机端-首页"}, notes = "")
+    @ApiOperation(value = "获取抢单界面的订单详情", tags = {"司机端-首页"}, notes = "")
     @ApiImplicitParams({
             @ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"),
             @ApiImplicitParam(value = "订单类型(1=专车,4=小件物流-同城)", name = "orderType", required = true, dataType = "int"),
@@ -260,7 +261,7 @@
      */
     @ResponseBody
     @PostMapping("/api/order/queryOrderInfo")
-    @ApiOperation(value = "获取服务中页面订单详情【2.0】", tags = {"司机端-服务中"}, notes = "",response = OrderInfoWarpper.class)
+    @ApiOperation(value = "获取服务中页面订单详情", tags = {"司机端-服务中"}, notes = "",response = OrderInfoWarpper.class)
     @ApiImplicitParams({
             @ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"),
             @ApiImplicitParam(value = "订单类型(1=专车,4=小件物流-同城)", name = "orderType", required = true, dataType = "int"),
@@ -699,7 +700,7 @@
 
     @ResponseBody
     @PostMapping("/api/order/queryMoneyInfo")
-    @ApiOperation(value = "获取订单费用明细【2.0】", tags = {"司机端-服务中"}, notes = "")
+    @ApiOperation(value = "获取订单费用明细", tags = {"司机端-服务中"}, notes = "")
     @ApiImplicitParams({
             @ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"),
             @ApiImplicitParam(value = "订单类型(1=专车,4=同城小件物流)", name = "orderType", required = true, dataType = "int"),
@@ -849,13 +850,55 @@
         }
         return callbackResponse;
     }
+
+
+    @ResponseBody
+    @PostMapping("/base/wxPayOrderTaxiAntom")
+    public void wxPayOrderTaxiAntom(HttpServletRequest request, HttpServletResponse response){
+        try {
+            ResultUtil<AlipayPayResultNotify> resultUtil = AntomPaymentUtil.receivePaymentNotify(request);
+            Integer code = resultUtil.getCode();
+            if(200 == code){
+                AlipayPayResultNotify alipayPayResultNotify = resultUtil.getData();
+                Result result = alipayPayResultNotify.getResult();
+                ResultStatusType resultStatus = result.getResultStatus();
+                if(resultStatus.equals(ResultStatusType.S)){
+                    String out_trade_no = alipayPayResultNotify.getPaymentRequestId();
+                    String order_id = alipayPayResultNotify.getPaymentId();
+                    Integer orderType = Integer.valueOf(out_trade_no.substring(17, 18));
+                    Integer language = Integer.valueOf(out_trade_no.substring(18, 19));
+                    Integer id = Integer.valueOf(out_trade_no.substring(19));
+                    switch (orderType){
+                        case 1:
+                            orderPrivateCarService.payOrderPrivateCarCallback(id, order_id, language);
+                            break;
+                        case 4:
+                            orderLogisticsService.payOrderLogisticsCallback(id, order_id, language);
+                            break;
+                    }
+                    PrintWriter out = response.getWriter();
+                    out.write("{\n" +
+                            "  \"result\": {\n" +
+                            "    \"resultCode\": \"SUCCESS\",\n" +
+                            "    \"resultMessage\": \"success\",\n" +
+                            "    \"resultStatus\": \"S\"\n" +
+                            "  }\n" +
+                            "}");
+                    out.flush();
+                    out.close();
+                }
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+        }
+    }
     
     
     
     
     @ResponseBody
     @PostMapping("/api/taxi/updateEndAddress")
-    @ApiOperation(value = "处理乘客修改目的地【2.0】", tags = {"用户端-专车", "用户端-小件物流"}, notes = "")
+    @ApiOperation(value = "处理乘客修改目的地", tags = {"用户端-专车", "用户端-小件物流"}, notes = "")
     @ApiImplicitParams({
             @ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"),
             @ApiImplicitParam(value = "订单类型", name = "orderType", required = true, dataType = "int"),
@@ -886,41 +929,41 @@
     
     
     
-    @ResponseBody
-    @PostMapping("/api/taxi/getTripInfo")
-    @ApiOperation(value = "获取google行程详情【2.0】", tags = {"用户端-专车", "用户端-小件物流"}, notes = "")
-    @ApiImplicitParams({
-            @ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"),
-            @ApiImplicitParam(value = "订单类型", name = "orderType", required = true, dataType = "int"),
-            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
-    })
-    public ResultUtil<String> getTripInfo(Integer orderId, Integer orderType){
-        try {
-            String tripId = null;
-            switch (orderType){
-                case 1:
-                    OrderPrivateCar orderPrivateCar = orderPrivateCarService.selectById(orderId);
-                    tripId = orderPrivateCar.getTripId();
-                    break;
-                case 4:
-                    OrderLogistics orderLogistics = orderLogisticsService.selectById(orderId);
-                    tripId = orderLogistics.getTripId();
-                    break;
-            }
-            String trip = fleetEngineUtil.getTrip(tripId);
-            return ResultUtil.success(trip);
-        }catch (Exception e){
-            e.printStackTrace();
-            return ResultUtil.runErr();
-        }
-    }
+//    @ResponseBody
+//    @PostMapping("/api/taxi/getTripInfo")
+//    @ApiOperation(value = "获取google行程详情", tags = {"用户端-专车", "用户端-小件物流"}, notes = "")
+//    @ApiImplicitParams({
+//            @ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"),
+//            @ApiImplicitParam(value = "订单类型", name = "orderType", required = true, dataType = "int"),
+//            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
+//    })
+//    public ResultUtil<String> getTripInfo(Integer orderId, Integer orderType){
+//        try {
+//            String tripId = null;
+//            switch (orderType){
+//                case 1:
+//                    OrderPrivateCar orderPrivateCar = orderPrivateCarService.selectById(orderId);
+//                    tripId = orderPrivateCar.getTripId();
+//                    break;
+//                case 4:
+//                    OrderLogistics orderLogistics = orderLogisticsService.selectById(orderId);
+//                    tripId = orderLogistics.getTripId();
+//                    break;
+//            }
+//            String trip = fleetEngineUtil.getTrip(tripId);
+//            return ResultUtil.success(trip);
+//        }catch (Exception e){
+//            e.printStackTrace();
+//            return ResultUtil.runErr();
+//        }
+//    }
     
     
-    @ResponseBody
-    @PostMapping("/base/taxi/getTripInfo")
-    public ResultUtil getTripInfo(String tripId){
-        return ResultUtil.success(fleetEngineUtil.getTrip(tripId));
-    }
+//    @ResponseBody
+//    @PostMapping("/base/taxi/getTripInfo")
+//    public ResultUtil getTripInfo(String tripId){
+//        return ResultUtil.success(fleetEngineUtil.getTrip(tripId));
+//    }
     
     
     
@@ -930,15 +973,15 @@
      * @param tripId
      * @return
      */
-    @ResponseBody
-    @PostMapping("/base/taxi/editTripStatus")
-    public ResultUtil editTripStatus(String tripStatus, String tripId){
-        boolean b = fleetEngineUtil.updateTrip(tripStatus, null, null, tripId, null, null, null, null, null, null);
-        if(b){
-            return ResultUtil.success();
-        }
-        return ResultUtil.error("更新失败");
-    }
+//    @ResponseBody
+//    @PostMapping("/base/taxi/editTripStatus")
+//    public ResultUtil editTripStatus(String tripStatus, String tripId){
+//        boolean b = fleetEngineUtil.updateTrip(tripStatus, null, null, tripId, null, null, null, null, null, null);
+//        if(b){
+//            return ResultUtil.success();
+//        }
+//        return ResultUtil.error("更新失败");
+//    }
     
     
     /**
@@ -969,163 +1012,189 @@
     
     
     
+//    @ResponseBody
+//    @PostMapping("/base/taxi/editGoogleTripStatus")
+//    public ResultUtil editGoogleTripStatus(){
+//        List<OrderPrivateCar> privateCars = orderPrivateCarService.selectList(new EntityWrapper<OrderPrivateCar>().isNotNull("tripId"));
+//        for (OrderPrivateCar privateCar : privateCars) {
+//            Integer state = privateCar.getState();
+//            String tripId = privateCar.getTripId();
+//            String trip = fleetEngineUtil.getTrip(tripId);
+//            if(ToolUtil.isNotEmpty(trip)){
+//                JSONObject jsonObject = JSON.parseObject(trip);
+//                String tripStatus = jsonObject.getString("tripStatus");
+//                Car car = carService.selectById(privateCar.getCarId());
+//                if(Arrays.asList(10, 12).contains(state) && !"CANCELED".equals(tripStatus)){
+//                    //修改行程信息
+//                    boolean updateTrip = fleetEngineUtil.updateTrip("CANCELED", (null != car ? car.getVehicleId() : null), null, tripId, null, null, null, null, privateCar.getId(), 1);
+//                    if(!updateTrip){
+//                        for (int i = 0; i < 5; i++) {
+//                            updateTrip = fleetEngineUtil.updateTrip("CANCELED", (null != car ? car.getVehicleId() : null), null, tripId, null, null, null, null, privateCar.getId(), 1);
+//                            if(updateTrip){
+//                                privateCar.setIsover(1);
+//                                orderPrivateCarService.updateById(privateCar);
+//                                break;
+//                            }
+//                            try {
+//                                Thread.sleep(3000L);
+//                            } catch (InterruptedException e) {
+//                                e.printStackTrace();
+//                            }
+//                        }
+//                    }else{
+//                        privateCar.setIsover(1);
+//                        orderPrivateCarService.updateById(privateCar);
+//                    }
+//                }
+//                if(Arrays.asList(6, 7, 8, 9).contains(state) && !"COMPLETE".equals(tripStatus)){
+//                    //修改行程信息
+//                    boolean updateTrip = fleetEngineUtil.updateTrip("COMPLETE", (null != car ? car.getVehicleId() : null), null, tripId, null, null, null, null, privateCar.getId(), 1);
+//                    if(!updateTrip){
+//                        for (int i = 0; i < 5; i++) {
+//                            updateTrip = fleetEngineUtil.updateTrip("COMPLETE", (null != car ? car.getVehicleId() : null), null, tripId, null, null, null, null, privateCar.getId(), 1);
+//                            if(updateTrip){
+//                                privateCar.setIsover(1);
+//                                orderPrivateCarService.updateById(privateCar);
+//                                break;
+//                            }
+//                            try {
+//                                Thread.sleep(3000L);
+//                            } catch (InterruptedException e) {
+//                                e.printStackTrace();
+//                            }
+//                        }
+//                    }else{
+//                        privateCar.setIsover(1);
+//                        orderPrivateCarService.updateById(privateCar);
+//                    }
+//                }
+//            }
+//        }
+//        List<OrderLogistics> orderLogisticsList = orderLogisticsService.selectList(new EntityWrapper<OrderLogistics>().isNotNull("tripId"));
+//        for (OrderLogistics orderLogistics : orderLogisticsList) {
+//            Integer state = orderLogistics.getState();
+//            String tripId = orderLogistics.getTripId();
+//            String trip = fleetEngineUtil.getTrip(tripId);
+//            if(ToolUtil.isNotEmpty(trip)){
+//                JSONObject jsonObject = JSON.parseObject(trip);
+//                String tripStatus = jsonObject.getString("tripStatus");
+//                Car car = carService.selectById(orderLogistics.getCarId());
+//                if(Arrays.asList(10, 12).contains(state) && !"CANCELED".equals(tripStatus)){
+//                    //修改行程信息
+//                    boolean updateTrip = fleetEngineUtil.updateTrip("CANCELED", (null != car ? car.getVehicleId() : null), null, tripId, null, null, null, null, orderLogistics.getId(), 4);
+//                    if(!updateTrip){
+//                        for (int i = 0; i < 5; i++) {
+//                            updateTrip = fleetEngineUtil.updateTrip("CANCELED", (null != car ? car.getVehicleId() : null), null, tripId, null, null, null, null, orderLogistics.getId(), 4);
+//                            if(updateTrip){
+//                                orderLogistics.setIsover(1);
+//                                orderLogisticsService.updateById(orderLogistics);
+//                                break;
+//                            }
+//                            try {
+//                                Thread.sleep(3000L);
+//                            } catch (InterruptedException e) {
+//                                e.printStackTrace();
+//                            }
+//                        }
+//                    }else{
+//                        orderLogistics.setIsover(1);
+//                        orderLogisticsService.updateById(orderLogistics);
+//                    }
+//                }
+//                if(Arrays.asList(6, 7, 8, 9).contains(state) && !"COMPLETE".equals(tripStatus)){
+//                    //修改行程信息
+//                    boolean updateTrip = fleetEngineUtil.updateTrip("COMPLETE", (null != car ? car.getVehicleId() : null), null, tripId, null, null, null, null, orderLogistics.getId(), 4);
+//                    if(!updateTrip){
+//                        for (int i = 0; i < 5; i++) {
+//                            updateTrip = fleetEngineUtil.updateTrip("COMPLETE", (null != car ? car.getVehicleId() : null), null, tripId, null, null, null, null, orderLogistics.getId(), 4);
+//                            if(updateTrip){
+//                                orderLogistics.setIsover(1);
+//                                orderLogisticsService.updateById(orderLogistics);
+//                                break;
+//                            }
+//                            try {
+//                                Thread.sleep(3000L);
+//                            } catch (InterruptedException e) {
+//                                e.printStackTrace();
+//                            }
+//                        }
+//                    }else{
+//                        orderLogistics.setIsover(1);
+//                        orderLogisticsService.updateById(orderLogistics);
+//                    }
+//                }
+//            }
+//        }
+//        return ResultUtil.success();
+//    }
+    
+    
+//    @ResponseBody
+//    @PostMapping("/base/taxi/getTrips")
+//    public String getTrips(String vehicleId, Integer pageSize, String pageToken){
+//        return fleetEngineUtil.getTrips(vehicleId, pageSize, pageToken);
+//    }
+
+
+
+
+//    @ResponseBody
+//    @GetMapping("/base/taxi/getTripsStatus")
+//    public ResultUtil<List<Map<String, String>>> getTripsStatus(){
+//        String pageToken = null;
+//        List<Map<String, String>> list = new ArrayList<>();
+//        while (true){
+//            String trips = fleetEngineUtil.getTrips(null, 50, pageToken);
+//            if(ToolUtil.isEmpty(trips)){
+//                break;
+//            }
+//            JSONObject jsonObject = JSON.parseObject(trips);
+//            JSONArray array = jsonObject.getJSONArray("trips");
+//            if(null == array){
+//                break;
+//            }
+//            for (int i = 0; i < array.size(); i++) {
+//                JSONObject trip = array.getJSONObject(i);
+//                String tripStatus = trip.getString("tripStatus");
+//                String name = trip.getString("name");
+//                Integer index = name.lastIndexOf("/") + 1;
+//                String tripId = name.substring(index);
+//
+//                Map<String, String> map = new HashMap<>();
+//                map.put(tripId, tripStatus);
+//                list.add(map);
+//            }
+//
+//            pageToken = jsonObject.getString("nextPageToken");
+//            if(null == pageToken){
+//                break;
+//            }
+//        }
+//        return ResultUtil.success(list);
+//    }
+
+
+
     @ResponseBody
-    @PostMapping("/base/taxi/editGoogleTripStatus")
-    public ResultUtil editGoogleTripStatus(){
-        List<OrderPrivateCar> privateCars = orderPrivateCarService.selectList(new EntityWrapper<OrderPrivateCar>().isNotNull("tripId"));
-        for (OrderPrivateCar privateCar : privateCars) {
-            Integer state = privateCar.getState();
-            String tripId = privateCar.getTripId();
-            String trip = fleetEngineUtil.getTrip(tripId);
-            if(ToolUtil.isNotEmpty(trip)){
-                JSONObject jsonObject = JSON.parseObject(trip);
-                String tripStatus = jsonObject.getString("tripStatus");
-                Car car = carService.selectById(privateCar.getCarId());
-                if(Arrays.asList(10, 12).contains(state) && !"CANCELED".equals(tripStatus)){
-                    //修改行程信息
-                    boolean updateTrip = fleetEngineUtil.updateTrip("CANCELED", (null != car ? car.getVehicleId() : null), null, tripId, null, null, null, null, privateCar.getId(), 1);
-                    if(!updateTrip){
-                        for (int i = 0; i < 5; i++) {
-                            updateTrip = fleetEngineUtil.updateTrip("CANCELED", (null != car ? car.getVehicleId() : null), null, tripId, null, null, null, null, privateCar.getId(), 1);
-                            if(updateTrip){
-                                privateCar.setIsover(1);
-                                orderPrivateCarService.updateById(privateCar);
-                                break;
-                            }
-                            try {
-                                Thread.sleep(3000L);
-                            } catch (InterruptedException e) {
-                                e.printStackTrace();
-                            }
-                        }
-                    }else{
-                        privateCar.setIsover(1);
-                        orderPrivateCarService.updateById(privateCar);
-                    }
-                }
-                if(Arrays.asList(6, 7, 8, 9).contains(state) && !"COMPLETE".equals(tripStatus)){
-                    //修改行程信息
-                    boolean updateTrip = fleetEngineUtil.updateTrip("COMPLETE", (null != car ? car.getVehicleId() : null), null, tripId, null, null, null, null, privateCar.getId(), 1);
-                    if(!updateTrip){
-                        for (int i = 0; i < 5; i++) {
-                            updateTrip = fleetEngineUtil.updateTrip("COMPLETE", (null != car ? car.getVehicleId() : null), null, tripId, null, null, null, null, privateCar.getId(), 1);
-                            if(updateTrip){
-                                privateCar.setIsover(1);
-                                orderPrivateCarService.updateById(privateCar);
-                                break;
-                            }
-                            try {
-                                Thread.sleep(3000L);
-                            } catch (InterruptedException e) {
-                                e.printStackTrace();
-                            }
-                        }
-                    }else{
-                        privateCar.setIsover(1);
-                        orderPrivateCarService.updateById(privateCar);
-                    }
-                }
+    @PostMapping("/api/order/getDriverOrderMessage")
+    @ApiOperation(value = "司机定时任务获取订单相关socket消息【1.0】", tags = {"用户端-专车", "用户端-小件物流"}, notes = "消息数据结构和socket推送一样")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
+    })
+    public ResultUtil getDriverOrderMessage(HttpServletRequest request){
+        try {
+            Integer uid = driverService.getUserIdFormRedis(request);
+            if(null == uid){
+                return ResultUtil.tokenErr();
             }
+            String value = redisUtil.getValue("DRIVER_ORDER_MESSAGE:" + uid);
+            JSONObject jsonObject = JSON.parseObject(value);
+            redisUtil.remove("DRIVER_ORDER_MESSAGE:" + uid);
+            return ResultUtil.success(jsonObject);
+        }catch (Exception e){
+            e.printStackTrace();
+            return ResultUtil.runErr();
         }
-        List<OrderLogistics> orderLogisticsList = orderLogisticsService.selectList(new EntityWrapper<OrderLogistics>().isNotNull("tripId"));
-        for (OrderLogistics orderLogistics : orderLogisticsList) {
-            Integer state = orderLogistics.getState();
-            String tripId = orderLogistics.getTripId();
-            String trip = fleetEngineUtil.getTrip(tripId);
-            if(ToolUtil.isNotEmpty(trip)){
-                JSONObject jsonObject = JSON.parseObject(trip);
-                String tripStatus = jsonObject.getString("tripStatus");
-                Car car = carService.selectById(orderLogistics.getCarId());
-                if(Arrays.asList(10, 12).contains(state) && !"CANCELED".equals(tripStatus)){
-                    //修改行程信息
-                    boolean updateTrip = fleetEngineUtil.updateTrip("CANCELED", (null != car ? car.getVehicleId() : null), null, tripId, null, null, null, null, orderLogistics.getId(), 4);
-                    if(!updateTrip){
-                        for (int i = 0; i < 5; i++) {
-                            updateTrip = fleetEngineUtil.updateTrip("CANCELED", (null != car ? car.getVehicleId() : null), null, tripId, null, null, null, null, orderLogistics.getId(), 4);
-                            if(updateTrip){
-                                orderLogistics.setIsover(1);
-                                orderLogisticsService.updateById(orderLogistics);
-                                break;
-                            }
-                            try {
-                                Thread.sleep(3000L);
-                            } catch (InterruptedException e) {
-                                e.printStackTrace();
-                            }
-                        }
-                    }else{
-                        orderLogistics.setIsover(1);
-                        orderLogisticsService.updateById(orderLogistics);
-                    }
-                }
-                if(Arrays.asList(6, 7, 8, 9).contains(state) && !"COMPLETE".equals(tripStatus)){
-                    //修改行程信息
-                    boolean updateTrip = fleetEngineUtil.updateTrip("COMPLETE", (null != car ? car.getVehicleId() : null), null, tripId, null, null, null, null, orderLogistics.getId(), 4);
-                    if(!updateTrip){
-                        for (int i = 0; i < 5; i++) {
-                            updateTrip = fleetEngineUtil.updateTrip("COMPLETE", (null != car ? car.getVehicleId() : null), null, tripId, null, null, null, null, orderLogistics.getId(), 4);
-                            if(updateTrip){
-                                orderLogistics.setIsover(1);
-                                orderLogisticsService.updateById(orderLogistics);
-                                break;
-                            }
-                            try {
-                                Thread.sleep(3000L);
-                            } catch (InterruptedException e) {
-                                e.printStackTrace();
-                            }
-                        }
-                    }else{
-                        orderLogistics.setIsover(1);
-                        orderLogisticsService.updateById(orderLogistics);
-                    }
-                }
-            }
-        }
-        return ResultUtil.success();
     }
-    
-    
-    @ResponseBody
-    @PostMapping("/base/taxi/getTrips")
-    public String getTrips(String vehicleId, Integer pageSize, String pageToken){
-        return fleetEngineUtil.getTrips(vehicleId, pageSize, pageToken);
-    }
-    
-    @ResponseBody
-    @GetMapping("/base/taxi/getTripsStatus")
-    public ResultUtil<List<Map<String, String>>> getTripsStatus(){
-        String pageToken = null;
-        List<Map<String, String>> list = new ArrayList<>();
-        while (true){
-            String trips = fleetEngineUtil.getTrips(null, 50, pageToken);
-            if(ToolUtil.isEmpty(trips)){
-                break;
-            }
-            JSONObject jsonObject = JSON.parseObject(trips);
-            JSONArray array = jsonObject.getJSONArray("trips");
-            if(null == array){
-                break;
-            }
-            for (int i = 0; i < array.size(); i++) {
-                JSONObject trip = array.getJSONObject(i);
-                String tripStatus = trip.getString("tripStatus");
-                String name = trip.getString("name");
-                Integer index = name.lastIndexOf("/") + 1;
-                String tripId = name.substring(index);
-    
-                Map<String, String> map = new HashMap<>();
-                map.put(tripId, tripStatus);
-                list.add(map);
-            }
-        
-            pageToken = jsonObject.getString("nextPageToken");
-            if(null == pageToken){
-                break;
-            }
-        }
-        return ResultUtil.success(list);
-    }
-    
     
 }
diff --git a/DriverGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/PhoneController.java b/DriverGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/PhoneController.java
index d63c832..798112d 100644
--- a/DriverGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/PhoneController.java
+++ b/DriverGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/PhoneController.java
@@ -40,7 +40,7 @@
      */
     @ResponseBody
     @PostMapping("/queryCustomerPhone")
-    @ApiOperation(value = "获取个人中心的客服电话【1.0】", tags = {"司机端-首页"}, notes = "platform(平台电话),company(本地电话),scheduling(调度电话)")
+    @ApiOperation(value = "获取个人中心的客服电话", tags = {"司机端-首页"}, notes = "platform(平台电话),company(本地电话),scheduling(调度电话)")
     @ApiImplicitParams({
             @ApiImplicitParam(value = "当前定位纬度", name = "lat", required = true, dataType = "double"),
             @ApiImplicitParam(value = "当前定位经度", name = "lnt", required = true, dataType = "double"),
diff --git a/DriverGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/SettlementRecordController.java b/DriverGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/SettlementRecordController.java
index 1c8eb10..28db7e8 100644
--- a/DriverGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/SettlementRecordController.java
+++ b/DriverGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/SettlementRecordController.java
@@ -1,6 +1,9 @@
 package com.stylefeng.guns.modular.api;
 
 import com.alibaba.fastjson.JSON;
+import com.alipay.global.api.model.Result;
+import com.alipay.global.api.model.ResultStatusType;
+import com.alipay.global.api.request.ams.notify.AlipayPayResultNotify;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.stylefeng.guns.core.util.MD5Util;
 import com.stylefeng.guns.core.util.ToolUtil;
@@ -8,6 +11,7 @@
 import com.stylefeng.guns.modular.system.service.IDriverService;
 import com.stylefeng.guns.modular.system.service.IIncomeService;
 import com.stylefeng.guns.modular.system.service.ISettlementRecordService;
+import com.stylefeng.guns.modular.system.util.AntomPaymentUtil;
 import com.stylefeng.guns.modular.system.util.RedisUtil;
 import com.stylefeng.guns.modular.system.util.ResultUtil;
 import com.stylefeng.guns.modular.system.util.Tingg.model.CallbackRequest;
@@ -25,6 +29,8 @@
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.PrintWriter;
 import java.util.Date;
 import java.util.List;
 
@@ -107,7 +113,7 @@
 
     @ResponseBody
     @PostMapping("/api/settlementRecord/queryHistoricalSettlement")
-    @ApiOperation(value = "获取结算历史记录【2.0】", tags = {"司机端-个人中心"}, notes = "")
+    @ApiOperation(value = "获取结算历史记录", tags = {"司机端-个人中心"}, notes = "")
     @ApiImplicitParams({
             @ApiImplicitParam(value = "页码,首页1", name = "pageNum", required = true, dataType = "int"),
             @ApiImplicitParam(value = "页条数", name = "size", required = true, dataType = "int"),
@@ -219,4 +225,53 @@
         log.info("结算支付回调结果处理结束:{}", JSON.toJSONString(callbackResponse));
         return callbackResponse;
     }
+
+
+
+    @ResponseBody
+    @PostMapping("/base/settlementRecord/paymentSettlementAmountCallbackAntom")
+    public void paymentSettlementAmountCallbackAntom(HttpServletRequest request, HttpServletResponse response){
+        try {
+            ResultUtil<AlipayPayResultNotify> resultUtil = AntomPaymentUtil.receivePaymentNotify(request);
+            Integer code = resultUtil.getCode();
+            if(200 == code){
+                AlipayPayResultNotify alipayPayResultNotify = resultUtil.getData();
+                Result result = alipayPayResultNotify.getResult();
+                ResultStatusType resultStatus = result.getResultStatus();
+                if(resultStatus.equals(ResultStatusType.S)){
+                    String out_trade_no = alipayPayResultNotify.getPaymentRequestId();
+                    String order_id = alipayPayResultNotify.getPaymentId();
+                    Integer language = Integer.valueOf(out_trade_no.substring(17, 18));
+                    Integer payType = Integer.valueOf(out_trade_no.substring(18, 19));
+                    Integer id = Integer.valueOf(out_trade_no.substring(19));
+
+                    List<SettlementRecord> settlementRecords = settlementRecordService.selectList(new EntityWrapper<SettlementRecord>().eq("driverId", id).eq("paymentStatus", 1));
+                    for (SettlementRecord settlementRecord : settlementRecords) {
+                        settlementRecord.setPayType(payType);
+                        settlementRecord.setPaymentStatus(2);
+                        settlementRecord.setPayTime(new Date());
+                        settlementRecord.setCode(order_id);
+                        settlementRecordService.updateById(settlementRecord);
+                    }
+                    //添加司机结算的平台收入记录
+                    if(settlementRecords.size() > 0){
+                        incomeService.saveData(1, 1, 8, id, null, Double.valueOf(alipayPayResultNotify.getPaymentAmount().getValue()));
+                    }
+
+                    PrintWriter out = response.getWriter();
+                    out.write("{\n" +
+                            "  \"result\": {\n" +
+                            "    \"resultCode\": \"SUCCESS\",\n" +
+                            "    \"resultMessage\": \"success\",\n" +
+                            "    \"resultStatus\": \"S\"\n" +
+                            "  }\n" +
+                            "}");
+                    out.flush();
+                    out.close();
+                }
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+        }
+    }
 }
diff --git a/DriverGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/WithdrawalController.java b/DriverGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/WithdrawalController.java
index 10dc9da..bae0d13 100644
--- a/DriverGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/WithdrawalController.java
+++ b/DriverGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/WithdrawalController.java
@@ -106,7 +106,7 @@
      */
     @ResponseBody
     @PostMapping("/api/withdrawal/queryWithdrawal")
-    @ApiOperation(value = "获取历史提现数据【2.0】", tags = {"司机端-个人中心"}, notes = "")
+    @ApiOperation(value = "获取历史提现数据", tags = {"司机端-个人中心"}, notes = "")
     @ApiImplicitParams({
             @ApiImplicitParam(value = "页码,首页1", name = "pageNum", required = true, dataType = "int"),
             @ApiImplicitParam(value = "页条数", name = "size", required = true, dataType = "int"),
diff --git a/DriverGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/impl/OrderLogisticsServiceImpl.java b/DriverGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/impl/OrderLogisticsServiceImpl.java
index 5218bab..3303570 100644
--- a/DriverGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/impl/OrderLogisticsServiceImpl.java
+++ b/DriverGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/impl/OrderLogisticsServiceImpl.java
@@ -205,64 +205,64 @@
             car.setVehicleId(UUIDUtil.getRandomCode());
             carService.updateById(car);
         }
-        String vehicles = fleetEngineUtil.getVehicles(car.getVehicleId());
-        if(ToolUtil.isEmpty(vehicles)){
-            CarModel carModel = carModelMapper.selectById(car.getCarModelId());
-            boolean createVehicles = fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
-            if(!createVehicles){
-                for (int i = 0; i < 5; i++) {
-                    createVehicles = fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
-                    if(createVehicles){
-                        break;
-                    }
-                    try {
-                        Thread.sleep(3000L);
-                    } catch (InterruptedException e) {
-                        throw new RuntimeException(e);
-                    }
-                }
-            }
-        }
-    
-        //修改google订单信息或者创建新的行程
-        String trip = fleetEngineUtil.getTrip(orderLogistics.getTripId());
-        if(ToolUtil.isEmpty(trip)){
-            JSONObject createTrip = fleetEngineUtil.createTrip(car.getVehicleId(), 1, orderLogistics.getTripId(),
-                    orderLogistics.getStartLat().toString(), orderLogistics.getStartLon().toString(), orderLogistics.getEndLat().toString(), orderLogistics.getEndLon().toString());
-            JSONObject error = createTrip.getJSONObject("error");
-            if(null != error){
-                for (int i = 0; i < 5; i++) {
-                    createTrip = fleetEngineUtil.createTrip(car.getVehicleId(), 1, orderLogistics.getTripId(),
-                            orderLogistics.getStartLat().toString(), orderLogistics.getStartLon().toString(), orderLogistics.getEndLat().toString(), orderLogistics.getEndLon().toString());
-                    error = createTrip.getJSONObject("error");
-                    String tripStatus = createTrip.getString("tripStatus");
-                    if(null == error && "NEW".equals(tripStatus)){
-                        break;
-                    }
-                    try {
-                        Thread.sleep(3000L);
-                    } catch (InterruptedException e) {
-                        throw new RuntimeException(e);
-                    }
-                }
-            }
-        }else{
-            //开始修改行程数据
-            boolean updateTrip = fleetEngineUtil.updateTrip(null, car.getVehicleId(), null, orderLogistics.getTripId(), null, null, null, null, orderLogistics.getId(), 4);
-            if(!updateTrip){
-                for (int i = 0; i < 5; i++) {
-                    updateTrip = fleetEngineUtil.updateTrip(null, car.getVehicleId(), null, orderLogistics.getTripId(), null, null, null, null, orderLogistics.getId(), 4);
-                    if(updateTrip){
-                        break;
-                    }
-                    try {
-                        Thread.sleep(3000L);
-                    } catch (InterruptedException e) {
-                        throw new RuntimeException(e);
-                    }
-                }
-            }
-        }
+//        String vehicles = fleetEngineUtil.getVehicles(car.getVehicleId());
+//        if(ToolUtil.isEmpty(vehicles)){
+//            CarModel carModel = carModelMapper.selectById(car.getCarModelId());
+//            boolean createVehicles = fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+//            if(!createVehicles){
+//                for (int i = 0; i < 5; i++) {
+//                    createVehicles = fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+//                    if(createVehicles){
+//                        break;
+//                    }
+//                    try {
+//                        Thread.sleep(3000L);
+//                    } catch (InterruptedException e) {
+//                        throw new RuntimeException(e);
+//                    }
+//                }
+//            }
+//        }
+//
+//        //修改google订单信息或者创建新的行程
+//        String trip = fleetEngineUtil.getTrip(orderLogistics.getTripId());
+//        if(ToolUtil.isEmpty(trip)){
+//            JSONObject createTrip = fleetEngineUtil.createTrip(car.getVehicleId(), 1, orderLogistics.getTripId(),
+//                    orderLogistics.getStartLat().toString(), orderLogistics.getStartLon().toString(), orderLogistics.getEndLat().toString(), orderLogistics.getEndLon().toString());
+//            JSONObject error = createTrip.getJSONObject("error");
+//            if(null != error){
+//                for (int i = 0; i < 5; i++) {
+//                    createTrip = fleetEngineUtil.createTrip(car.getVehicleId(), 1, orderLogistics.getTripId(),
+//                            orderLogistics.getStartLat().toString(), orderLogistics.getStartLon().toString(), orderLogistics.getEndLat().toString(), orderLogistics.getEndLon().toString());
+//                    error = createTrip.getJSONObject("error");
+//                    String tripStatus = createTrip.getString("tripStatus");
+//                    if(null == error && "NEW".equals(tripStatus)){
+//                        break;
+//                    }
+//                    try {
+//                        Thread.sleep(3000L);
+//                    } catch (InterruptedException e) {
+//                        throw new RuntimeException(e);
+//                    }
+//                }
+//            }
+//        }else{
+//            //开始修改行程数据
+//            boolean updateTrip = fleetEngineUtil.updateTrip(null, car.getVehicleId(), null, orderLogistics.getTripId(), null, null, null, null, orderLogistics.getId(), 4);
+//            if(!updateTrip){
+//                for (int i = 0; i < 5; i++) {
+//                    updateTrip = fleetEngineUtil.updateTrip(null, car.getVehicleId(), null, orderLogistics.getTripId(), null, null, null, null, orderLogistics.getId(), 4);
+//                    if(updateTrip){
+//                        break;
+//                    }
+//                    try {
+//                        Thread.sleep(3000L);
+//                    } catch (InterruptedException e) {
+//                        throw new RuntimeException(e);
+//                    }
+//                }
+//            }
+//        }
         
     
         /**
@@ -451,23 +451,23 @@
         this.updateById(orderLogistics);
     
         //修改行程数据
-        if(ToolUtil.isNotEmpty(tripStatus)){
-            Car car = carService.selectById(orderLogistics.getCarId());
-            boolean updateTrip = fleetEngineUtil.updateTrip(tripStatus, car.getVehicleId(), null, orderLogistics.getTripId(), null, null, null, null, orderLogistics.getId(), 4);
-            if(!updateTrip){
-                for (int i = 0; i < 5; i++) {
-                    updateTrip = fleetEngineUtil.updateTrip(tripStatus, car.getVehicleId(), null, orderLogistics.getTripId(), null, null, null, null, orderLogistics.getId(), 4);
-                    if(updateTrip){
-                        break;
-                    }
-                    try {
-                        Thread.sleep(3000L);
-                    } catch (InterruptedException e) {
-                        throw new RuntimeException(e);
-                    }
-                }
-            }
-        }
+//        if(ToolUtil.isNotEmpty(tripStatus)){
+//            Car car = carService.selectById(orderLogistics.getCarId());
+//            boolean updateTrip = fleetEngineUtil.updateTrip(tripStatus, car.getVehicleId(), null, orderLogistics.getTripId(), null, null, null, null, orderLogistics.getId(), 4);
+//            if(!updateTrip){
+//                for (int i = 0; i < 5; i++) {
+//                    updateTrip = fleetEngineUtil.updateTrip(tripStatus, car.getVehicleId(), null, orderLogistics.getTripId(), null, null, null, null, orderLogistics.getId(), 4);
+//                    if(updateTrip){
+//                        break;
+//                    }
+//                    try {
+//                        Thread.sleep(3000L);
+//                    } catch (InterruptedException e) {
+//                        throw new RuntimeException(e);
+//                    }
+//                }
+//            }
+//        }
         
         // TODO: 2020/6/5 推送状态
         new Thread(new Runnable() {
@@ -778,23 +778,23 @@
             orderLogistics.setEndLat(Double.valueOf(orderLogistics.getDestinationLat()));
             orderLogistics.setEndAddress(orderLogistics.getDestination());
             //修改google地图行程终点
-            Car car = carService.selectById(orderLogistics.getCarId());
-            boolean updateTrip = fleetEngineUtil.updateTrip(null, car.getVehicleId(), null, orderLogistics.getTripId(),
-                    null, null, orderLogistics.getEndLat().toString(), orderLogistics.getEndLon().toString(), orderLogistics.getId(), 4);
-            if(!updateTrip){
-                for (int i = 0; i < 5; i++) {
-                    updateTrip = fleetEngineUtil.updateTrip(null, car.getVehicleId(), null, orderLogistics.getTripId(),
-                            null, null, orderLogistics.getEndLat().toString(), orderLogistics.getEndLon().toString(), orderLogistics.getId(), 4);
-                    if(updateTrip){
-                        break;
-                    }
-                    try {
-                        Thread.sleep(3000L);
-                    } catch (InterruptedException e) {
-                        throw new RuntimeException(e);
-                    }
-                }
-            }
+//            Car car = carService.selectById(orderLogistics.getCarId());
+//            boolean updateTrip = fleetEngineUtil.updateTrip(null, car.getVehicleId(), null, orderLogistics.getTripId(),
+//                    null, null, orderLogistics.getEndLat().toString(), orderLogistics.getEndLon().toString(), orderLogistics.getId(), 4);
+//            if(!updateTrip){
+//                for (int i = 0; i < 5; i++) {
+//                    updateTrip = fleetEngineUtil.updateTrip(null, car.getVehicleId(), null, orderLogistics.getTripId(),
+//                            null, null, orderLogistics.getEndLat().toString(), orderLogistics.getEndLon().toString(), orderLogistics.getId(), 4);
+//                    if(updateTrip){
+//                        break;
+//                    }
+//                    try {
+//                        Thread.sleep(3000L);
+//                    } catch (InterruptedException e) {
+//                        throw new RuntimeException(e);
+//                    }
+//                }
+//            }
         }
         this.updateById(orderLogistics);
         pushUtil.pushModifyAddress(1, orderLogistics.getUserId(), orderId, 4, status);
@@ -1148,41 +1148,41 @@
         driverService.updateById(driver);
         
         //修改行程数据
-        Car car = carService.selectById(orderLogistics.getCarId());
-        boolean updateTrip = fleetEngineUtil.updateTrip("COMPLETE", car.getVehicleId(), null, orderLogistics.getTripId(), null, null, null, null, orderLogistics.getId(), 4);
-        if(!updateTrip){
-            for (int i = 0; i < 5; i++) {
-                updateTrip = fleetEngineUtil.updateTrip("COMPLETE", car.getVehicleId(), null, orderLogistics.getTripId(), null, null, null, null, orderLogistics.getId(), 4);
-                if(updateTrip){
-                    orderLogistics.setIsover(1);
-                    this.updateById(orderLogistics);
-                    break;
-                }
-                try {
-                    Thread.sleep(3000L);
-                } catch (InterruptedException e) {
-                    e.printStackTrace();
-                }
-            }
-        }else{
-            orderLogistics.setIsover(1);
-            this.updateById(orderLogistics);
-        }
-        //上报行程
-        boolean reportBillableEvent = fleetEngineUtil.reportBillableEvent(orderLogistics.getTripId());
-        if(!reportBillableEvent){
-            for (int i = 0; i < 5; i++) {
-                reportBillableEvent = fleetEngineUtil.reportBillableEvent(orderLogistics.getTripId());
-                if(reportBillableEvent){
-                    break;
-                }
-                try {
-                    Thread.sleep(3000L);
-                } catch (InterruptedException e) {
-                    e.printStackTrace();
-                }
-            }
-        }
+//        Car car = carService.selectById(orderLogistics.getCarId());
+//        boolean updateTrip = fleetEngineUtil.updateTrip("COMPLETE", car.getVehicleId(), null, orderLogistics.getTripId(), null, null, null, null, orderLogistics.getId(), 4);
+//        if(!updateTrip){
+//            for (int i = 0; i < 5; i++) {
+//                updateTrip = fleetEngineUtil.updateTrip("COMPLETE", car.getVehicleId(), null, orderLogistics.getTripId(), null, null, null, null, orderLogistics.getId(), 4);
+//                if(updateTrip){
+//                    orderLogistics.setIsover(1);
+//                    this.updateById(orderLogistics);
+//                    break;
+//                }
+//                try {
+//                    Thread.sleep(3000L);
+//                } catch (InterruptedException e) {
+//                    e.printStackTrace();
+//                }
+//            }
+//        }else{
+//            orderLogistics.setIsover(1);
+//            this.updateById(orderLogistics);
+//        }
+//        //上报行程
+//        boolean reportBillableEvent = fleetEngineUtil.reportBillableEvent(orderLogistics.getTripId());
+//        if(!reportBillableEvent){
+//            for (int i = 0; i < 5; i++) {
+//                reportBillableEvent = fleetEngineUtil.reportBillableEvent(orderLogistics.getTripId());
+//                if(reportBillableEvent){
+//                    break;
+//                }
+//                try {
+//                    Thread.sleep(3000L);
+//                } catch (InterruptedException e) {
+//                    e.printStackTrace();
+//                }
+//            }
+//        }
         
         
         pushUtil.removeTask(orderId, 4);//删除定时任务,结束推送数据
diff --git a/DriverGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java b/DriverGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java
index 668d62a..cc1606a 100644
--- a/DriverGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java
+++ b/DriverGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java
@@ -265,64 +265,64 @@
             car.setVehicleId(UUIDUtil.getRandomCode());
             carService.updateById(car);
         }
-        String vehicles = fleetEngineUtil.getVehicles(car.getVehicleId());
-        if(ToolUtil.isEmpty(vehicles)){
-            CarModel carModel = carModelMapper.selectById(car.getCarModelId());
-            boolean createVehicles = fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
-            if(!createVehicles){
-                for (int i = 0; i < 5; i++) {
-                    createVehicles = fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
-                    if(createVehicles){
-                        break;
-                    }
-                    try {
-                        Thread.sleep(3000L);
-                    } catch (InterruptedException e) {
-                        throw new RuntimeException(e);
-                    }
-                }
-            }
-        }
-        
-        //修改google订单信息或者创建新的行程
-        String trip = fleetEngineUtil.getTrip(orderPrivateCar.getTripId());
-        if(ToolUtil.isEmpty(trip)){
-            JSONObject createTrip = fleetEngineUtil.createTrip(car.getVehicleId(), 1, orderPrivateCar.getTripId(),
-                    orderPrivateCar.getStartLat().toString(), orderPrivateCar.getStartLon().toString(),  orderPrivateCar.getEndLat().toString(), orderPrivateCar.getEndLon().toString());
-            JSONObject error = createTrip.getJSONObject("error");
-            if(null != error){
-                for (int i = 0; i < 5; i++) {
-                    createTrip = fleetEngineUtil.createTrip(car.getVehicleId(), 1, orderPrivateCar.getTripId(),
-                            orderPrivateCar.getStartLat().toString(), orderPrivateCar.getStartLon().toString(),  orderPrivateCar.getEndLat().toString(), orderPrivateCar.getEndLon().toString());
-                    error = createTrip.getJSONObject("error");
-                    String tripStatus = createTrip.getString("tripStatus");
-                    if(null == error && "NEW".equals(tripStatus)){
-                        break;
-                    }
-                    try {
-                        Thread.sleep(3000L);
-                    } catch (InterruptedException e) {
-                        throw new RuntimeException(e);
-                    }
-                }
-            }
-        }else{
-            //开始修改行程数据
-            boolean updateTrip = fleetEngineUtil.updateTrip(null, car.getVehicleId(), null, orderPrivateCar.getTripId(), null, null, null, null, orderPrivateCar.getId(), 1);
-            if(!updateTrip){
-                for (int i = 0; i < 5; i++) {
-                    updateTrip = fleetEngineUtil.updateTrip(null, car.getVehicleId(), null, orderPrivateCar.getTripId(), null, null, null, null, orderPrivateCar.getId(), 1);
-                    if(updateTrip){
-                        break;
-                    }
-                    try {
-                        Thread.sleep(3000L);
-                    } catch (InterruptedException e) {
-                        throw new RuntimeException(e);
-                    }
-                }
-            }
-        }
+//        String vehicles = fleetEngineUtil.getVehicles(car.getVehicleId());
+//        if(ToolUtil.isEmpty(vehicles)){
+//            CarModel carModel = carModelMapper.selectById(car.getCarModelId());
+//            boolean createVehicles = fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+//            if(!createVehicles){
+//                for (int i = 0; i < 5; i++) {
+//                    createVehicles = fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+//                    if(createVehicles){
+//                        break;
+//                    }
+//                    try {
+//                        Thread.sleep(3000L);
+//                    } catch (InterruptedException e) {
+//                        throw new RuntimeException(e);
+//                    }
+//                }
+//            }
+//        }
+//
+//        //修改google订单信息或者创建新的行程
+//        String trip = fleetEngineUtil.getTrip(orderPrivateCar.getTripId());
+//        if(ToolUtil.isEmpty(trip)){
+//            JSONObject createTrip = fleetEngineUtil.createTrip(car.getVehicleId(), 1, orderPrivateCar.getTripId(),
+//                    orderPrivateCar.getStartLat().toString(), orderPrivateCar.getStartLon().toString(),  orderPrivateCar.getEndLat().toString(), orderPrivateCar.getEndLon().toString());
+//            JSONObject error = createTrip.getJSONObject("error");
+//            if(null != error){
+//                for (int i = 0; i < 5; i++) {
+//                    createTrip = fleetEngineUtil.createTrip(car.getVehicleId(), 1, orderPrivateCar.getTripId(),
+//                            orderPrivateCar.getStartLat().toString(), orderPrivateCar.getStartLon().toString(),  orderPrivateCar.getEndLat().toString(), orderPrivateCar.getEndLon().toString());
+//                    error = createTrip.getJSONObject("error");
+//                    String tripStatus = createTrip.getString("tripStatus");
+//                    if(null == error && "NEW".equals(tripStatus)){
+//                        break;
+//                    }
+//                    try {
+//                        Thread.sleep(3000L);
+//                    } catch (InterruptedException e) {
+//                        throw new RuntimeException(e);
+//                    }
+//                }
+//            }
+//        }else{
+//            //开始修改行程数据
+//            boolean updateTrip = fleetEngineUtil.updateTrip(null, car.getVehicleId(), null, orderPrivateCar.getTripId(), null, null, null, null, orderPrivateCar.getId(), 1);
+//            if(!updateTrip){
+//                for (int i = 0; i < 5; i++) {
+//                    updateTrip = fleetEngineUtil.updateTrip(null, car.getVehicleId(), null, orderPrivateCar.getTripId(), null, null, null, null, orderPrivateCar.getId(), 1);
+//                    if(updateTrip){
+//                        break;
+//                    }
+//                    try {
+//                        Thread.sleep(3000L);
+//                    } catch (InterruptedException e) {
+//                        throw new RuntimeException(e);
+//                    }
+//                }
+//            }
+//        }
     
     
         /**
@@ -542,7 +542,6 @@
                 orderPrivateCar.setState(3);
                 orderPrivateCar.setSetOutTime(new Date());
                 systemNoticeService.addSystemNotice(1, language1 == 1 ? "司机已出发,请耐心等待" : language1 == 2 ? "The driver is on the way, please wait." : "Le chauffeur est en route. Veuillez patienter.", orderPrivateCar.getUserId());
-                pushUtil.pushDriverPosition(orderPrivateCar.getId(), 1);//主动推送司机定位
                 tripStatus = "ENROUTE_TO_PICKUP";
                 break;
             case 4://到达预约点,等待客户上车
@@ -554,6 +553,7 @@
                 tripStatus = "ARRIVED_AT_PICKUP";
                 break;
             case 5://开始服务
+                pushUtil.pushDriverPosition(orderPrivateCar.getId(), 1);//主动推送司机定位
                 orderPrivateCar.setBoardingLon(lon);
                 orderPrivateCar.setBoardingLat(lat);
                 orderPrivateCar.setBoardingAddress(address);
@@ -624,23 +624,23 @@
         this.updateById(orderPrivateCar);
     
         //修改行程数据
-        if(ToolUtil.isNotEmpty(tripStatus)){
-            Car car = carService.selectById(orderPrivateCar.getCarId());
-            boolean updateTrip = fleetEngineUtil.updateTrip(tripStatus, car.getVehicleId(), null, orderPrivateCar.getTripId(), null, null, null, null, orderPrivateCar.getId(), 1);
-            if(!updateTrip){
-                for (int i = 0; i < 5; i++) {
-                    updateTrip = fleetEngineUtil.updateTrip(tripStatus, car.getVehicleId(), null, orderPrivateCar.getTripId(), null, null, null, null, orderPrivateCar.getId(), 1);
-                    if(updateTrip){
-                        break;
-                    }
-                    try {
-                        Thread.sleep(3000L);
-                    } catch (InterruptedException e) {
-                        throw new RuntimeException(e);
-                    }
-                }
-            }
-        }
+//        if(ToolUtil.isNotEmpty(tripStatus)){
+//            Car car = carService.selectById(orderPrivateCar.getCarId());
+//            boolean updateTrip = fleetEngineUtil.updateTrip(tripStatus, car.getVehicleId(), null, orderPrivateCar.getTripId(), null, null, null, null, orderPrivateCar.getId(), 1);
+//            if(!updateTrip){
+//                for (int i = 0; i < 5; i++) {
+//                    updateTrip = fleetEngineUtil.updateTrip(tripStatus, car.getVehicleId(), null, orderPrivateCar.getTripId(), null, null, null, null, orderPrivateCar.getId(), 1);
+//                    if(updateTrip){
+//                        break;
+//                    }
+//                    try {
+//                        Thread.sleep(3000L);
+//                    } catch (InterruptedException e) {
+//                        throw new RuntimeException(e);
+//                    }
+//                }
+//            }
+//        }
         
 
         // TODO: 2020/6/5 推送状态
@@ -668,6 +668,7 @@
      */
     @Override
     public ResultUtil confirmFees(Integer language, Integer orderId, Integer type, Double parkingFee, Double crossingFee, Integer uid) throws Exception {
+        pushUtil.removeTask(orderId, 1);//删除定时任务,结束推送数据
         OrderPrivateCar orderPrivateCar = this.selectById(orderId);
         if(!uid.equals(orderPrivateCar.getDriverId())){
             return ResultUtil.error(language == 1 ? "操作失败,请刷新订单" : language == 2 ? "Operation failed, please refresh the order" : "L’opération a échoué, veuillez actualiser la commande");
@@ -681,17 +682,27 @@
         if(null == orderPrivateCar.getEndServiceTime()){
             orderPrivateCar.setEndServiceTime(new Date());
         }
-        //实际里程小于预估里程95%或者大于5%,则使用预估里程进行计算价格
+
+        Double mileage = orderPrivateCar.getMileage();
+        orderPrivateCar = this.setMoney(orderPrivateCar, 0D, 0D);//计算费用
+        Double orderMoney = orderPrivateCar.getOrderMoney();
+
         Double startLat = orderPrivateCar.getStartLat();
         Double startLon = orderPrivateCar.getStartLon();
         Double getoffLon = orderPrivateCar.getGetoffLon();
         Double getoffLat = orderPrivateCar.getGetoffLat();
         DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(startLat, startLon, getoffLat, getoffLon, orderPrivateCar.getTripId());
-        double ce = orderPrivateCar.getMileage() / distancematrix.getDistance().doubleValue();
-        if(ce < 0.95 || ce > 1.05){
-            orderPrivateCar.setMileage(distancematrix.getDistance().doubleValue());
-        }
+        orderPrivateCar.setMileage(distancematrix.getDistance().doubleValue());
         orderPrivateCar = this.setMoney(orderPrivateCar, 0D, 0D);//计算费用
+        Double orderMoney1 = orderPrivateCar.getOrderMoney();
+        //实际金额小于预估金额10%,按照预估金额计费,其他用实际金额计费
+        double ce = orderMoney / orderMoney1;
+        //实际距离小于预估距离10%,按照预估距离计算费用,其余的按照实际距离计算费用
+        if(ce >= 0.9){
+            orderPrivateCar.setMileage(mileage);
+            orderPrivateCar = this.setMoney(orderPrivateCar, 0D, 0D);//计算费用
+        }
+
         orderPrivateCar.setPayManner(type);
         orderPrivateCar.setParkMoney(null == parkingFee ? 0D : parkingFee);
         orderPrivateCar.setRoadTollMoney(null == crossingFee ? 0D : crossingFee);
@@ -755,45 +766,42 @@
         driverService.updateById(driver);
         
         //修改行程数据
-        Car car = carService.selectById(orderPrivateCar.getCarId());
-        boolean updateTrip = fleetEngineUtil.updateTrip("COMPLETE", car.getVehicleId(), null, orderPrivateCar.getTripId(), null, null, null, null, orderPrivateCar.getId(), 1);
-        if(!updateTrip){
-            for (int i = 0; i < 5; i++) {
-                updateTrip = fleetEngineUtil.updateTrip("COMPLETE", car.getVehicleId(), null, orderPrivateCar.getTripId(), null, null, null, null, orderPrivateCar.getId(), 1);
-                if(updateTrip){
-                    orderPrivateCar.setIsover(1);
-                    this.updateById(orderPrivateCar);
-                    break;
-                }
-                try {
-                    Thread.sleep(3000L);
-                } catch (InterruptedException e) {
-                    e.printStackTrace();
-                }
-            }
-        }else{
-            orderPrivateCar.setIsover(1);
-            this.updateById(orderPrivateCar);
-        }
-    
-        //上报行程
-        boolean reportBillableEvent = fleetEngineUtil.reportBillableEvent(orderPrivateCar.getTripId());
-        if(!reportBillableEvent){
-            for (int i = 0; i < 5; i++) {
-                reportBillableEvent = fleetEngineUtil.reportBillableEvent(orderPrivateCar.getTripId());
-                if(reportBillableEvent){
-                    break;
-                }
-                try {
-                    Thread.sleep(3000L);
-                } catch (InterruptedException e) {
-                    e.printStackTrace();
-                }
-            }
-        }
-        
-        
-        pushUtil.removeTask(orderId, 1);//删除定时任务,结束推送数据
+//        Car car = carService.selectById(orderPrivateCar.getCarId());
+//        boolean updateTrip = fleetEngineUtil.updateTrip("COMPLETE", car.getVehicleId(), null, orderPrivateCar.getTripId(), null, null, null, null, orderPrivateCar.getId(), 1);
+//        if(!updateTrip){
+//            for (int i = 0; i < 5; i++) {
+//                updateTrip = fleetEngineUtil.updateTrip("COMPLETE", car.getVehicleId(), null, orderPrivateCar.getTripId(), null, null, null, null, orderPrivateCar.getId(), 1);
+//                if(updateTrip){
+//                    orderPrivateCar.setIsover(1);
+//                    this.updateById(orderPrivateCar);
+//                    break;
+//                }
+//                try {
+//                    Thread.sleep(3000L);
+//                } catch (InterruptedException e) {
+//                    e.printStackTrace();
+//                }
+//            }
+//        }else{
+//            orderPrivateCar.setIsover(1);
+//            this.updateById(orderPrivateCar);
+//        }
+//
+//        //上报行程
+//        boolean reportBillableEvent = fleetEngineUtil.reportBillableEvent(orderPrivateCar.getTripId());
+//        if(!reportBillableEvent){
+//            for (int i = 0; i < 5; i++) {
+//                reportBillableEvent = fleetEngineUtil.reportBillableEvent(orderPrivateCar.getTripId());
+//                if(reportBillableEvent){
+//                    break;
+//                }
+//                try {
+//                    Thread.sleep(3000L);
+//                } catch (InterruptedException e) {
+//                    e.printStackTrace();
+//                }
+//            }
+//        }
         UserInfo userInfo = userInfoMapper.selectById(orderPrivateCar.getUserId());
         Integer language1 = userInfo.getLanguage();
         systemNoticeService.addSystemNotice(1, language1 == 1 ? "司机已结束本次行程,谢谢使用" : language1 == 2 ?
@@ -1165,23 +1173,23 @@
             orderPrivateCar.setEndLat(Double.valueOf(orderPrivateCar.getDestinationLat()));
             orderPrivateCar.setEndAddress(orderPrivateCar.getDestination());
             //修改google地图行程终点
-            Car car = carService.selectById(orderPrivateCar.getCarId());
-            boolean updateTrip = fleetEngineUtil.updateTrip(null, car.getVehicleId(), null, orderPrivateCar.getTripId(),
-                    null, null, orderPrivateCar.getEndLat().toString(), orderPrivateCar.getEndLon().toString(), orderPrivateCar.getId(), 1);
-            if(!updateTrip){
-                for (int i = 0; i < 5; i++) {
-                    updateTrip = fleetEngineUtil.updateTrip(null, car.getVehicleId(), null, orderPrivateCar.getTripId(),
-                            null, null, orderPrivateCar.getEndLat().toString(), orderPrivateCar.getEndLon().toString(), orderPrivateCar.getId(), 1);
-                    if(updateTrip){
-                        break;
-                    }
-                    try {
-                        Thread.sleep(3000L);
-                    } catch (InterruptedException e) {
-                        throw new RuntimeException(e);
-                    }
-                }
-            }
+//            Car car = carService.selectById(orderPrivateCar.getCarId());
+//            boolean updateTrip = fleetEngineUtil.updateTrip(null, car.getVehicleId(), null, orderPrivateCar.getTripId(),
+//                    null, null, orderPrivateCar.getEndLat().toString(), orderPrivateCar.getEndLon().toString(), orderPrivateCar.getId(), 1);
+//            if(!updateTrip){
+//                for (int i = 0; i < 5; i++) {
+//                    updateTrip = fleetEngineUtil.updateTrip(null, car.getVehicleId(), null, orderPrivateCar.getTripId(),
+//                            null, null, orderPrivateCar.getEndLat().toString(), orderPrivateCar.getEndLon().toString(), orderPrivateCar.getId(), 1);
+//                    if(updateTrip){
+//                        break;
+//                    }
+//                    try {
+//                        Thread.sleep(3000L);
+//                    } catch (InterruptedException e) {
+//                        throw new RuntimeException(e);
+//                    }
+//                }
+//            }
         }
         this.updateById(orderPrivateCar);
         pushUtil.pushModifyAddress(1, orderPrivateCar.getUserId(), orderId, 1, status);
diff --git a/DriverGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java b/DriverGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java
index 1d0f494..e5c63cd 100644
--- a/DriverGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java
+++ b/DriverGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java
@@ -1095,30 +1095,30 @@
                 car.setVehicleId(UUIDUtil.getRandomCode());
                 carService.updateById(car);
             }
-            new Thread(()->{
-                try {
-                    CarModel carModel = carModelMapper.selectById(car.getCarModelId());
-                    String vehicles = fleetEngineUtil.getVehicles(car.getVehicleId());
-                    if(ToolUtil.isEmpty(vehicles)) {
-                        boolean createVehicles = fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
-                        if(!createVehicles){
-                            for (int i = 0; i < 5; i++) {
-                                createVehicles = fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
-                                if(createVehicles){
-                                    break;
-                                }
-                                try {
-                                    Thread.sleep(5000L);
-                                } catch (InterruptedException e) {
-                                    throw new RuntimeException(e);
-                                }
-                            }
-                        }
-                    }
-                }catch (Exception e){
-                    e.printStackTrace();
-                }
-            }).start();
+//            new Thread(()->{
+//                try {
+//                    CarModel carModel = carModelMapper.selectById(car.getCarModelId());
+//                    String vehicles = fleetEngineUtil.getVehicles(car.getVehicleId());
+//                    if(ToolUtil.isEmpty(vehicles)) {
+//                        boolean createVehicles = fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+//                        if(!createVehicles){
+//                            for (int i = 0; i < 5; i++) {
+//                                createVehicles = fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+//                                if(createVehicles){
+//                                    break;
+//                                }
+//                                try {
+//                                    Thread.sleep(5000L);
+//                                } catch (InterruptedException e) {
+//                                    throw new RuntimeException(e);
+//                                }
+//                            }
+//                        }
+//                    }
+//                }catch (Exception e){
+//                    e.printStackTrace();
+//                }
+//            }).start();
             loginWarpper.setVehicleId(car.getVehicleId());
         }
         return ResultUtil.success(loginWarpper);
@@ -1199,60 +1199,60 @@
             }
     
             //司机下班,修改谷歌上的车辆信息
-            new Thread(()->{
-                try {
-                    CarModel carModel = carModelMapper.selectById(car.getCarModelId());
-                    String vehicles = fleetEngineUtil.getVehicles(car.getVehicleId());
-                    if(ToolUtil.isEmpty(vehicles)){
-                        boolean createVehicles = fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
-                        if(!createVehicles){
-                            for (int i = 0; i < 5; i++) {
-                                createVehicles = fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
-                                if(createVehicles){
-                                    break;
-                                }
-                                try {
-                                    Thread.sleep(5000L);
-                                } catch (InterruptedException e) {
-                                    throw new RuntimeException(e);
-                                }
-                            }
-                        }
-                        
-                        boolean updateVehicles = fleetEngineUtil.updateVehicles("OFFLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
-                        if(!updateVehicles){
-                            for (int i = 0; i < 5; i++) {
-                                updateVehicles = fleetEngineUtil.updateVehicles("OFFLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
-                                if(updateVehicles){
-                                    break;
-                                }
-                                try {
-                                    Thread.sleep(5000L);
-                                } catch (InterruptedException e) {
-                                    throw new RuntimeException(e);
-                                }
-                            }
-                        }
-                    }else{
-                        boolean updateVehicles = fleetEngineUtil.updateVehicles("OFFLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
-                        if(!updateVehicles){
-                            for (int i = 0; i < 5; i++) {
-                                updateVehicles = fleetEngineUtil.updateVehicles("OFFLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
-                                if(updateVehicles){
-                                    break;
-                                }
-                                try {
-                                    Thread.sleep(5000L);
-                                } catch (InterruptedException e) {
-                                    throw new RuntimeException(e);
-                                }
-                            }
-                        }
-                    }
-                }catch (Exception e){
-                    e.printStackTrace();
-                }
-            }).start();
+//            new Thread(()->{
+//                try {
+//                    CarModel carModel = carModelMapper.selectById(car.getCarModelId());
+//                    String vehicles = fleetEngineUtil.getVehicles(car.getVehicleId());
+//                    if(ToolUtil.isEmpty(vehicles)){
+//                        boolean createVehicles = fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+//                        if(!createVehicles){
+//                            for (int i = 0; i < 5; i++) {
+//                                createVehicles = fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+//                                if(createVehicles){
+//                                    break;
+//                                }
+//                                try {
+//                                    Thread.sleep(5000L);
+//                                } catch (InterruptedException e) {
+//                                    throw new RuntimeException(e);
+//                                }
+//                            }
+//                        }
+//
+//                        boolean updateVehicles = fleetEngineUtil.updateVehicles("OFFLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+//                        if(!updateVehicles){
+//                            for (int i = 0; i < 5; i++) {
+//                                updateVehicles = fleetEngineUtil.updateVehicles("OFFLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+//                                if(updateVehicles){
+//                                    break;
+//                                }
+//                                try {
+//                                    Thread.sleep(5000L);
+//                                } catch (InterruptedException e) {
+//                                    throw new RuntimeException(e);
+//                                }
+//                            }
+//                        }
+//                    }else{
+//                        boolean updateVehicles = fleetEngineUtil.updateVehicles("OFFLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+//                        if(!updateVehicles){
+//                            for (int i = 0; i < 5; i++) {
+//                                updateVehicles = fleetEngineUtil.updateVehicles("OFFLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+//                                if(updateVehicles){
+//                                    break;
+//                                }
+//                                try {
+//                                    Thread.sleep(5000L);
+//                                } catch (InterruptedException e) {
+//                                    throw new RuntimeException(e);
+//                                }
+//                            }
+//                        }
+//                    }
+//                }catch (Exception e){
+//                    e.printStackTrace();
+//                }
+//            }).start();
             switch (language){
                 case 1:
                     audioUrl = "https://igo.i-go.group/files/audio/system/AfterWork-CN.mp3";
@@ -1305,63 +1305,63 @@
             }
             
             //司机上班,修改谷歌上的车辆信息
-            new Thread(new Runnable() {
-                @Override
-                public void run() {
-                    try {
-                        CarModel carModel = carModelMapper.selectById(car.getCarModelId());
-                        String vehicles = fleetEngineUtil.getVehicles(car.getVehicleId());
-                        if(ToolUtil.isEmpty(vehicles)){
-                            boolean createVehicles = fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
-                            if(!createVehicles){
-                                for (int i = 0; i < 5; i++) {
-                                    createVehicles = fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
-                                    if(createVehicles){
-                                        break;
-                                    }
-                                    try {
-                                        Thread.sleep(5000L);
-                                    } catch (InterruptedException e) {
-                                        throw new RuntimeException(e);
-                                    }
-                                }
-                            }
-                            
-                            boolean updateVehicles = fleetEngineUtil.updateVehicles("ONLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
-                            if(!updateVehicles){
-                                for (int i = 0; i < 5; i++) {
-                                    updateVehicles = fleetEngineUtil.updateVehicles("ONLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
-                                    if(updateVehicles){
-                                        break;
-                                    }
-                                    try {
-                                        Thread.sleep(5000L);
-                                    } catch (InterruptedException e) {
-                                        throw new RuntimeException(e);
-                                    }
-                                }
-                            }
-                        }else{
-                            boolean updateVehicles = fleetEngineUtil.updateVehicles("ONLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
-                            if(!updateVehicles){
-                                for (int i = 0; i < 5; i++) {
-                                    updateVehicles = fleetEngineUtil.updateVehicles("ONLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
-                                    if(updateVehicles){
-                                        break;
-                                    }
-                                    try {
-                                        Thread.sleep(5000L);
-                                    } catch (InterruptedException e) {
-                                        throw new RuntimeException(e);
-                                    }
-                                }
-                            }
-                        }
-                    }catch (Exception e){
-                        e.printStackTrace();
-                    }
-                }
-            }).start();
+//            new Thread(new Runnable() {
+//                @Override
+//                public void run() {
+//                    try {
+//                        CarModel carModel = carModelMapper.selectById(car.getCarModelId());
+//                        String vehicles = fleetEngineUtil.getVehicles(car.getVehicleId());
+//                        if(ToolUtil.isEmpty(vehicles)){
+//                            boolean createVehicles = fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+//                            if(!createVehicles){
+//                                for (int i = 0; i < 5; i++) {
+//                                    createVehicles = fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+//                                    if(createVehicles){
+//                                        break;
+//                                    }
+//                                    try {
+//                                        Thread.sleep(5000L);
+//                                    } catch (InterruptedException e) {
+//                                        throw new RuntimeException(e);
+//                                    }
+//                                }
+//                            }
+//
+//                            boolean updateVehicles = fleetEngineUtil.updateVehicles("ONLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+//                            if(!updateVehicles){
+//                                for (int i = 0; i < 5; i++) {
+//                                    updateVehicles = fleetEngineUtil.updateVehicles("ONLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+//                                    if(updateVehicles){
+//                                        break;
+//                                    }
+//                                    try {
+//                                        Thread.sleep(5000L);
+//                                    } catch (InterruptedException e) {
+//                                        throw new RuntimeException(e);
+//                                    }
+//                                }
+//                            }
+//                        }else{
+//                            boolean updateVehicles = fleetEngineUtil.updateVehicles("ONLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+//                            if(!updateVehicles){
+//                                for (int i = 0; i < 5; i++) {
+//                                    updateVehicles = fleetEngineUtil.updateVehicles("ONLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+//                                    if(updateVehicles){
+//                                        break;
+//                                    }
+//                                    try {
+//                                        Thread.sleep(5000L);
+//                                    } catch (InterruptedException e) {
+//                                        throw new RuntimeException(e);
+//                                    }
+//                                }
+//                            }
+//                        }
+//                    }catch (Exception e){
+//                        e.printStackTrace();
+//                    }
+//                }
+//            }).start();
     
             switch (language){
                 case 1:
diff --git a/DriverGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OrderServiceImpl.java b/DriverGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OrderServiceImpl.java
index 9d8d1a9..1cf11de 100644
--- a/DriverGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OrderServiceImpl.java
+++ b/DriverGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OrderServiceImpl.java
@@ -3,6 +3,9 @@
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
+import com.alipay.global.api.model.ResultStatusType;
+import com.alipay.global.api.response.ams.pay.AlipayPayQueryResponse;
+import com.alipay.global.api.response.ams.pay.AlipayPayResponse;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.stylefeng.guns.core.common.constant.state.Order;
 import com.stylefeng.guns.core.util.DateUtil;
@@ -37,6 +40,9 @@
 import java.math.RoundingMode;
 import java.text.SimpleDateFormat;
 import java.util.*;
+import java.util.concurrent.Executors;
+import java.util.concurrent.ScheduledExecutorService;
+import java.util.concurrent.TimeUnit;
 
 /**
  * 订单相关逻辑类
@@ -1166,22 +1172,81 @@
             if(payType == 1) {//手机支付
                 SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
                 String merchantTransactionId = sdf.format(new Date()) + "4" + language + orderId;
-                CheckoutRequest checkoutRequest = new CheckoutRequest();
-                checkoutRequest.setMsisdn(Long.valueOf(driver.getPhone()));
-                checkoutRequest.setCustomerEmail(driver.getEmail());
-                checkoutRequest.setAccountNumber(driver.getPhone());
-                checkoutRequest.setCustomerFirstName(driver.getFirstName());
-                checkoutRequest.setCustomerLastName(driver.getLastName());
-                checkoutRequest.setRequestAmount(money);
-                checkoutRequest.setMerchantTransactionId(merchantTransactionId);
-                checkoutRequest.setRequestDescription("Travel completion payment");
-                checkoutRequest.setCallbackUrl(callbackPath + "/base/wxPayOrderTaxi");
-                checkoutRequest.setPendingRedirectUrl("");
-                checkoutRequest.setSuccessRedirectUrl("https://igo.i-go.group/payMoney/pages/success.html");
-                checkoutRequest.setFailRedirectUrl("https://igo.i-go.group/payMoney/pages/fail.html");
-                ResultUtil resultUtil = TinggPayUtil.checkoutRequest(checkoutRequest);
+//                CheckoutRequest checkoutRequest = new CheckoutRequest();
+//                checkoutRequest.setMsisdn(Long.valueOf(driver.getPhone()));
+//                checkoutRequest.setCustomerEmail(driver.getEmail());
+//                checkoutRequest.setAccountNumber(driver.getPhone());
+//                checkoutRequest.setCustomerFirstName(driver.getFirstName());
+//                checkoutRequest.setCustomerLastName(driver.getLastName());
+//                checkoutRequest.setRequestAmount(money);
+//                checkoutRequest.setMerchantTransactionId(merchantTransactionId);
+//                checkoutRequest.setRequestDescription("Travel completion payment");
+//                checkoutRequest.setCallbackUrl(callbackPath + "/base/wxPayOrderTaxi");
+//                checkoutRequest.setPendingRedirectUrl("");
+//                checkoutRequest.setSuccessRedirectUrl("https://igo.i-go.group/payMoney/pages/success.html");
+//                checkoutRequest.setFailRedirectUrl("https://igo.i-go.group/payMoney/pages/fail.html");
+//                ResultUtil resultUtil = TinggPayUtil.checkoutRequest(checkoutRequest);
+
+                AntomPaymentUtil.PaymentVO payment = new AntomPaymentUtil.PaymentVO();
+                payment.setPaymentRequestId(merchantTransactionId);
+                payment.setAmountValue(money.toString());
+                payment.setCurrency("");
+                payment.setOrderDescription("Travel completion payment");
+                payment.setPaymentNotifyUrl(callbackPath + "/base/wxPayOrderTaxiAntom");
+                payment.setPaymentRedirectUrl("https://igo.i-go.group/payMoney/pages/success.html");
+                payment.setReferenceOrderId(orderId + orderType + "");
+                ResultUtil resultUtil = AntomPaymentUtil.pay(payment);
                 if(resultUtil.getCode()==200){
                     paymentRecordService.saveData(1, uid, 2, orderId, orderType, 1, money, null, 1);//添加预支付数据
+                    //创建定时任务查询订单支付状态
+                    ScheduledExecutorService scheduledExecutorService = Executors.newScheduledThreadPool(1);
+                    scheduledExecutorService.schedule(() -> {
+                        try {
+                            int num = 1;
+                            int wait = 0;
+                            while (num <= 13) {
+                                int min = 5000;
+                                wait += (min * num);
+                                switch (orderType){
+                                    case 1:
+                                        OrderPrivateCar orderPrivateCar = orderPrivateCarService.selectById(orderId);
+                                        if(7 != orderPrivateCar.getState()){
+                                            return;
+                                        }
+                                        ResultUtil<AlipayPayQueryResponse> resultUtil1 = AntomPaymentUtil.inquiryPayment(merchantTransactionId);
+                                        if(200 == resultUtil1.getCode()){
+                                            AlipayPayQueryResponse data = resultUtil1.getData();
+                                            ResultStatusType resultStatus = data.getResult().getResultStatus();
+                                            if(resultStatus.equals(ResultStatusType.S)){
+                                                orderPrivateCarService.payOrderPrivateCarCallback(orderId, data.getPaymentId(), language);
+                                                return;
+                                            }
+                                        }
+                                    case 4:
+                                        OrderLogistics orderLogistics = orderLogisticsService.selectById(orderId);
+                                        if(7 != orderLogistics.getState()){
+                                            return;
+                                        }
+                                        ResultUtil<AlipayPayQueryResponse> resultUtil2 = AntomPaymentUtil.inquiryPayment(merchantTransactionId);
+                                        if(200 == resultUtil2.getCode()){
+                                            AlipayPayQueryResponse data = resultUtil2.getData();
+                                            ResultStatusType resultStatus = data.getResult().getResultStatus();
+                                            if(resultStatus.equals(ResultStatusType.S)){
+                                                orderLogisticsService.payOrderLogisticsCallback(orderId, data.getPaymentId(), language);
+                                                return;
+                                            }
+                                        }
+                                }
+                                Thread.sleep(wait);
+                                num++;
+                            }
+                        } catch (Exception e) {
+                            e.printStackTrace();
+                        }finally {
+                            scheduledExecutorService.shutdown();
+                        }
+                    }, 5, TimeUnit.SECONDS);
+
                 }else{
                     resultUtil = ResultUtil.error(language == 1 ? "支付失败" : language == 2 ? "Payment failure" : "Échec de paiement", "");
                 }
@@ -1192,23 +1257,81 @@
                 BankCard bankCard = bankCardService.selectById(bankCardId);
                 SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
                 String merchantTransactionId = sdf.format(new Date()) + "4" + language + orderId;
-                CheckoutRequest checkoutRequest = new CheckoutRequest();
-                checkoutRequest.setMsisdn(Long.valueOf(bankCard.getCode()));
-                checkoutRequest.setCustomerEmail(driver.getEmail());
-                checkoutRequest.setAccountNumber(bankCard.getCode());
-                checkoutRequest.setCustomerFirstName(bankCard.getFirstName());
-                checkoutRequest.setCustomerLastName(bankCard.getLastName());
-                checkoutRequest.setRequestAmount(money);
-                checkoutRequest.setMerchantTransactionId(merchantTransactionId);
-                checkoutRequest.setRequestDescription("Travel completion payment");
-                checkoutRequest.setCallbackUrl(callbackPath + "/base/wxPayOrderTaxi");
-                checkoutRequest.setPendingRedirectUrl("");
-                checkoutRequest.setSuccessRedirectUrl("https://igo.i-go.group/payMoney/pages/success.html");
-                checkoutRequest.setFailRedirectUrl("https://igo.i-go.group/payMoney/pages/fail.html");
-                ResultUtil resultUtil = TinggPayUtil.checkoutRequest(checkoutRequest);
+//                CheckoutRequest checkoutRequest = new CheckoutRequest();
+//                checkoutRequest.setMsisdn(Long.valueOf(bankCard.getCode()));
+//                checkoutRequest.setCustomerEmail(driver.getEmail());
+//                checkoutRequest.setAccountNumber(bankCard.getCode());
+//                checkoutRequest.setCustomerFirstName(bankCard.getFirstName());
+//                checkoutRequest.setCustomerLastName(bankCard.getLastName());
+//                checkoutRequest.setRequestAmount(money);
+//                checkoutRequest.setMerchantTransactionId(merchantTransactionId);
+//                checkoutRequest.setRequestDescription("Travel completion payment");
+//                checkoutRequest.setCallbackUrl(callbackPath + "/base/wxPayOrderTaxi");
+//                checkoutRequest.setPendingRedirectUrl("");
+//                checkoutRequest.setSuccessRedirectUrl("https://igo.i-go.group/payMoney/pages/success.html");
+//                checkoutRequest.setFailRedirectUrl("https://igo.i-go.group/payMoney/pages/fail.html");
+//                ResultUtil resultUtil = TinggPayUtil.checkoutRequest(checkoutRequest);
 
+
+                AntomPaymentUtil.PaymentVO payment = new AntomPaymentUtil.PaymentVO();
+                payment.setPaymentRequestId(merchantTransactionId);
+                payment.setAmountValue(money.toString());
+                payment.setCurrency("");
+                payment.setOrderDescription("Travel completion payment");
+                payment.setPaymentNotifyUrl(callbackPath + "/base/wxPayOrderTaxiAntom");
+                payment.setPaymentRedirectUrl("https://igo.i-go.group/payMoney/pages/success.html");
+                payment.setReferenceOrderId(orderId + orderType + "");
+                ResultUtil resultUtil = AntomPaymentUtil.pay(payment);
                 if(resultUtil.getCode()==200){
                     paymentRecordService.saveData(1, uid, 2, orderId, orderType, 2, money, null, 1);//添加预支付数据
+                    //创建定时任务查询订单支付状态
+                    ScheduledExecutorService scheduledExecutorService = Executors.newScheduledThreadPool(1);
+                    scheduledExecutorService.schedule(() -> {
+                        try {
+                            int num = 1;
+                            int wait = 0;
+                            while (num <= 13) {
+                                int min = 5000;
+                                wait += (min * num);
+                                switch (orderType){
+                                    case 1:
+                                        OrderPrivateCar orderPrivateCar = orderPrivateCarService.selectById(orderId);
+                                        if(7 != orderPrivateCar.getState()){
+                                            return;
+                                        }
+                                        ResultUtil<AlipayPayQueryResponse> resultUtil1 = AntomPaymentUtil.inquiryPayment(merchantTransactionId);
+                                        if(200 == resultUtil1.getCode()){
+                                            AlipayPayQueryResponse data = resultUtil1.getData();
+                                            ResultStatusType resultStatus = data.getResult().getResultStatus();
+                                            if(resultStatus.equals(ResultStatusType.S)){
+                                                orderPrivateCarService.payOrderPrivateCarCallback(orderId, data.getPaymentId(), language);
+                                                return;
+                                            }
+                                        }
+                                    case 4:
+                                        OrderLogistics orderLogistics = orderLogisticsService.selectById(orderId);
+                                        if(7 != orderLogistics.getState()){
+                                            return;
+                                        }
+                                        ResultUtil<AlipayPayQueryResponse> resultUtil2 = AntomPaymentUtil.inquiryPayment(merchantTransactionId);
+                                        if(200 == resultUtil2.getCode()){
+                                            AlipayPayQueryResponse data = resultUtil2.getData();
+                                            ResultStatusType resultStatus = data.getResult().getResultStatus();
+                                            if(resultStatus.equals(ResultStatusType.S)){
+                                                orderLogisticsService.payOrderLogisticsCallback(orderId, data.getPaymentId(), language);
+                                                return;
+                                            }
+                                        }
+                                }
+                                Thread.sleep(wait);
+                                num++;
+                            }
+                        } catch (Exception e) {
+                            e.printStackTrace();
+                        }finally {
+                            scheduledExecutorService.shutdown();
+                        }
+                    }, 5, TimeUnit.SECONDS);
                 }else{
                     resultUtil = ResultUtil.error(language == 1 ? "支付失败" : language == 2 ? "Payment failure" : "Échec de paiement", "");
                 }
@@ -1250,50 +1373,50 @@
     @Override
     public void getDriverNowPosition() {
         for (OrderPrivateCar orderPrivateCar : orderPrivateCarService.selectList(new EntityWrapper<OrderPrivateCar>().eq("state", 5))) {
-            String trackId = orderPrivateCar.getTrackId();
-            if(ToolUtil.isNotEmpty(trackId)){
-                String trip = fleetEngineUtil.getTrip(trackId);
-                JSONObject lastLocation = JSON.parseObject(trip).getJSONObject("lastLocation");
-                JSONObject location = lastLocation.getJSONObject("location");
-                Double latitude = location.getDouble("latitude");
-                Double longitude = location.getDouble("longitude");
-                OrderPosition orderPosition = new OrderPosition();
-                orderPosition.setOrderId(orderPrivateCar.getId());
-                orderPosition.setOrderType(1);
-                orderPosition.setDriverId(orderPrivateCar.getDriverId());
-                orderPosition.setLat(latitude.toString());
-                orderPosition.setLon(longitude.toString());
-                orderPosition.setInsertTime(new Date());
-                try {
-                    orderPositionService.saveData(orderPosition);
-                } catch (Exception e) {
-                    throw new RuntimeException(e);
-                }
-            }
+//            String trackId = orderPrivateCar.getTrackId();
+//            if(ToolUtil.isNotEmpty(trackId)){
+//                String trip = fleetEngineUtil.getTrip(trackId);
+//                JSONObject lastLocation = JSON.parseObject(trip).getJSONObject("lastLocation");
+//                JSONObject location = lastLocation.getJSONObject("location");
+//                Double latitude = location.getDouble("latitude");
+//                Double longitude = location.getDouble("longitude");
+//                OrderPosition orderPosition = new OrderPosition();
+//                orderPosition.setOrderId(orderPrivateCar.getId());
+//                orderPosition.setOrderType(1);
+//                orderPosition.setDriverId(orderPrivateCar.getDriverId());
+//                orderPosition.setLat(latitude.toString());
+//                orderPosition.setLon(longitude.toString());
+//                orderPosition.setInsertTime(new Date());
+//                try {
+//                    orderPositionService.saveData(orderPosition);
+//                } catch (Exception e) {
+//                    throw new RuntimeException(e);
+//                }
+//            }
         }
     
         List<OrderLogistics> orderLogisticsList = orderLogisticsService.selectList(new EntityWrapper<OrderLogistics>().eq("state", 5));
         for (OrderLogistics orderLogistics : orderLogisticsList) {
-            String trackId = orderLogistics.getTrackId();
-            if(ToolUtil.isNotEmpty(trackId)){
-                String trip = fleetEngineUtil.getTrip(trackId);
-                JSONObject lastLocation = JSON.parseObject(trip).getJSONObject("lastLocation");
-                JSONObject location = lastLocation.getJSONObject("location");
-                Double latitude = location.getDouble("latitude");
-                Double longitude = location.getDouble("longitude");
-                OrderPosition orderPosition = new OrderPosition();
-                orderPosition.setOrderId(orderLogistics.getId());
-                orderPosition.setOrderType(1);
-                orderPosition.setDriverId(orderLogistics.getDriverId());
-                orderPosition.setLat(latitude.toString());
-                orderPosition.setLon(longitude.toString());
-                orderPosition.setInsertTime(new Date());
-                try {
-                    orderPositionService.saveData(orderPosition);
-                } catch (Exception e) {
-                    throw new RuntimeException(e);
-                }
-            }
+//            String trackId = orderLogistics.getTrackId();
+//            if(ToolUtil.isNotEmpty(trackId)){
+//                String trip = fleetEngineUtil.getTrip(trackId);
+//                JSONObject lastLocation = JSON.parseObject(trip).getJSONObject("lastLocation");
+//                JSONObject location = lastLocation.getJSONObject("location");
+//                Double latitude = location.getDouble("latitude");
+//                Double longitude = location.getDouble("longitude");
+//                OrderPosition orderPosition = new OrderPosition();
+//                orderPosition.setOrderId(orderLogistics.getId());
+//                orderPosition.setOrderType(1);
+//                orderPosition.setDriverId(orderLogistics.getDriverId());
+//                orderPosition.setLat(latitude.toString());
+//                orderPosition.setLon(longitude.toString());
+//                orderPosition.setInsertTime(new Date());
+//                try {
+//                    orderPositionService.saveData(orderPosition);
+//                } catch (Exception e) {
+//                    throw new RuntimeException(e);
+//                }
+//            }
         }
     }
     
@@ -1303,128 +1426,128 @@
      */
     @Override
     public void overGoogleOrder() {
-        List<OrderPrivateCar> privateCars = orderPrivateCarService.selectList(new EntityWrapper<OrderPrivateCar>().isNotNull("tripId")
-                .eq("isover", 0).in("state", Arrays.asList(6, 7, 8, 9, 10, 12)).eq("isDelete", 1));
-        for (OrderPrivateCar privateCar : privateCars) {
-            Integer state = privateCar.getState();
-            String tripId = privateCar.getTripId();
-            String trip = fleetEngineUtil.getTrip(tripId);
-            if(null != trip && "" == trip){
-                privateCar.setIsover(1);
-                orderPrivateCarService.updateById(privateCar);
-                continue;
-            }
-            if(ToolUtil.isNotEmpty(trip)){
-                JSONObject jsonObject = JSON.parseObject(trip);
-                String tripStatus = jsonObject.getString("tripStatus");
-                Car car = carService.selectById(privateCar.getCarId());
-                if(Arrays.asList(10, 12).contains(state) && !"CANCELED".equals(tripStatus)){
-                    //修改行程信息
-                    boolean updateTrip = fleetEngineUtil.updateTrip("CANCELED", (null != car ? car.getVehicleId() : null), null, tripId, null, null, null, null, privateCar.getId(), 1);
-                    if(!updateTrip){
-                        for (int i = 0; i < 5; i++) {
-                            updateTrip = fleetEngineUtil.updateTrip("CANCELED", (null != car ? car.getVehicleId() : null), null, tripId, null, null, null, null, privateCar.getId(), 1);
-                            if(updateTrip){
-                                privateCar.setIsover(1);
-                                orderPrivateCarService.updateById(privateCar);
-                                break;
-                            }
-                            try {
-                                Thread.sleep(3000L);
-                            } catch (InterruptedException e) {
-                                e.printStackTrace();
-                            }
-                        }
-                    }else{
-                        privateCar.setIsover(1);
-                        orderPrivateCarService.updateById(privateCar);
-                    }
-                }
-                if(Arrays.asList(6, 7, 8, 9).contains(state) && !"COMPLETE".equals(tripStatus)){
-                    //修改行程信息
-                    boolean updateTrip = fleetEngineUtil.updateTrip("COMPLETE", (null != car ? car.getVehicleId() : null), null, tripId, null, null, null, null, privateCar.getId(), 1);
-                    if(!updateTrip){
-                        for (int i = 0; i < 5; i++) {
-                            updateTrip = fleetEngineUtil.updateTrip("COMPLETE", (null != car ? car.getVehicleId() : null), null, tripId, null, null, null, null, privateCar.getId(), 1);
-                            if(updateTrip){
-                                privateCar.setIsover(1);
-                                orderPrivateCarService.updateById(privateCar);
-                                break;
-                            }
-                            try {
-                                Thread.sleep(3000L);
-                            } catch (InterruptedException e) {
-                                e.printStackTrace();
-                            }
-                        }
-                    }else{
-                        privateCar.setIsover(1);
-                        orderPrivateCarService.updateById(privateCar);
-                    }
-                }
-            }
-        }
-        List<OrderLogistics> orderLogisticsList = orderLogisticsService.selectList(new EntityWrapper<OrderLogistics>().isNotNull("tripId")
-                .eq("isover", 0).in("state", Arrays.asList(6, 7, 8, 9, 10, 12)).eq("isDelete", 1));
-        for (OrderLogistics orderLogistics : orderLogisticsList) {
-            Integer state = orderLogistics.getState();
-            String tripId = orderLogistics.getTripId();
-            String trip = fleetEngineUtil.getTrip(tripId);
-            if(null != trip && "" == trip){
-                orderLogistics.setIsover(1);
-                orderLogisticsService.updateById(orderLogistics);
-                continue;
-            }
-            if(ToolUtil.isNotEmpty(trip)){
-                JSONObject jsonObject = JSON.parseObject(trip);
-                String tripStatus = jsonObject.getString("tripStatus");
-                Car car = carService.selectById(orderLogistics.getCarId());
-                if(Arrays.asList(10, 12).contains(state) && !"CANCELED".equals(tripStatus)){
-                    //修改行程信息
-                    boolean updateTrip = fleetEngineUtil.updateTrip("CANCELED", (null != car ? car.getVehicleId() : null), null, tripId, null, null, null, null, orderLogistics.getId(), 4);
-                    if(!updateTrip){
-                        for (int i = 0; i < 5; i++) {
-                            updateTrip = fleetEngineUtil.updateTrip("CANCELED", (null != car ? car.getVehicleId() : null), null, tripId, null, null, null, null, orderLogistics.getId(), 4);
-                            if(updateTrip){
-                                orderLogistics.setIsover(1);
-                                orderLogisticsService.updateById(orderLogistics);
-                                break;
-                            }
-                            try {
-                                Thread.sleep(3000L);
-                            } catch (InterruptedException e) {
-                                e.printStackTrace();
-                            }
-                        }
-                    }else{
-                        orderLogistics.setIsover(1);
-                        orderLogisticsService.updateById(orderLogistics);
-                    }
-                }
-                if(Arrays.asList(6, 7, 8, 9).contains(state) && !"COMPLETE".equals(tripStatus)){
-                    //修改行程信息
-                    boolean updateTrip = fleetEngineUtil.updateTrip("COMPLETE", (null != car ? car.getVehicleId() : null), null, tripId, null, null, null, null, orderLogistics.getId(), 4);
-                    if(!updateTrip){
-                        for (int i = 0; i < 5; i++) {
-                            updateTrip = fleetEngineUtil.updateTrip("COMPLETE", (null != car ? car.getVehicleId() : null), null, tripId, null, null, null, null, orderLogistics.getId(), 4);
-                            if(updateTrip){
-                                orderLogistics.setIsover(1);
-                                orderLogisticsService.updateById(orderLogistics);
-                                break;
-                            }
-                            try {
-                                Thread.sleep(3000L);
-                            } catch (InterruptedException e) {
-                                e.printStackTrace();
-                            }
-                        }
-                    }else{
-                        orderLogistics.setIsover(1);
-                        orderLogisticsService.updateById(orderLogistics);
-                    }
-                }
-            }
-        }
+//        List<OrderPrivateCar> privateCars = orderPrivateCarService.selectList(new EntityWrapper<OrderPrivateCar>().isNotNull("tripId")
+//                .eq("isover", 0).in("state", Arrays.asList(6, 7, 8, 9, 10, 12)).eq("isDelete", 1));
+//        for (OrderPrivateCar privateCar : privateCars) {
+//            Integer state = privateCar.getState();
+//            String tripId = privateCar.getTripId();
+//            String trip = fleetEngineUtil.getTrip(tripId);
+//            if(null != trip && "" == trip){
+//                privateCar.setIsover(1);
+//                orderPrivateCarService.updateById(privateCar);
+//                continue;
+//            }
+//            if(ToolUtil.isNotEmpty(trip)){
+//                JSONObject jsonObject = JSON.parseObject(trip);
+//                String tripStatus = jsonObject.getString("tripStatus");
+//                Car car = carService.selectById(privateCar.getCarId());
+//                if(Arrays.asList(10, 12).contains(state) && !"CANCELED".equals(tripStatus)){
+//                    //修改行程信息
+//                    boolean updateTrip = fleetEngineUtil.updateTrip("CANCELED", (null != car ? car.getVehicleId() : null), null, tripId, null, null, null, null, privateCar.getId(), 1);
+//                    if(!updateTrip){
+//                        for (int i = 0; i < 5; i++) {
+//                            updateTrip = fleetEngineUtil.updateTrip("CANCELED", (null != car ? car.getVehicleId() : null), null, tripId, null, null, null, null, privateCar.getId(), 1);
+//                            if(updateTrip){
+//                                privateCar.setIsover(1);
+//                                orderPrivateCarService.updateById(privateCar);
+//                                break;
+//                            }
+//                            try {
+//                                Thread.sleep(3000L);
+//                            } catch (InterruptedException e) {
+//                                e.printStackTrace();
+//                            }
+//                        }
+//                    }else{
+//                        privateCar.setIsover(1);
+//                        orderPrivateCarService.updateById(privateCar);
+//                    }
+//                }
+//                if(Arrays.asList(6, 7, 8, 9).contains(state) && !"COMPLETE".equals(tripStatus)){
+//                    //修改行程信息
+//                    boolean updateTrip = fleetEngineUtil.updateTrip("COMPLETE", (null != car ? car.getVehicleId() : null), null, tripId, null, null, null, null, privateCar.getId(), 1);
+//                    if(!updateTrip){
+//                        for (int i = 0; i < 5; i++) {
+//                            updateTrip = fleetEngineUtil.updateTrip("COMPLETE", (null != car ? car.getVehicleId() : null), null, tripId, null, null, null, null, privateCar.getId(), 1);
+//                            if(updateTrip){
+//                                privateCar.setIsover(1);
+//                                orderPrivateCarService.updateById(privateCar);
+//                                break;
+//                            }
+//                            try {
+//                                Thread.sleep(3000L);
+//                            } catch (InterruptedException e) {
+//                                e.printStackTrace();
+//                            }
+//                        }
+//                    }else{
+//                        privateCar.setIsover(1);
+//                        orderPrivateCarService.updateById(privateCar);
+//                    }
+//                }
+//            }
+//        }
+//        List<OrderLogistics> orderLogisticsList = orderLogisticsService.selectList(new EntityWrapper<OrderLogistics>().isNotNull("tripId")
+//                .eq("isover", 0).in("state", Arrays.asList(6, 7, 8, 9, 10, 12)).eq("isDelete", 1));
+//        for (OrderLogistics orderLogistics : orderLogisticsList) {
+//            Integer state = orderLogistics.getState();
+//            String tripId = orderLogistics.getTripId();
+//            String trip = fleetEngineUtil.getTrip(tripId);
+//            if(null != trip && "" == trip){
+//                orderLogistics.setIsover(1);
+//                orderLogisticsService.updateById(orderLogistics);
+//                continue;
+//            }
+//            if(ToolUtil.isNotEmpty(trip)){
+//                JSONObject jsonObject = JSON.parseObject(trip);
+//                String tripStatus = jsonObject.getString("tripStatus");
+//                Car car = carService.selectById(orderLogistics.getCarId());
+//                if(Arrays.asList(10, 12).contains(state) && !"CANCELED".equals(tripStatus)){
+//                    //修改行程信息
+//                    boolean updateTrip = fleetEngineUtil.updateTrip("CANCELED", (null != car ? car.getVehicleId() : null), null, tripId, null, null, null, null, orderLogistics.getId(), 4);
+//                    if(!updateTrip){
+//                        for (int i = 0; i < 5; i++) {
+//                            updateTrip = fleetEngineUtil.updateTrip("CANCELED", (null != car ? car.getVehicleId() : null), null, tripId, null, null, null, null, orderLogistics.getId(), 4);
+//                            if(updateTrip){
+//                                orderLogistics.setIsover(1);
+//                                orderLogisticsService.updateById(orderLogistics);
+//                                break;
+//                            }
+//                            try {
+//                                Thread.sleep(3000L);
+//                            } catch (InterruptedException e) {
+//                                e.printStackTrace();
+//                            }
+//                        }
+//                    }else{
+//                        orderLogistics.setIsover(1);
+//                        orderLogisticsService.updateById(orderLogistics);
+//                    }
+//                }
+//                if(Arrays.asList(6, 7, 8, 9).contains(state) && !"COMPLETE".equals(tripStatus)){
+//                    //修改行程信息
+//                    boolean updateTrip = fleetEngineUtil.updateTrip("COMPLETE", (null != car ? car.getVehicleId() : null), null, tripId, null, null, null, null, orderLogistics.getId(), 4);
+//                    if(!updateTrip){
+//                        for (int i = 0; i < 5; i++) {
+//                            updateTrip = fleetEngineUtil.updateTrip("COMPLETE", (null != car ? car.getVehicleId() : null), null, tripId, null, null, null, null, orderLogistics.getId(), 4);
+//                            if(updateTrip){
+//                                orderLogistics.setIsover(1);
+//                                orderLogisticsService.updateById(orderLogistics);
+//                                break;
+//                            }
+//                            try {
+//                                Thread.sleep(3000L);
+//                            } catch (InterruptedException e) {
+//                                e.printStackTrace();
+//                            }
+//                        }
+//                    }else{
+//                        orderLogistics.setIsover(1);
+//                        orderLogisticsService.updateById(orderLogistics);
+//                    }
+//                }
+//            }
+//        }
     }
 }
 
diff --git a/DriverGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ReassignServiceImpl.java b/DriverGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ReassignServiceImpl.java
index b02e52a..31cf909 100644
--- a/DriverGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ReassignServiceImpl.java
+++ b/DriverGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ReassignServiceImpl.java
@@ -360,64 +360,64 @@
                             car.setVehicleId(UUIDUtil.getRandomCode());
                             carService.updateById(car);
                         }
-                        String vehicles = fleetEngineUtil.getVehicles(car.getVehicleId());
-                        if(ToolUtil.isEmpty(vehicles)){
-                            CarModel carModel = carModelMapper.selectById(car.getCarModelId());
-                            boolean createVehicles = fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
-                            if(!createVehicles){
-                                for (int i = 0; i < 5; i++) {
-                                    createVehicles = fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
-                                    if(createVehicles){
-                                        break;
-                                    }
-                                    try {
-                                        Thread.sleep(3000L);
-                                    } catch (InterruptedException e) {
-                                        throw new RuntimeException(e);
-                                    }
-                                }
-                            }
-                        }
-                    
-                        //修改google订单信息或者创建新的行程
-                        String trip = fleetEngineUtil.getTrip(orderPrivateCar.getTripId());
-                        if(ToolUtil.isEmpty(trip)){
-                            JSONObject createTrip = fleetEngineUtil.createTrip(car.getVehicleId(), 1, orderPrivateCar.getTripId(),
-                                    orderPrivateCar.getStartLat().toString(), orderPrivateCar.getStartLon().toString(),  orderPrivateCar.getEndLat().toString(), orderPrivateCar.getEndLon().toString());
-                            JSONObject error = createTrip.getJSONObject("error");
-                            if(null != error){
-                                for (int i = 0; i < 5; i++) {
-                                    createTrip = fleetEngineUtil.createTrip(car.getVehicleId(), 1, orderPrivateCar.getTripId(),
-                                            orderPrivateCar.getStartLat().toString(), orderPrivateCar.getStartLon().toString(),  orderPrivateCar.getEndLat().toString(), orderPrivateCar.getEndLon().toString());
-                                    error = createTrip.getJSONObject("error");
-                                    String tripStatus = createTrip.getString("tripStatus");
-                                    if(null == error && "NEW".equals(tripStatus)){
-                                        break;
-                                    }
-                                    try {
-                                        Thread.sleep(3000L);
-                                    } catch (InterruptedException e) {
-                                        throw new RuntimeException(e);
-                                    }
-                                }
-                            }
-                        }else{
-                            //开始修改行程数据
-                            boolean updateTrip = fleetEngineUtil.updateTrip(null, car.getVehicleId(), null, orderPrivateCar.getTripId(), null, null, null, null, orderPrivateCar.getId(), 1);
-                            if(!updateTrip){
-                                for (int i = 0; i < 5; i++) {
-                                    updateTrip = fleetEngineUtil.updateTrip(null, car.getVehicleId(), null, orderPrivateCar.getTripId(), null, null, null, null, orderPrivateCar.getId(), 1);
-                                    if(updateTrip){
-                                        break;
-                                    }
-                                    try {
-                                        Thread.sleep(3000L);
-                                    } catch (InterruptedException e) {
-                                        throw new RuntimeException(e);
-                                    }
-                                }
-                            }
-                        }
+//                        String vehicles = fleetEngineUtil.getVehicles(car.getVehicleId());
+//                        if(ToolUtil.isEmpty(vehicles)){
+//                            CarModel carModel = carModelMapper.selectById(car.getCarModelId());
+//                            boolean createVehicles = fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+//                            if(!createVehicles){
+//                                for (int i = 0; i < 5; i++) {
+//                                    createVehicles = fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+//                                    if(createVehicles){
+//                                        break;
+//                                    }
+//                                    try {
+//                                        Thread.sleep(3000L);
+//                                    } catch (InterruptedException e) {
+//                                        throw new RuntimeException(e);
+//                                    }
+//                                }
+//                            }
+//                        }
+//
+//                        //修改google订单信息或者创建新的行程
+//                        String trip = fleetEngineUtil.getTrip(orderPrivateCar.getTripId());
+//                        if(ToolUtil.isEmpty(trip)){
+//                            JSONObject createTrip = fleetEngineUtil.createTrip(car.getVehicleId(), 1, orderPrivateCar.getTripId(),
+//                                    orderPrivateCar.getStartLat().toString(), orderPrivateCar.getStartLon().toString(),  orderPrivateCar.getEndLat().toString(), orderPrivateCar.getEndLon().toString());
+//                            JSONObject error = createTrip.getJSONObject("error");
+//                            if(null != error){
+//                                for (int i = 0; i < 5; i++) {
+//                                    createTrip = fleetEngineUtil.createTrip(car.getVehicleId(), 1, orderPrivateCar.getTripId(),
+//                                            orderPrivateCar.getStartLat().toString(), orderPrivateCar.getStartLon().toString(),  orderPrivateCar.getEndLat().toString(), orderPrivateCar.getEndLon().toString());
+//                                    error = createTrip.getJSONObject("error");
+//                                    String tripStatus = createTrip.getString("tripStatus");
+//                                    if(null == error && "NEW".equals(tripStatus)){
+//                                        break;
+//                                    }
+//                                    try {
+//                                        Thread.sleep(3000L);
+//                                    } catch (InterruptedException e) {
+//                                        throw new RuntimeException(e);
+//                                    }
+//                                }
+//                            }
+//                        }else{
+//                            //开始修改行程数据
+//                            boolean updateTrip = fleetEngineUtil.updateTrip(null, car.getVehicleId(), null, orderPrivateCar.getTripId(), null, null, null, null, orderPrivateCar.getId(), 1);
+//                            if(!updateTrip){
+//                                for (int i = 0; i < 5; i++) {
+//                                    updateTrip = fleetEngineUtil.updateTrip(null, car.getVehicleId(), null, orderPrivateCar.getTripId(), null, null, null, null, orderPrivateCar.getId(), 1);
+//                                    if(updateTrip){
+//                                        break;
+//                                    }
+//                                    try {
+//                                        Thread.sleep(3000L);
+//                                    } catch (InterruptedException e) {
+//                                        throw new RuntimeException(e);
+//                                    }
+//                                }
+//                            }
+//                        }
                     
                     
                     
@@ -706,64 +706,64 @@
                             car.setVehicleId(UUIDUtil.getRandomCode());
                             carService.updateById(car);
                         }
-                        String vehicles = fleetEngineUtil.getVehicles(car.getVehicleId());
-                        if(ToolUtil.isEmpty(vehicles)){
-                            CarModel carModel = carModelMapper.selectById(car.getCarModelId());
-                            boolean createVehicles = fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
-                            if(!createVehicles){
-                                for (int i = 0; i < 5; i++) {
-                                    createVehicles = fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
-                                    if(createVehicles){
-                                        break;
-                                    }
-                                    try {
-                                        Thread.sleep(3000L);
-                                    } catch (InterruptedException e) {
-                                        throw new RuntimeException(e);
-                                    }
-                                }
-                            }
-                        }
-                    
-                        //修改google订单信息或者创建新的行程
-                        String trip = fleetEngineUtil.getTrip(orderLogistics.getTripId());
-                        if(ToolUtil.isEmpty(trip)){
-                            JSONObject createTrip = fleetEngineUtil.createTrip(car.getVehicleId(), 1, orderLogistics.getTripId(),
-                                    orderLogistics.getStartLat().toString(), orderLogistics.getStartLon().toString(), orderLogistics.getEndLat().toString(), orderLogistics.getEndLon().toString());
-                            JSONObject error = createTrip.getJSONObject("error");
-                            if(null != error){
-                                for (int i = 0; i < 5; i++) {
-                                    createTrip = fleetEngineUtil.createTrip(car.getVehicleId(), 1, orderLogistics.getTripId(),
-                                            orderLogistics.getStartLat().toString(), orderLogistics.getStartLon().toString(), orderLogistics.getEndLat().toString(), orderLogistics.getEndLon().toString());
-                                    error = createTrip.getJSONObject("error");
-                                    String tripStatus = createTrip.getString("tripStatus");
-                                    if(null == error && "NEW".equals(tripStatus)){
-                                        break;
-                                    }
-                                    try {
-                                        Thread.sleep(3000L);
-                                    } catch (InterruptedException e) {
-                                        throw new RuntimeException(e);
-                                    }
-                                }
-                            }
-                        }else{
-                            //开始修改行程数据
-                            boolean updateTrip = fleetEngineUtil.updateTrip(null, car.getVehicleId(), null, orderLogistics.getTripId(), null, null, null, null, orderLogistics.getId(), 4);
-                            if(!updateTrip){
-                                for (int i = 0; i < 5; i++) {
-                                    updateTrip = fleetEngineUtil.updateTrip(null, car.getVehicleId(), null, orderLogistics.getTripId(), null, null, null, null, orderLogistics.getId(), 4);
-                                    if(updateTrip){
-                                        break;
-                                    }
-                                    try {
-                                        Thread.sleep(3000L);
-                                    } catch (InterruptedException e) {
-                                        throw new RuntimeException(e);
-                                    }
-                                }
-                            }
-                        }
+//                        String vehicles = fleetEngineUtil.getVehicles(car.getVehicleId());
+//                        if(ToolUtil.isEmpty(vehicles)){
+//                            CarModel carModel = carModelMapper.selectById(car.getCarModelId());
+//                            boolean createVehicles = fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+//                            if(!createVehicles){
+//                                for (int i = 0; i < 5; i++) {
+//                                    createVehicles = fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+//                                    if(createVehicles){
+//                                        break;
+//                                    }
+//                                    try {
+//                                        Thread.sleep(3000L);
+//                                    } catch (InterruptedException e) {
+//                                        throw new RuntimeException(e);
+//                                    }
+//                                }
+//                            }
+//                        }
+//
+//                        //修改google订单信息或者创建新的行程
+//                        String trip = fleetEngineUtil.getTrip(orderLogistics.getTripId());
+//                        if(ToolUtil.isEmpty(trip)){
+//                            JSONObject createTrip = fleetEngineUtil.createTrip(car.getVehicleId(), 1, orderLogistics.getTripId(),
+//                                    orderLogistics.getStartLat().toString(), orderLogistics.getStartLon().toString(), orderLogistics.getEndLat().toString(), orderLogistics.getEndLon().toString());
+//                            JSONObject error = createTrip.getJSONObject("error");
+//                            if(null != error){
+//                                for (int i = 0; i < 5; i++) {
+//                                    createTrip = fleetEngineUtil.createTrip(car.getVehicleId(), 1, orderLogistics.getTripId(),
+//                                            orderLogistics.getStartLat().toString(), orderLogistics.getStartLon().toString(), orderLogistics.getEndLat().toString(), orderLogistics.getEndLon().toString());
+//                                    error = createTrip.getJSONObject("error");
+//                                    String tripStatus = createTrip.getString("tripStatus");
+//                                    if(null == error && "NEW".equals(tripStatus)){
+//                                        break;
+//                                    }
+//                                    try {
+//                                        Thread.sleep(3000L);
+//                                    } catch (InterruptedException e) {
+//                                        throw new RuntimeException(e);
+//                                    }
+//                                }
+//                            }
+//                        }else{
+//                            //开始修改行程数据
+//                            boolean updateTrip = fleetEngineUtil.updateTrip(null, car.getVehicleId(), null, orderLogistics.getTripId(), null, null, null, null, orderLogistics.getId(), 4);
+//                            if(!updateTrip){
+//                                for (int i = 0; i < 5; i++) {
+//                                    updateTrip = fleetEngineUtil.updateTrip(null, car.getVehicleId(), null, orderLogistics.getTripId(), null, null, null, null, orderLogistics.getId(), 4);
+//                                    if(updateTrip){
+//                                        break;
+//                                    }
+//                                    try {
+//                                        Thread.sleep(3000L);
+//                                    } catch (InterruptedException e) {
+//                                        throw new RuntimeException(e);
+//                                    }
+//                                }
+//                            }
+//                        }
                     
                     
                         //删除定时任务
diff --git a/DriverGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/SettlementRecordServiceImpl.java b/DriverGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/SettlementRecordServiceImpl.java
index 15f6f87..8fdfa56 100644
--- a/DriverGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/SettlementRecordServiceImpl.java
+++ b/DriverGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/SettlementRecordServiceImpl.java
@@ -2,10 +2,14 @@
 
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
+import com.alipay.global.api.model.ResultStatusType;
+import com.alipay.global.api.response.ams.pay.AlipayPayQueryResponse;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.baomidou.mybatisplus.mapper.Wrapper;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
 import com.stylefeng.guns.core.util.ToolUtil;
+import com.stylefeng.guns.modular.smallLogistics.model.OrderLogistics;
+import com.stylefeng.guns.modular.specialTrain.model.OrderPrivateCar;
 import com.stylefeng.guns.modular.system.dao.CarModelMapper;
 import com.stylefeng.guns.modular.system.dao.SettlementRecordMapper;
 import com.stylefeng.guns.modular.system.model.*;
@@ -30,6 +34,9 @@
 import java.math.RoundingMode;
 import java.text.SimpleDateFormat;
 import java.util.*;
+import java.util.concurrent.Executors;
+import java.util.concurrent.ScheduledExecutorService;
+import java.util.concurrent.TimeUnit;
 import java.util.stream.Collectors;
 
 /**
@@ -186,23 +193,76 @@
         if(payType == 1){//手机支付
             SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
             String merchantTransactionId = sdf.format(new Date()) + language + payType + driver1.getId();
-            CheckoutRequest checkoutRequest = new CheckoutRequest();
-            checkoutRequest.setMsisdn(Long.valueOf(driver1.getPhone()));
-            checkoutRequest.setCustomerEmail(driver1.getEmail());
-            checkoutRequest.setAccountNumber(driver1.getPhone());
-            checkoutRequest.setCustomerFirstName(driver1.getFirstName());
-            checkoutRequest.setCustomerLastName(driver1.getLastName());
-            checkoutRequest.setRequestAmount(payMoney);
-            checkoutRequest.setMerchantTransactionId(merchantTransactionId);
-            checkoutRequest.setRequestDescription("Settlement cost");
-            checkoutRequest.setCallbackUrl(callbackPath + "/base/settlementRecord/paymentSettlementAmountCallback");
-            checkoutRequest.setPendingRedirectUrl("");
-            checkoutRequest.setSuccessRedirectUrl("https://igo.i-go.group/payMoney/pages/success.html");
-            checkoutRequest.setFailRedirectUrl("https://igo.i-go.group/payMoney/pages/fail.html");
-            resultUtil = TinggPayUtil.checkoutRequest(checkoutRequest);
+//            CheckoutRequest checkoutRequest = new CheckoutRequest();
+//            checkoutRequest.setMsisdn(Long.valueOf(driver1.getPhone()));
+//            checkoutRequest.setCustomerEmail(driver1.getEmail());
+//            checkoutRequest.setAccountNumber(driver1.getPhone());
+//            checkoutRequest.setCustomerFirstName(driver1.getFirstName());
+//            checkoutRequest.setCustomerLastName(driver1.getLastName());
+//            checkoutRequest.setRequestAmount(payMoney);
+//            checkoutRequest.setMerchantTransactionId(merchantTransactionId);
+//            checkoutRequest.setRequestDescription("Settlement cost");
+//            checkoutRequest.setCallbackUrl(callbackPath + "/base/settlementRecord/paymentSettlementAmountCallback");
+//            checkoutRequest.setPendingRedirectUrl("");
+//            checkoutRequest.setSuccessRedirectUrl("https://igo.i-go.group/payMoney/pages/success.html");
+//            checkoutRequest.setFailRedirectUrl("https://igo.i-go.group/payMoney/pages/fail.html");
+//            resultUtil = TinggPayUtil.checkoutRequest(checkoutRequest);
 
+
+            AntomPaymentUtil.PaymentVO payment = new AntomPaymentUtil.PaymentVO();
+            payment.setPaymentRequestId(merchantTransactionId);
+            payment.setAmountValue(payMoney.toString());
+            payment.setCurrency("");
+            payment.setOrderDescription("Settlement cost");
+            payment.setPaymentNotifyUrl(callbackPath + "/base/settlementRecord/paymentSettlementAmountCallbackAntom");
+            payment.setPaymentRedirectUrl("https://igo.i-go.group/payMoney/pages/success.html");
+            payment.setReferenceOrderId(driverId + "");
+            resultUtil = AntomPaymentUtil.pay(payment);
             if(resultUtil.getCode()!=200){
                 resultUtil = ResultUtil.error(language == 1 ? "支付失败" : language == 2 ? "Payment failure" : "Échec de paiement", "");
+            }else{
+                //创建定时任务查询订单支付状态
+                ScheduledExecutorService scheduledExecutorService = Executors.newScheduledThreadPool(1);
+                scheduledExecutorService.schedule(() -> {
+                    try {
+                        int num = 1;
+                        int wait = 0;
+                        while (num <= 13) {
+                            int min = 5000;
+                            wait += (min * num);
+                            List<SettlementRecord> settlementRecords1 = this.selectList(new EntityWrapper<SettlementRecord>().eq("driverId", driverId).eq("paymentStatus", 1));
+                            if(settlementRecords1.isEmpty()){
+                                break;
+                            }
+                            ResultUtil<AlipayPayQueryResponse> resultUtil2 = AntomPaymentUtil.inquiryPayment(merchantTransactionId);
+                            if(200 == resultUtil2.getCode()){
+                                AlipayPayQueryResponse data = resultUtil2.getData();
+                                ResultStatusType resultStatus = data.getResult().getResultStatus();
+                                if(resultStatus.equals(ResultStatusType.S)){
+                                    for (SettlementRecord settlementRecord : settlementRecords1) {
+                                        settlementRecord.setPayType(payType);
+                                        settlementRecord.setPaymentStatus(2);
+                                        settlementRecord.setPayTime(new Date());
+                                        settlementRecord.setCode(data.getPaymentId());
+                                        this.updateById(settlementRecord);
+                                    }
+                                    //添加司机结算的平台收入记录
+                                    if(settlementRecords.size() > 0){
+                                        incomeService.saveData(1, 1, 8, driverId, null, Double.valueOf(data.getPaymentAmount().getValue()));
+                                    }
+                                    return;
+                                }
+                            }
+
+                            Thread.sleep(wait);
+                            num++;
+                        }
+                    } catch (Exception e) {
+                        e.printStackTrace();
+                    }finally {
+                        scheduledExecutorService.shutdown();
+                    }
+                }, 5, TimeUnit.SECONDS);
             }
             return resultUtil;
         }
@@ -210,23 +270,75 @@
             BankCard bankCard = bankCardService.selectById(bankCardId);
             SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
             String merchantTransactionId = sdf.format(new Date()) + language + payType + driver1.getId();
-            CheckoutRequest checkoutRequest = new CheckoutRequest();
-            checkoutRequest.setMsisdn(Long.valueOf(bankCard.getCode()));
-            checkoutRequest.setCustomerEmail(driver1.getEmail());
-            checkoutRequest.setAccountNumber(bankCard.getCode());
-            checkoutRequest.setCustomerFirstName(bankCard.getFirstName());
-            checkoutRequest.setCustomerLastName(bankCard.getLastName());
-            checkoutRequest.setRequestAmount(payMoney);
-            checkoutRequest.setMerchantTransactionId(merchantTransactionId);
-            checkoutRequest.setRequestDescription("Settlement cost");
-            checkoutRequest.setCallbackUrl(callbackPath + "/base/settlementRecord/paymentSettlementAmountCallback");
-            checkoutRequest.setPendingRedirectUrl("");
-            checkoutRequest.setSuccessRedirectUrl("https://igo.i-go.group/payMoney/pages/success.html");
-            checkoutRequest.setFailRedirectUrl("https://igo.i-go.group/payMoney/pages/fail.html");
-            resultUtil = TinggPayUtil.checkoutRequest(checkoutRequest);
+//            CheckoutRequest checkoutRequest = new CheckoutRequest();
+//            checkoutRequest.setMsisdn(Long.valueOf(bankCard.getCode()));
+//            checkoutRequest.setCustomerEmail(driver1.getEmail());
+//            checkoutRequest.setAccountNumber(bankCard.getCode());
+//            checkoutRequest.setCustomerFirstName(bankCard.getFirstName());
+//            checkoutRequest.setCustomerLastName(bankCard.getLastName());
+//            checkoutRequest.setRequestAmount(payMoney);
+//            checkoutRequest.setMerchantTransactionId(merchantTransactionId);
+//            checkoutRequest.setRequestDescription("Settlement cost");
+//            checkoutRequest.setCallbackUrl(callbackPath + "/base/settlementRecord/paymentSettlementAmountCallback");
+//            checkoutRequest.setPendingRedirectUrl("");
+//            checkoutRequest.setSuccessRedirectUrl("https://igo.i-go.group/payMoney/pages/success.html");
+//            checkoutRequest.setFailRedirectUrl("https://igo.i-go.group/payMoney/pages/fail.html");
+//            resultUtil = TinggPayUtil.checkoutRequest(checkoutRequest);
 
+            AntomPaymentUtil.PaymentVO payment = new AntomPaymentUtil.PaymentVO();
+            payment.setPaymentRequestId(merchantTransactionId);
+            payment.setAmountValue(payMoney.toString());
+            payment.setCurrency("");
+            payment.setOrderDescription("Settlement cost");
+            payment.setPaymentNotifyUrl(callbackPath + "/base/settlementRecord/paymentSettlementAmountCallbackAntom");
+            payment.setPaymentRedirectUrl("https://igo.i-go.group/payMoney/pages/success.html");
+            payment.setReferenceOrderId(driverId + "");
+            resultUtil = AntomPaymentUtil.pay(payment);
             if(resultUtil.getCode()!=200){
                 resultUtil = ResultUtil.error(language == 1 ? "支付失败" : language == 2 ? "Payment failure" : "Échec de paiement", "");
+            }else{
+                //创建定时任务查询订单支付状态
+                ScheduledExecutorService scheduledExecutorService = Executors.newScheduledThreadPool(1);
+                scheduledExecutorService.schedule(() -> {
+                    try {
+                        int num = 1;
+                        int wait = 0;
+                        while (num <= 13) {
+                            int min = 5000;
+                            wait += (min * num);
+                            List<SettlementRecord> settlementRecords1 = this.selectList(new EntityWrapper<SettlementRecord>().eq("driverId", driverId).eq("paymentStatus", 1));
+                            if(settlementRecords1.isEmpty()){
+                                break;
+                            }
+                            ResultUtil<AlipayPayQueryResponse> resultUtil2 = AntomPaymentUtil.inquiryPayment(merchantTransactionId);
+                            if(200 == resultUtil2.getCode()){
+                                AlipayPayQueryResponse data = resultUtil2.getData();
+                                ResultStatusType resultStatus = data.getResult().getResultStatus();
+                                if(resultStatus.equals(ResultStatusType.S)){
+                                    for (SettlementRecord settlementRecord : settlementRecords1) {
+                                        settlementRecord.setPayType(payType);
+                                        settlementRecord.setPaymentStatus(2);
+                                        settlementRecord.setPayTime(new Date());
+                                        settlementRecord.setCode(data.getPaymentId());
+                                        this.updateById(settlementRecord);
+                                    }
+                                    //添加司机结算的平台收入记录
+                                    if(settlementRecords.size() > 0){
+                                        incomeService.saveData(1, 1, 8, driverId, null, Double.valueOf(data.getPaymentAmount().getValue()));
+                                    }
+                                    return;
+                                }
+                            }
+
+                            Thread.sleep(wait);
+                            num++;
+                        }
+                    } catch (Exception e) {
+                        e.printStackTrace();
+                    }finally {
+                        scheduledExecutorService.shutdown();
+                    }
+                }, 5, TimeUnit.SECONDS);
             }
             return resultUtil;
         }
@@ -410,60 +522,60 @@
                         }
     
                         //司机下班,修改谷歌上的车辆信息
-                        new Thread(()->{
-                            try {
-                                CarModel carModel = carModelMapper.selectById(car.getCarModelId());
-                                String vehicles = fleetEngineUtil.getVehicles(car.getVehicleId());
-                                if(ToolUtil.isEmpty(vehicles)){
-                                    boolean createVehicles = fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
-                                    if(!createVehicles){
-                                        for (int i = 0; i < 5; i++) {
-                                            createVehicles = fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
-                                            if(createVehicles){
-                                                break;
-                                            }
-                                            try {
-                                                Thread.sleep(5000L);
-                                            } catch (InterruptedException e) {
-                                                throw new RuntimeException(e);
-                                            }
-                                        }
-                                    }
-                                    
-                                    boolean updateVehicles = fleetEngineUtil.updateVehicles("OFFLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
-                                    if(!updateVehicles){
-                                        for (int i = 0; i < 5; i++) {
-                                            updateVehicles = fleetEngineUtil.updateVehicles("OFFLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
-                                            if(updateVehicles){
-                                                break;
-                                            }
-                                            try {
-                                                Thread.sleep(5000L);
-                                            } catch (InterruptedException e) {
-                                                throw new RuntimeException(e);
-                                            }
-                                        }
-                                    }
-                                }else{
-                                    boolean updateVehicles = fleetEngineUtil.updateVehicles("OFFLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
-                                    if(!updateVehicles){
-                                        for (int i = 0; i < 5; i++) {
-                                            updateVehicles = fleetEngineUtil.updateVehicles("OFFLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
-                                            if(updateVehicles){
-                                                break;
-                                            }
-                                            try {
-                                                Thread.sleep(5000L);
-                                            } catch (InterruptedException e) {
-                                                throw new RuntimeException(e);
-                                            }
-                                        }
-                                    }
-                                }
-                            }catch (Exception e){
-                                e.printStackTrace();
-                            }
-                        }).start();
+//                        new Thread(()->{
+//                            try {
+//                                CarModel carModel = carModelMapper.selectById(car.getCarModelId());
+//                                String vehicles = fleetEngineUtil.getVehicles(car.getVehicleId());
+//                                if(ToolUtil.isEmpty(vehicles)){
+//                                    boolean createVehicles = fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+//                                    if(!createVehicles){
+//                                        for (int i = 0; i < 5; i++) {
+//                                            createVehicles = fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+//                                            if(createVehicles){
+//                                                break;
+//                                            }
+//                                            try {
+//                                                Thread.sleep(5000L);
+//                                            } catch (InterruptedException e) {
+//                                                throw new RuntimeException(e);
+//                                            }
+//                                        }
+//                                    }
+//
+//                                    boolean updateVehicles = fleetEngineUtil.updateVehicles("OFFLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+//                                    if(!updateVehicles){
+//                                        for (int i = 0; i < 5; i++) {
+//                                            updateVehicles = fleetEngineUtil.updateVehicles("OFFLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+//                                            if(updateVehicles){
+//                                                break;
+//                                            }
+//                                            try {
+//                                                Thread.sleep(5000L);
+//                                            } catch (InterruptedException e) {
+//                                                throw new RuntimeException(e);
+//                                            }
+//                                        }
+//                                    }
+//                                }else{
+//                                    boolean updateVehicles = fleetEngineUtil.updateVehicles("OFFLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+//                                    if(!updateVehicles){
+//                                        for (int i = 0; i < 5; i++) {
+//                                            updateVehicles = fleetEngineUtil.updateVehicles("OFFLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+//                                            if(updateVehicles){
+//                                                break;
+//                                            }
+//                                            try {
+//                                                Thread.sleep(5000L);
+//                                            } catch (InterruptedException e) {
+//                                                throw new RuntimeException(e);
+//                                            }
+//                                        }
+//                                    }
+//                                }
+//                            }catch (Exception e){
+//                                e.printStackTrace();
+//                            }
+//                        }).start();
                         
                     }
                 }
@@ -508,60 +620,60 @@
                         }
     
                         //司机下班,修改谷歌上的车辆信息
-                        new Thread(()->{
-                            try {
-                                CarModel carModel = carModelMapper.selectById(car.getCarModelId());
-                                String vehicles = fleetEngineUtil.getVehicles(car.getVehicleId());
-                                if(ToolUtil.isEmpty(vehicles)){
-                                    boolean createVehicles = fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
-                                    if(!createVehicles){
-                                        for (int i = 0; i < 5; i++) {
-                                            createVehicles = fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
-                                            if(createVehicles){
-                                                break;
-                                            }
-                                            try {
-                                                Thread.sleep(5000L);
-                                            } catch (InterruptedException e) {
-                                                throw new RuntimeException(e);
-                                            }
-                                        }
-                                    }
-                                    
-                                    boolean updateVehicles = fleetEngineUtil.updateVehicles("OFFLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
-                                    if(!updateVehicles){
-                                        for (int i = 0; i < 5; i++) {
-                                            updateVehicles = fleetEngineUtil.updateVehicles("OFFLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
-                                            if(updateVehicles){
-                                                break;
-                                            }
-                                            try {
-                                                Thread.sleep(5000L);
-                                            } catch (InterruptedException e) {
-                                                throw new RuntimeException(e);
-                                            }
-                                        }
-                                    }
-                                }else{
-                                    boolean updateVehicles = fleetEngineUtil.updateVehicles("OFFLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
-                                    if(!updateVehicles){
-                                        for (int i = 0; i < 5; i++) {
-                                            updateVehicles = fleetEngineUtil.updateVehicles("OFFLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
-                                            if(updateVehicles){
-                                                break;
-                                            }
-                                            try {
-                                                Thread.sleep(5000L);
-                                            } catch (InterruptedException e) {
-                                                throw new RuntimeException(e);
-                                            }
-                                        }
-                                    }
-                                }
-                            }catch (Exception e){
-                                e.printStackTrace();
-                            }
-                        }).start();
+//                        new Thread(()->{
+//                            try {
+//                                CarModel carModel = carModelMapper.selectById(car.getCarModelId());
+//                                String vehicles = fleetEngineUtil.getVehicles(car.getVehicleId());
+//                                if(ToolUtil.isEmpty(vehicles)){
+//                                    boolean createVehicles = fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+//                                    if(!createVehicles){
+//                                        for (int i = 0; i < 5; i++) {
+//                                            createVehicles = fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+//                                            if(createVehicles){
+//                                                break;
+//                                            }
+//                                            try {
+//                                                Thread.sleep(5000L);
+//                                            } catch (InterruptedException e) {
+//                                                throw new RuntimeException(e);
+//                                            }
+//                                        }
+//                                    }
+//
+//                                    boolean updateVehicles = fleetEngineUtil.updateVehicles("OFFLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+//                                    if(!updateVehicles){
+//                                        for (int i = 0; i < 5; i++) {
+//                                            updateVehicles = fleetEngineUtil.updateVehicles("OFFLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+//                                            if(updateVehicles){
+//                                                break;
+//                                            }
+//                                            try {
+//                                                Thread.sleep(5000L);
+//                                            } catch (InterruptedException e) {
+//                                                throw new RuntimeException(e);
+//                                            }
+//                                        }
+//                                    }
+//                                }else{
+//                                    boolean updateVehicles = fleetEngineUtil.updateVehicles("OFFLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+//                                    if(!updateVehicles){
+//                                        for (int i = 0; i < 5; i++) {
+//                                            updateVehicles = fleetEngineUtil.updateVehicles("OFFLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+//                                            if(updateVehicles){
+//                                                break;
+//                                            }
+//                                            try {
+//                                                Thread.sleep(5000L);
+//                                            } catch (InterruptedException e) {
+//                                                throw new RuntimeException(e);
+//                                            }
+//                                        }
+//                                    }
+//                                }
+//                            }catch (Exception e){
+//                                e.printStackTrace();
+//                            }
+//                        }).start();
                     }
                 }
             }
@@ -605,60 +717,60 @@
                         }
     
                         //司机下班,修改谷歌上的车辆信息
-                        new Thread(()->{
-                            try {
-                                CarModel carModel = carModelMapper.selectById(car.getCarModelId());
-                                String vehicles = fleetEngineUtil.getVehicles(car.getVehicleId());
-                                if(ToolUtil.isEmpty(vehicles)){
-                                    boolean createVehicles = fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
-                                    if(!createVehicles){
-                                        for (int i = 0; i < 5; i++) {
-                                            createVehicles = fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
-                                            if(createVehicles){
-                                                break;
-                                            }
-                                            try {
-                                                Thread.sleep(5000L);
-                                            } catch (InterruptedException e) {
-                                                throw new RuntimeException(e);
-                                            }
-                                        }
-                                    }
-                                    
-                                    boolean updateVehicles = fleetEngineUtil.updateVehicles("OFFLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
-                                    if(!updateVehicles){
-                                        for (int i = 0; i < 5; i++) {
-                                            updateVehicles = fleetEngineUtil.updateVehicles("OFFLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
-                                            if(updateVehicles){
-                                                break;
-                                            }
-                                            try {
-                                                Thread.sleep(5000L);
-                                            } catch (InterruptedException e) {
-                                                throw new RuntimeException(e);
-                                            }
-                                        }
-                                    }
-                                }else{
-                                    boolean updateVehicles = fleetEngineUtil.updateVehicles("OFFLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
-                                    if(!updateVehicles){
-                                        for (int i = 0; i < 5; i++) {
-                                            updateVehicles = fleetEngineUtil.updateVehicles("OFFLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
-                                            if(updateVehicles){
-                                                break;
-                                            }
-                                            try {
-                                                Thread.sleep(5000L);
-                                            } catch (InterruptedException e) {
-                                                throw new RuntimeException(e);
-                                            }
-                                        }
-                                    }
-                                }
-                            }catch (Exception e){
-                                e.printStackTrace();
-                            }
-                        }).start();
+//                        new Thread(()->{
+//                            try {
+//                                CarModel carModel = carModelMapper.selectById(car.getCarModelId());
+//                                String vehicles = fleetEngineUtil.getVehicles(car.getVehicleId());
+//                                if(ToolUtil.isEmpty(vehicles)){
+//                                    boolean createVehicles = fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+//                                    if(!createVehicles){
+//                                        for (int i = 0; i < 5; i++) {
+//                                            createVehicles = fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+//                                            if(createVehicles){
+//                                                break;
+//                                            }
+//                                            try {
+//                                                Thread.sleep(5000L);
+//                                            } catch (InterruptedException e) {
+//                                                throw new RuntimeException(e);
+//                                            }
+//                                        }
+//                                    }
+//
+//                                    boolean updateVehicles = fleetEngineUtil.updateVehicles("OFFLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+//                                    if(!updateVehicles){
+//                                        for (int i = 0; i < 5; i++) {
+//                                            updateVehicles = fleetEngineUtil.updateVehicles("OFFLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+//                                            if(updateVehicles){
+//                                                break;
+//                                            }
+//                                            try {
+//                                                Thread.sleep(5000L);
+//                                            } catch (InterruptedException e) {
+//                                                throw new RuntimeException(e);
+//                                            }
+//                                        }
+//                                    }
+//                                }else{
+//                                    boolean updateVehicles = fleetEngineUtil.updateVehicles("OFFLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+//                                    if(!updateVehicles){
+//                                        for (int i = 0; i < 5; i++) {
+//                                            updateVehicles = fleetEngineUtil.updateVehicles("OFFLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+//                                            if(updateVehicles){
+//                                                break;
+//                                            }
+//                                            try {
+//                                                Thread.sleep(5000L);
+//                                            } catch (InterruptedException e) {
+//                                                throw new RuntimeException(e);
+//                                            }
+//                                        }
+//                                    }
+//                                }
+//                            }catch (Exception e){
+//                                e.printStackTrace();
+//                            }
+//                        }).start();
                     }
                 }
             }
diff --git a/DriverGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/AntomPaymentUtil.java b/DriverGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/AntomPaymentUtil.java
new file mode 100644
index 0000000..21f356c
--- /dev/null
+++ b/DriverGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/AntomPaymentUtil.java
@@ -0,0 +1,237 @@
+package com.stylefeng.guns.modular.system.util;
+
+import com.alibaba.fastjson.JSON;
+import com.alipay.global.api.AlipayClient;
+import com.alipay.global.api.DefaultAlipayClient;
+import com.alipay.global.api.exception.AlipayApiException;
+import com.alipay.global.api.model.ams.*;
+import com.alipay.global.api.model.constants.EndPointConstants;
+import com.alipay.global.api.request.ams.notify.AlipayPayResultNotify;
+import com.alipay.global.api.request.ams.pay.AlipayPayQueryRequest;
+import com.alipay.global.api.request.ams.pay.AlipayPayRequest;
+import com.alipay.global.api.response.ams.pay.AlipayPayQueryResponse;
+import com.alipay.global.api.response.ams.pay.AlipayPayResponse;
+import com.alipay.global.api.tools.WebhookTool;
+import lombok.Data;
+
+import javax.servlet.ServletInputStream;
+import javax.servlet.http.HttpServletRequest;
+import java.io.BufferedReader;
+import java.io.InputStreamReader;
+import java.util.Date;
+
+/**
+ * 支付宝国际版支付工具类
+ */
+public class AntomPaymentUtil {
+    /**
+     * replace with your client id <br>
+     * find your client id here: <a href="https://dashboard.antom.com/global-payments/developers/quickStart">quickStart</a>
+     */
+    public static final String CLIENT_ID = "your_client_id";
+
+    /**
+     * replace with your antom public key (used to verify signature) <br>
+     * find your antom public key here: <a href="https://dashboard.antom.com/global-payments/developers/quickStart">quickStart</a>
+     */
+    public static final String ANTOM_PUBLIC_KEY = "antom_public_key";
+
+    /**
+     * replace with your private key (used to sign) <br>
+     * please ensure the secure storage of your private key to prevent leakage
+     */
+    public static final String MERCHANT_PRIVATE_KEY = "your_private_key";
+
+    private final static AlipayClient CLIENT = new DefaultAlipayClient(EndPointConstants.SG, MERCHANT_PRIVATE_KEY, ANTOM_PUBLIC_KEY, CLIENT_ID);
+
+
+    /**
+     * 发起付款请求
+     * @param payment
+     * @return
+     */
+    public static ResultUtil<AlipayPayResponse> pay(PaymentVO payment){
+        AlipayPayRequest alipayPayRequest = new AlipayPayRequest();
+        alipayPayRequest.setClientId(CLIENT_ID);
+        alipayPayRequest.setProductCode(ProductCodeType.CASHIER_PAYMENT);
+        alipayPayRequest.setPaymentRequestId(payment.getPaymentRequestId());
+
+        Amount paymentAmount = new Amount();
+        paymentAmount.setCurrency(payment.getCurrency());
+        paymentAmount.setValue(payment.getAmountValue());
+        alipayPayRequest.setPaymentAmount(paymentAmount);
+
+        PaymentMethod paymentMethod = new PaymentMethod();
+        paymentMethod.setPaymentMethodType(WalletPaymentMethodType.ALIPAY_CN.name());
+        alipayPayRequest.setPaymentMethod(paymentMethod);
+
+        alipayPayRequest.setPaymentNotifyUrl(payment.getPaymentNotifyUrl());
+        alipayPayRequest.setPaymentRedirectUrl(payment.getPaymentRedirectUrl());
+
+        SettlementStrategy settlementStrategy  = new SettlementStrategy();
+        settlementStrategy.setSettlementCurrency(payment.getCurrency());
+        alipayPayRequest.setSettlementStrategy(settlementStrategy);
+
+        Order order = new Order();
+        order.setReferenceOrderId(payment.getReferenceOrderId());
+        order.setOrderDescription(payment.getOrderDescription());
+        Amount orderAmount = new Amount();
+        orderAmount.setCurrency(payment.getCurrency());
+        orderAmount.setValue(payment.getAmountValue());
+        order.setOrderAmount(orderAmount);
+        alipayPayRequest.setOrder(order);
+
+        Env env = new Env();
+        env.setTerminalType(TerminalType.APP);
+        alipayPayRequest.setEnv(env);
+        AlipayPayResponse alipayPayResponse = null;
+        try {
+            alipayPayResponse = CLIENT.execute(alipayPayRequest);
+        } catch (AlipayApiException e) {
+            return ResultUtil.error(e.getErrMsg());
+        }
+        return ResultUtil.success(alipayPayResponse);
+    }
+
+
+    /**
+     * 查询付款结果
+     * @param paymentRequestId
+     * @return
+     */
+    public static ResultUtil<AlipayPayQueryResponse> inquiryPayment(String paymentRequestId){
+        AlipayPayQueryRequest alipayPayQueryRequest = new AlipayPayQueryRequest();
+        alipayPayQueryRequest.setPaymentRequestId(paymentRequestId);
+
+        AlipayPayQueryResponse alipayPayQueryResponse;
+        try {
+            long startTime = System.currentTimeMillis();
+            System.out.println("inquiry payment request: " + JSON.toJSONString(alipayPayQueryRequest));
+            alipayPayQueryResponse = CLIENT.execute(alipayPayQueryRequest);
+            System.out.println("inquiry payment response: " + JSON.toJSONString(alipayPayQueryResponse));
+            System.out.println("inquiry payment request cost time: " + (System.currentTimeMillis() - startTime) + "ms\n");
+        } catch (AlipayApiException e) {
+            return ResultUtil.error(e.getErrMsg());
+        }
+        return ResultUtil.success(alipayPayQueryResponse);
+    }
+
+    /**
+     * 支付回调处理
+     * @param request
+     * @return
+     */
+    public static ResultUtil<AlipayPayResultNotify> receivePaymentNotify(HttpServletRequest request){
+        // retrieve the required parameters from http request
+        String requestUri = request.getRequestURI();
+        String requestMethod = request.getMethod();
+        // retrieve the required parameters from request header
+        String requestTime = request.getHeader("request-time");
+        String clientId = request.getHeader("client-id");
+        String signature = request.getHeader("signature");
+
+        try {
+            ServletInputStream inputStream = request.getInputStream();
+            StringBuilder sb = new StringBuilder();
+            String s;
+            BufferedReader in = new BufferedReader(new InputStreamReader(inputStream, "UTF-8"));
+            while ((s = in.readLine()) != null) {
+                sb.append(s);
+            }
+            in.close();
+            inputStream.close();
+            String notifyBody = sb.toString();
+            // verify the signature of notification
+            boolean verifyResult = WebhookTool.checkSignature(requestUri, requestMethod, clientId,
+                    requestTime, signature, notifyBody, ANTOM_PUBLIC_KEY);
+            if (!verifyResult) {
+                return ResultUtil.error("Invalid notify signature");
+            }
+            // deserialize the notification body
+            AlipayPayResultNotify paymentNotify = JSON.parseObject(notifyBody, AlipayPayResultNotify.class);
+            if (paymentNotify != null && "SUCCESS".equals(paymentNotify.getResult().getResultCode())) {
+                // handle your own business logic.
+                // e.g. The relationship between payment information and users is kept in the database.
+                System.out.println("receive payment notify: " + JSON.toJSONString(paymentNotify));
+                return ResultUtil.success(paymentNotify);
+            }
+            return ResultUtil.error("system_error");
+        } catch (Exception e) {
+            e.printStackTrace();
+            return ResultUtil.error(e.getMessage());
+        }
+    }
+
+
+
+    @Data
+    public static class PaymentVO {
+        /**
+         * 支付请求流水号
+         */
+        private String paymentRequestId;
+        /**
+         * 付款的结算货币
+         */
+        private String currency;
+        /**
+         * 支付金额
+         */
+        private String amountValue;
+        /**
+         * 商户端支付结果页面
+         */
+        private String paymentRedirectUrl;
+        /**
+         * 支付结果通知地址
+         */
+        private String paymentNotifyUrl;
+        /**
+         * 订单描述
+         */
+        private String orderDescription;
+        /**
+         * 商户订单唯一标识
+         */
+        private String referenceOrderId;
+    }
+
+
+    @Data
+    public static class PaymentNotify {
+        /**
+         * 支付状态通知的类型
+         * PAYMENT_RESULT: 表示通知是关于支付结果的。
+         * PAYMENT_PENDING: 表示用户已完成支付。商家需要等待最终的支付结果。
+         */
+        private String notifyType;
+        /**
+         * 支付结果的详细信息,如支付状态、结果代码和结果消息
+         */
+        private String result;
+        /**
+         * 商户为识别支付请求而分配的专属 ID
+         */
+        private String paymentRequestId;
+        /**
+         * Antom 为识别支付而分配的支付 ID。paymentId 与 paymentRequestId 之间存在一对一对应关系。
+         */
+        private String paymentId;
+        /**
+         * 商家请求在订单币种中接收的支付金额。
+         */
+        private String paymentAmount;
+        /**
+         * 支付创建的日期和时间。
+         */
+        private Date paymentCreateTime;
+        /**
+         * 支付成功达到最终状态的日期和时间。
+         */
+        private Date paymentTime;
+        /**
+         * 支付结果信息
+         */
+        private String paymentResultInfo;
+    }
+}
diff --git a/DriverGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/FleetEngineUtil.java b/DriverGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/FleetEngineUtil.java
index fb171c0..33d5e60 100644
--- a/DriverGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/FleetEngineUtil.java
+++ b/DriverGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/FleetEngineUtil.java
@@ -56,7 +56,7 @@
 
 	private final String provider = "i-go-odrd-testing";
 	
-	private final static String key = "AIzaSyCG6PsfkaCEc94VK2vIAZk1YYKvOS_Ewts";
+	private final static String key = "AIzaSyBstPymHMMmFEQ5YS_6ELs1Lxvv4bOTtTk";
 	
 //	private final String SERVICE_ACCOUNT = "odrd-fleetengine-ondemandadmin@i-go-gcp.iam.gserviceaccount.com";
 //
diff --git a/DriverGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/GoogleMapUtil.java b/DriverGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/GoogleMapUtil.java
index c9c45a9..6ed6252 100644
--- a/DriverGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/GoogleMapUtil.java
+++ b/DriverGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/GoogleMapUtil.java
@@ -11,7 +11,7 @@
  */
 public class GoogleMapUtil {
 
-    private final static String key = "AIzaSyCG6PsfkaCEc94VK2vIAZk1YYKvOS_Ewts";
+    private final static String key = "AIzaSyBstPymHMMmFEQ5YS_6ELs1Lxvv4bOTtTk";
 
 
     /**
diff --git a/DriverGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushUtil.java b/DriverGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushUtil.java
index cb51d17..38dec6c 100644
--- a/DriverGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushUtil.java
+++ b/DriverGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushUtil.java
@@ -89,6 +89,7 @@
         map.put("audioUrl", audioUrl);
         map.put("from", from);
         jsonObject.put("data", map);
+        redisUtil.setStrValue( (type == 1 ? "USER_ORDER_MESSAGE:" : "DRIVER_ORDER_MESSAGE") + ":" + uid, jsonObject.toJSONString(), 30);
 
         //调用推送
         HttpHeaders headers = new HttpHeaders();
@@ -124,6 +125,7 @@
         map.put("orderId", orderId);
         map.put("orderType", orderType);
         jsonObject.put("data", map);
+        redisUtil.setStrValue( (type == 1 ? "USER_ORDER_MESSAGE:" : "DRIVER_ORDER_MESSAGE") + ":" + uid, jsonObject.toJSONString(), 30);
 
         //调用推送
         HttpHeaders headers = new HttpHeaders();
@@ -159,6 +161,7 @@
         map.put("orderType", orderType);
         map.put("audioUrl", audioUrl);
         jsonObject.put("data", map);
+        redisUtil.setStrValue( (type == 1 ? "USER_ORDER_MESSAGE:" : "DRIVER_ORDER_MESSAGE") + ":" + uid, jsonObject.toJSONString(), 30);
 
         //调用推送
         HttpHeaders headers = new HttpHeaders();
@@ -346,19 +349,19 @@
         if((state == 2 || state == 3 || state == 4) || (oldState != null && (oldState == 2 || oldState == 3 || oldState == 4))){//前往预约地
             String d = "0";
             String t = "0";
-//            if(ToolUtil.isNotEmpty(value) && ToolUtil.isNotEmpty(startLonLat)){
-//                String[] split = value.split(",");
-//                String[] split1 = startLonLat.split(",");
-//                DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(Double.valueOf(split[1]), Double.valueOf(split[0]), Double.valueOf(split1[1]), Double.valueOf(split1[0]), tripId);
-//                if(null == distancematrix){
-//                    System.err.println("地图获取距离出错");
-//                }else{
-//                    d = distancematrix.getDistance().toString();//距离m
-//                    t = distancematrix.getDuration().toString();//时间s
-//                }
-//            }
-//            d = new BigDecimal(d).divide(new BigDecimal(1000), new MathContext(2, RoundingMode.HALF_EVEN)).toString();
-//            t = new BigDecimal(t).divide(new BigDecimal(60), new MathContext(2, RoundingMode.HALF_EVEN)).intValue() + "";
+            if(ToolUtil.isNotEmpty(value) && ToolUtil.isNotEmpty(startLonLat)){
+                String[] split = value.split(",");
+                String[] split1 = startLonLat.split(",");
+                DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(Double.valueOf(split[1]), Double.valueOf(split[0]), Double.valueOf(split1[1]), Double.valueOf(split1[0]), tripId);
+                if(null == distancematrix){
+                    System.err.println("地图获取距离出错");
+                }else{
+                    d = distancematrix.getDistance().toString();//距离m
+                    t = distancematrix.getDuration().toString();//时间s
+                }
+            }
+            d = new BigDecimal(d).divide(new BigDecimal(1000), new MathContext(2, RoundingMode.HALF_EVEN)).toString();
+            t = new BigDecimal(t).divide(new BigDecimal(60), new MathContext(2, RoundingMode.HALF_EVEN)).intValue() + "";
             map.put("reservationMileage", d);//当前位置距离预约点的剩余里程
             map.put("reservationTime", t);//当前位置距离预约点的剩余分钟
             map.put("servedMileage", "0");//距离起点已经服务的里程
@@ -375,20 +378,20 @@
 
             String d = "0";
             String t = "0";
-//            if(ToolUtil.isNotEmpty(value) && ToolUtil.isNotEmpty(endLonLat)){
-//                String[] split = value.split(",");
-//                String[] split1 = endLonLat.split(",");
-//                DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(Double.valueOf(split[1]), Double.valueOf(split[0]), Double.valueOf(split1[1]), Double.valueOf(split1[0]), tripId);
-//                if(null == distancematrix){
-//                    System.err.println("地图获取距离出错");
-//                }else{
-//                    d = distancematrix.getDistance().toString();//距离m
-//                    t = distancematrix.getDuration().toString();//时间s
-//                }
-//            }
-//
-//            d = new BigDecimal(d).divide(new BigDecimal(1000), new MathContext(2, RoundingMode.HALF_EVEN)).toString();
-//            t = new BigDecimal(t).divide(new BigDecimal(60), new MathContext(2, RoundingMode.HALF_EVEN)).intValue() + "";
+            if(ToolUtil.isNotEmpty(value) && ToolUtil.isNotEmpty(endLonLat)){
+                String[] split = value.split(",");
+                String[] split1 = endLonLat.split(",");
+                DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(Double.valueOf(split[1]), Double.valueOf(split[0]), Double.valueOf(split1[1]), Double.valueOf(split1[0]), tripId);
+                if(null == distancematrix){
+                    System.err.println("地图获取距离出错");
+                }else{
+                    d = distancematrix.getDistance().toString();//距离m
+                    t = distancematrix.getDuration().toString();//时间s
+                }
+            }
+
+            d = new BigDecimal(d).divide(new BigDecimal(1000), new MathContext(2, RoundingMode.HALF_EVEN)).toString();
+            t = new BigDecimal(t).divide(new BigDecimal(60), new MathContext(2, RoundingMode.HALF_EVEN)).intValue() + "";
             map.put("laveMileage", d);//距离终点剩余未服务的里程数
             map.put("laveTime", t);//距离终端剩余未服务的预计时间
         }
@@ -406,17 +409,20 @@
             map.put("orderPositionList",JSONObject.toJSONString(list));
         }
         msg.put("data", map);
+        JSONObject jsonObject = pushMap.get(orderId + "_" + orderType);
+        Integer uid = jsonObject.getInteger("id");
+        Integer type = jsonObject.getInteger("type");
+        redisUtil.setStrValue( (type == 1 ? "USER_ORDER_MESSAGE:" : "DRIVER_ORDER_MESSAGE") + ":" + uid, msg.toJSONString(), 30);
 
         //调用推送
         HttpHeaders headers = new HttpHeaders();
         // 以表单的方式提交
         headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
         //将请求头部和参数合成一个请求
-        JSONObject jsonObject = pushMap.get(orderId + "_" + orderType);
         MultiValueMap<String, Object> params = new LinkedMultiValueMap<>();
         params.add("msg", msg.toJSONString());
-        params.add("id", jsonObject.getString("id"));
-        params.add("type", jsonObject.getString("type"));
+        params.add("id", uid.toString());
+        params.add("type", type.toString());
         HttpEntity<MultiValueMap<String, Object>> requestEntity = new HttpEntity<>(params, headers);
         String s = internalRestTemplate.postForObject("http://zuul-gateway/netty/sendMsgToClient",requestEntity , String.class);
         JSONObject jsonObject1 = JSON.parseObject(s, JSONObject.class);
@@ -438,6 +444,7 @@
         msg.put("msg", "SUCCESS");
         msg.put("method", "OFFLINE");
         msg.put("data", object);
+        redisUtil.setStrValue( (type == 1 ? "USER_ORDER_MESSAGE:" : "DRIVER_ORDER_MESSAGE") + ":" + id, msg.toJSONString(), 30);
 
         //调用推送
         HttpHeaders headers = new HttpHeaders();
@@ -464,6 +471,7 @@
         msg.put("msg", "SUCCESS");
         msg.put("method", "AFTER_WORK");
         msg.put("data", object);
+        redisUtil.setStrValue( (type == 1 ? "USER_ORDER_MESSAGE:" : "DRIVER_ORDER_MESSAGE") + ":" + id, msg.toJSONString(), 30);
         
         //调用推送
         HttpHeaders headers = new HttpHeaders();
@@ -503,6 +511,7 @@
         map.put("orderType", orderType);
         map.put("state", state);
         jsonObject.put("data", map);
+        redisUtil.setStrValue( (type == 1 ? "USER_ORDER_MESSAGE:" : "DRIVER_ORDER_MESSAGE") + ":" + uid, jsonObject.toJSONString(), 30);
 
         //调用推送
         HttpHeaders headers = new HttpHeaders();
@@ -542,6 +551,7 @@
         map.put("money", money);
         map.put("status", status);
         jsonObject.put("data", map);
+        redisUtil.setStrValue( (type == 1 ? "USER_ORDER_MESSAGE:" : "DRIVER_ORDER_MESSAGE") + ":" + uid, jsonObject.toJSONString(), 30);
 
         //调用推送
         HttpHeaders headers = new HttpHeaders();
@@ -594,6 +604,7 @@
         map.put("orderType", orderType);
         map.put("status", status);
         jsonObject.put("data", map);
+        redisUtil.setStrValue( (type == 1 ? "USER_ORDER_MESSAGE:" : "DRIVER_ORDER_MESSAGE") + ":" + uid, jsonObject.toJSONString(), 30);
         
         //调用推送
         HttpHeaders headers = new HttpHeaders();
@@ -635,6 +646,7 @@
         map.put("describe", describe);
         map.put("audioUrl", audioUrl);
         jsonObject.put("data", map);
+        redisUtil.setStrValue( (type == 1 ? "USER_ORDER_MESSAGE:" : "DRIVER_ORDER_MESSAGE") + ":" + uid, jsonObject.toJSONString(), 30);
         
         //调用推送
         HttpHeaders headers = new HttpHeaders();
diff --git a/ManagementGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TPubWithdrawalController.java b/ManagementGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TPubWithdrawalController.java
index b46e84d..aad62f6 100644
--- a/ManagementGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TPubWithdrawalController.java
+++ b/ManagementGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TPubWithdrawalController.java
@@ -162,17 +162,17 @@
             if(2 == state){
                 SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
                 String payerTransactionID = sdf.format(new Date()) + tPubWithdrawal.getId();
-                PayoutResponse payoutResponse = tinggPayoutUtil.sendPayout(serviceCode, phone, payerTransactionID, tPubWithdrawal.getMoney().doubleValue(), callbackPath + "/base/withdrawalCallback", remark);
-                AuthStatus authStatus = payoutResponse.getAuthStatus();
-                Results results = payoutResponse.getResults().get(0);
-                String statusCode = results.getStatusCode();
-                if(!"131".equals(authStatus.getAuthStatusCode())){
-                    return ResultUtil.error(authStatus.getAuthStatusDescription());
-                }
-                if(!"139".equals(statusCode)){
-                    return ResultUtil.error(results.getStatusDescription());
-                }
-                tPubWithdrawal.setSerialNo(results.getBeepTransactionID());
+//                PayoutResponse payoutResponse = tinggPayoutUtil.sendPayout(serviceCode, phone, payerTransactionID, tPubWithdrawal.getMoney().doubleValue(), callbackPath + "/base/withdrawalCallback", remark);
+//                AuthStatus authStatus = payoutResponse.getAuthStatus();
+//                Results results = payoutResponse.getResults().get(0);
+//                String statusCode = results.getStatusCode();
+//                if(!"131".equals(authStatus.getAuthStatusCode())){
+//                    return ResultUtil.error(authStatus.getAuthStatusDescription());
+//                }
+//                if(!"139".equals(statusCode)){
+//                    return ResultUtil.error(results.getStatusDescription());
+//                }
+//                tPubWithdrawal.setSerialNo(results.getBeepTransactionID());
                 tPubWithdrawal.setState(4);
             }else{//回退金额
                 tPubWithdrawal.setHandleTime(new Date());
diff --git a/ManagementGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TOrderLogisticsController.java b/ManagementGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TOrderLogisticsController.java
index 51a06f5..e987f28 100644
--- a/ManagementGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TOrderLogisticsController.java
+++ b/ManagementGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TOrderLogisticsController.java
@@ -144,27 +144,27 @@
         orderCancelMapper.insert(orderCancel);
         
         //修改行程信息
-        TCar car = carService.selectById(tOrderLogistics.getCarId());
-        //修改行程信息
-        boolean updateTrip = fleetEngineUtil.updateTrip("CANCELED", (null != car ? car.getVehicleId() : null), null, tOrderLogistics.getTripId(), null, null, null, null, tOrderLogistics.getId(), 4);
-        if(!updateTrip){
-            for (int i = 0; i < 5; i++) {
-                updateTrip = fleetEngineUtil.updateTrip("CANCELED", (null != car ? car.getVehicleId() : null), null, tOrderLogistics.getTripId(), null, null, null, null, tOrderLogistics.getId(), 4);
-                if(updateTrip){
-                    tOrderLogistics.setIsover(1);
-                    tOrderLogisticsService.updateById(tOrderLogistics);
-                    break;
-                }
-                try {
-                    Thread.sleep(3000L);
-                } catch (InterruptedException e) {
-                    throw new RuntimeException(e);
-                }
-            }
-        }else{
-            tOrderLogistics.setIsover(1);
-            tOrderLogisticsService.updateById(tOrderLogistics);
-        }
+//        TCar car = carService.selectById(tOrderLogistics.getCarId());
+//        //修改行程信息
+//        boolean updateTrip = fleetEngineUtil.updateTrip("CANCELED", (null != car ? car.getVehicleId() : null), null, tOrderLogistics.getTripId(), null, null, null, null, tOrderLogistics.getId(), 4);
+//        if(!updateTrip){
+//            for (int i = 0; i < 5; i++) {
+//                updateTrip = fleetEngineUtil.updateTrip("CANCELED", (null != car ? car.getVehicleId() : null), null, tOrderLogistics.getTripId(), null, null, null, null, tOrderLogistics.getId(), 4);
+//                if(updateTrip){
+//                    tOrderLogistics.setIsover(1);
+//                    tOrderLogisticsService.updateById(tOrderLogistics);
+//                    break;
+//                }
+//                try {
+//                    Thread.sleep(3000L);
+//                } catch (InterruptedException e) {
+//                    throw new RuntimeException(e);
+//                }
+//            }
+//        }else{
+//            tOrderLogistics.setIsover(1);
+//            tOrderLogisticsService.updateById(tOrderLogistics);
+//        }
     
     
         //增加推送
diff --git a/ManagementGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TOrderPrivateCarController.java b/ManagementGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TOrderPrivateCarController.java
index 1703058..f16babc 100644
--- a/ManagementGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TOrderPrivateCarController.java
+++ b/ManagementGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TOrderPrivateCarController.java
@@ -281,40 +281,40 @@
             tOrderPrivateCarService.updateById(orderPrivateCar);
     
             //修改行程数据
-            boolean updateTrip = fleetEngineUtil.updateTrip("COMPLETE", null, null, orderPrivateCar.getTripId(), null, null, null, null, orderPrivateCar.getId(), 1);
-            if(!updateTrip){
-                for (int i = 0; i < 5; i++) {
-                    updateTrip = fleetEngineUtil.updateTrip("COMPLETE", null, null, orderPrivateCar.getTripId(), null, null, null, null, orderPrivateCar.getId(), 1);
-                    if(updateTrip){
-                        orderPrivateCar.setIsover(1);
-                        tOrderPrivateCarService.updateById(orderPrivateCar);
-                        break;
-                    }
-                    try {
-                        Thread.sleep(3000L);
-                    } catch (InterruptedException e) {
-                        throw new RuntimeException(e);
-                    }
-                }
-            }else{
-                orderPrivateCar.setIsover(1);
-                tOrderPrivateCarService.updateById(orderPrivateCar);
-            }
-            //上报行程
-            boolean reportBillableEvent = fleetEngineUtil.reportBillableEvent(orderPrivateCar.getTripId());
-            if(!reportBillableEvent){
-                for (int i = 0; i < 5; i++) {
-                    reportBillableEvent = fleetEngineUtil.reportBillableEvent(orderPrivateCar.getTripId());
-                    if(reportBillableEvent){
-                        break;
-                    }
-                    try {
-                        Thread.sleep(3000L);
-                    } catch (InterruptedException e) {
-                        throw new RuntimeException(e);
-                    }
-                }
-            }
+//            boolean updateTrip = fleetEngineUtil.updateTrip("COMPLETE", null, null, orderPrivateCar.getTripId(), null, null, null, null, orderPrivateCar.getId(), 1);
+//            if(!updateTrip){
+//                for (int i = 0; i < 5; i++) {
+//                    updateTrip = fleetEngineUtil.updateTrip("COMPLETE", null, null, orderPrivateCar.getTripId(), null, null, null, null, orderPrivateCar.getId(), 1);
+//                    if(updateTrip){
+//                        orderPrivateCar.setIsover(1);
+//                        tOrderPrivateCarService.updateById(orderPrivateCar);
+//                        break;
+//                    }
+//                    try {
+//                        Thread.sleep(3000L);
+//                    } catch (InterruptedException e) {
+//                        throw new RuntimeException(e);
+//                    }
+//                }
+//            }else{
+//                orderPrivateCar.setIsover(1);
+//                tOrderPrivateCarService.updateById(orderPrivateCar);
+//            }
+//            //上报行程
+//            boolean reportBillableEvent = fleetEngineUtil.reportBillableEvent(orderPrivateCar.getTripId());
+//            if(!reportBillableEvent){
+//                for (int i = 0; i < 5; i++) {
+//                    reportBillableEvent = fleetEngineUtil.reportBillableEvent(orderPrivateCar.getTripId());
+//                    if(reportBillableEvent){
+//                        break;
+//                    }
+//                    try {
+//                        Thread.sleep(3000L);
+//                    } catch (InterruptedException e) {
+//                        throw new RuntimeException(e);
+//                    }
+//                }
+//            }
             
     
     
@@ -637,27 +637,27 @@
         orderCancelMapper.insert(orderCancel);
     
         //修改行程信息
-        TCar car = carService.selectById(tOrderPrivateCar.getCarId());
-        //修改行程信息
-        boolean updateTrip = fleetEngineUtil.updateTrip("CANCELED", (null != car ? car.getVehicleId() : null), null, tOrderPrivateCar.getTripId(), null, null, null, null, tOrderPrivateCar.getId(), 1);
-        if(!updateTrip){
-            for (int i = 0; i < 5; i++) {
-                updateTrip = fleetEngineUtil.updateTrip("CANCELED", (null != car ? car.getVehicleId() : null), null, tOrderPrivateCar.getTripId(), null, null, null, null, tOrderPrivateCar.getId(), 1);
-                if(updateTrip){
-                    tOrderPrivateCar.setIsover(1);
-                    tOrderPrivateCarService.updateById(tOrderPrivateCar);
-                    break;
-                }
-                try {
-                    Thread.sleep(3000L);
-                } catch (InterruptedException e) {
-                    throw new RuntimeException(e);
-                }
-            }
-        }else{
-            tOrderPrivateCar.setIsover(1);
-            tOrderPrivateCarService.updateById(tOrderPrivateCar);
-        }
+//        TCar car = carService.selectById(tOrderPrivateCar.getCarId());
+//        //修改行程信息
+//        boolean updateTrip = fleetEngineUtil.updateTrip("CANCELED", (null != car ? car.getVehicleId() : null), null, tOrderPrivateCar.getTripId(), null, null, null, null, tOrderPrivateCar.getId(), 1);
+//        if(!updateTrip){
+//            for (int i = 0; i < 5; i++) {
+//                updateTrip = fleetEngineUtil.updateTrip("CANCELED", (null != car ? car.getVehicleId() : null), null, tOrderPrivateCar.getTripId(), null, null, null, null, tOrderPrivateCar.getId(), 1);
+//                if(updateTrip){
+//                    tOrderPrivateCar.setIsover(1);
+//                    tOrderPrivateCarService.updateById(tOrderPrivateCar);
+//                    break;
+//                }
+//                try {
+//                    Thread.sleep(3000L);
+//                } catch (InterruptedException e) {
+//                    throw new RuntimeException(e);
+//                }
+//            }
+//        }else{
+//            tOrderPrivateCar.setIsover(1);
+//            tOrderPrivateCarService.updateById(tOrderPrivateCar);
+//        }
     
     
         //增加推送
diff --git a/ManagementGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TReassignController.java b/ManagementGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TReassignController.java
index f4d3d87..283d491 100644
--- a/ManagementGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TReassignController.java
+++ b/ManagementGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TReassignController.java
@@ -721,64 +721,64 @@
                 car.setVehicleId(UUIDUtil.getRandomCode());
                 carService.updateById(car);
             }
-            String vehicles = fleetEngineUtil.getVehicles(car.getVehicleId());
-            if(ToolUtil.isEmpty(vehicles)){
-                TCarModel carModel = carModelMapper.selectById(car.getCarModelId());
-                boolean createVehicles = fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
-                if(!createVehicles){
-                    for (int i = 0; i < 5; i++) {
-                        createVehicles = fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
-                        if(createVehicles){
-                            break;
-                        }
-                        try {
-                            Thread.sleep(3000L);
-                        } catch (InterruptedException e) {
-                            throw new RuntimeException(e);
-                        }
-                    }
-                }
-            }
-    
-            //修改google订单信息或者创建新的行程
-            String trip = fleetEngineUtil.getTrip(orderPrivateCar.getTripId());
-            if(ToolUtil.isEmpty(trip)){
-                JSONObject createTrip = fleetEngineUtil.createTrip(car.getVehicleId(), 1, orderPrivateCar.getTripId(),
-                        orderPrivateCar.getStartLat().toString(), orderPrivateCar.getStartLon().toString(),  orderPrivateCar.getEndLat().toString(), orderPrivateCar.getEndLon().toString());
-                JSONObject error = createTrip.getJSONObject("error");
-                if(null != error){
-                    for (int i = 0; i < 5; i++) {
-                        createTrip = fleetEngineUtil.createTrip(car.getVehicleId(), 1, orderPrivateCar.getTripId(),
-                                orderPrivateCar.getStartLat().toString(), orderPrivateCar.getStartLon().toString(),  orderPrivateCar.getEndLat().toString(), orderPrivateCar.getEndLon().toString());
-                        error = createTrip.getJSONObject("error");
-                        String tripStatus = createTrip.getString("tripStatus");
-                        if(null == error && "NEW".equals(tripStatus)){
-                            break;
-                        }
-                        try {
-                            Thread.sleep(3000L);
-                        } catch (InterruptedException e) {
-                            throw new RuntimeException(e);
-                        }
-                    }
-                }
-            }else{
-                //开始修改行程数据
-                boolean updateTrip = fleetEngineUtil.updateTrip(null, car.getVehicleId(), null, orderPrivateCar.getTripId(), null, null, null, null, orderPrivateCar.getId(), 1);
-                if(!updateTrip){
-                    for (int i = 0; i < 5; i++) {
-                        updateTrip = fleetEngineUtil.updateTrip(null, car.getVehicleId(), null, orderPrivateCar.getTripId(), null, null, null, null, orderPrivateCar.getId(), 1);
-                        if(updateTrip){
-                            break;
-                        }
-                        try {
-                            Thread.sleep(3000L);
-                        } catch (InterruptedException e) {
-                            throw new RuntimeException(e);
-                        }
-                    }
-                }
-            }
+//            String vehicles = fleetEngineUtil.getVehicles(car.getVehicleId());
+//            if(ToolUtil.isEmpty(vehicles)){
+//                TCarModel carModel = carModelMapper.selectById(car.getCarModelId());
+//                boolean createVehicles = fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+//                if(!createVehicles){
+//                    for (int i = 0; i < 5; i++) {
+//                        createVehicles = fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+//                        if(createVehicles){
+//                            break;
+//                        }
+//                        try {
+//                            Thread.sleep(3000L);
+//                        } catch (InterruptedException e) {
+//                            throw new RuntimeException(e);
+//                        }
+//                    }
+//                }
+//            }
+//
+//            //修改google订单信息或者创建新的行程
+//            String trip = fleetEngineUtil.getTrip(orderPrivateCar.getTripId());
+//            if(ToolUtil.isEmpty(trip)){
+//                JSONObject createTrip = fleetEngineUtil.createTrip(car.getVehicleId(), 1, orderPrivateCar.getTripId(),
+//                        orderPrivateCar.getStartLat().toString(), orderPrivateCar.getStartLon().toString(),  orderPrivateCar.getEndLat().toString(), orderPrivateCar.getEndLon().toString());
+//                JSONObject error = createTrip.getJSONObject("error");
+//                if(null != error){
+//                    for (int i = 0; i < 5; i++) {
+//                        createTrip = fleetEngineUtil.createTrip(car.getVehicleId(), 1, orderPrivateCar.getTripId(),
+//                                orderPrivateCar.getStartLat().toString(), orderPrivateCar.getStartLon().toString(),  orderPrivateCar.getEndLat().toString(), orderPrivateCar.getEndLon().toString());
+//                        error = createTrip.getJSONObject("error");
+//                        String tripStatus = createTrip.getString("tripStatus");
+//                        if(null == error && "NEW".equals(tripStatus)){
+//                            break;
+//                        }
+//                        try {
+//                            Thread.sleep(3000L);
+//                        } catch (InterruptedException e) {
+//                            throw new RuntimeException(e);
+//                        }
+//                    }
+//                }
+//            }else{
+//                //开始修改行程数据
+//                boolean updateTrip = fleetEngineUtil.updateTrip(null, car.getVehicleId(), null, orderPrivateCar.getTripId(), null, null, null, null, orderPrivateCar.getId(), 1);
+//                if(!updateTrip){
+//                    for (int i = 0; i < 5; i++) {
+//                        updateTrip = fleetEngineUtil.updateTrip(null, car.getVehicleId(), null, orderPrivateCar.getTripId(), null, null, null, null, orderPrivateCar.getId(), 1);
+//                        if(updateTrip){
+//                            break;
+//                        }
+//                        try {
+//                            Thread.sleep(3000L);
+//                        } catch (InterruptedException e) {
+//                            throw new RuntimeException(e);
+//                        }
+//                    }
+//                }
+//            }
     
     
     
@@ -1145,64 +1145,64 @@
                 car.setVehicleId(UUIDUtil.getRandomCode());
                 carService.updateById(car);
             }
-            String vehicles = fleetEngineUtil.getVehicles(car.getVehicleId());
-            if(ToolUtil.isEmpty(vehicles)){
-                TCarModel carModel = carModelMapper.selectById(car.getCarModelId());
-                boolean createVehicles = fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
-                if(!createVehicles){
-                    for (int i = 0; i < 5; i++) {
-                        createVehicles = fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
-                        if(createVehicles){
-                            break;
-                        }
-                        try {
-                            Thread.sleep(3000L);
-                        } catch (InterruptedException e) {
-                            throw new RuntimeException(e);
-                        }
-                    }
-                }
-            }
-    
-            //修改google订单信息或者创建新的行程
-            String trip = fleetEngineUtil.getTrip(orderLogistics.getTripId());
-            if(ToolUtil.isEmpty(trip)){
-                JSONObject createTrip = fleetEngineUtil.createTrip(car.getVehicleId(), 1, orderLogistics.getTripId(),
-                        orderLogistics.getStartLat().toString(), orderLogistics.getStartLon().toString(), orderLogistics.getEndLat().toString(), orderLogistics.getEndLon().toString());
-                JSONObject error = createTrip.getJSONObject("error");
-                if(null != error){
-                    for (int i = 0; i < 5; i++) {
-                        createTrip = fleetEngineUtil.createTrip(car.getVehicleId(), 1, orderLogistics.getTripId(),
-                                orderLogistics.getStartLat().toString(), orderLogistics.getStartLon().toString(), orderLogistics.getEndLat().toString(), orderLogistics.getEndLon().toString());
-                        error = createTrip.getJSONObject("error");
-                        String tripStatus = createTrip.getString("tripStatus");
-                        if(null == error && "NEW".equals(tripStatus)){
-                            break;
-                        }
-                        try {
-                            Thread.sleep(3000L);
-                        } catch (InterruptedException e) {
-                            throw new RuntimeException(e);
-                        }
-                    }
-                }
-            }else{
-                //开始修改行程数据
-                boolean updateTrip = fleetEngineUtil.updateTrip(null, car.getVehicleId(), null, orderLogistics.getTripId(), null, null, null, null, orderLogistics.getId(), 4);
-                if(!updateTrip){
-                    for (int i = 0; i < 5; i++) {
-                        updateTrip = fleetEngineUtil.updateTrip(null, car.getVehicleId(), null, orderLogistics.getTripId(), null, null, null, null, orderLogistics.getId(), 4);
-                        if(updateTrip){
-                            break;
-                        }
-                        try {
-                            Thread.sleep(3000L);
-                        } catch (InterruptedException e) {
-                            throw new RuntimeException(e);
-                        }
-                    }
-                }
-            }
+//            String vehicles = fleetEngineUtil.getVehicles(car.getVehicleId());
+//            if(ToolUtil.isEmpty(vehicles)){
+//                TCarModel carModel = carModelMapper.selectById(car.getCarModelId());
+//                boolean createVehicles = fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+//                if(!createVehicles){
+//                    for (int i = 0; i < 5; i++) {
+//                        createVehicles = fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+//                        if(createVehicles){
+//                            break;
+//                        }
+//                        try {
+//                            Thread.sleep(3000L);
+//                        } catch (InterruptedException e) {
+//                            throw new RuntimeException(e);
+//                        }
+//                    }
+//                }
+//            }
+//
+//            //修改google订单信息或者创建新的行程
+//            String trip = fleetEngineUtil.getTrip(orderLogistics.getTripId());
+//            if(ToolUtil.isEmpty(trip)){
+//                JSONObject createTrip = fleetEngineUtil.createTrip(car.getVehicleId(), 1, orderLogistics.getTripId(),
+//                        orderLogistics.getStartLat().toString(), orderLogistics.getStartLon().toString(), orderLogistics.getEndLat().toString(), orderLogistics.getEndLon().toString());
+//                JSONObject error = createTrip.getJSONObject("error");
+//                if(null != error){
+//                    for (int i = 0; i < 5; i++) {
+//                        createTrip = fleetEngineUtil.createTrip(car.getVehicleId(), 1, orderLogistics.getTripId(),
+//                                orderLogistics.getStartLat().toString(), orderLogistics.getStartLon().toString(), orderLogistics.getEndLat().toString(), orderLogistics.getEndLon().toString());
+//                        error = createTrip.getJSONObject("error");
+//                        String tripStatus = createTrip.getString("tripStatus");
+//                        if(null == error && "NEW".equals(tripStatus)){
+//                            break;
+//                        }
+//                        try {
+//                            Thread.sleep(3000L);
+//                        } catch (InterruptedException e) {
+//                            throw new RuntimeException(e);
+//                        }
+//                    }
+//                }
+//            }else{
+//                //开始修改行程数据
+//                boolean updateTrip = fleetEngineUtil.updateTrip(null, car.getVehicleId(), null, orderLogistics.getTripId(), null, null, null, null, orderLogistics.getId(), 4);
+//                if(!updateTrip){
+//                    for (int i = 0; i < 5; i++) {
+//                        updateTrip = fleetEngineUtil.updateTrip(null, car.getVehicleId(), null, orderLogistics.getTripId(), null, null, null, null, orderLogistics.getId(), 4);
+//                        if(updateTrip){
+//                            break;
+//                        }
+//                        try {
+//                            Thread.sleep(3000L);
+//                        } catch (InterruptedException e) {
+//                            throw new RuntimeException(e);
+//                        }
+//                    }
+//                }
+//            }
     
     
             //删除定时任务
diff --git a/ManagementGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/FleetEngineUtil.java b/ManagementGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/FleetEngineUtil.java
index 7936750..9823718 100644
--- a/ManagementGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/FleetEngineUtil.java
+++ b/ManagementGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/FleetEngineUtil.java
@@ -35,7 +35,7 @@
 @Component
 public class FleetEngineUtil {
 	
-	private final static String key = "AIzaSyCG6PsfkaCEc94VK2vIAZk1YYKvOS_Ewts";
+	private final static String key = "AIzaSyBstPymHMMmFEQ5YS_6ELs1Lxvv4bOTtTk";
 	static Logger logger = LoggerFactory.getLogger(FleetEngineUtil.class);
 	private final String SERVICE_ACCOUNT = "odrd-fleetengine-ondemandadmin@i-go-odrd-testing.iam.gserviceaccount.com";
 	private final String DRIVER_ACCOUNT = "odrd-fleetengine-driversdkuser@i-go-odrd-testing.iam.gserviceaccount.com";
diff --git a/ManagementGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/GoogleMapUtil.java b/ManagementGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/GoogleMapUtil.java
index 8d78a75..c4a9627 100644
--- a/ManagementGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/GoogleMapUtil.java
+++ b/ManagementGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/GoogleMapUtil.java
@@ -12,7 +12,7 @@
  */
 public class GoogleMapUtil {
 
-    private final static String key = "AIzaSyCG6PsfkaCEc94VK2vIAZk1YYKvOS_Ewts";
+    private final static String key = "AIzaSyBstPymHMMmFEQ5YS_6ELs1Lxvv4bOTtTk";
 
 
     /**
diff --git a/ManagementGOPOSTTravel/guns-admin/src/main/webapp/WEB-INF/view/home.html b/ManagementGOPOSTTravel/guns-admin/src/main/webapp/WEB-INF/view/home.html
index 3de5469..3fc5351 100644
--- a/ManagementGOPOSTTravel/guns-admin/src/main/webapp/WEB-INF/view/home.html
+++ b/ManagementGOPOSTTravel/guns-admin/src/main/webapp/WEB-INF/view/home.html
@@ -227,7 +227,7 @@
 		</div>
 	</div>
 </div>
-<script async src="https://maps.googleapis.com/maps/api/js?key=AIzaSyCG6PsfkaCEc94VK2vIAZk1YYKvOS_Ewts&callback=initMap&v=weekly"></script>
+<script async src="https://maps.googleapis.com/maps/api/js?key=AIzaSyBstPymHMMmFEQ5YS_6ELs1Lxvv4bOTtTk&callback=initMap&v=weekly"></script>
 <script src="${ctxPath}/static/home.js"></script>
 <script src="${ctxPath}/static/js/jquery.sparkline 2.1.2.js"></script>
 @}
diff --git a/ManagementGOPOSTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderCrossCity/tOrderCrossCity_detail.html b/ManagementGOPOSTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderCrossCity/tOrderCrossCity_detail.html
index c0a8cf6..36802ac 100644
--- a/ManagementGOPOSTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderCrossCity/tOrderCrossCity_detail.html
+++ b/ManagementGOPOSTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderCrossCity/tOrderCrossCity_detail.html
@@ -101,7 +101,7 @@
     </div>
 </div>
 <script src="https://a.amap.com/jsapi_demos/static/demo-center/js/demoutils.js"></script>
-<script async src="https://maps.googleapis.com/maps/api/js?key=AIzaSyCG6PsfkaCEc94VK2vIAZk1YYKvOS_Ewts&callback=initMap&v=weekly"></script>
+<script async src="https://maps.googleapis.com/maps/api/js?key=AIzaSyBstPymHMMmFEQ5YS_6ELs1Lxvv4bOTtTk&callback=initMap&v=weekly"></script>
 <script src="https://cache.amap.com/lbs/static/addToolbar.js"></script>
 <script src="${ctxPath}/static/modular/system/tOrderCrossCity/tOrderCrossCity_info.js"></script>
 @}
diff --git a/ManagementGOPOSTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderCrossCity/tOrderCrossCity_track.html b/ManagementGOPOSTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderCrossCity/tOrderCrossCity_track.html
index f203546..3f47497 100644
--- a/ManagementGOPOSTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderCrossCity/tOrderCrossCity_track.html
+++ b/ManagementGOPOSTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderCrossCity/tOrderCrossCity_track.html
@@ -46,7 +46,7 @@
     </div>
 </div>
 <script src="https://a.amap.com/jsapi_demos/static/demo-center/js/demoutils.js"></script>
-<script async src="https://maps.googleapis.com/maps/api/js?key=AIzaSyCG6PsfkaCEc94VK2vIAZk1YYKvOS_Ewts&callback=initMap&v=weekly"></script>
+<script async src="https://maps.googleapis.com/maps/api/js?key=AIzaSyBstPymHMMmFEQ5YS_6ELs1Lxvv4bOTtTk&callback=initMap&v=weekly"></script>
 <script src="https://cache.amap.com/lbs/static/addToolbar.js"></script>
 <script src="${ctxPath}/static/modular/system/tOrderCrossCity/tOrderCrossCity_info.js"></script>
 @}
diff --git a/ManagementGOPOSTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderPrivateCar/tOrderPrivateCar_orderDetail.html b/ManagementGOPOSTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderPrivateCar/tOrderPrivateCar_orderDetail.html
index 997823b..1ab0e59 100644
--- a/ManagementGOPOSTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderPrivateCar/tOrderPrivateCar_orderDetail.html
+++ b/ManagementGOPOSTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderPrivateCar/tOrderPrivateCar_orderDetail.html
@@ -117,6 +117,6 @@
         </div>
     </div>
 </div>
-<script defer src="https://maps.googleapis.com/maps/api/js?key=AIzaSyCG6PsfkaCEc94VK2vIAZk1YYKvOS_Ewts&callback=initMap&v=weekly"></script>
+<script defer src="https://maps.googleapis.com/maps/api/js?key=AIzaSyBstPymHMMmFEQ5YS_6ELs1Lxvv4bOTtTk&callback=initMap&v=weekly"></script>
 <script src="${ctxPath}/static/modular/system/tOrderPrivateCar/tOrderPrivateCar_info.js"></script>
 @}
diff --git a/ManagementGOPOSTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderPrivateCar/tOrderPrivateCar_trajectory.html b/ManagementGOPOSTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderPrivateCar/tOrderPrivateCar_trajectory.html
index 3b97e17..d31630f 100644
--- a/ManagementGOPOSTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderPrivateCar/tOrderPrivateCar_trajectory.html
+++ b/ManagementGOPOSTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderPrivateCar/tOrderPrivateCar_trajectory.html
@@ -50,7 +50,7 @@
     </div>
 </div>
 <script src="https://a.amap.com/jsapi_demos/static/demo-center/js/demoutils.js"></script>
-<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyCG6PsfkaCEc94VK2vIAZk1YYKvOS_Ewts&callback=initMap&v=weekly" defer></script>
+<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyBstPymHMMmFEQ5YS_6ELs1Lxvv4bOTtTk&callback=initMap&v=weekly" defer></script>
 <script src="https://cache.amap.com/lbs/static/addToolbar.js"></script>
 <script src="${ctxPath}/static/modular/system/tOrderPrivateCar/tOrderPrivateCar_info.js"></script>
 @}
diff --git a/ManagementGOPOSTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderTaxi/tOrderTaxi_edit.html b/ManagementGOPOSTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderTaxi/tOrderTaxi_edit.html
index 2d28b5c..8e4afb2 100644
--- a/ManagementGOPOSTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderTaxi/tOrderTaxi_edit.html
+++ b/ManagementGOPOSTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderTaxi/tOrderTaxi_edit.html
@@ -102,7 +102,7 @@
     </div>
 </div>
 <script src="https://a.amap.com/jsapi_demos/static/demo-center/js/demoutils.js"></script>
-<script async src="https://maps.googleapis.com/maps/api/js?key=AIzaSyCG6PsfkaCEc94VK2vIAZk1YYKvOS_Ewts&callback=initMap&v=weekly"></script>
+<script async src="https://maps.googleapis.com/maps/api/js?key=AIzaSyBstPymHMMmFEQ5YS_6ELs1Lxvv4bOTtTk&callback=initMap&v=weekly"></script>
 <script src="https://cache.amap.com/lbs/static/addToolbar.js"></script>
 <script src="${ctxPath}/static/modular/system/tOrderTaxi/tOrderTaxi_info.js"></script>
 @}
diff --git a/ManagementGOPOSTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderTaxi/tOrderTaxi_trajectory.html b/ManagementGOPOSTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderTaxi/tOrderTaxi_trajectory.html
index 5b647b4..a5e9440 100644
--- a/ManagementGOPOSTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderTaxi/tOrderTaxi_trajectory.html
+++ b/ManagementGOPOSTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderTaxi/tOrderTaxi_trajectory.html
@@ -46,7 +46,7 @@
     </div>
 </div>
 <script src="https://a.amap.com/jsapi_demos/static/demo-center/js/demoutils.js"></script>
-<script async src="https://maps.googleapis.com/maps/api/js?key=AIzaSyCG6PsfkaCEc94VK2vIAZk1YYKvOS_Ewts&callback=initMap&v=weekly"></script>
+<script async src="https://maps.googleapis.com/maps/api/js?key=AIzaSyBstPymHMMmFEQ5YS_6ELs1Lxvv4bOTtTk&callback=initMap&v=weekly"></script>
 <script src="https://cache.amap.com/lbs/static/addToolbar.js"></script>
 <script src="${ctxPath}/static/modular/system/tOrderTaxi/tOrderTaxi_info.js"></script>
 @}
diff --git a/UserGOPOSTTravel/guns-admin/pom.xml b/UserGOPOSTTravel/guns-admin/pom.xml
index 2da7008..c92a6b8 100644
--- a/UserGOPOSTTravel/guns-admin/pom.xml
+++ b/UserGOPOSTTravel/guns-admin/pom.xml
@@ -295,6 +295,12 @@
             <groupId>com.google.cloud</groupId>
             <artifactId>google-cloud-storage</artifactId>
         </dependency>
+        <!--支付宝国际版-->
+        <dependency>
+            <groupId>com.alipay.global.sdk</groupId>
+            <artifactId>global-open-sdk-java</artifactId>
+            <version>2.0.69</version>
+        </dependency>
     </dependencies>
 
     <build>
diff --git a/UserGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/AdvertisementController.java b/UserGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/AdvertisementController.java
index ac8e89e..ddad49d 100644
--- a/UserGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/AdvertisementController.java
+++ b/UserGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/AdvertisementController.java
@@ -35,7 +35,7 @@
 
     @ResponseBody
     @PostMapping("/queryByType")
-    @ApiOperation(value = "获取广告列表【1.0】", tags = {"用户端-首页"}, notes = "")
+    @ApiOperation(value = "获取广告列表", tags = {"用户端-首页"}, notes = "")
     @ApiImplicitParams({
             @ApiImplicitParam(value = "数据类型(1:弹窗广告,2:底部广告)", name = "type", required = true, dataType = "int"),
             @ApiImplicitParam(value = "当前定位纬度", name = "lat", required = true, dataType = "double"),
diff --git a/UserGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/AgreementController.java b/UserGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/AgreementController.java
index b7383a2..7ee7bd9 100644
--- a/UserGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/AgreementController.java
+++ b/UserGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/AgreementController.java
@@ -30,7 +30,7 @@
      */
     @ResponseBody
     @PostMapping("/queryByType")
-    @ApiOperation(value = "获取各种协议及H5页面【1.0】", tags = {"用户端-协议"}, notes = "")
+    @ApiOperation(value = "获取各种协议及H5页面", tags = {"用户端-协议"}, notes = "")
     @ApiImplicitParams({
             @ApiImplicitParam(value = "语言类型(1=简体中文,2=英语,3=法语)", name = "language", required = false, dataType = "int"),
             @ApiImplicitParam(value = "数据类型(1:隐私协议,2:用户协议,3:用户指南,4:法律条款,5:关于我们,6=注册协议,7=取消订单说明,8=充值领券规则设置,9=司机注册协议,10=改派说明,11=跨城出行乘车须知,12:常见问题,13:计价规则,14:包车协议)", name = "type", required = true, dataType = "int")
diff --git a/UserGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java b/UserGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java
index 1e5ae5f..a5795b3 100644
--- a/UserGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java
+++ b/UserGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java
@@ -56,7 +56,7 @@
      */
     @ResponseBody
     @PostMapping("/base/driver/queryIdleDriver")
-    @ApiOperation(value = "获取5公里范围内空闲司机数量【1.0】", tags = {"用户端-首页"}, notes = "")
+    @ApiOperation(value = "获取5公里范围内空闲司机数量", tags = {"用户端-首页"}, notes = "")
     @ApiImplicitParams({
             @ApiImplicitParam(value = "业务类型(1=专车,2=出租车,3=城际,4=小件物流-同城,5=小件物流-跨城,6=包车)", name = "type", required = true, dataType = "int"),
             @ApiImplicitParam(value = "乘客当前定位经度", name = "lon", required = true, dataType = "double"),
diff --git a/UserGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OpenCityController.java b/UserGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OpenCityController.java
index cb3e889..896e699 100644
--- a/UserGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OpenCityController.java
+++ b/UserGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OpenCityController.java
@@ -56,7 +56,7 @@
      */
     @ResponseBody
     @PostMapping("/queryOpenCity")
-    @ApiOperation(value = "获取开通城市列表【1.0】", tags = {"用户端-首页"}, notes = "")
+    @ApiOperation(value = "获取开通城市列表", tags = {"用户端-首页"}, notes = "")
     @ApiImplicitParams({
             @ApiImplicitParam(value = "语言(1=中文,2=英文,3=法语)", name = "language", required = false, dataType = "int"),
             @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = false, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
@@ -80,7 +80,7 @@
      */
     @ResponseBody
     @PostMapping("/queryBusiness")
-    @ApiOperation(value = "根据当前定位获取业务类型【1.0】", tags = {"用户端-首页"}, notes = "")
+    @ApiOperation(value = "根据当前定位获取业务类型", tags = {"用户端-首页"}, notes = "")
     @ApiImplicitParams({
             @ApiImplicitParam(value = "纬度", name = "lat", required = true, dataType = "double"),
             @ApiImplicitParam(value = "经度", name = "lnt", required = true, dataType = "double"),
@@ -126,7 +126,7 @@
      */
     @ResponseBody
     @PostMapping("/openCity")
-    @ApiOperation(value = "判断当前是否是开通城市【1.0】", tags = {"用户端-首页"})
+    @ApiOperation(value = "判断当前是否是开通城市", tags = {"用户端-首页"})
     @ApiImplicitParams({
             @ApiImplicitParam(value = "纬度", name = "lat", required = true, dataType = "String"),
             @ApiImplicitParam(value = "经度", name = "lnt", required = true, dataType = "String")
@@ -152,7 +152,7 @@
     
     @ResponseBody
     @PostMapping("/getCity")
-    @ApiOperation(value = "获取省市联动【1.0】", tags = {"用户端-首页"})
+    @ApiOperation(value = "获取省市联动", tags = {"用户端-首页"})
     public ResultUtil<List<CityCopy>> getCity(Integer pid){
         List<CityCopy> pid1 = cityCopyService.selectList(new EntityWrapper<CityCopy>().eq("pid", pid));
         return ResultUtil.success(pid1);
diff --git a/UserGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java b/UserGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java
index 3765267..198c458 100644
--- a/UserGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java
+++ b/UserGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java
@@ -2,6 +2,10 @@
 
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.alipay.global.api.model.Result;
+import com.alipay.global.api.model.ResultStatusType;
+import com.alipay.global.api.request.ams.notify.AlipayPayResultNotify;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.google.api.client.http.UrlEncodedParser;
 import com.stylefeng.guns.core.util.MD5Util;
@@ -17,6 +21,8 @@
 import com.stylefeng.guns.modular.system.model.*;
 import com.stylefeng.guns.modular.system.service.*;
 import com.stylefeng.guns.modular.system.util.*;
+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.Tingg.model.*;
 import com.stylefeng.guns.modular.system.warpper.*;
 import com.stylefeng.guns.modular.taxi.model.OrderTaxi;
@@ -36,6 +42,11 @@
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
+import org.springframework.http.HttpEntity;
+import org.springframework.http.HttpHeaders;
+import org.springframework.http.MediaType;
+import org.springframework.util.LinkedMultiValueMap;
+import org.springframework.util.MultiValueMap;
 import org.springframework.util.StringUtils;
 import org.springframework.web.bind.annotation.*;
 
@@ -44,6 +55,7 @@
 import javax.servlet.http.HttpServletResponse;
 import java.io.*;
 import java.math.BigDecimal;
+import java.math.MathContext;
 import java.math.RoundingMode;
 import java.net.URLDecoder;
 import java.net.URLEncoder;
@@ -272,7 +284,7 @@
      */
     @ResponseBody
     @PostMapping("/api/order/queryMyTravelRecord")
-    @ApiOperation(value = "获取消费记录【2.0】", tags = {"用户端-个人中心"}, notes = "")
+    @ApiOperation(value = "获取消费记录", tags = {"用户端-个人中心"}, notes = "")
     @ApiImplicitParams({
             @ApiImplicitParam(value = "页码(首页1)", name = "pageNum", required = true, dataType = "int"),
             @ApiImplicitParam(value = "页条数", name = "size", required = true, dataType = "int"),
@@ -479,7 +491,7 @@
      */
     @ResponseBody
     @PostMapping("/api/order/queryOrderInfo")
-    @ApiOperation(value = "获取服务中的详情数据【2.0】", tags = {"用户端-服务中"}, notes = "")
+    @ApiOperation(value = "获取服务中的详情数据", tags = {"用户端-服务中"}, notes = "")
     @ApiImplicitParams({
             @ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"),
             @ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=城际,4=同城小件,5=跨城小件)", name = "orderType", required = true, dataType = "int"),
@@ -540,7 +552,7 @@
      */
     @ResponseBody
     @PostMapping("/base/order/queryOrderInfo_")
-    @ApiOperation(value = "获取服务中的详情数据【1.0】", tags = {"分享专用"}, notes = "")
+    @ApiOperation(value = "获取服务中的详情数据", tags = {"分享专用"}, notes = "")
     @ApiImplicitParams({
             @ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"),
             @ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=城际,4=同城小件,5=跨城小件)", name = "orderType", required = true, dataType = "int"),
@@ -909,7 +921,7 @@
      */
     @ResponseBody
     @PostMapping("/api/taxi/addCancle")
-    @ApiOperation(value = "添加取消记录【2.0】", tags = {"用户端-出租车", "用户端-专车", "用户端-跨城"}, notes = "")
+    @ApiOperation(value = "添加取消记录", tags = {"用户端-出租车", "用户端-专车", "用户端-跨城"}, notes = "")
     @ApiImplicitParams({
             @ApiImplicitParam(value = "订单id", name = "id", required = true, dataType = "int"),
             @ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=跨城)", name = "orderType", required = true, dataType = "int"),
@@ -1070,7 +1082,7 @@
      */
     @ResponseBody
     @PostMapping("/api/taxi/complaintService")
-    @ApiOperation(value = "添加投诉操作【2.0】", tags = {"用户端-出租车", "用户端-专车", "用户端-跨城", "用户端-小件物流"}, notes = "")
+    @ApiOperation(value = "添加投诉操作", tags = {"用户端-出租车", "用户端-专车", "用户端-跨城", "用户端-小件物流"}, notes = "")
     @ApiImplicitParams({
             @ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"),
             @ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=城际,4=小件物流-同城,5=小件物流-跨城,6=包车)", name = "orderType", required = true, dataType = "int"),
@@ -1253,7 +1265,7 @@
      */
     @ResponseBody
     @PostMapping("/api/taxi/payTaxiOrder")
-    @ApiOperation(value = "订单完成支付订单操作【2.0】", tags = {"用户端-出租车", "用户端-专车", "用户端-跨城", "用户端-小件物流"}, notes = "")
+    @ApiOperation(value = "订单完成支付订单操作", tags = {"用户端-出租车", "用户端-专车", "用户端-跨城", "用户端-小件物流"}, notes = "")
     @ApiImplicitParams({
             @ApiImplicitParam(value = "支付方式(1=手机支付,2=银行卡支付,3=余额,4=线下支付)", name = "payType", required = true, dataType = "int"),
             @ApiImplicitParam(value = "银行卡id", name = "bankCardId", required = false, dataType = "int"),
@@ -1310,7 +1322,7 @@
      */
     @ResponseBody
     @PostMapping("/api/taxi/orderEvaluate")
-    @ApiOperation(value = "订单完成后添加评价操作【2.0】", tags = {"用户端-出租车", "用户端-专车", "用户端-跨城", "用户端-小件物流"}, notes = "")
+    @ApiOperation(value = "订单完成后添加评价操作", tags = {"用户端-出租车", "用户端-专车", "用户端-跨城", "用户端-小件物流"}, notes = "")
     @ApiImplicitParams({
             @ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"),
             @ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=跨城,4=小件物流)", name = "orderType", required = true, dataType = "int"),
@@ -1489,6 +1501,55 @@
     }
 
 
+    @ResponseBody
+    @PostMapping("/base/wxCancelOrderTaxiAntom")
+    public void wxCancelOrderTaxiAntom(HttpServletRequest request, HttpServletResponse response){
+        try {
+            ResultUtil<AlipayPayResultNotify> resultUtil = AntomPaymentUtil.receivePaymentNotify(request);
+            Integer code = resultUtil.getCode();
+            if(200 == code){
+                AlipayPayResultNotify alipayPayResultNotify = resultUtil.getData();
+                Result result = alipayPayResultNotify.getResult();
+                ResultStatusType resultStatus = result.getResultStatus();
+                if(resultStatus.equals(ResultStatusType.S)){
+                    String out_trade_no = alipayPayResultNotify.getPaymentRequestId();
+                    String order_id = alipayPayResultNotify.getPaymentId();
+                    Integer type = Integer.valueOf(out_trade_no.substring(17, 18));
+                    Integer language = Integer.valueOf(out_trade_no.substring(18, 19));
+                    Integer id = Integer.valueOf(out_trade_no.substring(19));
+                    switch (type){
+                        case 1:
+                            orderPrivateCarService.payCancelOrderPrivateCar(id, order_id, language);
+                            break;
+//                        case 2:
+//                            orderTaxiService.payCancelOrderTaxi(id, order_id, 1);
+//                            break;
+//                        case 3:
+//                            orderCrossCityService.payCancelOrderCrossCity(id, order_id, 1);
+//                            break;
+                        case 4:
+                            orderLogisticsService.payCancelOrderPrivateCar(id, order_id, language);
+                            break;
+                    }
+                    PrintWriter out = response.getWriter();
+                    out.write("{\n" +
+                            "  \"result\": {\n" +
+                            "    \"resultCode\": \"SUCCESS\",\n" +
+                            "    \"resultMessage\": \"success\",\n" +
+                            "    \"resultStatus\": \"S\"\n" +
+                            "  }\n" +
+                            "}");
+                    out.flush();
+                    out.close();
+                }
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+        }
+    }
+
+
+
     /**
      * 取消订单支付宝回调
      * @param request
@@ -1597,6 +1658,68 @@
 
 
     /**
+     * 支付宝国际支付通知回调
+     * @param request
+     * @param response
+     */
+    @ResponseBody
+    @PostMapping("/base/wxPayOrderTaxiAntom")
+    public void wxPayOrderTaxiAntom(HttpServletRequest request, HttpServletResponse response){
+        try {
+            ResultUtil<AlipayPayResultNotify> resultUtil = AntomPaymentUtil.receivePaymentNotify(request);
+            Integer code = resultUtil.getCode();
+            if(200 == code){
+                AlipayPayResultNotify alipayPayResultNotify = resultUtil.getData();
+                Result result = alipayPayResultNotify.getResult();
+                ResultStatusType resultStatus = result.getResultStatus();
+                if(resultStatus.equals(ResultStatusType.S)){
+                    String out_trade_no = alipayPayResultNotify.getPaymentRequestId();
+                    String order_id = alipayPayResultNotify.getPaymentId();
+                    if(ToolUtil.isNotEmpty(out_trade_no)){
+                        Integer orderType = Integer.valueOf(out_trade_no.substring(17, 18));
+                        Integer language = Integer.valueOf(out_trade_no.substring(18, 19));
+                        Integer id = Integer.valueOf(out_trade_no.substring(19));
+                        switch (orderType){
+                            case 1:
+                                orderPrivateCarService.payOrderPrivateCarCallback(id, order_id, language);
+                                break;
+//                        case 2:
+//                            orderTaxiService.payOrderTaxiCallback(id, order_id, 1);
+//                            break;
+//                        case 3:
+//                            orderCrossCityService.payOrderCrossCityCallback(id, order_id, 1);
+//                            break;
+                            case 4:
+                                orderLogisticsService.payOrderLogisticsCallback(id, order_id, language);
+                                break;
+//                        case 5:
+//                            orderLogisticsService.payOrderLogisticsCallback(id, order_id, 1, language);
+//                            break;
+                        }
+                        PrintWriter out = response.getWriter();
+                        out.write("{\n" +
+                                "  \"result\": {\n" +
+                                "    \"resultCode\": \"SUCCESS\",\n" +
+                                "    \"resultMessage\": \"success\",\n" +
+                                "    \"resultStatus\": \"S\"\n" +
+                                "  }\n" +
+                                "}");
+                        out.flush();
+                        out.close();
+                    }
+
+
+                }
+
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+        }
+    }
+
+
+
+    /**
      * 完成订单支付宝支付回调
      * @param request
      */
@@ -1693,6 +1816,42 @@
     }
 
 
+    @ResponseBody
+    @PostMapping("/base/wxPayOrderLogisticsSpreadAntom")
+    public void wxPayOrderLogisticsSpreadAntom(HttpServletRequest request, HttpServletResponse response){
+        try {
+            ResultUtil<AlipayPayResultNotify> resultUtil = AntomPaymentUtil.receivePaymentNotify(request);
+            Integer code = resultUtil.getCode();
+            if(200 == code){
+                AlipayPayResultNotify alipayPayResultNotify = resultUtil.getData();
+                Result result = alipayPayResultNotify.getResult();
+                ResultStatusType resultStatus = result.getResultStatus();
+                if(resultStatus.equals(ResultStatusType.S)){
+                    String out_trade_no = alipayPayResultNotify.getPaymentRequestId();
+                    String order_id = alipayPayResultNotify.getPaymentId();
+                    Integer orderType = Integer.valueOf(out_trade_no.substring(17, 18));
+                    Integer language = Integer.valueOf(out_trade_no.substring(18, 19));
+                    Integer id = Integer.valueOf(out_trade_no.substring(19));
+                    orderLogisticsService.payOrderLogisticsSpreadCallback(id, order_id, language);
+
+                    PrintWriter out = response.getWriter();
+                    out.write("{\n" +
+                            "  \"result\": {\n" +
+                            "    \"resultCode\": \"SUCCESS\",\n" +
+                            "    \"resultMessage\": \"success\",\n" +
+                            "    \"resultStatus\": \"S\"\n" +
+                            "  }\n" +
+                            "}");
+                    out.flush();
+                    out.close();
+                }
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+        }
+    }
+
+
     /**
      * 小件物流差价支付宝支付回调
      * @param request
@@ -1723,33 +1882,12 @@
     }
 
 
-
-    @ResponseBody
-    @PostMapping("/base/IGO/tinggPayoutCallback")
-    public PayoutCallbackResponse tinggPayoutCallback(@RequestBody PayoutCallbackRequest request){
-        System.err.println("转账回调>>>>" + JSON.toJSONString(request));
-        PayoutCallbackResponse payoutCallbackResponse = new PayoutCallbackResponse();
-        AuthStatus authStatus = new AuthStatus();
-        authStatus.setAuthStatusCode(131);
-        authStatus.setAuthStatusDescription("Authentication was successful");
-        payoutCallbackResponse.setAuthStatus(authStatus);
-        Results results = new Results();
-        PayoutPacket packet = request.getPayload().getPacket();
-        String beepTransactionID = packet.getBeepTransactionID();
-        String payerTransactionID = packet.getPayerTransactionID();
-        results.setBeepTransactionID(beepTransactionID);
-        results.setPayerTransactionID(payerTransactionID);
-        results.setStatusCode("188");
-        results.setStatusDescription("Response was received");
-        payoutCallbackResponse.setResults(results);
-        return payoutCallbackResponse;
-    }
     
     
     
     @ResponseBody
     @PostMapping("/api/taxi/updateEndAddress")
-    @ApiOperation(value = "修改目的地【2.0】", tags = {"用户端-专车", "用户端-小件物流"}, notes = "")
+    @ApiOperation(value = "修改目的地", tags = {"用户端-专车", "用户端-小件物流"}, notes = "")
     @ApiImplicitParams({
             @ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"),
             @ApiImplicitParam(value = "订单类型", name = "orderType", required = true, dataType = "int"),
@@ -1774,7 +1912,7 @@
     
     @ResponseBody
     @PostMapping("/api/taxi/redEnvelopeDeductionAmount")
-    @ApiOperation(value = "获取支付页红包抵扣金额【2.0】", tags = {"用户端-专车", "用户端-小件物流"}, notes = "")
+    @ApiOperation(value = "获取支付页红包抵扣金额", tags = {"用户端-专车", "用户端-小件物流"}, notes = "")
     @ApiImplicitParams({
             @ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"),
             @ApiImplicitParam(value = "订单类型", name = "orderType", required = true, dataType = "int"),
@@ -1850,7 +1988,7 @@
     
     @ResponseBody
     @PostMapping("/api/order/getNewTripId")
-    @ApiOperation(value = "获取google预定tripid【2.0】", tags = {"用户端-首页"}, notes = "")
+    @ApiOperation(value = "获取google预定tripid", tags = {"用户端-首页"}, notes = "")
     @ApiImplicitParams({
             @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
     })
@@ -1869,4 +2007,173 @@
             return ResultUtil.runErr();
         }
     }
+
+
+
+    @ResponseBody
+    @PostMapping("/api/taxi/getOrderDrivingData")
+    @ApiOperation(value = "服务中手动刷新下方行程数据【1.0】", tags = {"用户端-专车", "用户端-小件物流"}, notes = "")
+    @ApiImplicitParams({
+            @ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"),
+            @ApiImplicitParam(value = "订单类型", name = "orderType", required = true, dataType = "int"),
+            @ApiImplicitParam(value = "语言", name = "language", required = true, dataType = "int"),
+            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
+    })
+    public ResultUtil<Map<String, String>> getOrderDrivingData(Integer orderId, Integer orderType){
+        try {
+            Integer driverId = null;
+            String startLonLat = null;
+            String endLonLat = null;
+            Integer state = 0;
+            Integer oldState = 0;
+            Long startServiceTime = null;
+            Double servedMileage = null;
+            String tripId = "";
+            switch (orderType){
+                case 1:
+                    OrderPrivateCar orderPrivateCar = orderPrivateCarService.selectById(orderId);
+                    tripId = redisUtil.getValue("trip" + orderPrivateCar.getUserId());
+                    if(orderPrivateCar != null){
+                        driverId = orderPrivateCar.getDriverId();
+                        startLonLat = orderPrivateCar.getStartLon() + "," + orderPrivateCar.getStartLat();
+                        state = orderPrivateCar.getState();
+                        oldState = orderPrivateCar.getOldState();
+                        startServiceTime = null != orderPrivateCar.getStartServiceTime() ? orderPrivateCar.getStartServiceTime().getTime() : null;
+                        servedMileage = orderPrivateCar.getMileage();
+                        endLonLat = orderPrivateCar.getEndLon() + "," + orderPrivateCar.getEndLat();
+                    }
+                    break;
+                case 2:
+                    OrderTaxi orderTaxi = orderTaxiService.selectById(orderId);
+                    tripId = redisUtil.getValue("trip" + orderTaxi.getUserId());
+                    if(orderTaxi != null){
+                        driverId = orderTaxi.getDriverId();
+                        startLonLat = orderTaxi.getStartLon() + "," + orderTaxi.getStartLat();
+                        state = orderTaxi.getState();
+                        oldState = orderTaxi.getOldState();
+                        startServiceTime = null != orderTaxi.getStartServiceTime() ? orderTaxi.getStartServiceTime().getTime() : null;
+                        servedMileage = orderTaxi.getMileage();
+                        endLonLat = orderTaxi.getEndLon() + "," + orderTaxi.getEndLat();
+                    }
+                    break;
+                case 3:
+                    OrderCrossCity orderCrossCity = orderCrossCityService.selectById(orderId);
+                    tripId = redisUtil.getValue("trip" + orderCrossCity.getUserId());
+                    if(orderCrossCity == null){
+                        driverId = orderCrossCity.getDriverId();
+                        startLonLat = orderCrossCity.getStartLon() + "," + orderCrossCity.getStartLat();
+                        state = orderCrossCity.getState();
+                        startServiceTime = null != orderCrossCity.getStartServiceTime() ? orderCrossCity.getStartServiceTime().getTime() : null;
+                        servedMileage = orderCrossCity.getMileage();
+                        endLonLat = orderCrossCity.getEndLon() + "," + orderCrossCity.getEndLat();
+                    }
+                    break;
+                case 4:
+                    OrderLogistics orderLogistics = orderLogisticsService.selectById(orderId);
+                    tripId = redisUtil.getValue("trip" + orderLogistics.getUserId());
+                    if(orderLogistics == null){
+                        driverId = orderLogistics.getDriverId();
+                        startLonLat = orderLogistics.getStartLon() + "," + orderLogistics.getStartLat();
+                        state = orderLogistics.getState();
+                        startServiceTime = null != orderLogistics.getStartServiceTime() ? orderLogistics.getStartServiceTime().getTime() : null;
+                        servedMileage = orderLogistics.getMileage();
+                        endLonLat = orderLogistics.getEndLon() + "," + orderLogistics.getEndLat();
+                    }
+                    break;
+                case 5:
+                    OrderLogistics orderLogistics1 = orderLogisticsService.selectById(orderId);
+                    tripId = redisUtil.getValue("trip" + orderLogistics1.getUserId());
+                    if(orderLogistics1 == null){
+                        driverId = orderLogistics1.getDriverId();
+                        startLonLat = orderLogistics1.getStartLon() + "," + orderLogistics1.getStartLat();
+                        state = orderLogistics1.getState();
+                        startServiceTime = null != orderLogistics1.getStartServiceTime() ? orderLogistics1.getStartServiceTime().getTime() : null;
+                        servedMileage = orderLogistics1.getMileage();
+                        endLonLat = orderLogistics1.getEndLon() + "," + orderLogistics1.getEndLat();
+                    }
+                    break;
+            }
+            //计算预计距离和剩余时间
+            String value = redisUtil.getValue("DRIVER" + driverId);
+            if(null == value || "".equals(value)){
+                System.err.println("司机没有上传位置信息");
+                return ResultUtil.success();
+            }
+
+            Map<String, String> map = new HashMap<>();
+            map.put("orderId", String.valueOf(orderId));
+            map.put("orderType", String.valueOf(orderType));
+            map.put("lon", (null != value ? value.split(",")[0] : ""));
+            map.put("lat", (null != value ? value.split(",")[1] : ""));
+            if(state == 7 || state == 8 || state == 9 || state == 10 || state == 12){
+                return ResultUtil.success();
+            }
+            if((state == 2 || state == 3 || state == 4) || (oldState != null && (oldState == 2 || oldState == 3 || oldState == 4))){//前往预约地
+                String d = "0";
+                String t = "0";
+                if(ToolUtil.isNotEmpty(value) && ToolUtil.isNotEmpty(startLonLat)){
+                    String[] split = value.split(",");
+                    String[] split1 = startLonLat.split(",");
+                    DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(Double.valueOf(split[1]), Double.valueOf(split[0]), Double.valueOf(split1[1]), Double.valueOf(split1[0]), tripId);
+                    if(null == distancematrix){
+                        System.err.println("地图获取距离出错");
+                    }else{
+                        d = distancematrix.getDistance().toString();//距离m
+                        t = distancematrix.getDuration().toString();//时间s
+                    }
+                }
+                d = new BigDecimal(d).divide(new BigDecimal(1000), new MathContext(2, RoundingMode.HALF_EVEN)).toString();
+                t = new BigDecimal(t).divide(new BigDecimal(60), new MathContext(2, RoundingMode.HALF_EVEN)).intValue() + "";
+                map.put("reservationMileage", d);//当前位置距离预约点的剩余里程
+                map.put("reservationTime", t);//当前位置距离预约点的剩余分钟
+                map.put("servedMileage", "0");//距离起点已经服务的里程
+                map.put("servedTime", "0");//距离起点已经服务的时间
+                map.put("laveMileage", "0");//距离终点剩余未服务的里程数
+                map.put("laveTime", "0");//距离终端剩余未服务的预计时间
+            }
+            if((state == 5 || state == 6) || (oldState != null && (oldState == 5 || oldState == 6))){//服务中
+                map.put("reservationMileage", "0");//当前位置距离预约点的剩余里程
+                map.put("reservationTime", "0");//当前位置距离预约点的剩余分钟
+                map.put("servedMileage", String.valueOf((null == servedMileage ? 0 : servedMileage) / 1000));//距离起点已经服务的里程
+                Integer servedTime = Long.valueOf((new Date().getTime() - startServiceTime) / 60000).intValue();
+                map.put("servedTime", servedTime + "");//距离起点已经服务的时间
+
+                String d = "0";
+                String t = "0";
+                if(ToolUtil.isNotEmpty(value) && ToolUtil.isNotEmpty(endLonLat)){
+                    String[] split = value.split(",");
+                    String[] split1 = endLonLat.split(",");
+                    DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(Double.valueOf(split[1]), Double.valueOf(split[0]), Double.valueOf(split1[1]), Double.valueOf(split1[0]), tripId);
+                    if(null == distancematrix){
+                        System.err.println("地图获取距离出错");
+                    }else{
+                        d = distancematrix.getDistance().toString();//距离m
+                        t = distancematrix.getDuration().toString();//时间s
+                    }
+                }
+
+                d = new BigDecimal(d).divide(new BigDecimal(1000), new MathContext(2, RoundingMode.HALF_EVEN)).toString();
+                t = new BigDecimal(t).divide(new BigDecimal(60), new MathContext(2, RoundingMode.HALF_EVEN)).intValue() + "";
+                map.put("laveMileage", d);//距离终点剩余未服务的里程数
+                map.put("laveTime", t);//距离终端剩余未服务的预计时间
+            }
+            File file = new File(filePath + orderId + "_" + orderType + ".txt");
+            if(file.exists()){
+                //读取文件(字符流)
+                BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream(file),"UTF-8"));
+                //循环取出数据
+                String str = null;
+                StringBuffer sb = new StringBuffer();
+                while ((str = in.readLine()) != null) {
+                    sb.append(str);
+                }
+                List<OrderPosition> list = JSONArray.parseArray(sb.toString(), OrderPosition.class);
+                map.put("orderPositionList",JSONObject.toJSONString(list));
+            }
+            return ResultUtil.success(map);
+        }catch (Exception e){
+            e.printStackTrace();
+        }
+        return ResultUtil.success();
+    }
 }
diff --git a/UserGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/PhoneController.java b/UserGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/PhoneController.java
index cf1aa72..0323c7a 100644
--- a/UserGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/PhoneController.java
+++ b/UserGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/PhoneController.java
@@ -42,7 +42,7 @@
      */
     @ResponseBody
     @PostMapping("/queryPhones")
-    @ApiOperation(value = "获取首页电话【1.0】", tags = {"用户端-首页", "用户端-包车"}, notes = "type=1(报警电话),type=2(投诉电话),type=3(包车调度电话)")
+    @ApiOperation(value = "获取首页电话", tags = {"用户端-首页", "用户端-包车"}, notes = "type=1(报警电话),type=2(投诉电话),type=3(包车调度电话)")
     @ApiImplicitParams({
             @ApiImplicitParam(value = "定位经度", name = "lat", required = true, dataType = "double"),
             @ApiImplicitParam(value = "定位维度", name = "lnt", required = true, dataType = "double")
@@ -65,7 +65,7 @@
      */
     @ResponseBody
     @PostMapping("/queryCustomerPhone")
-    @ApiOperation(value = "获取个人中心的客服电话【1.0】", tags = {"用户端-个人中心"}, notes = "platform(平台电话),company(本地电话)")
+    @ApiOperation(value = "获取个人中心的客服电话", tags = {"用户端-个人中心"}, notes = "platform(平台电话),company(本地电话)")
     @ApiImplicitParams({
             @ApiImplicitParam(value = "定位经度", name = "lat", required = true, dataType = "double"),
             @ApiImplicitParam(value = "定位维度", name = "lnt", required = true, dataType = "double"),
diff --git a/UserGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/RedEnvelopeController.java b/UserGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/RedEnvelopeController.java
index b8d402e..a557c27 100644
--- a/UserGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/RedEnvelopeController.java
+++ b/UserGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/RedEnvelopeController.java
@@ -69,7 +69,7 @@
      */
     @ResponseBody
     @PostMapping("/queryMyRedEnvelope")
-    @ApiOperation(value = "获取红包列表【2.0】", tags = {"用户端-个人中心"}, notes = "")
+    @ApiOperation(value = "获取红包列表", tags = {"用户端-个人中心"}, notes = "")
     @ApiImplicitParams({
             @ApiImplicitParam(value = "页码(首页1)", name = "pageNum", required = true, dataType = "int"),
             @ApiImplicitParam(value = "页条数", name = "size", required = true, dataType = "int"),
@@ -118,7 +118,7 @@
      */
     @ResponseBody
     @PostMapping("/queryRedEnvelope")
-    @ApiOperation(value = "获取红包使用记录【2.0】", tags = {"用户端-个人中心"}, notes = "")
+    @ApiOperation(value = "获取红包使用记录", tags = {"用户端-个人中心"}, notes = "")
     @ApiImplicitParams({
             @ApiImplicitParam(value = "页码(首页1)", name = "pageNum", required = true, dataType = "int"),
             @ApiImplicitParam(value = "页条数", name = "size", required = true, dataType = "int"),
diff --git a/UserGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/ServerCarModelController.java b/UserGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/ServerCarModelController.java
index 17921dc..d12d82a 100644
--- a/UserGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/ServerCarModelController.java
+++ b/UserGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/ServerCarModelController.java
@@ -41,7 +41,7 @@
      */
     @ResponseBody
     @PostMapping("/queryServerCarModel")
-    @ApiOperation(value = "选择起点终点后获取车型和预估价格【2.0】", tags = {"用户端-专车", "用户端-小件物流"}, notes = "")
+    @ApiOperation(value = "选择起点终点后获取车型和预估价格", tags = {"用户端-专车", "用户端-小件物流"}, notes = "")
     @ApiImplicitParams({
             @ApiImplicitParam(value = "起点经纬度(103.22121,,30.26123)", name = "startLonLat", required = true, dataType = "string"),
             @ApiImplicitParam(value = "终点经纬度(103.22121,,30.26123)", name = "endLonLat", required = true, dataType = "string"),
diff --git a/UserGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/UserCallbackController.java b/UserGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/UserCallbackController.java
index 4e29146..1e91cca 100644
--- a/UserGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/UserCallbackController.java
+++ b/UserGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/UserCallbackController.java
@@ -2,9 +2,14 @@
 
 
 import com.alibaba.fastjson.JSON;
+import com.alipay.global.api.model.Result;
+import com.alipay.global.api.model.ResultStatusType;
+import com.alipay.global.api.request.ams.notify.AlipayPayResultNotify;
 import com.stylefeng.guns.core.util.ToolUtil;
 import com.stylefeng.guns.modular.system.service.IUserInfoService;
+import com.stylefeng.guns.modular.system.util.AntomPaymentUtil;
 import com.stylefeng.guns.modular.system.util.PayMoneyUtil;
+import com.stylefeng.guns.modular.system.util.ResultUtil;
 import com.stylefeng.guns.modular.system.util.Tingg.model.CallbackRequest;
 import com.stylefeng.guns.modular.system.util.Tingg.model.CallbackResponse;
 import com.stylefeng.guns.modular.system.util.Tingg.model.Payments;
@@ -82,6 +87,41 @@
     }
 
 
+    @ResponseBody
+    @PostMapping("/wxCancelUserBalanceAntom")
+    public void wxCancelUserBalanceAntom(HttpServletRequest request, HttpServletResponse response){
+        try {
+            ResultUtil<AlipayPayResultNotify> resultUtil = AntomPaymentUtil.receivePaymentNotify(request);
+            Integer code = resultUtil.getCode();
+            if(200 == code){
+                AlipayPayResultNotify alipayPayResultNotify = resultUtil.getData();
+                Result result = alipayPayResultNotify.getResult();
+                ResultStatusType resultStatus = result.getResultStatus();
+                if(resultStatus.equals(ResultStatusType.S)){
+                    String out_trade_no = alipayPayResultNotify.getPaymentRequestId();
+                    String order_id = alipayPayResultNotify.getPaymentId();
+                    Integer language = Integer.valueOf(out_trade_no.substring(17, 18));
+                    Integer id = Integer.valueOf(out_trade_no.substring(18));
+                    userInfoService.payCancelUserBalance(null, order_id, Integer.valueOf(id), language);
+                    PrintWriter out = response.getWriter();
+                    out.write("{\n" +
+                            "  \"result\": {\n" +
+                            "    \"resultCode\": \"SUCCESS\",\n" +
+                            "    \"resultMessage\": \"success\",\n" +
+                            "    \"resultStatus\": \"S\"\n" +
+                            "  }\n" +
+                            "}");
+                    out.flush();
+                    out.close();
+                }
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+        }
+    }
+
+
+
     /**
      * 支付宝余额充值回调
      * @param request
diff --git a/UserGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/UserInfoController.java b/UserGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/UserInfoController.java
index 4e745f5..149c2fd 100644
--- a/UserGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/UserInfoController.java
+++ b/UserGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/UserInfoController.java
@@ -232,7 +232,7 @@
     
     @ResponseBody
     @PostMapping("/base/sedEmail")
-    @ApiOperation(value = "获取邮箱验证码【1.0】", tags = {"用户端-登录"}, notes = "")
+    @ApiOperation(value = "获取邮箱验证码", tags = {"用户端-登录"}, notes = "")
     @ApiImplicitParams({
             @ApiImplicitParam(value = "邮箱地址", name = "email", required = true, dataType = "String")
     })
@@ -557,7 +557,7 @@
 
     @ResponseBody
     @PostMapping("/base/user/facebookLogin")
-    @ApiOperation(value = "FaceBook授权登录【1.0】", tags = {"用户端-登录"}, notes = "")
+    @ApiOperation(value = "FaceBook授权登录", tags = {"用户端-登录"}, notes = "")
     @ApiImplicitParams({
             @ApiImplicitParam(value = "FaceBook用户id", name = "id", required = true, dataType = "String"),
             @ApiImplicitParam(value = "FaceBook用户名称", name = "name", required = true, dataType = "String"),
@@ -578,7 +578,7 @@
     }
     @ResponseBody
     @PostMapping("/base/user/twitterLogin")
-    @ApiOperation(value = "twitter授权登录【1.0】", tags = {"用户端-登录"}, notes = "")
+    @ApiOperation(value = "twitter授权登录", tags = {"用户端-登录"}, notes = "")
     @ApiImplicitParams({
             @ApiImplicitParam(value = "twitter用户id", name = "id", required = true, dataType = "String"),
             @ApiImplicitParam(value = "twitter用户名称", name = "name", required = true, dataType = "String"),
@@ -650,7 +650,7 @@
 
     @ResponseBody
     @PostMapping("/api/user/bindingEmail")
-    @ApiOperation(value = "设置邮箱地址【1.0】", tags = {"用户端-登录"}, notes = "")
+    @ApiOperation(value = "设置邮箱地址", tags = {"用户端-登录"}, notes = "")
     @ApiImplicitParams({
             @ApiImplicitParam(value = "绑定类型(1=注册账号绑定,2=个人中心绑定)", name = "type", required = true, dataType = "int"),
             @ApiImplicitParam(value = "邮箱地址", name = "email", required = true, dataType = "String"),
@@ -1378,26 +1378,26 @@
     
     
     
-    @ResponseBody
-    @PostMapping("/api/user/getFleetEngineAuth")
-    @ApiOperation(value = "获取google地图授权token", tags = {"用户端-个人中心"}, notes = "")
-    @ApiImplicitParams({
-            @ApiImplicitParam(value = "行程id", name = "tripId", required = true, dataType = "string"),
-            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
-    })
-    public ResultUtil<Map<String, Object>> getFleetEngineAuth(String tripId, HttpServletRequest request){
-        try {
-            Integer uid = userInfoService.getUserIdFormRedis(request);
-            if(null == uid){
-                return ResultUtil.tokenErr();
-            }
-            Map<String, Object> s = fleetEngineUtil.fleetEngineAuth(1, tripId);
-            return ResultUtil.success(s);
-        }catch (Exception e){
-            e.printStackTrace();
-            return ResultUtil.runErr();
-        }
-    }
+//    @ResponseBody
+//    @PostMapping("/api/user/getFleetEngineAuth")
+//    @ApiOperation(value = "获取google地图授权token", tags = {"用户端-个人中心"}, notes = "")
+//    @ApiImplicitParams({
+//            @ApiImplicitParam(value = "行程id", name = "tripId", required = true, dataType = "string"),
+//            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
+//    })
+//    public ResultUtil<Map<String, Object>> getFleetEngineAuth(String tripId, HttpServletRequest request){
+//        try {
+//            Integer uid = userInfoService.getUserIdFormRedis(request);
+//            if(null == uid){
+//                return ResultUtil.tokenErr();
+//            }
+//            Map<String, Object> s = fleetEngineUtil.fleetEngineAuth(1, tripId);
+//            return ResultUtil.success(s);
+//        }catch (Exception e){
+//            e.printStackTrace();
+//            return ResultUtil.runErr();
+//        }
+//    }
     
     
     @ResponseBody
diff --git a/UserGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/WithdrawalController.java b/UserGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/WithdrawalController.java
index 4a75206..bf01750 100644
--- a/UserGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/WithdrawalController.java
+++ b/UserGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/WithdrawalController.java
@@ -76,7 +76,7 @@
      */
     @ResponseBody
     @PostMapping("/api/withdrawal/queryWithdrawal")
-    @ApiOperation(value = "获取历史提现数据【2.0】", tags = {"用户端-个人中心"}, notes = "")
+    @ApiOperation(value = "获取历史提现数据", tags = {"用户端-个人中心"}, notes = "")
     @ApiImplicitParams({
             @ApiImplicitParam(value = "页码,首页1", name = "pageNum", required = true, dataType = "int"),
             @ApiImplicitParam(value = "页条数", name = "size", required = true, dataType = "int"),
diff --git a/UserGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/controller/OrderLogisticsController.java b/UserGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/controller/OrderLogisticsController.java
index f082ed2..e8568da 100644
--- a/UserGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/controller/OrderLogisticsController.java
+++ b/UserGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/controller/OrderLogisticsController.java
@@ -194,7 +194,7 @@
     
     @ResponseBody
     @PostMapping("/api/orderLogistics/placeOrderPackage")
-    @ApiOperation(value = "小件物流下单操作【2.0】", tags = {"用户端-小件物流"}, notes = "")
+    @ApiOperation(value = "小件物流下单操作", tags = {"用户端-小件物流"}, notes = "")
     @ApiImplicitParams({
             @ApiImplicitParam(value = "备注", name = "remark", required = false, paramType = "query", dataType = "string"),
             @ApiImplicitParam(value = "下单点经度", name = "placementLon", required = true, paramType = "query", dataType = "string"),
@@ -315,7 +315,7 @@
     
     @ResponseBody
     @PostMapping("/api/orderLogistics/queryTimeInfo")
-    @ApiOperation(value = "获取订单详情中的时间信息内容【2.0】", tags = {"用户端-小件物流"}, notes = "")
+    @ApiOperation(value = "获取订单详情中的时间信息内容", tags = {"用户端-小件物流"}, notes = "")
     @ApiImplicitParams({
             @ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"),
             @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
@@ -386,7 +386,7 @@
     
     @ResponseBody
     @PostMapping("/api/orderLogistics/confirmDifferencePrice")
-    @ApiOperation(value = "确认补差价【2.0】", tags = {"用户端-小件物流"}, notes = "")
+    @ApiOperation(value = "确认补差价", tags = {"用户端-小件物流"}, notes = "")
     @ApiImplicitParams({
             @ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"),
             @ApiImplicitParam(value = "差价金额", name = "difference", required = true, dataType = "double"),
@@ -396,6 +396,8 @@
     public ResultUtil confirmDifferencePrice(Integer orderId, Double difference, Integer status){
         OrderLogistics orderLogistics = orderLogisticsService.selectById(orderId);
         if(2 == status){
+            orderLogistics.setOldState(orderLogistics.getState());
+            orderLogistics.setState(13);
             orderLogistics.setPriceDifference(difference);
             orderLogisticsService.updateById(orderLogistics);
         }
diff --git a/UserGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/impl/OrderLogisticsServiceImpl.java b/UserGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/impl/OrderLogisticsServiceImpl.java
index 97f924e..f149544 100644
--- a/UserGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/impl/OrderLogisticsServiceImpl.java
+++ b/UserGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/impl/OrderLogisticsServiceImpl.java
@@ -3,6 +3,9 @@
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
+import com.alipay.global.api.model.ResultStatusType;
+import com.alipay.global.api.response.ams.pay.AlipayPayQueryResponse;
+import com.alipay.global.api.response.ams.pay.AlipayPayResponse;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
 import com.stylefeng.guns.core.util.ToolUtil;
@@ -60,8 +63,10 @@
 import java.math.BigDecimal;
 import java.math.MathContext;
 import java.math.RoundingMode;
+import java.sql.Time;
 import java.text.SimpleDateFormat;
 import java.util.*;
+import java.util.concurrent.*;
 import java.util.stream.Collectors;
 
 
@@ -786,73 +791,73 @@
         this.insert(orderLogistics);
     
         //google创建车辆信息
-        String vehicleId = null;
-        if(null != orderLogistics.getDriverId()){
-            Driver driver = driverService.selectById(orderLogistics.getDriverId());
-            Car car = carMapper.selectById(driver.getCarId());
-            if(!StringUtils.hasLength(car.getVehicleId())){
-                car.setVehicleId(UUIDUtil.getRandomCode());
-                carMapper.updateById(car);
-            }
-            //查询车辆信息,没有则创建信息
-            String vehicles = fleetEngineUtil.getVehicles(car.getVehicleId());
-            if(ToolUtil.isEmpty(vehicles)){
-                CarModel carModel = carModelMapper.selectById(car.getCarModelId());
-                boolean createVehicles = fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
-                if(!createVehicles){
-                    for (int i = 0; i < 5; i++) {
-                        createVehicles = fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
-                        if(createVehicles){
-                            break;
-                        }
-                        Thread.sleep(5000L);
-                    }
-                }
-                boolean updateVehicles = fleetEngineUtil.updateVehicles("ONLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
-                if(!updateVehicles){
-                    for (int i = 0; i < 5; i++) {
-                        updateVehicles = fleetEngineUtil.updateVehicles("ONLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
-                        if(updateVehicles){
-                            break;
-                        }
-                        Thread.sleep(5000L);
-                    }
-                }
-            }
-        }
+//        String vehicleId = null;
+//        if(null != orderLogistics.getDriverId()){
+//            Driver driver = driverService.selectById(orderLogistics.getDriverId());
+//            Car car = carMapper.selectById(driver.getCarId());
+//            if(!StringUtils.hasLength(car.getVehicleId())){
+//                car.setVehicleId(UUIDUtil.getRandomCode());
+//                carMapper.updateById(car);
+//            }
+//            //查询车辆信息,没有则创建信息
+//            String vehicles = fleetEngineUtil.getVehicles(car.getVehicleId());
+//            if(ToolUtil.isEmpty(vehicles)){
+//                CarModel carModel = carModelMapper.selectById(car.getCarModelId());
+//                boolean createVehicles = fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+//                if(!createVehicles){
+//                    for (int i = 0; i < 5; i++) {
+//                        createVehicles = fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+//                        if(createVehicles){
+//                            break;
+//                        }
+//                        Thread.sleep(5000L);
+//                    }
+//                }
+//                boolean updateVehicles = fleetEngineUtil.updateVehicles("ONLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+//                if(!updateVehicles){
+//                    for (int i = 0; i < 5; i++) {
+//                        updateVehicles = fleetEngineUtil.updateVehicles("ONLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+//                        if(updateVehicles){
+//                            break;
+//                        }
+//                        Thread.sleep(5000L);
+//                    }
+//                }
+//            }
+//        }
     
         //创建行程数据
-        String trip = fleetEngineUtil.getTrip(orderLogistics.getTripId());
-        int count = this.selectCount(new EntityWrapper<OrderLogistics>().eq("tripId", orderLogistics.getTripId()));
-        int count1 = orderPrivateCarService.selectCount(new EntityWrapper<OrderPrivateCar>().eq("tripId", orderLogistics.getTripId()));
-        if(ToolUtil.isNotEmpty(trip) || (count + count1) > 0){
-            String randomCode = UUIDUtil.getRandomCode();
-            redisUtil.setStrValue("trip" + orderLogistics.getUserId(), randomCode);
-            OrderLogistics orderLogistics1 = new OrderLogistics();
-            orderLogistics1.setId(orderLogistics.getId());
-            orderLogistics1.setTripId(randomCode);
-            this.updateById(orderLogistics1);
-            orderLogistics.setTripId(randomCode);
-        }
-        JSONObject createTrip = fleetEngineUtil.createTrip(vehicleId, 1, orderLogistics.getTripId(),
-                orderLogistics.getStartLat().toString(), orderLogistics.getStartLon().toString(), orderLogistics.getEndLat().toString(), orderLogistics.getEndLon().toString());
-        JSONObject error = createTrip.getJSONObject("error");
-        if(null != error){
-            for (int i = 0; i < 5; i++) {
-                createTrip = fleetEngineUtil.createTrip(vehicleId, 1, orderLogistics.getTripId(),
-                        orderLogistics.getStartLat().toString(), orderLogistics.getStartLon().toString(), orderLogistics.getEndLat().toString(), orderLogistics.getEndLon().toString());
-                error = createTrip.getJSONObject("error");
-                String tripStatus = createTrip.getString("tripStatus");
-                if(null == error && "NEW".equals(tripStatus)){
-                    break;
-                }
-                try {
-                    Thread.sleep(3000L);
-                } catch (InterruptedException e) {
-                    throw new RuntimeException(e);
-                }
-            }
-        }
+//        String trip = fleetEngineUtil.getTrip(orderLogistics.getTripId());
+//        int count = this.selectCount(new EntityWrapper<OrderLogistics>().eq("tripId", orderLogistics.getTripId()));
+//        int count1 = orderPrivateCarService.selectCount(new EntityWrapper<OrderPrivateCar>().eq("tripId", orderLogistics.getTripId()));
+//        if(ToolUtil.isNotEmpty(trip) || (count + count1) > 0){
+//            String randomCode = UUIDUtil.getRandomCode();
+//            redisUtil.setStrValue("trip" + orderLogistics.getUserId(), randomCode);
+//            OrderLogistics orderLogistics1 = new OrderLogistics();
+//            orderLogistics1.setId(orderLogistics.getId());
+//            orderLogistics1.setTripId(randomCode);
+//            this.updateById(orderLogistics1);
+//            orderLogistics.setTripId(randomCode);
+//        }
+//        JSONObject createTrip = fleetEngineUtil.createTrip(vehicleId, 1, orderLogistics.getTripId(),
+//                orderLogistics.getStartLat().toString(), orderLogistics.getStartLon().toString(), orderLogistics.getEndLat().toString(), orderLogistics.getEndLon().toString());
+//        JSONObject error = createTrip.getJSONObject("error");
+//        if(null != error){
+//            for (int i = 0; i < 5; i++) {
+//                createTrip = fleetEngineUtil.createTrip(vehicleId, 1, orderLogistics.getTripId(),
+//                        orderLogistics.getStartLat().toString(), orderLogistics.getStartLon().toString(), orderLogistics.getEndLat().toString(), orderLogistics.getEndLon().toString());
+//                error = createTrip.getJSONObject("error");
+//                String tripStatus = createTrip.getString("tripStatus");
+//                if(null == error && "NEW".equals(tripStatus)){
+//                    break;
+//                }
+//                try {
+//                    Thread.sleep(3000L);
+//                } catch (InterruptedException e) {
+//                    throw new RuntimeException(e);
+//                }
+//            }
+//        }
     
         if(orderSource == 2){//扫码下单
             Driver driver = driverService.selectById(orderLogistics.getDriverId());
@@ -1090,7 +1095,7 @@
 //            orderMoney += null != orderLogistics.getTipMoney() ? orderLogistics.getTipMoney() : 0;
         }
         UserInfo userInfo = userInfoService.selectById(uid);
-        ResultUtil resultUtil = ResultUtil.success("");
+        ResultUtil resultUtil = ResultUtil.success();
         //计算折扣
         UserActivityDiscount1 query2 = userActivityDiscount1Mapper.query(orderLogistics.getCompanyId());
         if(null != query2){
@@ -1202,23 +1207,66 @@
         if(payType == 1) {//手机支付
             SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
             String merchantTransactionId = sdf.format(new Date()) + "4" + language + orderId;
-            CheckoutRequest checkoutRequest = new CheckoutRequest();
-            checkoutRequest.setMsisdn(Long.valueOf(userInfo.getPhone()));
-            checkoutRequest.setCustomerEmail(userInfo.getEmail());
-            checkoutRequest.setAccountNumber(userInfo.getPhone());
-            checkoutRequest.setCustomerFirstName(userInfo.getFirstName());
-            checkoutRequest.setCustomerLastName(userInfo.getLastName());
-            checkoutRequest.setRequestAmount(orderMoney.setScale(2, RoundingMode.HALF_EVEN).doubleValue());
-            checkoutRequest.setMerchantTransactionId(merchantTransactionId);
-            checkoutRequest.setRequestDescription("Travel completion payment");
-            checkoutRequest.setCallbackUrl(callbackPath + "/base/wxPayOrderTaxi");
-            checkoutRequest.setPendingRedirectUrl("");
-            checkoutRequest.setSuccessRedirectUrl("https://igo.i-go.group/payMoney/pages/success.html");
-            checkoutRequest.setFailRedirectUrl("https://igo.i-go.group/payMoney/pages/fail.html");
-            resultUtil = TinggPayUtil.checkoutRequest(checkoutRequest);
+//            CheckoutRequest checkoutRequest = new CheckoutRequest();
+//            checkoutRequest.setMsisdn(Long.valueOf(userInfo.getPhone()));
+//            checkoutRequest.setCustomerEmail(userInfo.getEmail());
+//            checkoutRequest.setAccountNumber(userInfo.getPhone());
+//            checkoutRequest.setCustomerFirstName(userInfo.getFirstName());
+//            checkoutRequest.setCustomerLastName(userInfo.getLastName());
+//            checkoutRequest.setRequestAmount(orderMoney.setScale(2, RoundingMode.HALF_EVEN).doubleValue());
+//            checkoutRequest.setMerchantTransactionId(merchantTransactionId);
+//            checkoutRequest.setRequestDescription("Travel completion payment");
+//            checkoutRequest.setCallbackUrl(callbackPath + "/base/wxPayOrderTaxi");
+//            checkoutRequest.setPendingRedirectUrl("");
+//            checkoutRequest.setSuccessRedirectUrl("https://igo.i-go.group/payMoney/pages/success.html");
+//            checkoutRequest.setFailRedirectUrl("https://igo.i-go.group/payMoney/pages/fail.html");
+//            resultUtil = TinggPayUtil.checkoutRequest(checkoutRequest);
+
+            AntomPaymentUtil.PaymentVO payment = new AntomPaymentUtil.PaymentVO();
+            payment.setPaymentRequestId(merchantTransactionId);
+            payment.setAmountValue(orderMoney.setScale(2, RoundingMode.HALF_EVEN).toString());
+            payment.setCurrency("");
+            payment.setOrderDescription("Travel completion payment");
+            payment.setPaymentNotifyUrl(callbackPath + "/base/wxPayOrderTaxiAntom");
+            payment.setPaymentRedirectUrl("https://igo.i-go.group/payMoney/pages/success.html");
+            payment.setReferenceOrderId(orderLogistics.getId() + orderLogistics.getType() + "");
+            resultUtil = AntomPaymentUtil.pay(payment);
             if(resultUtil.getCode()==200){
                 paymentRecordService.saveData(1, null, null, orderId, 4, 1,
                         orderMoney.setScale(2, RoundingMode.HALF_EVEN).doubleValue(), null, 1);//添加预支付数据
+
+                //创建定时任务查询订单支付状态
+                ScheduledExecutorService scheduledExecutorService = Executors.newScheduledThreadPool(1);
+                scheduledExecutorService.schedule(() -> {
+                    try {
+                        int num = 1;
+                        int wait = 0;
+                        while (num <= 13) {
+                            int min = 5000;
+                            wait += (min * num);
+                            OrderLogistics orderLogistics1 = this.selectById(orderLogistics.getId());
+                            if (orderLogistics1.getState() != 7) {
+                                break;
+                            }
+                            ResultUtil<AlipayPayQueryResponse> resultUtil1 = AntomPaymentUtil.inquiryPayment(merchantTransactionId);
+                            if(200 == resultUtil1.getCode()){
+                                AlipayPayQueryResponse data = resultUtil1.getData();
+                                ResultStatusType resultStatus = data.getResult().getResultStatus();
+                                if(resultStatus.equals(ResultStatusType.S)){
+                                    payOrderLogisticsCallback(orderLogistics1.getId(), data.getPaymentId(), language);
+                                    break;
+                                }
+                            }
+                            Thread.sleep(wait);
+                            num++;
+                        }
+                    } catch (Exception e) {
+                        e.printStackTrace();
+                    }finally {
+                        scheduledExecutorService.shutdown();
+                    }
+
+                }, 5, TimeUnit.SECONDS);
             }else{
                 resultUtil = ResultUtil.error(language == 1 ? "支付失败" : language == 2 ? "Payment failure" : "Paiement échoué", "");
             }
@@ -1228,25 +1276,66 @@
             BankCard bankCard = bankCardService.selectById(bankCardId);
             SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
             String merchantTransactionId = sdf.format(new Date()) + "4" + language + orderId;
-            CheckoutRequest checkoutRequest = new CheckoutRequest();
-            checkoutRequest.setMsisdn(Long.valueOf(bankCard.getCode()));
-            checkoutRequest.setCustomerEmail(userInfo.getEmail());
-            checkoutRequest.setAccountNumber(bankCard.getCode());
-            checkoutRequest.setCustomerFirstName(bankCard.getFirstName());
-            checkoutRequest.setCustomerLastName(bankCard.getLastName());
-            checkoutRequest.setRequestAmount(orderMoney.setScale(2, RoundingMode.HALF_EVEN).doubleValue());
-            checkoutRequest.setMerchantTransactionId(merchantTransactionId);
-            checkoutRequest.setRequestDescription("Travel completion payment");
-            checkoutRequest.setCallbackUrl(callbackPath + "/base/wxPayOrderTaxi");
-            checkoutRequest.setPendingRedirectUrl("");
-            checkoutRequest.setSuccessRedirectUrl("https://igo.i-go.group/payMoney/pages/success.html");
-            checkoutRequest.setFailRedirectUrl("https://igo.i-go.group/payMoney/pages/fail.html");
-            resultUtil = TinggPayUtil.checkoutRequest(checkoutRequest);
+//            CheckoutRequest checkoutRequest = new CheckoutRequest();
+//            checkoutRequest.setMsisdn(Long.valueOf(bankCard.getCode()));
+//            checkoutRequest.setCustomerEmail(userInfo.getEmail());
+//            checkoutRequest.setAccountNumber(bankCard.getCode());
+//            checkoutRequest.setCustomerFirstName(bankCard.getFirstName());
+//            checkoutRequest.setCustomerLastName(bankCard.getLastName());
+//            checkoutRequest.setRequestAmount(orderMoney.setScale(2, RoundingMode.HALF_EVEN).doubleValue());
+//            checkoutRequest.setMerchantTransactionId(merchantTransactionId);
+//            checkoutRequest.setRequestDescription("Travel completion payment");
+//            checkoutRequest.setCallbackUrl(callbackPath + "/base/wxPayOrderTaxi");
+//            checkoutRequest.setPendingRedirectUrl("");
+//            checkoutRequest.setSuccessRedirectUrl("https://igo.i-go.group/payMoney/pages/success.html");
+//            checkoutRequest.setFailRedirectUrl("https://igo.i-go.group/payMoney/pages/fail.html");
+//            resultUtil = TinggPayUtil.checkoutRequest(checkoutRequest);
+
+            AntomPaymentUtil.PaymentVO payment = new AntomPaymentUtil.PaymentVO();
+            payment.setPaymentRequestId(merchantTransactionId);
+            payment.setAmountValue(orderMoney.setScale(2, RoundingMode.HALF_EVEN).toString());
+            payment.setCurrency("");
+            payment.setOrderDescription("Travel completion payment");
+            payment.setPaymentNotifyUrl(callbackPath + "/base/wxPayOrderTaxiAntom");
+            payment.setPaymentRedirectUrl("https://igo.i-go.group/payMoney/pages/success.html");
+            payment.setReferenceOrderId(orderLogistics.getId() + orderLogistics.getType() + "");
+            resultUtil = AntomPaymentUtil.pay(payment);
 
             if(resultUtil.getCode()==200){
                 this.updateById(orderLogistics);
                 paymentRecordService.saveData(1, null, null, orderId, 4, 2,
                         orderMoney.setScale(2, RoundingMode.HALF_EVEN).doubleValue(), null, 1);//添加预支付数据
+                ScheduledExecutorService scheduledExecutorService = Executors.newScheduledThreadPool(1);
+                scheduledExecutorService.schedule(() -> {
+                    try {
+                        int num = 1;
+                        int wait = 0;
+                        while (num <= 13) {
+                            int min = 5000;
+                            wait += (min * num);
+                            OrderLogistics orderLogistics1 = this.selectById(orderLogistics.getId());
+                            if (orderLogistics1.getState() != 7) {
+                                break;
+                            }
+                            ResultUtil<AlipayPayQueryResponse> resultUtil1 = AntomPaymentUtil.inquiryPayment(merchantTransactionId);
+                            if(200 == resultUtil1.getCode()){
+                                AlipayPayQueryResponse data = resultUtil1.getData();
+                                ResultStatusType resultStatus = data.getResult().getResultStatus();
+                                if(resultStatus.equals(ResultStatusType.S)){
+                                    payOrderLogisticsCallback(orderLogistics1.getId(), data.getPaymentId(), language);
+                                    break;
+                                }
+                            }
+                            Thread.sleep(wait);
+                            num++;
+                        }
+                    } catch (Exception e) {
+                        e.printStackTrace();
+                    }finally {
+                        scheduledExecutorService.shutdown();
+                    }
+
+                }, 5, TimeUnit.SECONDS);
             }else{
                 resultUtil = ResultUtil.error(language == 1 ? "支付失败" : language == 2 ? "Payment failure" : "Paiement échoué", "");
             }
@@ -1878,47 +1967,47 @@
                                 }
                         
                                 //司机下班,修改谷歌上的车辆信息
-                                new Thread(()->{
-                                    try {
-                                        CarModel carModel = carModelMapper.selectById(car.getCarModelId());
-                                        String vehicles = fleetEngineUtil.getVehicles(car.getVehicleId());
-                                        if(ToolUtil.isEmpty(vehicles)){
-                                            boolean createVehicles = fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
-                                            if(!createVehicles){
-                                                for (int i = 0; i < 5; i++) {
-                                                    createVehicles = fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
-                                                    if(createVehicles){
-                                                        break;
-                                                    }
-                                                    Thread.sleep(5000L);
-                                                }
-                                            }
-                                            boolean updateVehicles = fleetEngineUtil.updateVehicles("OFFLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
-                                            if(!updateVehicles){
-                                                for (int i = 0; i < 5; i++) {
-                                                    updateVehicles = fleetEngineUtil.updateVehicles("OFFLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
-                                                    if(updateVehicles){
-                                                        break;
-                                                    }
-                                                    Thread.sleep(5000L);
-                                                }
-                                            }
-                                        }else{
-                                            boolean updateVehicles = fleetEngineUtil.updateVehicles("OFFLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
-                                            if(!updateVehicles){
-                                                for (int i = 0; i < 5; i++) {
-                                                    updateVehicles = fleetEngineUtil.updateVehicles("OFFLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
-                                                    if(updateVehicles){
-                                                        break;
-                                                    }
-                                                    Thread.sleep(5000L);
-                                                }
-                                            }
-                                        }
-                                    }catch (Exception e){
-                                        e.printStackTrace();
-                                    }
-                                }).start();
+//                                new Thread(()->{
+//                                    try {
+//                                        CarModel carModel = carModelMapper.selectById(car.getCarModelId());
+//                                        String vehicles = fleetEngineUtil.getVehicles(car.getVehicleId());
+//                                        if(ToolUtil.isEmpty(vehicles)){
+//                                            boolean createVehicles = fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+//                                            if(!createVehicles){
+//                                                for (int i = 0; i < 5; i++) {
+//                                                    createVehicles = fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+//                                                    if(createVehicles){
+//                                                        break;
+//                                                    }
+//                                                    Thread.sleep(5000L);
+//                                                }
+//                                            }
+//                                            boolean updateVehicles = fleetEngineUtil.updateVehicles("OFFLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+//                                            if(!updateVehicles){
+//                                                for (int i = 0; i < 5; i++) {
+//                                                    updateVehicles = fleetEngineUtil.updateVehicles("OFFLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+//                                                    if(updateVehicles){
+//                                                        break;
+//                                                    }
+//                                                    Thread.sleep(5000L);
+//                                                }
+//                                            }
+//                                        }else{
+//                                            boolean updateVehicles = fleetEngineUtil.updateVehicles("OFFLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+//                                            if(!updateVehicles){
+//                                                for (int i = 0; i < 5; i++) {
+//                                                    updateVehicles = fleetEngineUtil.updateVehicles("OFFLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+//                                                    if(updateVehicles){
+//                                                        break;
+//                                                    }
+//                                                    Thread.sleep(5000L);
+//                                                }
+//                                            }
+//                                        }
+//                                    }catch (Exception e){
+//                                        e.printStackTrace();
+//                                    }
+//                                }).start();
                             }
                         }
                     }
@@ -2418,39 +2507,131 @@
         if(payType == 1){//手机支付
             SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
             String merchantTransactionId = sdf.format(new Date()) + "4" + language + orderId;
-            CheckoutRequest checkoutRequest = new CheckoutRequest();
-            checkoutRequest.setMsisdn(Long.valueOf(userInfo.getPhone()));
-            checkoutRequest.setCustomerEmail(userInfo.getEmail());
-            checkoutRequest.setAccountNumber(userInfo.getPhone());
-            checkoutRequest.setCustomerFirstName(userInfo.getFirstName());
-            checkoutRequest.setCustomerLastName(userInfo.getLastName());
-            checkoutRequest.setRequestAmount(orderMoney);
-            checkoutRequest.setMerchantTransactionId(merchantTransactionId);
-            checkoutRequest.setRequestDescription("Travel completion payment");
-            checkoutRequest.setCallbackUrl(callbackPath + "/base/wxPayOrderLogisticsSpread");
-            checkoutRequest.setPendingRedirectUrl("");
-            checkoutRequest.setSuccessRedirectUrl("https://igo.i-go.group/payMoney/pages/success.html");
-            checkoutRequest.setFailRedirectUrl("https://igo.i-go.group/payMoney/pages/fail.html");
-            return TinggPayUtil.checkoutRequest(checkoutRequest);
+//            CheckoutRequest checkoutRequest = new CheckoutRequest();
+//            checkoutRequest.setMsisdn(Long.valueOf(userInfo.getPhone()));
+//            checkoutRequest.setCustomerEmail(userInfo.getEmail());
+//            checkoutRequest.setAccountNumber(userInfo.getPhone());
+//            checkoutRequest.setCustomerFirstName(userInfo.getFirstName());
+//            checkoutRequest.setCustomerLastName(userInfo.getLastName());
+//            checkoutRequest.setRequestAmount(orderMoney);
+//            checkoutRequest.setMerchantTransactionId(merchantTransactionId);
+//            checkoutRequest.setRequestDescription("Travel completion payment");
+//            checkoutRequest.setCallbackUrl(callbackPath + "/base/wxPayOrderLogisticsSpread");
+//            checkoutRequest.setPendingRedirectUrl("");
+//            checkoutRequest.setSuccessRedirectUrl("https://igo.i-go.group/payMoney/pages/success.html");
+//            checkoutRequest.setFailRedirectUrl("https://igo.i-go.group/payMoney/pages/fail.html");
+//            return TinggPayUtil.checkoutRequest(checkoutRequest);
+
+            AntomPaymentUtil.PaymentVO payment = new AntomPaymentUtil.PaymentVO();
+            payment.setPaymentRequestId(merchantTransactionId);
+            payment.setAmountValue(orderMoney.toString());
+            payment.setCurrency("");
+            payment.setOrderDescription("Travel completion payment");
+            payment.setPaymentNotifyUrl(callbackPath + "/base/wxPayOrderLogisticsSpreadAntom");
+            payment.setPaymentRedirectUrl("https://igo.i-go.group/payMoney/pages/success.html");
+            payment.setReferenceOrderId(orderLogistics.getId() + orderLogistics.getType() + "");
+            ResultUtil<AlipayPayResponse> resultUtil2 = AntomPaymentUtil.pay(payment);
+            if(200 == resultUtil2.getCode()){
+                //创建定时任务查询订单支付状态
+                ScheduledExecutorService scheduledExecutorService = Executors.newScheduledThreadPool(1);
+                scheduledExecutorService.schedule(() -> {
+                    try {
+                        Thread.sleep(5000);
+                        int num = 1;
+                        int wait = 0;
+                        while (num <= 13) {
+                            int min = 5000;
+                            wait += (min * num);
+                            OrderLogistics orderLogistics1 = this.selectById(orderLogistics.getId());
+                            if (orderLogistics1.getState() != 13) {
+                                break;
+                            }
+                            ResultUtil<AlipayPayQueryResponse> resultUtil1 = AntomPaymentUtil.inquiryPayment(merchantTransactionId);
+                            if(200 == resultUtil1.getCode()){
+                                AlipayPayQueryResponse data = resultUtil1.getData();
+                                ResultStatusType resultStatus = data.getResult().getResultStatus();
+                                if(resultStatus.equals(ResultStatusType.S)){
+                                    payOrderLogisticsSpreadCallback(orderLogistics1.getId(), data.getPaymentId(), language);
+                                    break;
+                                }
+                            }
+                            Thread.sleep(wait);
+                            num++;
+                        }
+                    } catch (Exception e) {
+                        e.printStackTrace();
+                    }finally {
+                        scheduledExecutorService.shutdown();
+                    }
+
+                }, 5, TimeUnit.SECONDS);
+            }
+            return resultUtil2;
         }
         if(payType == 2){//银行卡支付
             BankCard bankCard = bankCardService.selectById(bankCardId);
             SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
             String merchantTransactionId = sdf.format(new Date()) + "4" + language + orderId;
-            CheckoutRequest checkoutRequest = new CheckoutRequest();
-            checkoutRequest.setMsisdn(Long.valueOf(bankCard.getCode()));
-            checkoutRequest.setCustomerEmail(userInfo.getEmail());
-            checkoutRequest.setAccountNumber(bankCard.getCode());
-            checkoutRequest.setCustomerFirstName(bankCard.getFirstName());
-            checkoutRequest.setCustomerLastName(bankCard.getLastName());
-            checkoutRequest.setRequestAmount(orderMoney);
-            checkoutRequest.setMerchantTransactionId(merchantTransactionId);
-            checkoutRequest.setRequestDescription("Travel completion payment");
-            checkoutRequest.setCallbackUrl(callbackPath + "/base/wxPayOrderLogisticsSpread");
-            checkoutRequest.setPendingRedirectUrl("");
-            checkoutRequest.setSuccessRedirectUrl("https://igo.i-go.group/payMoney/pages/success.html");
-            checkoutRequest.setFailRedirectUrl("https://igo.i-go.group/payMoney/pages/fail.html");
-            return TinggPayUtil.checkoutRequest(checkoutRequest);
+//            CheckoutRequest checkoutRequest = new CheckoutRequest();
+//            checkoutRequest.setMsisdn(Long.valueOf(bankCard.getCode()));
+//            checkoutRequest.setCustomerEmail(userInfo.getEmail());
+//            checkoutRequest.setAccountNumber(bankCard.getCode());
+//            checkoutRequest.setCustomerFirstName(bankCard.getFirstName());
+//            checkoutRequest.setCustomerLastName(bankCard.getLastName());
+//            checkoutRequest.setRequestAmount(orderMoney);
+//            checkoutRequest.setMerchantTransactionId(merchantTransactionId);
+//            checkoutRequest.setRequestDescription("Travel completion payment");
+//            checkoutRequest.setCallbackUrl(callbackPath + "/base/wxPayOrderLogisticsSpread");
+//            checkoutRequest.setPendingRedirectUrl("");
+//            checkoutRequest.setSuccessRedirectUrl("https://igo.i-go.group/payMoney/pages/success.html");
+//            checkoutRequest.setFailRedirectUrl("https://igo.i-go.group/payMoney/pages/fail.html");
+//            return TinggPayUtil.checkoutRequest(checkoutRequest);
+
+            AntomPaymentUtil.PaymentVO payment = new AntomPaymentUtil.PaymentVO();
+            payment.setPaymentRequestId(merchantTransactionId);
+            payment.setAmountValue(orderMoney.toString());
+            payment.setCurrency("");
+            payment.setOrderDescription("Travel completion payment");
+            payment.setPaymentNotifyUrl(callbackPath + "/base/wxPayOrderLogisticsSpreadAntom");
+            payment.setPaymentRedirectUrl("https://igo.i-go.group/payMoney/pages/success.html");
+            payment.setReferenceOrderId(orderLogistics.getId() + orderLogistics.getType() + "");
+            ResultUtil<AlipayPayResponse> resultUtil2 = AntomPaymentUtil.pay(payment);
+            if(200 == resultUtil2.getCode()){
+                //创建定时任务查询订单支付状态
+                ScheduledExecutorService scheduledExecutorService = Executors.newScheduledThreadPool(1);
+                scheduledExecutorService.schedule(() -> {
+                    try {
+                        Thread.sleep(5000);
+                        int num = 1;
+                        int wait = 0;
+                        while (num <= 13) {
+                            int min = 5000;
+                            wait += (min * num);
+                            OrderLogistics orderLogistics1 = this.selectById(orderLogistics.getId());
+                            if (orderLogistics1.getState() != 13) {
+                                break;
+                            }
+                            ResultUtil<AlipayPayQueryResponse> resultUtil1 = AntomPaymentUtil.inquiryPayment(merchantTransactionId);
+                            if(200 == resultUtil1.getCode()){
+                                AlipayPayQueryResponse data = resultUtil1.getData();
+                                ResultStatusType resultStatus = data.getResult().getResultStatus();
+                                if(resultStatus.equals(ResultStatusType.S)){
+                                    payOrderLogisticsSpreadCallback(orderLogistics1.getId(), data.getPaymentId(), language);
+                                    break;
+                                }
+                            }
+                            Thread.sleep(wait);
+                            num++;
+                        }
+                    } catch (Exception e) {
+                        e.printStackTrace();
+                    }finally {
+                        scheduledExecutorService.shutdown();
+                    }
+
+                }, 5, TimeUnit.SECONDS);
+            }
+            return resultUtil2;
         }
 
         if(payType == 3){//余额支付
@@ -3073,7 +3254,7 @@
             transactionDetailsService.saveData(orderLogistics.getUserId(), "包裹补差价", orderMoney, 2, 1, 1, 4, id);
             userInfoService.updateById(userInfo);
 
-            orderLogistics.setState(12);//已支付差价
+            orderLogistics.setState(orderLogistics.getOldState());//已支付差价
             this.updateById(orderLogistics);
 
             //添加已收入明细
@@ -3326,25 +3507,25 @@
             driverService.updateById(driver);
         }
         
-        if(orderLogistics.getState() == 10 || orderLogistics.getState() == 12){
-            Car car = carService.selectById(orderLogistics.getCarId());
+//        if(orderLogistics.getState() == 10 || orderLogistics.getState() == 12){
+//            Car car = carService.selectById(orderLogistics.getCarId());
             //修改行程信息
-            boolean updateTrip = fleetEngineUtil.updateTrip("CANCELED", (null != car ? car.getVehicleId() : null), null, orderLogistics.getTripId(), null, null, null, null);
-            if(!updateTrip){
-                for (int i = 0; i < 5; i++) {
-                    updateTrip = fleetEngineUtil.updateTrip("CANCELED", (null != car ? car.getVehicleId() : null), null, orderLogistics.getTripId(), null, null, null, null);
-                    if(updateTrip){
-                        orderLogistics.setIsover(1);
-                        this.updateById(orderLogistics);
-                        break;
-                    }
-                    Thread.sleep(3000L);
-                }
-            }else{
-                orderLogistics.setIsover(1);
-                this.updateById(orderLogistics);
-            }
-        }
+//            boolean updateTrip = fleetEngineUtil.updateTrip("CANCELED", (null != car ? car.getVehicleId() : null), null, orderLogistics.getTripId(), null, null, null, null);
+//            if(!updateTrip){
+//                for (int i = 0; i < 5; i++) {
+//                    updateTrip = fleetEngineUtil.updateTrip("CANCELED", (null != car ? car.getVehicleId() : null), null, orderLogistics.getTripId(), null, null, null, null);
+//                    if(updateTrip){
+//                        orderLogistics.setIsover(1);
+//                        this.updateById(orderLogistics);
+//                        break;
+//                    }
+//                    Thread.sleep(3000L);
+//                }
+//            }else{
+//                orderLogistics.setIsover(1);
+//                this.updateById(orderLogistics);
+//            }
+//        }
         //添加消息
         systemNoticeService.addSystemNotice(1, language == 1 ? "您已成功取消包裹订单,谢谢使用!" : language == 2 ? "You've cancelled the delivery order successfully, thank you for using I-GO "
                 : "Vous avez annulé la commande de livraison avec succès, merci d’utiliser I-GO", orderLogistics.getUserId(), 1);
@@ -3630,22 +3811,64 @@
                 orderCancelService.updateById(orderCancel);
                 SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
                 String merchantTransactionId = sdf.format(new Date()) + "4" + language + id;
-                CheckoutRequest checkoutRequest = new CheckoutRequest();
-                checkoutRequest.setMsisdn(Long.valueOf(userInfo.getPhone()));
-                checkoutRequest.setCustomerEmail(userInfo.getEmail());
-                checkoutRequest.setAccountNumber(userInfo.getPhone());
-                checkoutRequest.setCustomerFirstName(userInfo.getFirstName());
-                checkoutRequest.setCustomerLastName(userInfo.getLastName());
-                checkoutRequest.setRequestAmount(amount);
-                checkoutRequest.setMerchantTransactionId(merchantTransactionId);
-                checkoutRequest.setRequestDescription("Cancel a trip");
-                checkoutRequest.setCallbackUrl(callbackPath + "/base/wxCancelOrderTaxi");
-                checkoutRequest.setPendingRedirectUrl("");
-                checkoutRequest.setSuccessRedirectUrl("https://igo.i-go.group/payMoney/pages/success.html");
-                checkoutRequest.setFailRedirectUrl("https://igo.i-go.group/payMoney/pages/fail.html");
-                resultUtil = TinggPayUtil.checkoutRequest(checkoutRequest);
+//                CheckoutRequest checkoutRequest = new CheckoutRequest();
+//                checkoutRequest.setMsisdn(Long.valueOf(userInfo.getPhone()));
+//                checkoutRequest.setCustomerEmail(userInfo.getEmail());
+//                checkoutRequest.setAccountNumber(userInfo.getPhone());
+//                checkoutRequest.setCustomerFirstName(userInfo.getFirstName());
+//                checkoutRequest.setCustomerLastName(userInfo.getLastName());
+//                checkoutRequest.setRequestAmount(amount);
+//                checkoutRequest.setMerchantTransactionId(merchantTransactionId);
+//                checkoutRequest.setRequestDescription("Cancel a trip");
+//                checkoutRequest.setCallbackUrl(callbackPath + "/base/wxCancelOrderTaxi");
+//                checkoutRequest.setPendingRedirectUrl("");
+//                checkoutRequest.setSuccessRedirectUrl("https://igo.i-go.group/payMoney/pages/success.html");
+//                checkoutRequest.setFailRedirectUrl("https://igo.i-go.group/payMoney/pages/fail.html");
+//                resultUtil = TinggPayUtil.checkoutRequest(checkoutRequest);
+
+                AntomPaymentUtil.PaymentVO payment = new AntomPaymentUtil.PaymentVO();
+                payment.setPaymentRequestId(merchantTransactionId);
+                payment.setAmountValue(amount.toString());
+                payment.setCurrency("");
+                payment.setOrderDescription("Cancel a trip");
+                payment.setPaymentNotifyUrl(callbackPath + "/base/wxCancelOrderTaxiAntom");
+                payment.setPaymentRedirectUrl("https://igo.i-go.group/payMoney/pages/success.html");
+                payment.setReferenceOrderId(orderLogistics.getId() + orderLogistics.getType() + "");
+                resultUtil = AntomPaymentUtil.pay(payment);
                 if(resultUtil.getCode()==200){
                     paymentRecordService.saveData(1, null, null, id, 4, 1, amount, null, 1);//添加预支付数据
+                    //创建定时任务查询订单支付状态
+                    ScheduledExecutorService scheduledExecutorService = Executors.newScheduledThreadPool(1);
+                    scheduledExecutorService.schedule(() -> {
+                        try {
+                            int num = 1;
+                            int wait = 0;
+                            while (num <= 13) {
+                                int min = 5000;
+                                wait += (min * num);
+                                OrderLogistics orderLogistics1 = this.selectById(orderLogistics.getId());
+                                if (orderLogistics1.getState() != 12) {
+                                    break;
+                                }
+                                ResultUtil<AlipayPayQueryResponse> resultUtil1 = AntomPaymentUtil.inquiryPayment(merchantTransactionId);
+                                if(200 == resultUtil1.getCode()){
+                                    AlipayPayQueryResponse data = resultUtil1.getData();
+                                    ResultStatusType resultStatus = data.getResult().getResultStatus();
+                                    if(resultStatus.equals(ResultStatusType.S)){
+                                        payCancelOrderPrivateCar(orderLogistics1.getId(), data.getPaymentId(), finalLanguage2);
+                                        break;
+                                    }
+                                }
+                                Thread.sleep(wait);
+                                num++;
+                            }
+                        } catch (Exception e) {
+                            e.printStackTrace();
+                        }finally {
+                            scheduledExecutorService.shutdown();
+                        }
+
+                    }, 5, TimeUnit.SECONDS);
                 }
                 
             }
@@ -3655,22 +3878,64 @@
                 BankCard bankCard = bankCardService.selectById(bankCardId);
                 SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
                 String merchantTransactionId = sdf.format(new Date()) + "4" + id;
-                CheckoutRequest checkoutRequest = new CheckoutRequest();
-                checkoutRequest.setMsisdn(Long.valueOf(bankCard.getCode()));
-                checkoutRequest.setCustomerEmail(userInfo.getEmail());
-                checkoutRequest.setAccountNumber(bankCard.getCode());
-                checkoutRequest.setCustomerFirstName(bankCard.getFirstName());
-                checkoutRequest.setCustomerLastName(bankCard.getLastName());
-                checkoutRequest.setRequestAmount(amount);
-                checkoutRequest.setMerchantTransactionId(merchantTransactionId);
-                checkoutRequest.setRequestDescription("Cancel a trip");
-                checkoutRequest.setCallbackUrl(callbackPath + "/base/wxCancelOrderTaxi");
-                checkoutRequest.setPendingRedirectUrl("");
-                checkoutRequest.setSuccessRedirectUrl("https://igo.i-go.group/payMoney/pages/success.html");
-                checkoutRequest.setFailRedirectUrl("https://igo.i-go.group/payMoney/pages/fail.html");
-                resultUtil = TinggPayUtil.checkoutRequest(checkoutRequest);
+//                CheckoutRequest checkoutRequest = new CheckoutRequest();
+//                checkoutRequest.setMsisdn(Long.valueOf(bankCard.getCode()));
+//                checkoutRequest.setCustomerEmail(userInfo.getEmail());
+//                checkoutRequest.setAccountNumber(bankCard.getCode());
+//                checkoutRequest.setCustomerFirstName(bankCard.getFirstName());
+//                checkoutRequest.setCustomerLastName(bankCard.getLastName());
+//                checkoutRequest.setRequestAmount(amount);
+//                checkoutRequest.setMerchantTransactionId(merchantTransactionId);
+//                checkoutRequest.setRequestDescription("Cancel a trip");
+//                checkoutRequest.setCallbackUrl(callbackPath + "/base/wxCancelOrderTaxi");
+//                checkoutRequest.setPendingRedirectUrl("");
+//                checkoutRequest.setSuccessRedirectUrl("https://igo.i-go.group/payMoney/pages/success.html");
+//                checkoutRequest.setFailRedirectUrl("https://igo.i-go.group/payMoney/pages/fail.html");
+//                resultUtil = TinggPayUtil.checkoutRequest(checkoutRequest);
+
+                AntomPaymentUtil.PaymentVO payment = new AntomPaymentUtil.PaymentVO();
+                payment.setPaymentRequestId(merchantTransactionId);
+                payment.setAmountValue(amount.toString());
+                payment.setCurrency("");
+                payment.setOrderDescription("Cancel a trip");
+                payment.setPaymentNotifyUrl(callbackPath + "/base/wxCancelOrderTaxiAntom");
+                payment.setPaymentRedirectUrl("https://igo.i-go.group/payMoney/pages/success.html");
+                payment.setReferenceOrderId(orderLogistics.getId() + orderLogistics.getType() + "");
+                resultUtil = AntomPaymentUtil.pay(payment);
                 if(resultUtil.getCode()==200){
                     paymentRecordService.saveData(1, null, null, id, 4, 2, amount, null, 1);//添加预支付数据
+                    //创建定时任务查询订单支付状态
+                    ScheduledExecutorService scheduledExecutorService = Executors.newScheduledThreadPool(1);
+                    scheduledExecutorService.schedule(() -> {
+                        try {
+                            int num = 1;
+                            int wait = 0;
+                            while (num <= 13) {
+                                int min = 5000;
+                                wait += (min * num);
+                                OrderLogistics orderLogistics1 = this.selectById(orderLogistics.getId());
+                                if (orderLogistics1.getState() != 12) {
+                                    break;
+                                }
+                                ResultUtil<AlipayPayQueryResponse> resultUtil1 = AntomPaymentUtil.inquiryPayment(merchantTransactionId);
+                                if(200 == resultUtil1.getCode()){
+                                    AlipayPayQueryResponse data = resultUtil1.getData();
+                                    ResultStatusType resultStatus = data.getResult().getResultStatus();
+                                    if(resultStatus.equals(ResultStatusType.S)){
+                                        payCancelOrderPrivateCar(orderLogistics1.getId(), data.getPaymentId(), finalLanguage2);
+                                        break;
+                                    }
+                                }
+                                Thread.sleep(wait);
+                                num++;
+                            }
+                        } catch (Exception e) {
+                            e.printStackTrace();
+                        }finally {
+                            scheduledExecutorService.shutdown();
+                        }
+
+                    }, 5, TimeUnit.SECONDS);
                 }
                 
             }
diff --git a/UserGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java b/UserGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java
index d472e8f..2818994 100644
--- a/UserGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java
+++ b/UserGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java
@@ -4,6 +4,8 @@
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
+import com.alipay.global.api.model.ResultStatusType;
+import com.alipay.global.api.response.ams.pay.AlipayPayQueryResponse;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
 import com.stylefeng.guns.core.util.ToolUtil;
@@ -60,7 +62,7 @@
 import java.math.RoundingMode;
 import java.text.SimpleDateFormat;
 import java.util.*;
-import java.util.concurrent.TimeUnit;
+import java.util.concurrent.*;
 import java.util.stream.Collectors;
 
 
@@ -384,73 +386,73 @@
         
     
         //google创建车辆信息
-        String vehicleId = null;
-        if(null != orderPrivateCar.getDriverId()) {
-            Driver driver = driverService.selectById(orderPrivateCar.getDriverId());
-            Car car = carMapper.selectById(driver.getCarId());
-            if (!StringUtils.hasLength(car.getVehicleId())) {
-                car.setVehicleId(UUIDUtil.getRandomCode());
-                carMapper.updateById(car);
-            }
-            vehicleId = car.getVehicleId();
-            //查询车辆信息,没有则创建信息
-            String vehicles = fleetEngineUtil.getVehicles(car.getVehicleId());
-            if (ToolUtil.isEmpty(vehicles)) {
-                CarModel carModel = carModelMapper.selectById(car.getCarModelId());
-                boolean createVehicles = fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
-                if (!createVehicles) {
-                    for (int i = 0; i < 5; i++) {
-                        createVehicles = fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
-                        if (createVehicles) {
-                            break;
-                        }
-                        Thread.sleep(5000L);
-                    }
-                }
-                boolean updateVehicles = fleetEngineUtil.updateVehicles("ONLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
-                if (!updateVehicles) {
-                    for (int i = 0; i < 5; i++) {
-                        updateVehicles = fleetEngineUtil.updateVehicles("ONLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
-                        if (updateVehicles) {
-                            break;
-                        }
-                        Thread.sleep(5000L);
-                    }
-                }
-            }
-        }
-        //创建行程数据
-        String trip = fleetEngineUtil.getTrip(orderPrivateCar.getTripId());
-        int count = orderLogisticsService.selectCount(new EntityWrapper<OrderLogistics>().eq("tripId", orderPrivateCar.getTripId()));
-        int count1 = this.selectCount(new EntityWrapper<OrderPrivateCar>().eq("tripId", orderPrivateCar.getTripId()));
-        if(ToolUtil.isNotEmpty(trip) || (count + count1) > 0){
-            String randomCode = UUIDUtil.getRandomCode();
-            redisUtil.setStrValue("trip" + orderPrivateCar.getUserId(), randomCode);
-            OrderPrivateCar orderPrivateCar1 = new OrderPrivateCar();
-            orderPrivateCar1.setId(orderPrivateCar.getId());
-            orderPrivateCar1.setTripId(randomCode);
-            this.updateById(orderPrivateCar1);
-            orderPrivateCar.setTripId(randomCode);
-        }
-        JSONObject createTrip = fleetEngineUtil.createTrip(vehicleId, 1, orderPrivateCar.getTripId(),
-                orderPrivateCar.getStartLat().toString(), orderPrivateCar.getStartLon().toString(), orderPrivateCar.getEndLat().toString(), orderPrivateCar.getEndLon().toString());
-        JSONObject error = createTrip.getJSONObject("error");
-        if(null != error){
-            for (int i = 0; i < 5; i++) {
-                createTrip = fleetEngineUtil.createTrip(vehicleId, 1, orderPrivateCar.getTripId(),
-                        orderPrivateCar.getStartLat().toString(), orderPrivateCar.getStartLon().toString(), orderPrivateCar.getEndLat().toString(), orderPrivateCar.getEndLon().toString());
-                error = createTrip.getJSONObject("error");
-                String tripStatus = createTrip.getString("tripStatus");
-                if(null == error && "NEW".equals(tripStatus)){
-                    break;
-                }
-                try {
-                    Thread.sleep(3000L);
-                } catch (InterruptedException e) {
-                    throw new RuntimeException(e);
-                }
-            }
-        }
+//        String vehicleId = null;
+//        if(null != orderPrivateCar.getDriverId()) {
+//            Driver driver = driverService.selectById(orderPrivateCar.getDriverId());
+//            Car car = carMapper.selectById(driver.getCarId());
+//            if (!StringUtils.hasLength(car.getVehicleId())) {
+//                car.setVehicleId(UUIDUtil.getRandomCode());
+//                carMapper.updateById(car);
+//            }
+//            vehicleId = car.getVehicleId();
+//            //查询车辆信息,没有则创建信息
+//            String vehicles = fleetEngineUtil.getVehicles(car.getVehicleId());
+//            if (ToolUtil.isEmpty(vehicles)) {
+//                CarModel carModel = carModelMapper.selectById(car.getCarModelId());
+//                boolean createVehicles = fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+//                if (!createVehicles) {
+//                    for (int i = 0; i < 5; i++) {
+//                        createVehicles = fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+//                        if (createVehicles) {
+//                            break;
+//                        }
+//                        Thread.sleep(5000L);
+//                    }
+//                }
+//                boolean updateVehicles = fleetEngineUtil.updateVehicles("ONLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+//                if (!updateVehicles) {
+//                    for (int i = 0; i < 5; i++) {
+//                        updateVehicles = fleetEngineUtil.updateVehicles("ONLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+//                        if (updateVehicles) {
+//                            break;
+//                        }
+//                        Thread.sleep(5000L);
+//                    }
+//                }
+//            }
+//        }
+//        //创建行程数据
+//        String trip = fleetEngineUtil.getTrip(orderPrivateCar.getTripId());
+//        int count = orderLogisticsService.selectCount(new EntityWrapper<OrderLogistics>().eq("tripId", orderPrivateCar.getTripId()));
+//        int count1 = this.selectCount(new EntityWrapper<OrderPrivateCar>().eq("tripId", orderPrivateCar.getTripId()));
+//        if(ToolUtil.isNotEmpty(trip) || (count + count1) > 0){
+//            String randomCode = UUIDUtil.getRandomCode();
+//            redisUtil.setStrValue("trip" + orderPrivateCar.getUserId(), randomCode);
+//            OrderPrivateCar orderPrivateCar1 = new OrderPrivateCar();
+//            orderPrivateCar1.setId(orderPrivateCar.getId());
+//            orderPrivateCar1.setTripId(randomCode);
+//            this.updateById(orderPrivateCar1);
+//            orderPrivateCar.setTripId(randomCode);
+//        }
+//        JSONObject createTrip = fleetEngineUtil.createTrip(vehicleId, 1, orderPrivateCar.getTripId(),
+//                orderPrivateCar.getStartLat().toString(), orderPrivateCar.getStartLon().toString(), orderPrivateCar.getEndLat().toString(), orderPrivateCar.getEndLon().toString());
+//        JSONObject error = createTrip.getJSONObject("error");
+//        if(null != error){
+//            for (int i = 0; i < 5; i++) {
+//                createTrip = fleetEngineUtil.createTrip(vehicleId, 1, orderPrivateCar.getTripId(),
+//                        orderPrivateCar.getStartLat().toString(), orderPrivateCar.getStartLon().toString(), orderPrivateCar.getEndLat().toString(), orderPrivateCar.getEndLon().toString());
+//                error = createTrip.getJSONObject("error");
+//                String tripStatus = createTrip.getString("tripStatus");
+//                if(null == error && "NEW".equals(tripStatus)){
+//                    break;
+//                }
+//                try {
+//                    Thread.sleep(3000L);
+//                } catch (InterruptedException e) {
+//                    throw new RuntimeException(e);
+//                }
+//            }
+//        }
         
 
         if(orderSource == 2){//扫码下单
@@ -929,24 +931,24 @@
         }
         
         //修改行程信息
-        if(orderPrivateCar.getState() == 10 || orderPrivateCar.getState() == 12){
-            Car car = carService.selectById(orderPrivateCar.getCarId());
-            boolean updateTrip = fleetEngineUtil.updateTrip("CANCELED", (null != car ? car.getVehicleId() : null), null, orderPrivateCar.getTripId(), null, null, null, null);
-            if(!updateTrip){
-                for (int i = 0; i < 5; i++) {
-                    updateTrip = fleetEngineUtil.updateTrip("CANCELED", (null != car ? car.getVehicleId() : null), null, orderPrivateCar.getTripId(), null, null, null, null);
-                    if(updateTrip){
-                        orderPrivateCar.setIsover(1);
-                        this.updateById(orderPrivateCar);
-                        break;
-                    }
-                    Thread.sleep(3000L);
-                }
-            }else{
-                orderPrivateCar.setIsover(1);
-                this.updateById(orderPrivateCar);
-            }
-        }
+//        if(orderPrivateCar.getState() == 10 || orderPrivateCar.getState() == 12){
+//            Car car = carService.selectById(orderPrivateCar.getCarId());
+//            boolean updateTrip = fleetEngineUtil.updateTrip("CANCELED", (null != car ? car.getVehicleId() : null), null, orderPrivateCar.getTripId(), null, null, null, null);
+//            if(!updateTrip){
+//                for (int i = 0; i < 5; i++) {
+//                    updateTrip = fleetEngineUtil.updateTrip("CANCELED", (null != car ? car.getVehicleId() : null), null, orderPrivateCar.getTripId(), null, null, null, null);
+//                    if(updateTrip){
+//                        orderPrivateCar.setIsover(1);
+//                        this.updateById(orderPrivateCar);
+//                        break;
+//                    }
+//                    Thread.sleep(3000L);
+//                }
+//            }else{
+//                orderPrivateCar.setIsover(1);
+//                this.updateById(orderPrivateCar);
+//            }
+//        }
         //添加消息
         systemNoticeService.addSystemNotice(1, language == 1 ? "您已成功取消出行订单,谢谢使用!" : language == 2 ? "You've cancelled the ride order successfully, thank you for using I-GO " : "Vous avez annulé la commande de course avec succès, merci d’utiliser I-GO", orderPrivateCar.getUserId(), 1);
         Map<String, Object> map = new HashMap<>();
@@ -991,22 +993,64 @@
                 orderCancelService.updateById(orderCancel);
                 SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
                 String merchantTransactionId = sdf.format(new Date()) + "1" + language + id;
-                CheckoutRequest checkoutRequest = new CheckoutRequest();
-                checkoutRequest.setMsisdn(Long.valueOf(userInfo.getPhone()));
-                checkoutRequest.setCustomerEmail(userInfo.getEmail());
-                checkoutRequest.setAccountNumber(userInfo.getPhone());
-                checkoutRequest.setCustomerFirstName(userInfo.getFirstName());
-                checkoutRequest.setCustomerLastName(userInfo.getLastName());
-                checkoutRequest.setRequestAmount(amount);
-                checkoutRequest.setMerchantTransactionId(merchantTransactionId);
-                checkoutRequest.setRequestDescription("Cancel a trip");
-                checkoutRequest.setCallbackUrl(callbackPath + "/base/wxCancelOrderTaxi");
-                checkoutRequest.setPendingRedirectUrl("");
-                checkoutRequest.setSuccessRedirectUrl("https://igo.i-go.group/payMoney/pages/success.html");
-                checkoutRequest.setFailRedirectUrl("https://igo.i-go.group/payMoney/pages/fail.html");
-                resultUtil = TinggPayUtil.checkoutRequest(checkoutRequest);
+//                CheckoutRequest checkoutRequest = new CheckoutRequest();
+//                checkoutRequest.setMsisdn(Long.valueOf(userInfo.getPhone()));
+//                checkoutRequest.setCustomerEmail(userInfo.getEmail());
+//                checkoutRequest.setAccountNumber(userInfo.getPhone());
+//                checkoutRequest.setCustomerFirstName(userInfo.getFirstName());
+//                checkoutRequest.setCustomerLastName(userInfo.getLastName());
+//                checkoutRequest.setRequestAmount(amount);
+//                checkoutRequest.setMerchantTransactionId(merchantTransactionId);
+//                checkoutRequest.setRequestDescription("Cancel a trip");
+//                checkoutRequest.setCallbackUrl(callbackPath + "/base/wxCancelOrderTaxi");
+//                checkoutRequest.setPendingRedirectUrl("");
+//                checkoutRequest.setSuccessRedirectUrl("https://igo.i-go.group/payMoney/pages/success.html");
+//                checkoutRequest.setFailRedirectUrl("https://igo.i-go.group/payMoney/pages/fail.html");
+//                resultUtil = TinggPayUtil.checkoutRequest(checkoutRequest);
+
+                AntomPaymentUtil.PaymentVO payment = new AntomPaymentUtil.PaymentVO();
+                payment.setPaymentRequestId(merchantTransactionId);
+                payment.setAmountValue(amount.toString());
+                payment.setCurrency("");
+                payment.setOrderDescription("Cancel a trip");
+                payment.setPaymentNotifyUrl(callbackPath + "/base/wxCancelOrderTaxiAntom");
+                payment.setPaymentRedirectUrl("https://igo.i-go.group/payMoney/pages/success.html");
+                payment.setReferenceOrderId(orderPrivateCar.getId() + "1");
+                resultUtil = AntomPaymentUtil.pay(payment);
                 if(resultUtil.getCode()==200){
                     paymentRecordService.saveData(1, null, null, id, 1, 1, amount, null, 1);//添加预支付数据
+                    //创建定时任务查询订单支付状态
+                    ScheduledExecutorService scheduledExecutorService = Executors.newScheduledThreadPool(1);
+                    scheduledExecutorService.schedule(() -> {
+                        try {
+                            int num = 1;
+                            int wait = 0;
+                            while (num <= 13) {
+                                int min = 5000;
+                                wait += (min * num);
+                                OrderPrivateCar orderPrivateCar1 = this.selectById(orderPrivateCar.getId());
+                                if (orderPrivateCar1.getState() != 12) {
+                                    break;
+                                }
+                                ResultUtil<AlipayPayQueryResponse> resultUtil1 = AntomPaymentUtil.inquiryPayment(merchantTransactionId);
+                                if(200 == resultUtil1.getCode()){
+                                    AlipayPayQueryResponse data = resultUtil1.getData();
+                                    ResultStatusType resultStatus = data.getResult().getResultStatus();
+                                    if(resultStatus.equals(ResultStatusType.S)){
+                                        payCancelOrderPrivateCar(orderPrivateCar1.getId(), data.getPaymentId(), language);
+                                        break;
+                                    }
+                                }
+                                Thread.sleep(wait);
+                                num++;
+                            }
+                        } catch (Exception e) {
+                            e.printStackTrace();
+                        }finally {
+                            scheduledExecutorService.shutdown();
+                        }
+
+                    }, 5, TimeUnit.SECONDS);
                 }
 
             }
@@ -1016,22 +1060,64 @@
                 BankCard bankCard = bankCardService.selectById(bankCardId);
                 SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
                 String merchantTransactionId = sdf.format(new Date()) + "1" + id;
-                CheckoutRequest checkoutRequest = new CheckoutRequest();
-                checkoutRequest.setMsisdn(Long.valueOf(bankCard.getCode()));
-                checkoutRequest.setCustomerEmail(userInfo.getEmail());
-                checkoutRequest.setAccountNumber(bankCard.getCode());
-                checkoutRequest.setCustomerFirstName(bankCard.getFirstName());
-                checkoutRequest.setCustomerLastName(bankCard.getLastName());
-                checkoutRequest.setRequestAmount(amount);
-                checkoutRequest.setMerchantTransactionId(merchantTransactionId);
-                checkoutRequest.setRequestDescription("Cancel a trip");
-                checkoutRequest.setCallbackUrl(callbackPath + "/base/wxCancelOrderTaxi");
-                checkoutRequest.setPendingRedirectUrl("");
-                checkoutRequest.setSuccessRedirectUrl("https://igo.i-go.group/payMoney/pages/success.html");
-                checkoutRequest.setFailRedirectUrl("https://igo.i-go.group/payMoney/pages/fail.html");
-                resultUtil = TinggPayUtil.checkoutRequest(checkoutRequest);
+//                CheckoutRequest checkoutRequest = new CheckoutRequest();
+//                checkoutRequest.setMsisdn(Long.valueOf(bankCard.getCode()));
+//                checkoutRequest.setCustomerEmail(userInfo.getEmail());
+//                checkoutRequest.setAccountNumber(bankCard.getCode());
+//                checkoutRequest.setCustomerFirstName(bankCard.getFirstName());
+//                checkoutRequest.setCustomerLastName(bankCard.getLastName());
+//                checkoutRequest.setRequestAmount(amount);
+//                checkoutRequest.setMerchantTransactionId(merchantTransactionId);
+//                checkoutRequest.setRequestDescription("Cancel a trip");
+//                checkoutRequest.setCallbackUrl(callbackPath + "/base/wxCancelOrderTaxi");
+//                checkoutRequest.setPendingRedirectUrl("");
+//                checkoutRequest.setSuccessRedirectUrl("https://igo.i-go.group/payMoney/pages/success.html");
+//                checkoutRequest.setFailRedirectUrl("https://igo.i-go.group/payMoney/pages/fail.html");
+//                resultUtil = TinggPayUtil.checkoutRequest(checkoutRequest);
+
+                AntomPaymentUtil.PaymentVO payment = new AntomPaymentUtil.PaymentVO();
+                payment.setPaymentRequestId(merchantTransactionId);
+                payment.setAmountValue(amount.toString());
+                payment.setCurrency("");
+                payment.setOrderDescription("Cancel a trip");
+                payment.setPaymentNotifyUrl(callbackPath + "/base/wxCancelOrderTaxiAntom");
+                payment.setPaymentRedirectUrl("https://igo.i-go.group/payMoney/pages/success.html");
+                payment.setReferenceOrderId(orderPrivateCar.getId() + "1");
+                resultUtil = AntomPaymentUtil.pay(payment);
                 if(resultUtil.getCode()==200){
                     paymentRecordService.saveData(1, null, null, id, 1, 2, amount, null, 1);//添加预支付数据
+                    //创建定时任务查询订单支付状态
+                    ScheduledExecutorService scheduledExecutorService = Executors.newScheduledThreadPool(1);
+                    scheduledExecutorService.schedule(() -> {
+                        try {
+                            int num = 1;
+                            int wait = 0;
+                            while (num <= 13) {
+                                int min = 5000;
+                                wait += (min * num);
+                                OrderPrivateCar orderPrivateCar1 = this.selectById(orderPrivateCar.getId());
+                                if (orderPrivateCar1.getState() != 12) {
+                                    break;
+                                }
+                                ResultUtil<AlipayPayQueryResponse> resultUtil1 = AntomPaymentUtil.inquiryPayment(merchantTransactionId);
+                                if(200 == resultUtil1.getCode()){
+                                    AlipayPayQueryResponse data = resultUtil1.getData();
+                                    ResultStatusType resultStatus = data.getResult().getResultStatus();
+                                    if(resultStatus.equals(ResultStatusType.S)){
+                                        payCancelOrderPrivateCar(orderPrivateCar1.getId(), data.getPaymentId(), language);
+                                        break;
+                                    }
+                                }
+                                Thread.sleep(wait);
+                                num++;
+                            }
+                        } catch (Exception e) {
+                            e.printStackTrace();
+                        }finally {
+                            scheduledExecutorService.shutdown();
+                        }
+
+                    }, 5, TimeUnit.SECONDS);
                 }
 
             }
@@ -1416,24 +1502,65 @@
         if(payType == 1){//手机支付
             SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
             String merchantTransactionId = sdf.format(new Date()) + "1" + language + orderId;
-            CheckoutRequest checkoutRequest = new CheckoutRequest();
-            checkoutRequest.setMsisdn(Long.valueOf(userInfo.getPhone()));
-            checkoutRequest.setCustomerEmail(userInfo.getEmail());
-            checkoutRequest.setAccountNumber(userInfo.getPhone());
-            checkoutRequest.setCustomerFirstName(userInfo.getFirstName());
-            checkoutRequest.setCustomerLastName(userInfo.getLastName());
-            checkoutRequest.setRequestAmount(orderMoney.setScale(2, RoundingMode.HALF_EVEN).doubleValue());
-            checkoutRequest.setMerchantTransactionId(merchantTransactionId);
-            checkoutRequest.setRequestDescription("Travel completion payment");
-            checkoutRequest.setCallbackUrl(callbackPath + "/base/wxPayOrderTaxi");
-            checkoutRequest.setPendingRedirectUrl("");
-            checkoutRequest.setSuccessRedirectUrl("https://igo.i-go.group/payMoney/pages/success.html");
-            checkoutRequest.setFailRedirectUrl("https://igo.i-go.group/payMoney/pages/fail.html");
-            resultUtil = TinggPayUtil.checkoutRequest(checkoutRequest);
-        
+//            CheckoutRequest checkoutRequest = new CheckoutRequest();
+//            checkoutRequest.setMsisdn(Long.valueOf(userInfo.getPhone()));
+//            checkoutRequest.setCustomerEmail(userInfo.getEmail());
+//            checkoutRequest.setAccountNumber(userInfo.getPhone());
+//            checkoutRequest.setCustomerFirstName(userInfo.getFirstName());
+//            checkoutRequest.setCustomerLastName(userInfo.getLastName());
+//            checkoutRequest.setRequestAmount(orderMoney.setScale(2, RoundingMode.HALF_EVEN).doubleValue());
+//            checkoutRequest.setMerchantTransactionId(merchantTransactionId);
+//            checkoutRequest.setRequestDescription("Travel completion payment");
+//            checkoutRequest.setCallbackUrl(callbackPath + "/base/wxPayOrderTaxi");
+//            checkoutRequest.setPendingRedirectUrl("");
+//            checkoutRequest.setSuccessRedirectUrl("https://igo.i-go.group/payMoney/pages/success.html");
+//            checkoutRequest.setFailRedirectUrl("https://igo.i-go.group/payMoney/pages/fail.html");
+//            resultUtil = TinggPayUtil.checkoutRequest(checkoutRequest);
+
+            AntomPaymentUtil.PaymentVO payment = new AntomPaymentUtil.PaymentVO();
+            payment.setPaymentRequestId(merchantTransactionId);
+            payment.setAmountValue(orderMoney.setScale(2, RoundingMode.HALF_EVEN).toString());
+            payment.setCurrency("");
+            payment.setOrderDescription("Travel completion payment");
+            payment.setPaymentNotifyUrl(callbackPath + "/base/wxPayOrderTaxiAntom");
+            payment.setPaymentRedirectUrl("https://igo.i-go.group/payMoney/pages/success.html");
+            payment.setReferenceOrderId(orderPrivateCar.getId() + "1");
+            resultUtil = AntomPaymentUtil.pay(payment);
             if(resultUtil.getCode()==200){
                 paymentRecordService.saveData(1, null, null, orderId, 1, 1,
                         orderMoney.setScale(2, RoundingMode.HALF_EVEN).doubleValue(), null, 1);//添加预支付数据
+                //创建定时任务查询订单支付状态
+                ScheduledExecutorService scheduledExecutorService = Executors.newScheduledThreadPool(1);
+                scheduledExecutorService.schedule(() -> {
+                    try {
+                        int num = 1;
+                        int wait = 0;
+                        while (num <= 13) {
+                            int min = 5000;
+                            wait += (min * num);
+                            OrderPrivateCar orderPrivateCar1 = this.selectById(orderPrivateCar.getId());
+                            if (orderPrivateCar1.getState() != 7) {
+                                break;
+                            }
+                            ResultUtil<AlipayPayQueryResponse> resultUtil1 = AntomPaymentUtil.inquiryPayment(merchantTransactionId);
+                            if(200 == resultUtil1.getCode()){
+                                AlipayPayQueryResponse data = resultUtil1.getData();
+                                ResultStatusType resultStatus = data.getResult().getResultStatus();
+                                if(resultStatus.equals(ResultStatusType.S)){
+                                    payOrderPrivateCarCallback(orderPrivateCar1.getId(), data.getPaymentId(), language);
+                                    break;
+                                }
+                            }
+                            Thread.sleep(wait);
+                            num++;
+                        }
+                    } catch (Exception e) {
+                        e.printStackTrace();
+                    }finally {
+                        scheduledExecutorService.shutdown();
+                    }
+
+                }, 5, TimeUnit.SECONDS);
             }else{
                 resultUtil = ResultUtil.error(language == 1 ? "支付失败" : language == 2 ? "Payment failure" : "Paiement échoué", "");
             }
@@ -1443,24 +1570,65 @@
             BankCard bankCard = bankCardService.selectById(bankCardId);
             SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
             String merchantTransactionId = sdf.format(new Date()) + "1" + language + orderId;
-            CheckoutRequest checkoutRequest = new CheckoutRequest();
-            checkoutRequest.setMsisdn(Long.valueOf(bankCard.getCode()));
-            checkoutRequest.setCustomerEmail(userInfo.getEmail());
-            checkoutRequest.setAccountNumber(bankCard.getCode());
-            checkoutRequest.setCustomerFirstName(bankCard.getFirstName());
-            checkoutRequest.setCustomerLastName(bankCard.getLastName());
-            checkoutRequest.setRequestAmount(orderMoney.setScale(2, RoundingMode.HALF_EVEN).doubleValue());
-            checkoutRequest.setMerchantTransactionId(merchantTransactionId);
-            checkoutRequest.setRequestDescription("Travel completion payment");
-            checkoutRequest.setCallbackUrl(callbackPath + "/base/wxPayOrderTaxi");
-            checkoutRequest.setPendingRedirectUrl("");
-            checkoutRequest.setSuccessRedirectUrl("https://igo.i-go.group/payMoney/pages/success.html");
-            checkoutRequest.setFailRedirectUrl("https://igo.i-go.group/payMoney/pages/fail.html");
-            resultUtil = TinggPayUtil.checkoutRequest(checkoutRequest);
-        
+//            CheckoutRequest checkoutRequest = new CheckoutRequest();
+//            checkoutRequest.setMsisdn(Long.valueOf(bankCard.getCode()));
+//            checkoutRequest.setCustomerEmail(userInfo.getEmail());
+//            checkoutRequest.setAccountNumber(bankCard.getCode());
+//            checkoutRequest.setCustomerFirstName(bankCard.getFirstName());
+//            checkoutRequest.setCustomerLastName(bankCard.getLastName());
+//            checkoutRequest.setRequestAmount(orderMoney.setScale(2, RoundingMode.HALF_EVEN).doubleValue());
+//            checkoutRequest.setMerchantTransactionId(merchantTransactionId);
+//            checkoutRequest.setRequestDescription("Travel completion payment");
+//            checkoutRequest.setCallbackUrl(callbackPath + "/base/wxPayOrderTaxi");
+//            checkoutRequest.setPendingRedirectUrl("");
+//            checkoutRequest.setSuccessRedirectUrl("https://igo.i-go.group/payMoney/pages/success.html");
+//            checkoutRequest.setFailRedirectUrl("https://igo.i-go.group/payMoney/pages/fail.html");
+//            resultUtil = TinggPayUtil.checkoutRequest(checkoutRequest);
+
+            AntomPaymentUtil.PaymentVO payment = new AntomPaymentUtil.PaymentVO();
+            payment.setPaymentRequestId(merchantTransactionId);
+            payment.setAmountValue(orderMoney.setScale(2, RoundingMode.HALF_EVEN).toString());
+            payment.setCurrency("");
+            payment.setOrderDescription("Travel completion payment");
+            payment.setPaymentNotifyUrl(callbackPath + "/base/wxPayOrderTaxiAntom");
+            payment.setPaymentRedirectUrl("https://igo.i-go.group/payMoney/pages/success.html");
+            payment.setReferenceOrderId(orderPrivateCar.getId() + "1");
+            resultUtil = AntomPaymentUtil.pay(payment);
             if(resultUtil.getCode()==200){
                 paymentRecordService.saveData(1, null, null, orderId, 1, 2,
                         orderMoney.setScale(2, RoundingMode.HALF_EVEN).doubleValue(), null, 1);//添加预支付数据
+                //创建定时任务查询订单支付状态
+                ScheduledExecutorService scheduledExecutorService = Executors.newScheduledThreadPool(1);
+                scheduledExecutorService.schedule(() -> {
+                    try {
+                        int num = 1;
+                        int wait = 0;
+                        while (num <= 13) {
+                            int min = 5000;
+                            wait += (min * num);
+                            OrderPrivateCar orderPrivateCar1 = this.selectById(orderPrivateCar.getId());
+                            if (orderPrivateCar1.getState() != 7) {
+                                break;
+                            }
+                            ResultUtil<AlipayPayQueryResponse> resultUtil1 = AntomPaymentUtil.inquiryPayment(merchantTransactionId);
+                            if(200 == resultUtil1.getCode()){
+                                AlipayPayQueryResponse data = resultUtil1.getData();
+                                ResultStatusType resultStatus = data.getResult().getResultStatus();
+                                if(resultStatus.equals(ResultStatusType.S)){
+                                    payOrderPrivateCarCallback(orderPrivateCar1.getId(), data.getPaymentId(), language);
+                                    break;
+                                }
+                            }
+                            Thread.sleep(wait);
+                            num++;
+                        }
+                    } catch (Exception e) {
+                        e.printStackTrace();
+                    }finally {
+                        scheduledExecutorService.shutdown();
+                    }
+
+                }, 5, TimeUnit.SECONDS);
             }else{
                 resultUtil = ResultUtil.error(language == 1 ? "支付失败" : language == 2 ? "Payment failure" : "Paiement échoué", "");
             }
@@ -2058,47 +2226,47 @@
                                 }
                             
                                 //司机下班,修改谷歌上的车辆信息
-                                new Thread(()->{
-                                    try {
-                                        CarModel carModel = carModelMapper.selectById(car.getCarModelId());
-                                        String vehicles = fleetEngineUtil.getVehicles(car.getVehicleId());
-                                        if(ToolUtil.isEmpty(vehicles)){
-                                            boolean createVehicles = fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
-                                            if(!createVehicles){
-                                                for (int i = 0; i < 5; i++) {
-                                                    createVehicles = fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
-                                                    if(createVehicles){
-                                                        break;
-                                                    }
-                                                    Thread.sleep(5000L);
-                                                }
-                                            }
-                                            boolean updateVehicles = fleetEngineUtil.updateVehicles("OFFLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
-                                            if(!updateVehicles){
-                                                for (int i = 0; i < 5; i++) {
-                                                    updateVehicles = fleetEngineUtil.updateVehicles("OFFLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
-                                                    if(updateVehicles){
-                                                        break;
-                                                    }
-                                                    Thread.sleep(5000L);
-                                                }
-                                            }
-                                        }else{
-                                            boolean updateVehicles = fleetEngineUtil.updateVehicles("OFFLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
-                                            if(!updateVehicles){
-                                                for (int i = 0; i < 5; i++) {
-                                                    updateVehicles = fleetEngineUtil.updateVehicles("OFFLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
-                                                    if(updateVehicles){
-                                                        break;
-                                                    }
-                                                    Thread.sleep(5000L);
-                                                }
-                                            }
-                                        }
-                                    }catch (Exception e){
-                                        e.printStackTrace();
-                                    }
-                                }).start();
+//                                new Thread(()->{
+//                                    try {
+//                                        CarModel carModel = carModelMapper.selectById(car.getCarModelId());
+//                                        String vehicles = fleetEngineUtil.getVehicles(car.getVehicleId());
+//                                        if(ToolUtil.isEmpty(vehicles)){
+//                                            boolean createVehicles = fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+//                                            if(!createVehicles){
+//                                                for (int i = 0; i < 5; i++) {
+//                                                    createVehicles = fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+//                                                    if(createVehicles){
+//                                                        break;
+//                                                    }
+//                                                    Thread.sleep(5000L);
+//                                                }
+//                                            }
+//                                            boolean updateVehicles = fleetEngineUtil.updateVehicles("OFFLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+//                                            if(!updateVehicles){
+//                                                for (int i = 0; i < 5; i++) {
+//                                                    updateVehicles = fleetEngineUtil.updateVehicles("OFFLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+//                                                    if(updateVehicles){
+//                                                        break;
+//                                                    }
+//                                                    Thread.sleep(5000L);
+//                                                }
+//                                            }
+//                                        }else{
+//                                            boolean updateVehicles = fleetEngineUtil.updateVehicles("OFFLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+//                                            if(!updateVehicles){
+//                                                for (int i = 0; i < 5; i++) {
+//                                                    updateVehicles = fleetEngineUtil.updateVehicles("OFFLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+//                                                    if(updateVehicles){
+//                                                        break;
+//                                                    }
+//                                                    Thread.sleep(5000L);
+//                                                }
+//                                            }
+//                                        }
+//                                    }catch (Exception e){
+//                                        e.printStackTrace();
+//                                    }
+//                                }).start();
                             }
                         }
                     }
diff --git a/UserGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java b/UserGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java
index 211bd79..1e19b7a 100644
--- a/UserGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java
+++ b/UserGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java
@@ -2,6 +2,9 @@
 
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
+import com.alipay.global.api.model.ResultStatusType;
+import com.alipay.global.api.response.ams.pay.AlipayPayQueryResponse;
+import com.alipay.global.api.response.ams.pay.AlipayPayResponse;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
 import com.stylefeng.guns.core.common.constant.JwtConstants;
@@ -9,6 +12,7 @@
 import com.stylefeng.guns.core.shiro.ShiroUser;
 import com.stylefeng.guns.core.util.JwtTokenUtil;
 import com.stylefeng.guns.core.util.ToolUtil;
+import com.stylefeng.guns.modular.specialTrain.model.OrderPrivateCar;
 import com.stylefeng.guns.modular.system.dao.*;
 import com.stylefeng.guns.modular.system.model.*;
 import com.stylefeng.guns.modular.system.service.*;
@@ -33,6 +37,7 @@
 import org.jsoup.nodes.Element;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
+import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
 import org.springframework.stereotype.Service;
 import org.springframework.web.bind.annotation.RequestBody;
 
@@ -40,8 +45,10 @@
 import javax.servlet.http.HttpServletRequest;
 import java.io.*;
 import java.math.BigDecimal;
+import java.math.RoundingMode;
 import java.text.SimpleDateFormat;
 import java.util.*;
+import java.util.concurrent.*;
 
 
 @Service
@@ -1789,20 +1796,61 @@
 
             SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
             String merchantTransactionId = sdf.format(new Date()) + language + integer;
-            CheckoutRequest checkoutRequest = new CheckoutRequest();
-            checkoutRequest.setMsisdn(Long.valueOf(userInfo.getPhone()));
-            checkoutRequest.setCustomerEmail(userInfo.getEmail());
-            checkoutRequest.setAccountNumber(userInfo.getPhone());
-            checkoutRequest.setCustomerFirstName(userInfo.getFirstName());
-            checkoutRequest.setCustomerLastName(userInfo.getLastName());
-            checkoutRequest.setRequestAmount(money);
-            checkoutRequest.setMerchantTransactionId(merchantTransactionId);
-            checkoutRequest.setRequestDescription("Account top-up");
-            checkoutRequest.setCallbackUrl(callbackPath + "/base/wxCancelUserBalance");
-            checkoutRequest.setPendingRedirectUrl("");
-            checkoutRequest.setSuccessRedirectUrl("https://igo.i-go.group/payMoney/pages/success.html");
-            checkoutRequest.setFailRedirectUrl("https://igo.i-go.group/payMoney/pages/fail.html");
-            return TinggPayUtil.checkoutRequest(checkoutRequest);
+//            CheckoutRequest checkoutRequest = new CheckoutRequest();
+//            checkoutRequest.setMsisdn(Long.valueOf(userInfo.getPhone()));
+//            checkoutRequest.setCustomerEmail(userInfo.getEmail());
+//            checkoutRequest.setAccountNumber(userInfo.getPhone());
+//            checkoutRequest.setCustomerFirstName(userInfo.getFirstName());
+//            checkoutRequest.setCustomerLastName(userInfo.getLastName());
+//            checkoutRequest.setRequestAmount(money);
+//            checkoutRequest.setMerchantTransactionId(merchantTransactionId);
+//            checkoutRequest.setRequestDescription("Account top-up");
+//            checkoutRequest.setCallbackUrl(callbackPath + "/base/wxCancelUserBalance");
+//            checkoutRequest.setPendingRedirectUrl("");
+//            checkoutRequest.setSuccessRedirectUrl("https://igo.i-go.group/payMoney/pages/success.html");
+//            checkoutRequest.setFailRedirectUrl("https://igo.i-go.group/payMoney/pages/fail.html");
+//            return TinggPayUtil.checkoutRequest(checkoutRequest);
+
+
+            AntomPaymentUtil.PaymentVO payment = new AntomPaymentUtil.PaymentVO();
+            payment.setPaymentRequestId(merchantTransactionId);
+            payment.setAmountValue(money.toString());
+            payment.setCurrency("");
+            payment.setOrderDescription("Account top-up");
+            payment.setPaymentNotifyUrl(callbackPath + "/base/wxCancelUserBalanceAntom");
+            payment.setPaymentRedirectUrl("https://igo.i-go.group/payMoney/pages/success.html");
+            payment.setReferenceOrderId("USER" + uid);
+            ResultUtil<AlipayPayResponse> resultUtil = AntomPaymentUtil.pay(payment);
+            if(200 == resultUtil.getCode()){
+                //创建定时任务查询订单支付状态
+                ScheduledExecutorService scheduledExecutorService = Executors.newScheduledThreadPool(1);
+                scheduledExecutorService.schedule(() -> {
+                    try {
+                        int num = 1;
+                        int wait = 0;
+                        while (num <= 13) {
+                            int min = 5000;
+                            wait += (min * num);
+                            ResultUtil<AlipayPayQueryResponse> resultUtil1 = AntomPaymentUtil.inquiryPayment(merchantTransactionId);
+                            if(200 == resultUtil1.getCode()){
+                                AlipayPayQueryResponse data = resultUtil1.getData();
+                                ResultStatusType resultStatus = data.getResult().getResultStatus();
+                                if(resultStatus.equals(ResultStatusType.S)){
+                                    payCancelUserBalance(null, data.getPaymentId(), integer, language);
+                                    break;
+                                }
+                            }
+                            Thread.sleep(wait);
+                            num++;
+                        }
+                    } catch (Exception e) {
+                        e.printStackTrace();
+                    }finally {
+                        scheduledExecutorService.shutdown();
+                    }
+                }, 5, TimeUnit.SECONDS);
+            }
+            return resultUtil;
         }
 
         if(payType == 2){//银行卡支付
@@ -1810,20 +1858,60 @@
             BankCard bankCard = bankCardService.selectById(bankCardId);
             SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
             String merchantTransactionId = sdf.format(new Date()) + language + integer;
-            CheckoutRequest checkoutRequest = new CheckoutRequest();
-            checkoutRequest.setMsisdn(Long.valueOf(bankCard.getCode()));
-            checkoutRequest.setCustomerEmail(userInfo.getEmail());
-            checkoutRequest.setAccountNumber(bankCard.getCode());
-            checkoutRequest.setCustomerFirstName(bankCard.getFirstName());
-            checkoutRequest.setCustomerLastName(bankCard.getLastName());
-            checkoutRequest.setRequestAmount(money);
-            checkoutRequest.setMerchantTransactionId(merchantTransactionId);
-            checkoutRequest.setRequestDescription("Account top-up");
-            checkoutRequest.setCallbackUrl(callbackPath + "/base/wxCancelUserBalance");
-            checkoutRequest.setPendingRedirectUrl("");
-            checkoutRequest.setSuccessRedirectUrl("https://igo.i-go.group/payMoney/pages/success.html");
-            checkoutRequest.setFailRedirectUrl("https://igo.i-go.group/payMoney/pages/fail.html");
-            return TinggPayUtil.checkoutRequest(checkoutRequest);
+//            CheckoutRequest checkoutRequest = new CheckoutRequest();
+//            checkoutRequest.setMsisdn(Long.valueOf(bankCard.getCode()));
+//            checkoutRequest.setCustomerEmail(userInfo.getEmail());
+//            checkoutRequest.setAccountNumber(bankCard.getCode());
+//            checkoutRequest.setCustomerFirstName(bankCard.getFirstName());
+//            checkoutRequest.setCustomerLastName(bankCard.getLastName());
+//            checkoutRequest.setRequestAmount(money);
+//            checkoutRequest.setMerchantTransactionId(merchantTransactionId);
+//            checkoutRequest.setRequestDescription("Account top-up");
+//            checkoutRequest.setCallbackUrl(callbackPath + "/base/wxCancelUserBalance");
+//            checkoutRequest.setPendingRedirectUrl("");
+//            checkoutRequest.setSuccessRedirectUrl("https://igo.i-go.group/payMoney/pages/success.html");
+//            checkoutRequest.setFailRedirectUrl("https://igo.i-go.group/payMoney/pages/fail.html");
+//            return TinggPayUtil.checkoutRequest(checkoutRequest);
+
+            AntomPaymentUtil.PaymentVO payment = new AntomPaymentUtil.PaymentVO();
+            payment.setPaymentRequestId(merchantTransactionId);
+            payment.setAmountValue(money.toString());
+            payment.setCurrency("");
+            payment.setOrderDescription("Account top-up");
+            payment.setPaymentNotifyUrl(callbackPath + "/base/wxCancelUserBalanceAntom");
+            payment.setPaymentRedirectUrl("https://igo.i-go.group/payMoney/pages/success.html");
+            payment.setReferenceOrderId("USER" + uid);
+            ResultUtil<AlipayPayResponse> resultUtil = AntomPaymentUtil.pay(payment);
+            if(200 == resultUtil.getCode()){
+                //创建定时任务查询订单支付状态
+                ScheduledExecutorService scheduledExecutorService = Executors.newScheduledThreadPool(1);
+                scheduledExecutorService.schedule(() -> {
+                    try {
+                        int num = 1;
+                        int wait = 0;
+                        while (num <= 13) {
+                            int min = 5000;
+                            wait += (min * num);
+                            ResultUtil<AlipayPayQueryResponse> resultUtil1 = AntomPaymentUtil.inquiryPayment(merchantTransactionId);
+                            if(200 == resultUtil1.getCode()){
+                                AlipayPayQueryResponse data = resultUtil1.getData();
+                                ResultStatusType resultStatus = data.getResult().getResultStatus();
+                                if(resultStatus.equals(ResultStatusType.S)){
+                                    payCancelUserBalance(null, data.getPaymentId(), integer, language);
+                                    break;
+                                }
+                            }
+                            Thread.sleep(wait);
+                            num++;
+                        }
+                    } catch (Exception e) {
+                        e.printStackTrace();
+                    }finally {
+                        scheduledExecutorService.shutdown();
+                    }
+                }, 5, TimeUnit.SECONDS);
+            }
+            return resultUtil;
         }
         return ResultUtil.success("");
     }
diff --git a/UserGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/AntomPaymentUtil.java b/UserGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/AntomPaymentUtil.java
new file mode 100644
index 0000000..21f356c
--- /dev/null
+++ b/UserGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/AntomPaymentUtil.java
@@ -0,0 +1,237 @@
+package com.stylefeng.guns.modular.system.util;
+
+import com.alibaba.fastjson.JSON;
+import com.alipay.global.api.AlipayClient;
+import com.alipay.global.api.DefaultAlipayClient;
+import com.alipay.global.api.exception.AlipayApiException;
+import com.alipay.global.api.model.ams.*;
+import com.alipay.global.api.model.constants.EndPointConstants;
+import com.alipay.global.api.request.ams.notify.AlipayPayResultNotify;
+import com.alipay.global.api.request.ams.pay.AlipayPayQueryRequest;
+import com.alipay.global.api.request.ams.pay.AlipayPayRequest;
+import com.alipay.global.api.response.ams.pay.AlipayPayQueryResponse;
+import com.alipay.global.api.response.ams.pay.AlipayPayResponse;
+import com.alipay.global.api.tools.WebhookTool;
+import lombok.Data;
+
+import javax.servlet.ServletInputStream;
+import javax.servlet.http.HttpServletRequest;
+import java.io.BufferedReader;
+import java.io.InputStreamReader;
+import java.util.Date;
+
+/**
+ * 支付宝国际版支付工具类
+ */
+public class AntomPaymentUtil {
+    /**
+     * replace with your client id <br>
+     * find your client id here: <a href="https://dashboard.antom.com/global-payments/developers/quickStart">quickStart</a>
+     */
+    public static final String CLIENT_ID = "your_client_id";
+
+    /**
+     * replace with your antom public key (used to verify signature) <br>
+     * find your antom public key here: <a href="https://dashboard.antom.com/global-payments/developers/quickStart">quickStart</a>
+     */
+    public static final String ANTOM_PUBLIC_KEY = "antom_public_key";
+
+    /**
+     * replace with your private key (used to sign) <br>
+     * please ensure the secure storage of your private key to prevent leakage
+     */
+    public static final String MERCHANT_PRIVATE_KEY = "your_private_key";
+
+    private final static AlipayClient CLIENT = new DefaultAlipayClient(EndPointConstants.SG, MERCHANT_PRIVATE_KEY, ANTOM_PUBLIC_KEY, CLIENT_ID);
+
+
+    /**
+     * 发起付款请求
+     * @param payment
+     * @return
+     */
+    public static ResultUtil<AlipayPayResponse> pay(PaymentVO payment){
+        AlipayPayRequest alipayPayRequest = new AlipayPayRequest();
+        alipayPayRequest.setClientId(CLIENT_ID);
+        alipayPayRequest.setProductCode(ProductCodeType.CASHIER_PAYMENT);
+        alipayPayRequest.setPaymentRequestId(payment.getPaymentRequestId());
+
+        Amount paymentAmount = new Amount();
+        paymentAmount.setCurrency(payment.getCurrency());
+        paymentAmount.setValue(payment.getAmountValue());
+        alipayPayRequest.setPaymentAmount(paymentAmount);
+
+        PaymentMethod paymentMethod = new PaymentMethod();
+        paymentMethod.setPaymentMethodType(WalletPaymentMethodType.ALIPAY_CN.name());
+        alipayPayRequest.setPaymentMethod(paymentMethod);
+
+        alipayPayRequest.setPaymentNotifyUrl(payment.getPaymentNotifyUrl());
+        alipayPayRequest.setPaymentRedirectUrl(payment.getPaymentRedirectUrl());
+
+        SettlementStrategy settlementStrategy  = new SettlementStrategy();
+        settlementStrategy.setSettlementCurrency(payment.getCurrency());
+        alipayPayRequest.setSettlementStrategy(settlementStrategy);
+
+        Order order = new Order();
+        order.setReferenceOrderId(payment.getReferenceOrderId());
+        order.setOrderDescription(payment.getOrderDescription());
+        Amount orderAmount = new Amount();
+        orderAmount.setCurrency(payment.getCurrency());
+        orderAmount.setValue(payment.getAmountValue());
+        order.setOrderAmount(orderAmount);
+        alipayPayRequest.setOrder(order);
+
+        Env env = new Env();
+        env.setTerminalType(TerminalType.APP);
+        alipayPayRequest.setEnv(env);
+        AlipayPayResponse alipayPayResponse = null;
+        try {
+            alipayPayResponse = CLIENT.execute(alipayPayRequest);
+        } catch (AlipayApiException e) {
+            return ResultUtil.error(e.getErrMsg());
+        }
+        return ResultUtil.success(alipayPayResponse);
+    }
+
+
+    /**
+     * 查询付款结果
+     * @param paymentRequestId
+     * @return
+     */
+    public static ResultUtil<AlipayPayQueryResponse> inquiryPayment(String paymentRequestId){
+        AlipayPayQueryRequest alipayPayQueryRequest = new AlipayPayQueryRequest();
+        alipayPayQueryRequest.setPaymentRequestId(paymentRequestId);
+
+        AlipayPayQueryResponse alipayPayQueryResponse;
+        try {
+            long startTime = System.currentTimeMillis();
+            System.out.println("inquiry payment request: " + JSON.toJSONString(alipayPayQueryRequest));
+            alipayPayQueryResponse = CLIENT.execute(alipayPayQueryRequest);
+            System.out.println("inquiry payment response: " + JSON.toJSONString(alipayPayQueryResponse));
+            System.out.println("inquiry payment request cost time: " + (System.currentTimeMillis() - startTime) + "ms\n");
+        } catch (AlipayApiException e) {
+            return ResultUtil.error(e.getErrMsg());
+        }
+        return ResultUtil.success(alipayPayQueryResponse);
+    }
+
+    /**
+     * 支付回调处理
+     * @param request
+     * @return
+     */
+    public static ResultUtil<AlipayPayResultNotify> receivePaymentNotify(HttpServletRequest request){
+        // retrieve the required parameters from http request
+        String requestUri = request.getRequestURI();
+        String requestMethod = request.getMethod();
+        // retrieve the required parameters from request header
+        String requestTime = request.getHeader("request-time");
+        String clientId = request.getHeader("client-id");
+        String signature = request.getHeader("signature");
+
+        try {
+            ServletInputStream inputStream = request.getInputStream();
+            StringBuilder sb = new StringBuilder();
+            String s;
+            BufferedReader in = new BufferedReader(new InputStreamReader(inputStream, "UTF-8"));
+            while ((s = in.readLine()) != null) {
+                sb.append(s);
+            }
+            in.close();
+            inputStream.close();
+            String notifyBody = sb.toString();
+            // verify the signature of notification
+            boolean verifyResult = WebhookTool.checkSignature(requestUri, requestMethod, clientId,
+                    requestTime, signature, notifyBody, ANTOM_PUBLIC_KEY);
+            if (!verifyResult) {
+                return ResultUtil.error("Invalid notify signature");
+            }
+            // deserialize the notification body
+            AlipayPayResultNotify paymentNotify = JSON.parseObject(notifyBody, AlipayPayResultNotify.class);
+            if (paymentNotify != null && "SUCCESS".equals(paymentNotify.getResult().getResultCode())) {
+                // handle your own business logic.
+                // e.g. The relationship between payment information and users is kept in the database.
+                System.out.println("receive payment notify: " + JSON.toJSONString(paymentNotify));
+                return ResultUtil.success(paymentNotify);
+            }
+            return ResultUtil.error("system_error");
+        } catch (Exception e) {
+            e.printStackTrace();
+            return ResultUtil.error(e.getMessage());
+        }
+    }
+
+
+
+    @Data
+    public static class PaymentVO {
+        /**
+         * 支付请求流水号
+         */
+        private String paymentRequestId;
+        /**
+         * 付款的结算货币
+         */
+        private String currency;
+        /**
+         * 支付金额
+         */
+        private String amountValue;
+        /**
+         * 商户端支付结果页面
+         */
+        private String paymentRedirectUrl;
+        /**
+         * 支付结果通知地址
+         */
+        private String paymentNotifyUrl;
+        /**
+         * 订单描述
+         */
+        private String orderDescription;
+        /**
+         * 商户订单唯一标识
+         */
+        private String referenceOrderId;
+    }
+
+
+    @Data
+    public static class PaymentNotify {
+        /**
+         * 支付状态通知的类型
+         * PAYMENT_RESULT: 表示通知是关于支付结果的。
+         * PAYMENT_PENDING: 表示用户已完成支付。商家需要等待最终的支付结果。
+         */
+        private String notifyType;
+        /**
+         * 支付结果的详细信息,如支付状态、结果代码和结果消息
+         */
+        private String result;
+        /**
+         * 商户为识别支付请求而分配的专属 ID
+         */
+        private String paymentRequestId;
+        /**
+         * Antom 为识别支付而分配的支付 ID。paymentId 与 paymentRequestId 之间存在一对一对应关系。
+         */
+        private String paymentId;
+        /**
+         * 商家请求在订单币种中接收的支付金额。
+         */
+        private String paymentAmount;
+        /**
+         * 支付创建的日期和时间。
+         */
+        private Date paymentCreateTime;
+        /**
+         * 支付成功达到最终状态的日期和时间。
+         */
+        private Date paymentTime;
+        /**
+         * 支付结果信息
+         */
+        private String paymentResultInfo;
+    }
+}
diff --git a/UserGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/FleetEngineUtil.java b/UserGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/FleetEngineUtil.java
index 97bd6bc..d296499 100644
--- a/UserGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/FleetEngineUtil.java
+++ b/UserGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/FleetEngineUtil.java
@@ -54,7 +54,7 @@
 	
 	private final String provider = "i-go-odrd-testing";
 	
-	private final static String key = "AIzaSyCG6PsfkaCEc94VK2vIAZk1YYKvOS_Ewts";
+	private final static String key = "AIzaSyBstPymHMMmFEQ5YS_6ELs1Lxvv4bOTtTk";
 
 //	private final String SERVICE_ACCOUNT = "odrd-fleetengine-ondemandadmin@i-go-gcp.iam.gserviceaccount.com";
 //
diff --git a/UserGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/GoogleMapUtil.java b/UserGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/GoogleMapUtil.java
index 7b56632..478f703 100644
--- a/UserGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/GoogleMapUtil.java
+++ b/UserGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/GoogleMapUtil.java
@@ -12,7 +12,7 @@
  */
 public class GoogleMapUtil {
 
-    private final static String key = "AIzaSyCG6PsfkaCEc94VK2vIAZk1YYKvOS_Ewts";
+    private final static String key = "AIzaSyBstPymHMMmFEQ5YS_6ELs1Lxvv4bOTtTk";
 
 
     /**
diff --git a/UserGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushUtil.java b/UserGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushUtil.java
index a02797b..c6437a1 100644
--- a/UserGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushUtil.java
+++ b/UserGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushUtil.java
@@ -74,6 +74,7 @@
         map.put("audioUrl", audioUrl);
         map.put("from", from);
         jsonObject.put("data", map);
+        redisUtil.setStrValue( (type == 1 ? "USER_ORDER_MESSAGE:" : "DRIVER_ORDER_MESSAGE") + ":" + uid, jsonObject.toJSONString(), 30);
 
         //调用推送
         HttpHeaders headers = new HttpHeaders();
@@ -113,6 +114,7 @@
         map.put("orderId", orderId);
         map.put("orderType", orderType);
         jsonObject.put("data", map);
+        redisUtil.setStrValue( (type == 1 ? "USER_ORDER_MESSAGE:" : "DRIVER_ORDER_MESSAGE") + ":" + uid, jsonObject.toJSONString(), 30);
 
         //调用推送
         HttpHeaders headers = new HttpHeaders();
@@ -148,6 +150,7 @@
         map.put("orderId", orderId);
         map.put("orderType", orderType);
         jsonObject.put("data", map);
+        redisUtil.setStrValue( (type == 1 ? "USER_ORDER_MESSAGE:" : "DRIVER_ORDER_MESSAGE") + ":" + uid, jsonObject.toJSONString(), 30);
         
         //调用推送
         HttpHeaders headers = new HttpHeaders();
@@ -186,6 +189,7 @@
         map.put("status", status);
         map.put("audioUrl", audioUrl);
         jsonObject.put("data", map);
+        redisUtil.setStrValue( (type == 1 ? "USER_ORDER_MESSAGE:" : "DRIVER_ORDER_MESSAGE") + ":" + uid, jsonObject.toJSONString(), 30);
         
         //调用推送
         HttpHeaders headers = new HttpHeaders();
@@ -352,17 +356,20 @@
         }
 
         msg.put("data", map);
+        JSONObject jsonObject = pushMap.get(orderId + "_" + orderType);
+        Integer uid = jsonObject.getInteger("id");
+        Integer type = jsonObject.getInteger("type");
+        redisUtil.setStrValue( (type == 1 ? "USER_ORDER_MESSAGE:" : "DRIVER_ORDER_MESSAGE") + ":" + uid, jsonObject.toJSONString(), 30);
 
         //调用推送
         HttpHeaders headers = new HttpHeaders();
         // 以表单的方式提交
         headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
         //将请求头部和参数合成一个请求
-        JSONObject jsonObject = pushMap.get(orderId + "_" + orderType);
         MultiValueMap<String, Object> params = new LinkedMultiValueMap<>();
         params.add("msg", msg.toJSONString());
-        params.add("id", jsonObject.getString("id"));
-        params.add("type", jsonObject.getString("type"));
+        params.add("id", uid.toString());
+        params.add("type", type.toString());
         HttpEntity<MultiValueMap<String, Object>> requestEntity = new HttpEntity<>(params, headers);
         String s = internalRestTemplate.postForObject("http://zuul-gateway/netty/sendMsgToClient",requestEntity , String.class);
         JSONObject jsonObject1 = JSON.parseObject(s, JSONObject.class);
@@ -383,6 +390,7 @@
         msg.put("msg", "SUCCESS");
         msg.put("method", "OFFLINE");
         msg.put("data", new Object());
+        redisUtil.setStrValue( (type == 1 ? "USER_ORDER_MESSAGE:" : "DRIVER_ORDER_MESSAGE") + ":" + id, msg.toJSONString(), 30);
 
         //调用推送
         HttpHeaders headers = new HttpHeaders();
@@ -420,6 +428,7 @@
         map.put("orderType", orderType);
         map.put("state", state);
         jsonObject.put("data", map);
+        redisUtil.setStrValue( (type == 1 ? "USER_ORDER_MESSAGE:" : "DRIVER_ORDER_MESSAGE") + ":" + uid, jsonObject.toJSONString(), 30);
 
         //调用推送
         HttpHeaders headers = new HttpHeaders();
@@ -470,6 +479,7 @@
         map.put("money", money);
         map.put("audioUrl", audioUrl);
         jsonObject.put("data", map);
+        redisUtil.setStrValue( (type == 1 ? "USER_ORDER_MESSAGE:" : "DRIVER_ORDER_MESSAGE") + ":" + uid, jsonObject.toJSONString(), 30);
 
         //调用推送
         HttpHeaders headers = new HttpHeaders();
@@ -511,6 +521,7 @@
         map.put("status", status);
         map.put("audioUrl", audioUrl);
         jsonObject.put("data", map);
+        redisUtil.setStrValue( (type == 1 ? "USER_ORDER_MESSAGE:" : "DRIVER_ORDER_MESSAGE") + ":" + uid, jsonObject.toJSONString(), 30);
         
         //调用推送
         HttpHeaders headers = new HttpHeaders();
diff --git a/UserGOPOSTTravel/guns-admin/src/main/resources/application-dev.yml b/UserGOPOSTTravel/guns-admin/src/main/resources/application-dev.yml
index 9c9d08a..2b7fad7 100644
--- a/UserGOPOSTTravel/guns-admin/src/main/resources/application-dev.yml
+++ b/UserGOPOSTTravel/guns-admin/src/main/resources/application-dev.yml
@@ -54,7 +54,7 @@
 
 spring:
   datasource:
-    url: jdbc:mysql://127.0.0.1:3306/igotravel?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=GMT%2B0
+    url: jdbc:mysql://192.168.110.80:3306/gopost?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=GMT%2B0
     username: root
     password: 123456
     db-name: igotravel #用来搜集数据库的所有表
@@ -82,19 +82,17 @@
 
 wx:
   grantType: authorization_code #填authorization_code
-  #appletsAppid: wx36c966d381cd5d62 #应用唯一标识,在微信开放平台提交应用审核通过后获得
-  #appletsAppSecret: cf4b21c7175356f41fa3c426f26c20e4 #应用密钥AppSecret,在微信开放平台提交应用审核通过后获得
-  appletsAppid: wx94a1a55229c933ac #应用唯一标识,在微信开放平台提交应用审核通过后获得
-  appletsAppSecret: cbd89baf017146c1d56c00f1d2a59df6 #应用密钥AppSecret,在微信开放平台提交应用审核通过后获得
-  appid: wx94a1a55229c933ac #小程序APPid
-  appSecret: cbd89baf017146c1d56c00f1d2a59df6 #
-  mchId: 1550090851 #微信支付分配的商户号
-  key: JnhREmZwHNKyFUQPEhijp1gdaCUzKg8P #key为商户平台设置的密钥key:
+  appletsAppid: 111 #应用唯一标识,在微信开放平台提交应用审核通过后获得
+  appletsAppSecret: 111 #应用密钥AppSecret,在微信开放平台提交应用审核通过后获得
+  appid: 111 #小程序APPid
+  appSecret: 111 #
+  mchId: 111 #微信支付分配的商户号
+  key: 111 #key为商户平台设置的密钥key:
 
 ---
 
 alipay:
-  appid: 2019080866147541  #应用程序唯一标识
+  appid: 111  #应用程序唯一标识
   appPrivateKey: MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC+YuDPSRwDgk317Wp0xrMHfVr2gL/us4ue7REAP3vBT5qNGtl3EB3OycocTH2m3Y1rUhzrkkOWqG93iYb2Au11l8Q9jwv/lzyn6uQ/iiBwy5acet/5PxeKHeFytyjVrMFPNKEa1pOF5M7T5aMYTavR8xISTMiZ1ZerCOom9uPS8LT2aDP7GRUdsnJN9u6c1yIixQOpkI8FB62bSpQJvo7BP7CSm1+fa1upXoVWYWsnaDsa23TojaBR/T7ISf3Jpj6/ZSJtXoFa+CupKF6ghq85Mh3b17bClMuQ9oz7+OZq3neRfy4DEZhpo3NOX4oRH9x3xDnaTE7ZhiJTZJZUlsKFAgMBAAECggEBAKjxvWS0D7PdcakGIS23FS9UQd/0qFz93qwM2sVJkFwec5s7dDZ/irPxxPQPvIDSoafWmetBQ9Dxbti4pZaxSl7LakzmH1OTtTOc8SahP+BYCTKapx3aqtzZXzIY7peOUYwju8LBHu/19sN6R5xNcGdCN4sdr/Uy4P/ZTU9+TvTjMo5IUbomiGSt169eypy2yFXr1Ydtq0lS70ZnwCcnVlvjAI/AYRT2qOYVrBGlWs8qsoEMjRL1Cocq4lhXu1f9pw+z2FDw86Kj/nNL7oX3YS42ebGzB56CEYDnydcjZ8KMDnqGrwYjBLpulWL53x6q4d8Ht8l7yTMC/vnM46QgNAECgYEA95I8lUNWa2aTi7kyHQ9FYsdARcISnEFXypHKNiNgVmOYD5AxxIOvpz09B1tRJV2+ouiL81WnqhnRzc4pUwLeMiqJCgzAZjQsMvMAy6QMlCqintGahOhcS36L6PKU0fND/vMGWU+TPOpWkaB22zUeUI8nyJpzApscvdbhsDrhrcUCgYEAxN47kpe/jYLVUOjMzcT+GfJUJYwO4kUzSpUwQfGInPZzDM9YgUoT//BjsCF6QIVNZITKK6HbCdVmuFzPbQ/0g1cYqoBOW5SQxO4aCxkv23fSUXzhXTs29+XK7QIYh5iZ67pAg6YVxaF66MA06mgaQ/josH3LhEbzW81d84fczcECgYBJYxUIXgypC6AjJAPB73vu+weHZi8kGI6QosThZX0yPpWdz22hRjP0jEeh/aTBQde37N1HhZWM69hwfHNtgwUgs9EppHwID+EmPTh4JSoBZd4M3C9ExKhPTLTmmboZvlXipmG0ac1ImmKNCpcRBd71nGn7oiUDmb1cXO1L0ziAzQKBgBo6LR+Tfd6Bbp/P0/EZ7GxSf2ldJmJ4q6OlCn/OiM+4eY1cVkMrNkzjnrRJUXslBzF8C18SuhauSngHTU8PUBjrUorsewPyX/MMcYXG/jwz014tz+xWxjTydT1sCQ6PgvoHny6qwr3IjJJTgPk1k0I49+8DY0ilFyjEzF50XDNBAoGBAPBKfcwVzCnlch+BAeI3ovuGrnpdbTA01wvuyfE+IdTISY7KuI5JrbRx9SpkC+IPN/n9nHA6Ru0BmnM9QP4daN9P0VXKWKidXzgoKTt48U2/QNHwY/srciXRI6EdsRSY14KqMIFi0S5iRRzi8MztKYy2fDElTbwN8eHENmPxTy94 #开发者应用私钥
   alipayPublicKey: MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvmLgz0kcA4JN9e1qdMazB31a9oC/7rOLnu0RAD97wU+ajRrZdxAdzsnKHEx9pt2Na1Ic65JDlqhvd4mG9gLtdZfEPY8L/5c8p+rkP4ogcMuWnHrf+T8Xih3hcrco1azBTzShGtaTheTO0+WjGE2r0fMSEkzImdWXqwjqJvbj0vC09mgz+xkVHbJyTfbunNciIsUDqZCPBQetm0qUCb6OwT+wkptfn2tbqV6FVmFrJ2g7Gtt06I2gUf0+yEn9yaY+v2UibV6BWvgrqSheoIavOTId29e2wpTLkPaM+/jmat53kX8uAxGYaaNzTl+KER/cd8Q52kxO2YYiU2SWVJbChQIDAQAB #应用公钥
   alipay_public_key: MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtXGGldcA52Hbp1rUh1gCrq+Bv64rZonpIzUsvIK1j7TC2nYVSMz5zAo/JI4YDKQNuEP2rK74+c/eZUaSdqjI40rh+UT6Wkc7KArVq6AUXZCm3pUomFK7aEDG93QwB8YSmBn4tAghUxI3OR1k6UKVg5qO373F3EXLYcdOMcVkmYe/N4LxbLE/qSekyujXflKuPDAmva2KLZ7Y0iz3efXyzmQeZ7TGebgpSwABBjxDPIQz8/uW1zv84nslzOiAOOFNV8jBOqYs4PfyqPxl34rHrY8IyuI4SBH7zfHwqG42TY1i298Dz7YaNz0i0UGu80SCdQeakIG0u8uypvDQ9h7eywIDAQAB #支付宝公钥
@@ -110,7 +108,7 @@
 ---
 
 juhe: #聚合数据
-  appKey: c0d55e1fb67efd7ae3175ee9bd8c6bc2 #
+  appKey: 111 #
 
 
 ---

--
Gitblit v1.7.1