From e28d33c09405e246a2d75fcb1f69a9e8e9d911b8 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期四, 29 九月 2022 09:07:31 +0800
Subject: [PATCH] 更新最新代码

---
 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TCompanyController.java              |   17 
 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushURL.java                                       |    8 
 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/TaskUtil.java                                      |    9 
 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/CouponController.java                                            |   10 
 ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/tDriver/tDriver.js                                                |   11 
 ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tCar/tCar_edit.html                                                 |   14 
 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TAdvertisementController.java        |    9 
 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OpenCityServiceImpl.java                         |    9 
 ManagementIGOTravel/guns-admin/pom.xml                                                                                                 |    4 
 DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java           |   93 
 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TOrderPrivateCarController.java |   14 
 ManagementIGOTravel/guns-admin/src/main/webapp/static/img/logo.png                                                                     |    0 
 ZuulIGOTravel/src/main/java/com/sinata/zuul/ZuulApplication.java                                                                       |    4 
 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/WithdrawalServiceImpl.java                       |    9 
 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TAgreement.java                                   |   12 
 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ProblemServiceImpl.java                          |   10 
 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IFeedbackService.java                                 |    2 
 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserCouponRecordServiceImpl.java                 |   18 
 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TAdvertisementMapper.xml                    |    4 
 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IUserCouponRecordService.java                         |    4 
 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/CityMapper.xml                              |   12 
 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OpenCityBusinessServiceImpl.java                 |   82 
 ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/login.html                                                                 |    6 
 ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tSystemPrice/tSystemPrice_add.html                                  |    4 
 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/DriverMapper.xml                                  |    9 
 DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OrderServiceImpl.java                          |    4 
 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/ServerCarModelController.java                                    |    5 
 ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/tAdvertisement/tAdvertisement_info.js                             |    4 
 ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tDriver/tDriver_look.html                                           |    2 
 ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/tDriver/yesDriver.js                                              |   15 
 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/Tingg/TinggConfigEnum.java                               |   32 
 DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/CarController.java                                             |    7 
 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/Tingg/model/TokenResponse.java                           |   64 +
 DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java                                          |   31 
 ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tAdvertisement/tAdvertisement_edit.html                             |    6 
 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ComplaintServiceImpl.java                        |    9 
 ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tSystemPrice/tSystemPrice_edit.html                                 |    4 
 ManagementIGOTravel/guns-admin/src/main/webapp/static/img/index4.png                                                                   |    0 
 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/CityMapper.java                                     |    7 
 ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tAgreement/newDriverTraining.html                                   |   90 +
 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/CityServiceImpl.java                       |   11 
 ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/404.html                                                                   |    2 
 ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tDriver/tDriver_edit.html                                           |   18 
 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TAgreementController.java            |   28 
 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OpenCityController.java                                          |   20 
 ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/common/_right.html                                                         |    4 
 ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tAgreement/tAgreementOrder.html                                     |   29 
 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TDriverMapper.xml                           |    4 
 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java                 |    8 
 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IComplaintService.java                                |    2 
 DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/Car.java                                              |   13 
 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TAdvertisement.java                               |   10 
 ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/index.html                                                                 |    2 
 ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tAgreement/commonProblem.html                                       |   27 
 ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/tSystemPrice/tSystemPrice_info.js                                 |  146 +-
 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IServerCarModelService.java                           |    2 
 ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tDriver/tDriver_immediately.html                                    |    2 
 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/impl/OrderLogisticsServiceImpl.java            |    9 
 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TVersionManagementController.java    |    4 
 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java                                             |   92 
 ManagementIGOTravel/guns-admin/src/main/resources/application.yml                                                                      |    4 
 DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ICarService.java                                    |    2 
 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IOpenCityBusinessService.java                         |    4 
 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/IOrderLogisticsService.java                    |    2 
 ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tAgreement/instructions.html                                        |   29 
 ZuulIGOTravel/src/main/resources/application.yml                                                                                       |    2 
 ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tDriver/tDriver_add.html                                            |   18 
 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TCarController.java                  |  225 +--
 ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/tAdvertisement/tAdvertisement.js                                  |    2 
 ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tAgreement/tAgreementRecharge.html                                  |   29 
 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/ProblemController.java                                           |    5 
 ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tCar/tCar_add.html                                                  |   14 
 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IOpenCityService.java                                 |    2 
 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IProblemService.java                                  |    2 
 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TSystemPriceController.java     |   44 
 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ICityService.java                               |    7 
 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TDriver.java                                      |   35 
 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/FeedbackController.java                                          |    5 
 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TAgreementMapper.xml                        |    1 
 ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/tDriver/tDriver_info.js                                           |    3 
 ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/tCar/tCarAuth.js                                                  |    4 
 DriverIGOTravel/guns-admin/src/main/resources/application.yml                                                                          |   22 
 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/IOrderPrivateCarService.java                     |    4 
 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/OpenCityMapper.xml                                |   10 
 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ServerCarModelServiceImpl.java                   |   17 
 ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tAgreement/tAgreementUser.html                                      |   29 
 ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/tDriver/yesDriver_info.js                                         |   50 
 ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tAgreement/tAgreement.html                                          |   85 +
 ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tSystemPrice/small.html                                             |   67 
 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java             |   28 
 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TDriverController.java               |   96 -
 DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/CarMapper.xml                                   |    1 
 ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tAgreement/pricingRules.html                                        |   27 
 ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tAgreement/tAgreementMe.html                                        |   29 
 ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/tCar/tCar.js                                                      |    4 
 ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tAdvertisement/tAdvertisement_add.html                              |    4 
 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/City.java                                         |   68 +
 ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/tOrderLogistics/tOrderLogistics.js                                |    2 
 ZuulIGOTravel/src/main/resources/redis.properties                                                                                      |    2 
 DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/CarServiceImpl.java                            |    3 
 ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tAgreement/driverRegister.html                                      |   29 
 ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tAgreement/tAgreementDriver.html                                    |   85 +
 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/WithdrawalController.java                                        |    5 
 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java                         |   12 
 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TComplaintController.java            |   17 
 /dev/null                                                                                                                              |  609 ------------
 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IWithdrawalService.java                               |    2 
 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/FeedbackServiceImpl.java                         |   12 
 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/Tingg/TinggPayUtil.java                                  |   71 +
 ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tAgreement/tAgreementLaw.html                                       |   29 
 ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tAgreement/tAgreementSmallPieceLogistics.html                       |   29 
 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IUserInfoService.java                                 |    9 
 112 files changed, 1,567 insertions(+), 1,416 deletions(-)

diff --git a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/CarController.java b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/CarController.java
index b77fff5..433ccbd 100644
--- a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/CarController.java
+++ b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/CarController.java
@@ -111,16 +111,19 @@
             @ApiImplicitParam(value = "车辆照片", name = "carPhoto", required = true, dataType = "string"),
             @ApiImplicitParam(value = "保险照片", name = "insurancePhoto", required = false, dataType = "string"),
             @ApiImplicitParam(value = "保险到期时间(yyyy-MM-dd)", name = "commercialInsuranceTime", required = false, dataType = "string"),
+            @ApiImplicitParam(value = "人车合影照片", name = "peopleAndCarsPhone", required = false, dataType = "string"),
             @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = false, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
     })
     public ResultUtil addCar(Integer modelId, String color, String licensePlate, Date time, String drivingLicensePhoto,
-                             String drivingLicenseEndTime, String carPhoto, String insurancePhoto, String commercialInsuranceTime, HttpServletRequest request,Integer id){
+                             String drivingLicenseEndTime, String carPhoto, String insurancePhoto, String commercialInsuranceTime,
+                             String peopleAndCarsPhone, HttpServletRequest request,Integer id){
         try {
             Integer uid = driverService.getUserIdFormRedis(request);
             if(null == uid){
                 return ResultUtil.tokenErr();
             }
-            return carService.addCar(modelId, color, licensePlate, time, drivingLicensePhoto, drivingLicenseEndTime, carPhoto, insurancePhoto, commercialInsuranceTime, uid,id);
+            return carService.addCar(modelId, color, licensePlate, time, drivingLicensePhoto, drivingLicenseEndTime, carPhoto, insurancePhoto
+                    , commercialInsuranceTime, uid,id, peopleAndCarsPhone);
         }catch (Exception e){
             e.printStackTrace();
             return ResultUtil.runErr();
diff --git a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java
index 0c51361..f9bc08e 100644
--- a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java
+++ b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java
@@ -296,6 +296,32 @@
             return ResultUtil.runErr();
         }
     }
+
+    @ResponseBody
+    @PostMapping("/api/driver/editEmail")
+    @ApiOperation(value = "个人中心修改邮箱【1.0】", 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.....")
+    })
+    public ResultUtil editEmail(String email, HttpServletRequest request){
+        try {
+            Integer uid = driverService.getUserIdFormRedis(request);
+            if(null == uid){
+                return ResultUtil.tokenErr();
+            }
+            Driver driver = driverService.selectById(uid);
+            driver.setEmail(email);
+            driverService.updateById(driver);
+            return ResultUtil.success();
+        }catch (Exception e){
+            e.printStackTrace();
+            return ResultUtil.runErr();
+        }
+    }
+
+
+
     /**
      * 司机注册后完善车辆信息
      * @param
@@ -314,13 +340,14 @@
             @ApiImplicitParam(value = "车辆照片", name = "carPhoto", required = true, dataType = "string"),
             @ApiImplicitParam(value = "保险照片", name = "insurancePhoto", required = false, dataType = "string"),
             @ApiImplicitParam(value = "保险到期时间(yyyy-MM-dd)", name = "commercialInsuranceTime", required = false, dataType = "string"),
+            @ApiImplicitParam(value = "人车合一照片", name = "peopleAndCarsPhone", required = false, dataType = "string"),
             @ApiImplicitParam(value = "司机id", name = "uid", required = true, dataType = "int"),
             @ApiImplicitParam(value = "车辆id", name = "carId", required = false, dataType = "int")
     })
     public ResultUtil addDriverCar(Integer modelId, String color, String licensePlate, Date time, String drivingLicensePhoto, String drivingLicenseEndTime,
-                                   String carPhoto, String insurancePhoto, String commercialInsuranceTime, Integer uid, Integer carId){
+                                   String carPhoto, String insurancePhoto, String commercialInsuranceTime, Integer uid, Integer carId, String peopleAndCarsPhone){
         try {
-            return carService.addCar(modelId, color, licensePlate, time, drivingLicensePhoto, drivingLicenseEndTime, carPhoto, insurancePhoto, commercialInsuranceTime, uid,carId);
+            return carService.addCar(modelId, color, licensePlate, time, drivingLicensePhoto, drivingLicenseEndTime, carPhoto, insurancePhoto, commercialInsuranceTime, uid,carId, peopleAndCarsPhone);
         }catch (Exception e){
             e.printStackTrace();
             return ResultUtil.runErr();
diff --git a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java
index ef646b4..4dcd9a2 100644
--- a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java
+++ b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java
@@ -4,6 +4,7 @@
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.stylefeng.guns.core.util.ToolUtil;
 import com.stylefeng.guns.modular.specialTrain.dao.OrderPrivateCarMapper;
 import com.stylefeng.guns.modular.specialTrain.model.OrderPrivateCar;
 import com.stylefeng.guns.modular.specialTrain.server.IOrderPrivateCarService;
@@ -590,54 +591,56 @@
 
 
         //夜间服务处理逻辑
-        Calendar s = Calendar.getInstance();
-        s.setTime(date);
-        s.set(Calendar.HOUR_OF_DAY, Integer.valueOf(num16.split(" - ")[0].split(":")[0]));
-        s.set(Calendar.MINUTE, Integer.valueOf(num16.split(" - ")[0].split(":")[1]));
+        if(ToolUtil.isNotEmpty(num16)){
+            Calendar s = Calendar.getInstance();
+            s.setTime(date);
+            s.set(Calendar.HOUR_OF_DAY, Integer.valueOf(num16.split(" - ")[0].split(":")[0]));
+            s.set(Calendar.MINUTE, Integer.valueOf(num16.split(" - ")[0].split(":")[1]));
 
-        Calendar e = Calendar.getInstance();
-        e.setTime(date);
-        e.set(Calendar.HOUR_OF_DAY, Integer.valueOf(num16.split(" - ")[1].split(":")[0]));
-        e.set(Calendar.MINUTE, Integer.valueOf(num16.split(" - ")[1].split(":")[1]));
+            Calendar e = Calendar.getInstance();
+            e.setTime(date);
+            e.set(Calendar.HOUR_OF_DAY, Integer.valueOf(num16.split(" - ")[1].split(":")[0]));
+            e.set(Calendar.MINUTE, Integer.valueOf(num16.split(" - ")[1].split(":")[1]));
 
-        if(date.getTime() > s.getTimeInMillis() && date.getTime() < e.getTimeInMillis()){
-            if(d > num8.doubleValue() && d <= num9.doubleValue()){
-                yt1 = num20 * (d - num8);
+            if(date.getTime() > s.getTimeInMillis() && date.getTime() < e.getTimeInMillis()){
+                if(d > num8.doubleValue() && d <= num9.doubleValue()){
+                    yt1 = num20 * (d - num8);
+                }
+                if(d > num9.doubleValue()){
+                    yt1 = num20 * (num9 - num8);
+                }
+                if(d > num11.doubleValue() && d <= num12.doubleValue()){
+                    yt2 = num21 * (d - num11);
+                }
+                if(d > num12.doubleValue()){
+                    yt2 = num21 * (num12 - num11);
+                }
+                if(d > num14.doubleValue()){
+                    yt3 = num22 * (d - num14);
+                }
+                amount = num17 + (d1 * num18) + (t1 * num19) + (w1 * num7) + yt1 + yt2 + yt3;
+                orderPrivateCar.setStartMileage(num2);
+                orderPrivateCar.setStartMoney(num17);//起步价
+                orderPrivateCar.setStartDuration((int)(num3.doubleValue()));
+                orderPrivateCar.setMileageKilometers(new BigDecimal(d1).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
+                orderPrivateCar.setMileageMoney(new BigDecimal(d1 * num18).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());//里程费
+                orderPrivateCar.setDuration(new BigDecimal(t1).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
+                orderPrivateCar.setDurationMoney(new BigDecimal(t1 * num19).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());//时长费
+                orderPrivateCar.setWait(new BigDecimal(w1).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
+                orderPrivateCar.setWaitMoney(new BigDecimal(w1 * num7).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());//等待费
+                orderPrivateCar.setLongDistance(new BigDecimal((d > num8) ? d - num8 : 0).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
+                orderPrivateCar.setLongDistanceMoney(new BigDecimal(yt1 + yt2 + yt3).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());//远途费
+                orderPrivateCar.setParkMoney(parkingFee);//停车费
+                orderPrivateCar.setRoadTollMoney(crossingFee);//过路费
+                orderPrivateCar.setRedPacketMoney(0D);//红包抵扣
+                orderPrivateCar.setCouponMoney(0D);//优惠券抵扣
+                orderPrivateCar.setDiscount(0D);//优惠抵扣
+                orderPrivateCar.setPayMoney(0D);//支付金额
+                orderPrivateCar.setOrderMoney(new BigDecimal(amount + parkingFee + crossingFee).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
+                orderPrivateCar.setMoneyType(2);
+                orderPrivateCar.setMoneyTime(num16);
+                return orderPrivateCar;
             }
-            if(d > num9.doubleValue()){
-                yt1 = num20 * (num9 - num8);
-            }
-            if(d > num11.doubleValue() && d <= num12.doubleValue()){
-                yt2 = num21 * (d - num11);
-            }
-            if(d > num12.doubleValue()){
-                yt2 = num21 * (num12 - num11);
-            }
-            if(d > num14.doubleValue()){
-                yt3 = num22 * (d - num14);
-            }
-            amount = num17 + (d1 * num18) + (t1 * num19) + (w1 * num7) + yt1 + yt2 + yt3;
-            orderPrivateCar.setStartMileage(num2);
-            orderPrivateCar.setStartMoney(num17);//起步价
-            orderPrivateCar.setStartDuration((int)(num3.doubleValue()));
-            orderPrivateCar.setMileageKilometers(new BigDecimal(d1).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
-            orderPrivateCar.setMileageMoney(new BigDecimal(d1 * num18).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());//里程费
-            orderPrivateCar.setDuration(new BigDecimal(t1).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
-            orderPrivateCar.setDurationMoney(new BigDecimal(t1 * num19).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());//时长费
-            orderPrivateCar.setWait(new BigDecimal(w1).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
-            orderPrivateCar.setWaitMoney(new BigDecimal(w1 * num7).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());//等待费
-            orderPrivateCar.setLongDistance(new BigDecimal((d > num8) ? d - num8 : 0).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
-            orderPrivateCar.setLongDistanceMoney(new BigDecimal(yt1 + yt2 + yt3).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());//远途费
-            orderPrivateCar.setParkMoney(parkingFee);//停车费
-            orderPrivateCar.setRoadTollMoney(crossingFee);//过路费
-            orderPrivateCar.setRedPacketMoney(0D);//红包抵扣
-            orderPrivateCar.setCouponMoney(0D);//优惠券抵扣
-            orderPrivateCar.setDiscount(0D);//优惠抵扣
-            orderPrivateCar.setPayMoney(0D);//支付金额
-            orderPrivateCar.setOrderMoney(new BigDecimal(amount + parkingFee + crossingFee).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
-            orderPrivateCar.setMoneyType(2);
-            orderPrivateCar.setMoneyTime(num16);
-            return orderPrivateCar;
         }
 
 
diff --git a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/CarMapper.xml b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/CarMapper.xml
index f425ce8..6e98d94 100644
--- a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/CarMapper.xml
+++ b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/CarMapper.xml
@@ -17,6 +17,7 @@
         <result column="drivingLicensePhoto" property="drivingLicensePhoto"/>
         <result column="annualInspectionTime" property="annualInspectionTime"/>
         <result column="insurancePhoto" property="insurancePhoto" />
+        <result column="peopleAndCarsPhone" property="peopleAndCarsPhone"/>
         <result column="commercialInsuranceTime" property="commercialInsuranceTime"/>
         <result column="insertTime" property="insertTime"/>
         <result column="state" property="state"/>
diff --git a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/Car.java b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/Car.java
index f373e16..ca27d18 100644
--- a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/Car.java
+++ b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/Car.java
@@ -89,6 +89,11 @@
     @TableField("commercialInsuranceTime")
     private Date commercialInsuranceTime;
     /**
+     * 人车合影照片
+     */
+    @TableField("peopleAndCarsPhone")
+    private String peopleAndCarsPhone;
+    /**
      * 添加时间
      */
     @TableField("insertTime")
@@ -241,6 +246,14 @@
         return commercialInsuranceTime;
     }
 
+    public String getPeopleAndCarsPhone() {
+        return peopleAndCarsPhone;
+    }
+
+    public void setPeopleAndCarsPhone(String peopleAndCarsPhone) {
+        this.peopleAndCarsPhone = peopleAndCarsPhone;
+    }
+
     public void setCommercialInsuranceTime(Date commercialInsuranceTime) {
         this.commercialInsuranceTime = commercialInsuranceTime;
     }
diff --git a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ICarService.java b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ICarService.java
index 9f621c1..8fa0dc8 100644
--- a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ICarService.java
+++ b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ICarService.java
@@ -61,5 +61,5 @@
      * @throws Exception
      */
     ResultUtil addCar(Integer modelId, String color, String licensePlate, Date time, String drivingLicensePhoto, String drivingLicenseEndTime,
-                      String carPhoto, String insurancePhoto, String commercialInsuranceTime, Integer uid,Integer id) throws Exception;
+                      String carPhoto, String insurancePhoto, String commercialInsuranceTime, Integer uid,Integer id, String peopleAndCarsPhone) throws Exception;
 }
diff --git a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/CarServiceImpl.java b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/CarServiceImpl.java
index 7469829..ceb0bd8 100644
--- a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/CarServiceImpl.java
+++ b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/CarServiceImpl.java
@@ -127,7 +127,7 @@
      */
     @Override
     public ResultUtil addCar(Integer modelId, String color, String licensePlate, Date time, String drivingLicensePhoto, String drivingLicenseEndTime,
-                             String carPhoto, String insurancePhoto, String commercialInsuranceTime, Integer uid,Integer id) throws Exception {
+                             String carPhoto, String insurancePhoto, String commercialInsuranceTime, Integer uid,Integer id, String peopleAndCarsPhone) throws Exception {
 
         Car query = carMapper.query(licensePlate);
         if(id==null){
@@ -148,6 +148,7 @@
             car = new Car();
             car.setId(id);
         }
+        car.setPeopleAndCarsPhone(peopleAndCarsPhone);
         car.setCarModelId(modelId);
         CarModel carModel = carModelMapper.selectById(modelId);
         car.setCarBrandId(carModel.getBrandId());
diff --git a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OrderServiceImpl.java b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OrderServiceImpl.java
index 898b1f9..ffd2b29 100644
--- a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OrderServiceImpl.java
+++ b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OrderServiceImpl.java
@@ -1052,7 +1052,9 @@
                 }
             }
         }
-        orderPrivateCarService.updateBatchById(orderList);
+        if(orderList.size() > 0){
+            orderPrivateCarService.updateBatchById(orderList);
+        }
     }
 }
 
diff --git a/DriverIGOTravel/guns-admin/src/main/resources/application.yml b/DriverIGOTravel/guns-admin/src/main/resources/application.yml
index 4b2be71..9071cda 100644
--- a/DriverIGOTravel/guns-admin/src/main/resources/application.yml
+++ b/DriverIGOTravel/guns-admin/src/main/resources/application.yml
@@ -43,25 +43,25 @@
 
 ---
 
-#spring:
-#  profiles: local
-#  datasource:
-#    url: jdbc:mysql://Rm-wz9rpe0t74ys3b1h8go.mysql.rds.aliyuncs.com:3306/oktravel?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=Asia/Shanghai
-#    username: root
-#    password: Root2020!
-#    db-name: guns #用来搜集数据库的所有表
-#    filters: wall,mergeStat
-
-################# 测试环境 ###################
 spring:
   profiles: local
   datasource:
     url: jdbc:mysql://127.0.0.1:3306/igotravel?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=Asia/Shanghai
     username: root
-    password: 123456
+    password: HjKbXilb9zajmXbl
     db-name: guns #用来搜集数据库的所有表
     filters: wall,mergeStat
 
+################# 测试环境 ###################
+#spring:
+#  profiles: local
+#  datasource:
+#    url: jdbc:mysql://127.0.0.1:3306/igotravel?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=Asia/Shanghai
+#    username: root
+#    password: 123456
+#    db-name: guns #用来搜集数据库的所有表
+#    filters: wall,mergeStat
+
 
 #多数据源情况的配置
 guns:
diff --git a/ManagementIGOTravel/guns-admin/pom.xml b/ManagementIGOTravel/guns-admin/pom.xml
index 3aae1ef..a3877f0 100644
--- a/ManagementIGOTravel/guns-admin/pom.xml
+++ b/ManagementIGOTravel/guns-admin/pom.xml
@@ -72,12 +72,12 @@
         <dependency>
             <groupId>org.apache.poi</groupId>
             <artifactId>poi</artifactId>
-            <version>RELEASE</version>
+            <version>5.0.0</version>
         </dependency>
         <dependency>
             <groupId>org.apache.poi</groupId>
             <artifactId>poi-ooxml</artifactId>
-            <version>RELEASE</version>
+            <version>5.0.0</version>
         </dependency>
 
         <!--shiro依赖-->
diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TAdvertisementController.java b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TAdvertisementController.java
index 91003a0..18a3c9b 100644
--- a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TAdvertisementController.java
+++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TAdvertisementController.java
@@ -8,7 +8,9 @@
 import com.stylefeng.guns.core.shiro.ShiroKit;
 import com.stylefeng.guns.core.util.DateUtil;
 import com.stylefeng.guns.core.util.SinataUtil;
+import com.stylefeng.guns.modular.system.model.City;
 import com.stylefeng.guns.modular.system.model.TRegion;
+import com.stylefeng.guns.modular.system.service.ICityService;
 import com.stylefeng.guns.modular.system.service.ITRegionService;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -41,7 +43,7 @@
     private ITAdvertisementService tAdvertisementService;
 
     @Autowired
-    private ITRegionService tRegionService;
+    private ICityService cityService;
 
     /**
      * 跳转到广告设置首页
@@ -56,7 +58,7 @@
      */
     @RequestMapping("/tAdvertisement_add")
     public String tAdvertisementAdd(Model model) {
-        List<TRegion> list = tRegionService.selectList(new EntityWrapper<TRegion>().eq("parent_id", 0));
+        List<City> list = cityService.selectList(null);
         model.addAttribute("list",list);
         return PREFIX + "tAdvertisement_add.html";
     }
@@ -69,8 +71,7 @@
         TAdvertisement tAdvertisement = tAdvertisementService.selectById(tAdvertisementId);
         model.addAttribute("item",tAdvertisement);
         LogObjectHolder.me().set(tAdvertisement);
-
-        List<TRegion> list = tRegionService.selectList(new EntityWrapper<TRegion>().eq("parent_id", 0));
+        List<City> list = cityService.selectList(null);
         model.addAttribute("list",list);
         return PREFIX + "tAdvertisement_edit.html";
     }
diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TAgreementController.java b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TAgreementController.java
index e1e332e..9baf926 100644
--- a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TAgreementController.java
+++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TAgreementController.java
@@ -199,6 +199,18 @@
         return PREFIX + "tAgreementSmallPieceLogistics.html";
     }
 
+    /**
+     * 跳转到新司机培训设置
+     * @param model
+     * @return
+     */
+    @RequestMapping("/showNewDriverTraining")
+    public String showNewDriverTraining(Model model){
+        TAgreement one = tAgreementService.selectOne(new EntityWrapper<TAgreement>().eq("type", 16));
+        model.addAttribute("one",one);
+        return PREFIX + "newDriverTraining.html";
+    }
+
 
     /**
      * 修改协议
@@ -280,4 +292,20 @@
     public Object detail(@PathVariable("tAgreementId") Integer tAgreementId) {
         return tAgreementService.selectById(tAgreementId);
     }
+
+
+    /**
+     * 获取协议
+     * @param language
+     * @param type
+     * @param useType
+     * @return
+     */
+    @RequestMapping(value = "/getAgreement")
+    @ResponseBody
+    public TAgreement getAgreement(Integer language, Integer type, Integer useType){
+        TAgreement tAgreement = tAgreementService.selectOne(new EntityWrapper<TAgreement>().eq("type", type)
+                .eq("useType", useType).eq("language", language));
+        return tAgreement;
+    }
 }
diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TCarController.java b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TCarController.java
index f79c252..ad8bb62 100644
--- a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TCarController.java
+++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TCarController.java
@@ -13,10 +13,8 @@
 import com.stylefeng.guns.modular.system.dao.CarInsuranceMapper;
 import com.stylefeng.guns.modular.system.model.*;
 import com.stylefeng.guns.modular.system.service.*;
-import com.stylefeng.guns.modular.system.util.PushMinistryOfTransportUtil;
 import com.stylefeng.guns.modular.system.util.ResultUtil;
 import org.apache.commons.lang.time.DateUtils;
-import org.apache.poi.hdf.extractor.TC;
 import org.apache.poi.ss.usermodel.Cell;
 import org.apache.poi.ss.usermodel.Row;
 import org.apache.poi.ss.usermodel.Sheet;
@@ -78,9 +76,6 @@
 
     @Autowired
     private ITServerCarmodelService itServerCarmodelService;
-
-    @Autowired
-    private PushMinistryOfTransportUtil pushMinistryOfTransportUtil;
 
     @Resource
     private CarInsuranceMapper carInsuranceMapper;
@@ -318,24 +313,8 @@
     public ResultUtil saveCarInsurance(CarInsurance carInsurance){
         if(carInsurance.getId() == null){
             carInsuranceMapper.insert(carInsurance);
-            new Thread(new Runnable() {
-                @Override
-                public void run() {
-                    if(pushMinistryOfTransport){//上传数据
-                        pushMinistryOfTransportUtil.baseInfoVehicleInsurance(carInsurance.getId(), 1);
-                    }
-                }
-            }).start();
         }else{
             carInsuranceMapper.updateById(carInsurance);
-            new Thread(new Runnable() {
-                @Override
-                public void run() {
-                    if(pushMinistryOfTransport){//上传数据
-                        pushMinistryOfTransportUtil.baseInfoVehicleInsurance(carInsurance.getId(), 2);
-                    }
-                }
-            }).start();
         }
 
         return ResultUtil.success();
@@ -386,14 +365,6 @@
     @RequestMapping(value = "/delCarInsurance", method = RequestMethod.POST)
     public ResultUtil delCarInsurance(Integer id){
         carInsuranceMapper.deleteById(id);
-        new Thread(new Runnable() {
-            @Override
-            public void run() {
-                if(pushMinistryOfTransport){//上传数据
-                    pushMinistryOfTransportUtil.baseInfoVehicleInsurance(id, 3);
-                }
-            }
-        }).start();
         return ResultUtil.success();
     }
 
@@ -512,16 +483,6 @@
             }
             tCarServiceService.insert(service);
         }
-
-        new Thread(new Runnable() {
-            @Override
-            public void run() {
-                if(pushMinistryOfTransport){//上传数据
-                    pushMinistryOfTransportUtil.baseInfoCompanyStat();
-                    pushMinistryOfTransportUtil.baseInfoVehicle(tCar.getId());
-                }
-            }
-        }).start();
         return SUCCESS_TIP;
     }
 
@@ -541,16 +502,6 @@
             obj.setCarId(null);
             tDriverService.updateById(obj);
         }
-
-        new Thread(new Runnable() {
-            @Override
-            public void run() {
-                if(pushMinistryOfTransport){//上传数据
-                    pushMinistryOfTransportUtil.baseInfoCompanyStat();
-                    pushMinistryOfTransportUtil.baseInfoVehicle(tCar.getId());
-                }
-            }
-        }).start();
         return SUCCESS_TIP;
     }
 
@@ -608,14 +559,6 @@
         }
 
         tCarService.updateById(tCar);
-        new Thread(new Runnable() {
-            @Override
-            public void run() {
-                if(pushMinistryOfTransport){
-                    pushMinistryOfTransportUtil.baseInfoVehicle(tCar.getId());
-                }
-            }
-        }).start();
         return SUCCESS_TIP;
     }
     @RequestMapping(value = "/updateAuth")
@@ -663,16 +606,16 @@
         shellList.add("所属分公司[提示:加盟车辆选填]");
         shellList.add("所属加盟商[提示:加盟车辆选填]");
         shellList.add("服务模式:专车[是/否]");
-        shellList.add("服务模式:出租车[是/否]");
-        shellList.add("服务模式:跨城出行[是/否]");
-        shellList.add("服务模式:小件同城物流[是/否]");
-        shellList.add("服务模式:小件跨城物流[是/否]");
-        shellList.add("服务模式:包车[是/否]");
+//        shellList.add("服务模式:出租车[是/否]");
+//        shellList.add("服务模式:跨城出行[是/否]");
+        shellList.add("服务模式:市内小件物流[是/否]");
+//        shellList.add("服务模式:小件跨城物流[是/否]");
+//        shellList.add("服务模式:包车[是/否]");
         shellList.add("车辆品牌");
         shellList.add("车辆类型");
         shellList.add("车辆颜色[黑色/银色/白色/红色/黄色/橙色/蓝色]");
         shellList.add("车牌号");
-        shellList.add("行驶证编号");
+        shellList.add("roadworthiness sticker");
         shellList.add("年检到期时间[例如 2020-02-02]");
         shellList.add("商业保险到期时间[例如 2020-02-02]");
         dataList.add(shellList);
@@ -732,81 +675,81 @@
                     three = String.valueOf(cell3.getStringCellValue()).trim();
                 }
 
-                Cell cell4 = row.getCell(4);  //服务模式:出租车[是/否]
-                String four = null;
-                if (SinataUtil.isNotEmpty(cell4)){
-                    four = String.valueOf(cell4.getStringCellValue()).trim();
-                }
+//                Cell cell4 = row.getCell(4);  //服务模式:出租车[是/否]
+//                String four = null;
+//                if (SinataUtil.isNotEmpty(cell4)){
+//                    four = String.valueOf(cell4.getStringCellValue()).trim();
+//                }
+//
+//                Cell cell5 = row.getCell(5);  //服务模式:跨城出行[是/否]
+//                String five = null;
+//                if (SinataUtil.isNotEmpty(cell5)){
+//                    five = String.valueOf(cell5.getStringCellValue()).trim();
+//                }
 
-                Cell cell5 = row.getCell(5);  //服务模式:跨城出行[是/否]
-                String five = null;
-                if (SinataUtil.isNotEmpty(cell5)){
-                    five = String.valueOf(cell5.getStringCellValue()).trim();
-                }
-
-                Cell cell6 = row.getCell(6);  //服务模式:小件跨城物流[是/否]
+                Cell cell6 = row.getCell(4);  //服务模式:小件跨城物流[是/否]
                 String six = null;
                 if (SinataUtil.isNotEmpty(cell6)){
                     six = String.valueOf(cell6.getStringCellValue()).trim();
                 }
 
-                Cell cell7 = row.getCell(7);  //服务模式:小件跨城物流[是/否]
-                String seven = null;
-                if (SinataUtil.isNotEmpty(cell7)){
-                    seven = String.valueOf(cell7.getStringCellValue()).trim();
-                }
+//                Cell cell7 = row.getCell(7);  //服务模式:小件跨城物流[是/否]
+//                String seven = null;
+//                if (SinataUtil.isNotEmpty(cell7)){
+//                    seven = String.valueOf(cell7.getStringCellValue()).trim();
+//                }
+//
+//                Cell cell8 = row.getCell(8);  //服务模式:包车[是/否]
+//                String eight = null;
+//                if (SinataUtil.isNotEmpty(cell8)){
+//                    eight = String.valueOf(cell8.getStringCellValue()).trim();
+//                }
 
-                Cell cell8 = row.getCell(8);  //服务模式:包车[是/否]
-                String eight = null;
-                if (SinataUtil.isNotEmpty(cell8)){
-                    eight = String.valueOf(cell8.getStringCellValue()).trim();
-                }
-
-                Cell cell9 = row.getCell(9);  //车辆品牌
+                Cell cell9 = row.getCell(5);  //车辆品牌
                 String nine = null;
                 if (SinataUtil.isNotEmpty(cell9)){
                     nine = String.valueOf(cell9.getStringCellValue()).trim();
                 }
 
-                Cell cell10 = row.getCell(10);  //车辆类型
+                Cell cell10 = row.getCell(6);  //车辆类型
                 String ten = null;
                 if (SinataUtil.isNotEmpty(cell10)){
                     ten = String.valueOf(cell10.getStringCellValue()).trim();
                 }
 
-                Cell cell11 = row.getCell(11);  //车辆颜色[黑色/银色/白色/红色/黄色/橙色/蓝色]
+                Cell cell11 = row.getCell(7);  //车辆颜色[黑色/银色/白色/红色/黄色/橙色/蓝色]
                 String eleven = null;
                 if (SinataUtil.isNotEmpty(cell11)){
                     eleven = String.valueOf(cell11.getStringCellValue()).trim();
                 }
 
-                Cell cell12 = row.getCell(12);  //车牌号
+                Cell cell12 = row.getCell(8);  //车牌号
                 String twelve = null;
                 if (SinataUtil.isNotEmpty(cell12)){
                     twelve = String.valueOf(cell12.getStringCellValue()).trim();
                 }
 
-                Cell cell13 = row.getCell(13);  //行驶证编号
+                Cell cell13 = row.getCell(9);  //行驶证编号
                 String thirteen = null;
                 if (SinataUtil.isNotEmpty(cell13)){
                     thirteen = String.valueOf(cell13.getStringCellValue()).trim();
                 }
 
-                Cell cell14 = row.getCell(14);  //年检到期时间
+                Cell cell14 = row.getCell(10);  //年检到期时间
                 String fourteen = null;
                 if (SinataUtil.isNotEmpty(cell14)){
                     fourteen = String.valueOf(cell14.getStringCellValue()).trim();
                 }
 
-                Cell cell15 = row.getCell(15);  //商业保险到期时间
+                Cell cell15 = row.getCell(11);  //商业保险到期时间
                 String fifteen = null;
                 if (SinataUtil.isNotEmpty(cell15)){
                     fifteen = String.valueOf(cell15.getStringCellValue()).trim();
                 }
 
-                if (SinataUtil.isEmpty(zero) || SinataUtil.isEmpty(three) || SinataUtil.isEmpty(four)
-                        || SinataUtil.isEmpty(five) || SinataUtil.isEmpty(six) || SinataUtil.isEmpty(seven)
-                        || SinataUtil.isEmpty(eight) || SinataUtil.isEmpty(nine) || SinataUtil.isEmpty(ten)
+                if (SinataUtil.isEmpty(zero) || SinataUtil.isEmpty(three) /*|| SinataUtil.isEmpty(four)
+                        || SinataUtil.isEmpty(five) */|| SinataUtil.isEmpty(six) || /*SinataUtil.isEmpty(seven)
+                        || SinataUtil.isEmpty(eight) || */SinataUtil.isEmpty(nine) || SinataUtil.isEmpty(ten)
                         || SinataUtil.isEmpty(eleven) || SinataUtil.isEmpty(twelve) || SinataUtil.isEmpty(thirteen)
                         || SinataUtil.isEmpty(fourteen) || SinataUtil.isEmpty(fifteen)){
                     return new ErrorTip(500, "单元格不能为空");
@@ -819,26 +762,26 @@
                     if (!three.equals("是") && !three.equals("否")){
                         return new ErrorTip(500, "服务模式【专车】内容不正确");
                     }
-                    //判断服务模式【出租车】
-                    if (!four.equals("是") && !four.equals("否")){
-                        return new ErrorTip(500, "服务模式【出租车】内容不正确");
-                    }
-                    //判断服务模式【跨城出行】
-                    if (!five.equals("是") && !five.equals("否")){
-                        return new ErrorTip(500, "服务模式【跨城出行】内容不正确");
-                    }
+//                    //判断服务模式【出租车】
+//                    if (!four.equals("是") && !four.equals("否")){
+//                        return new ErrorTip(500, "服务模式【出租车】内容不正确");
+//                    }
+//                    //判断服务模式【跨城出行】
+//                    if (!five.equals("是") && !five.equals("否")){
+//                        return new ErrorTip(500, "服务模式【跨城出行】内容不正确");
+//                    }
                     //判断服务模式【小件同城物流】
                     if (!six.equals("是") && !six.equals("否")){
                         return new ErrorTip(500, "服务模式【小件同城物流】内容不正确");
                     }
-                    //判断服务模式【小件跨城物流】
-                    if (!seven.equals("是") && !seven.equals("否")){
-                        return new ErrorTip(500, "服务模式【小件跨城物流】内容不正确");
-                    }
-                    //判断服务模式【包车】
-                    if (!eight.equals("是") && !eight.equals("否")){
-                        return new ErrorTip(500, "服务模式【包车】内容不正确");
-                    }
+//                    //判断服务模式【小件跨城物流】
+//                    if (!seven.equals("是") && !seven.equals("否")){
+//                        return new ErrorTip(500, "服务模式【小件跨城物流】内容不正确");
+//                    }
+//                    //判断服务模式【包车】
+//                    if (!eight.equals("是") && !eight.equals("否")){
+//                        return new ErrorTip(500, "服务模式【包车】内容不正确");
+//                    }
                     //判断车辆颜色
                     if (!eleven.equals("黑色") && !eleven.equals("银色") && !eleven.equals("白色") && !eleven.equals("红色") && !eleven.equals("黄色") && !eleven.equals("橙色") && !eleven.equals("蓝色")){
                         return new ErrorTip(500, "车辆颜色内容不正确");
@@ -934,20 +877,20 @@
                         service.setType(1);
                         tCarServiceService.insert(service);
                     }
-                    //添加出租车服务模式
-                    if ("是".equals(four)){
-                        TCarService service = new TCarService();
-                        service.setCarId(car.getId());
-                        service.setType(2);
-                        tCarServiceService.insert(service);
-                    }
-                    //添加跨城出行服务模式
-                    if ("是".equals(five)){
-                        TCarService service = new TCarService();
-                        service.setCarId(car.getId());
-                        service.setType(3);
-                        tCarServiceService.insert(service);
-                    }
+//                    //添加出租车服务模式
+//                    if ("是".equals(four)){
+//                        TCarService service = new TCarService();
+//                        service.setCarId(car.getId());
+//                        service.setType(2);
+//                        tCarServiceService.insert(service);
+//                    }
+//                    //添加跨城出行服务模式
+//                    if ("是".equals(five)){
+//                        TCarService service = new TCarService();
+//                        service.setCarId(car.getId());
+//                        service.setType(3);
+//                        tCarServiceService.insert(service);
+//                    }
                     //添加小件同城物流服务模式
                     if ("是".equals(six)){
                         TCarService service = new TCarService();
@@ -955,20 +898,20 @@
                         service.setType(4);
                         tCarServiceService.insert(service);
                     }
-                    //添加小件跨城物流服务模式
-                    if ("是".equals(seven)){
-                        TCarService service = new TCarService();
-                        service.setCarId(car.getId());
-                        service.setType(5);
-                        tCarServiceService.insert(service);
-                    }
-                    //添加包车服务模式
-                    if ("是".equals(eight)){
-                        TCarService service = new TCarService();
-                        service.setCarId(car.getId());
-                        service.setType(6);
-                        tCarServiceService.insert(service);
-                    }
+//                    //添加小件跨城物流服务模式
+//                    if ("是".equals(seven)){
+//                        TCarService service = new TCarService();
+//                        service.setCarId(car.getId());
+//                        service.setType(5);
+//                        tCarServiceService.insert(service);
+//                    }
+//                    //添加包车服务模式
+//                    if ("是".equals(eight)){
+//                        TCarService service = new TCarService();
+//                        service.setCarId(car.getId());
+//                        service.setType(6);
+//                        tCarServiceService.insert(service);
+//                    }
                 }
             }
         } catch (Exception e) {
@@ -1038,7 +981,7 @@
         shellList.add("颜色");
         shellList.add("服务模式");
         shellList.add("车牌号");
-        shellList.add("行驶证号码");
+        shellList.add("roadworthiness sticker");
         shellList.add("座位数");
         shellList.add("关联司机");
         shellList.add("年检到期时间");
diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TCompanyController.java b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TCompanyController.java
index 05ec077..33a347e 100644
--- a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TCompanyController.java
+++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TCompanyController.java
@@ -14,7 +14,6 @@
 import com.stylefeng.guns.modular.system.service.ITCompanyCityService;
 import com.stylefeng.guns.modular.system.service.ITRegionService;
 import com.stylefeng.guns.modular.system.service.IUserService;
-import com.stylefeng.guns.modular.system.util.PushMinistryOfTransportUtil;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -54,9 +53,6 @@
 
     @Autowired
     private ITCompanyCityService tCompanyCityService;
-
-    @Autowired
-    private PushMinistryOfTransportUtil pushMinistryOfTransportUtil;
 
     @Value("${pushMinistryOfTransport}")
     private boolean pushMinistryOfTransport;
@@ -424,19 +420,6 @@
         addSocpe(subArr,tCompany.getId());
 
         TCompany tCompany1 = tCompanyService.selectById(tCompany.getId());
-        if(tCompany1.getType() == 1){
-            new Thread(new Runnable() {
-                @Override
-                public void run() {
-                    if(pushMinistryOfTransport){//上传平台数据
-                        pushMinistryOfTransportUtil.baseInfoCompanyPay();//上传网约车平台公司支付信息
-                        pushMinistryOfTransportUtil.baseInfoCompany(tCompany.getId());
-                        pushMinistryOfTransportUtil.baseInfoCompanyService();
-                        pushMinistryOfTransportUtil.baseInfoCompanyPermit(tCompany.getId());
-                    }
-                }
-            }).start();
-        }
         return SUCCESS_TIP;
     }
 
diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TComplaintController.java b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TComplaintController.java
index b5589db..0c51d8d 100644
--- a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TComplaintController.java
+++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TComplaintController.java
@@ -5,10 +5,8 @@
 import com.stylefeng.guns.core.common.constant.factory.PageFactory;
 import com.stylefeng.guns.core.shiro.ShiroKit;
 import com.stylefeng.guns.core.util.SinataUtil;
-import com.stylefeng.guns.modular.system.model.TProblem;
 import com.stylefeng.guns.modular.system.model.TSystemNotice;
 import com.stylefeng.guns.modular.system.service.ITSystemNoticeService;
-import com.stylefeng.guns.modular.system.util.PushMinistryOfTransportUtil;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -16,13 +14,10 @@
 import org.springframework.ui.Model;
 import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.beans.factory.annotation.Autowired;
-import com.stylefeng.guns.core.log.LogObjectHolder;
 import org.springframework.web.bind.annotation.RequestParam;
 import com.stylefeng.guns.modular.system.model.TComplaint;
 import com.stylefeng.guns.modular.system.service.ITComplaintService;
 
-import java.io.UnsupportedEncodingException;
-import java.net.URLDecoder;
 import java.util.Date;
 import java.util.Map;
 
@@ -43,9 +38,6 @@
 
     @Autowired
     private ITSystemNoticeService tSystemNoticeService;
-
-    @Autowired
-    private PushMinistryOfTransportUtil pushMinistryOfTransportUtil;
 
     @Value("${pushMinistryOfTransport}")
     private boolean pushMinistryOfTransport;
@@ -142,15 +134,6 @@
             notice.setInsertTime(new Date());
             notice.setRead(1);
             tSystemNoticeService.insert(notice);
-
-            new Thread(new Runnable() {
-                @Override
-                public void run() {
-                    if(pushMinistryOfTransport){//上传数据
-                        pushMinistryOfTransportUtil.ratedPassengerComplaint(tComplaint.getId());
-                    }
-                }
-            }).start();
         }
         return SUCCESS_TIP;
     }
diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TDriverController.java b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TDriverController.java
index 0f79c76..a77ced0 100644
--- a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TDriverController.java
+++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TDriverController.java
@@ -16,7 +16,6 @@
 import com.stylefeng.guns.modular.system.model.*;
 import com.stylefeng.guns.modular.system.service.*;
 import com.stylefeng.guns.modular.system.util.HttpRequestUtil;
-import com.stylefeng.guns.modular.system.util.PushMinistryOfTransportUtil;
 import com.stylefeng.guns.modular.system.util.PushURL;
 import com.stylefeng.guns.modular.system.util.ResultUtil;
 import org.apache.poi.ss.usermodel.Cell;
@@ -64,9 +63,6 @@
 
     @Autowired
     private ITLineService itLineService;
-
-    @Autowired
-    private PushMinistryOfTransportUtil pushMinistryOfTransportUtil;
 
     @Autowired
     private  ITDriverTeamService itDriverTeamService;
@@ -300,52 +296,14 @@
             }
             List<DriverTrain> driverTrains = driverTrainMapper.queryAllTrain(driverId);
             for(DriverTrain driverTrain : driverTrains){
-                boolean b = true;
                 for(String s : split){
                     String[] s1 = s.split("_");
                     if(ToolUtil.isNotEmpty(s1[0]) && driverTrain.getId() == Integer.valueOf(s1[0])){
-                        b = false;
                         break;
                     }
                 }
-                if(b){
-                    driverTrainMapper.deleteById(driverTrain.getId());
-                    new Thread(new Runnable() {
-                        @Override
-                        public void run() {
-                            if(pushMinistryOfTransport){//上传数据
-                                pushMinistryOfTransportUtil.baseInfoDriverEducate(driverTrain.getId(), 3);
-                            }
-                        }
-                    }).start();
-                }
             }
-            if(update.size() > 0){
-                for(DriverTrain driverTrain : update){
-                    driverTrainMapper.updateById(driverTrain);
-                    new Thread(new Runnable() {
-                        @Override
-                        public void run() {
-                            if(pushMinistryOfTransport){//上传数据
-                                pushMinistryOfTransportUtil.baseInfoDriverEducate(driverTrain.getId(), 2);
-                            }
-                        }
-                    }).start();
-                }
-            }
-            if(add.size() > 0){
-                for(DriverTrain driverTrain : add){
-                    driverTrainMapper.insert(driverTrain);
-                    new Thread(new Runnable() {
-                        @Override
-                        public void run() {
-                            if(pushMinistryOfTransport){//上传数据
-                                pushMinistryOfTransportUtil.baseInfoDriverEducate(driverTrain.getId(), 1);
-                            }
-                        }
-                    }).start();
-                }
-            }
+
 
         }catch (Exception e){
             e.printStackTrace();
@@ -432,19 +390,6 @@
             if(update.size() > 0){
                 for(DriverPunish driverTrain : update){
                     driverPunishMapper.updateById(driverTrain);
-                }
-            }
-            if(add.size() > 0){
-                for(DriverPunish driverTrain : add){
-                    driverPunishMapper.insert(driverTrain);
-                    new Thread(new Runnable() {
-                        @Override
-                        public void run() {
-                            if(pushMinistryOfTransport){//上传数据
-                                pushMinistryOfTransportUtil.ratedDriverPunish(driverTrain.getId());
-                            }
-                        }
-                    }).start();
                 }
             }
 
@@ -592,17 +537,6 @@
             if (1 == authState){
                 type = 5;
                 tDriver.setAuthState(2);
-
-                new Thread(new Runnable() {
-                    @Override
-                    public void run() {
-                        if(pushMinistryOfTransport){//上传数据
-                            pushMinistryOfTransportUtil.baseInfoCompanyStat();
-                            pushMinistryOfTransportUtil.baseInfoDriver(id);
-                            pushMinistryOfTransportUtil.baseInfoDriverApp(id);
-                        }
-                    }
-                }).start();
 
 
                 if(tDriver.getUid()!=null && tDriver.getuType()!=null && tDriver.getuType() == 2){
@@ -795,26 +729,8 @@
             TDriver tDriver = tDriverService.selectById(driverId);
             if (1 == optType){  //解冻
                 tDriver.setAuthState(2);
-                new Thread(new Runnable() {
-                    @Override
-                    public void run() {
-                        if(pushMinistryOfTransport){//上传数据
-                            pushMinistryOfTransportUtil.baseInfoCompanyStat();
-                            pushMinistryOfTransportUtil.baseInfoDriver(driverId);
-                        }
-                    }
-                }).start();
             }else if (2 == optType){  //冻结
                 tDriver.setAuthState(3);
-                new Thread(new Runnable() {
-                    @Override
-                    public void run() {
-                        if(pushMinistryOfTransport){//上传数据
-                            pushMinistryOfTransportUtil.baseInfoCompanyStat();
-                            pushMinistryOfTransportUtil.baseInfoDriver(driverId);
-                        }
-                    }
-                }).start();
             }
             tDriver.setRemark(remark);
             tDriverService.updateById(tDriver);
@@ -897,16 +813,6 @@
                 }
             }
         }
-
-        new Thread(new Runnable() {
-            @Override
-            public void run() {
-                if(pushMinistryOfTransport){//上传数据
-                    pushMinistryOfTransportUtil.baseInfoDriver(tDriver.getId());
-                }
-            }
-        }).start();
-
         return SUCCESS_TIP;
     }
 
diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TVersionManagementController.java b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TVersionManagementController.java
index f687a33..45b428e 100644
--- a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TVersionManagementController.java
+++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TVersionManagementController.java
@@ -10,7 +10,6 @@
 import com.stylefeng.guns.core.util.ToolUtil;
 import com.stylefeng.guns.modular.system.model.TPubWithdrawal;
 import com.stylefeng.guns.modular.system.util.OssUploadUtil;
-import com.stylefeng.guns.modular.system.util.PushMinistryOfTransportUtil;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.*;
@@ -43,9 +42,6 @@
 
     @Autowired
     private ITVersionManagementService tVersionManagementService;
-
-    @Autowired
-    private PushMinistryOfTransportUtil pushMinistryOfTransportUtil;
 
     @Value("${pushMinistryOfTransport}")
     private boolean pushMinistryOfTransport;
diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TOrderPrivateCarController.java b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TOrderPrivateCarController.java
index 5d53ae6..65e4908 100644
--- a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TOrderPrivateCarController.java
+++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TOrderPrivateCarController.java
@@ -14,7 +14,6 @@
 import com.stylefeng.guns.modular.system.model.*;
 import com.stylefeng.guns.modular.system.service.*;
 import com.stylefeng.guns.modular.system.util.HttpRequestUtil;
-import com.stylefeng.guns.modular.system.util.PushMinistryOfTransportUtil;
 import com.stylefeng.guns.modular.system.util.PushURL;
 import com.stylefeng.guns.modular.system.util.ResultUtil;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -56,9 +55,6 @@
 
     @Autowired
     private ITDriverService tDriverService;
-
-    @Autowired
-    private PushMinistryOfTransportUtil pushMinistryOfTransportUtil;
 
     @Resource
     private OrderCancelMapper orderCancelMapper;
@@ -315,16 +311,6 @@
         map.put("orderType", "1");
         String result = HttpRequestUtil.postRequest(PushURL.cancel_order_url, map);
         System.out.println("专车取消:【orderId="+tOrderPrivateCar.getId().toString()+"】,调用接口:"+result);
-
-        new Thread(new Runnable() {
-            @Override
-            public void run() {
-                if(pushMinistryOfTransport){//上传数据
-                    pushMinistryOfTransportUtil.orderCancel(tOrderPrivateCarId);
-                }
-            }
-        }).start();
-
         return SUCCESS_TIP;
     }
 
diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TSystemPriceController.java b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TSystemPriceController.java
index c319ccc..199d0d8 100644
--- a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TSystemPriceController.java
+++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TSystemPriceController.java
@@ -9,7 +9,6 @@
 import com.stylefeng.guns.core.util.SinataUtil;
 import com.stylefeng.guns.modular.system.model.TServerCarmodel;
 import com.stylefeng.guns.modular.system.service.ITServerCarmodelService;
-import com.stylefeng.guns.modular.system.util.PushMinistryOfTransportUtil;
 import net.sf.json.JSONObject;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Controller;
@@ -44,9 +43,6 @@
 
     @Autowired
     private ITServerCarmodelService tServerCarmodelService;
-
-    @Autowired
-    private PushMinistryOfTransportUtil pushMinistryOfTransportUtil;
 
     @Value("${pushMinistryOfTransport}")
     private boolean pushMinistryOfTransport;
@@ -171,14 +167,6 @@
         tSystemPrice.setType(1);
         tSystemPrice.setState(1);
         tSystemPriceService.insert(tSystemPrice);
-        new Thread(new Runnable() {
-            @Override
-            public void run() {
-                if(pushMinistryOfTransport){//上传数据
-                    pushMinistryOfTransportUtil.baseInfoCompanyFare(tSystemPrice.getId());
-                }
-            }
-        }).start();
         return SUCCESS_TIP;
     }
 
@@ -202,14 +190,6 @@
             }
         }
         tSystemPriceService.updateById(tSystemPrice);
-        new Thread(new Runnable() {
-            @Override
-            public void run() {
-                if(pushMinistryOfTransport) {//上传数据
-                    pushMinistryOfTransportUtil.baseInfoCompanyFare(tSystemPrice.getId());
-                }
-            }
-        }).start();
         return SUCCESS_TIP;
     }
 
@@ -238,18 +218,18 @@
     @ResponseBody
     public Object smallSubmit(String json1,String json2) {
         //跨城小件物流
-        TSystemPrice one = tSystemPriceService.selectOne(new EntityWrapper<TSystemPrice>().eq("type", 5).eq("companyId", ShiroKit.getUser().getObjectId()));
-        if (SinataUtil.isNotEmpty(one)){
-            one.setContent(json1);
-            tSystemPriceService.updateById(one);
-        }else{
-            one = new TSystemPrice();
-            one.setState(1);
-            one.setType(5);
-            one.setCompanyId(ShiroKit.getUser().getObjectId());
-            one.setContent(json1);
-            tSystemPriceService.insert(one);
-        }
+//        TSystemPrice one = tSystemPriceService.selectOne(new EntityWrapper<TSystemPrice>().eq("type", 5).eq("companyId", ShiroKit.getUser().getObjectId()));
+//        if (SinataUtil.isNotEmpty(one)){
+//            one.setContent(json1);
+//            tSystemPriceService.updateById(one);
+//        }else{
+//            one = new TSystemPrice();
+//            one.setState(1);
+//            one.setType(5);
+//            one.setCompanyId(ShiroKit.getUser().getObjectId());
+//            one.setContent(json1);
+//            tSystemPriceService.insert(one);
+//        }
         //同城小件物流
         TSystemPrice two = tSystemPriceService.selectOne(new EntityWrapper<TSystemPrice>().eq("type", 4).eq("companyId", ShiroKit.getUser().getObjectId()));
         if (SinataUtil.isNotEmpty(two)){
diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/CityMapper.java b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/CityMapper.java
new file mode 100644
index 0000000..4cdf418
--- /dev/null
+++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/CityMapper.java
@@ -0,0 +1,7 @@
+package com.stylefeng.guns.modular.system.dao;
+
+import com.baomidou.mybatisplus.mapper.BaseMapper;
+import com.stylefeng.guns.modular.system.model.City;
+
+public interface CityMapper extends BaseMapper<City> {
+}
diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/CityMapper.xml b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/CityMapper.xml
new file mode 100644
index 0000000..bdbfe2f
--- /dev/null
+++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/CityMapper.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.stylefeng.guns.modular.system.dao.CityMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.stylefeng.guns.modular.system.model.City">
+        <id column="id" property="id"/>
+        <result column="chineseName" property="chineseName"/>
+        <result column="englishName" property="englishName"/>
+        <result column="frenchName" property="frenchName"/>
+    </resultMap>
+</mapper>
\ No newline at end of file
diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TAdvertisementMapper.xml b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TAdvertisementMapper.xml
index 49d8dc5..ec0f857 100644
--- a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TAdvertisementMapper.xml
+++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TAdvertisementMapper.xml
@@ -26,8 +26,8 @@
 
     <!--根据条件查询广告列表-->
     <select id="getAdvertisementList" resultType="map" parameterType="com.baomidou.mybatisplus.plugins.Page">
-        SELECT * FROM (SELECT rr.`name` as provinceName,aa.* FROM t_advertisement as aa
-        LEFT JOIN t_region as rr on rr.id = aa.provinceId) as o
+        SELECT * FROM (SELECT rr.chineseName as provinceName,aa.* FROM t_advertisement as aa
+        LEFT JOIN t_city as rr on rr.id = aa.cityId) as o
         <where>
             1=1
             <if test="beginTime != null and beginTime != '' and endTime != null and endTime != ''">
diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TAgreementMapper.xml b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TAgreementMapper.xml
index a7420de..07cc703 100644
--- a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TAgreementMapper.xml
+++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TAgreementMapper.xml
@@ -8,6 +8,7 @@
         <result column="useType" property="useType" />
         <result column="content" property="content" />
         <result column="type" property="type" />
+        <result column="language" property="language"/>
         <result column="flag" property="flag" />
         <result column="insertTime" property="insertTime" />
         <result column="insertUser" property="insertUser" />
diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TDriverMapper.xml b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TDriverMapper.xml
index 25a7bb1..01e4356 100644
--- a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TDriverMapper.xml
+++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TDriverMapper.xml
@@ -19,6 +19,7 @@
         <result column="idCardImgUrl2" property="idCardImgUrl2" />
         <result column="placeOfEmployment" property="placeOfEmployment" />
         <result column="birthday" property="birthday" />
+        <result column="email" property="email"/>
         <result column="bankCardNumber" property="bankCardNumber" />
         <result column="driverNationality" property="driverNationality" />
         <result column="driverNation" property="driverNation" />
@@ -30,7 +31,8 @@
         <result column="driverContactAddress" property="driverContactAddress" />
         <result column="driverAge" property="driverAge" />
         <result column="driveCard" property="driveCard" />
-        <result column="driveCardImgUrl" property="driveCardImgUrl" />
+        <result column="driveCardImgUrl1" property="driveCardImgUrl1" />
+        <result column="driveCardImgUrl2" property="driveCardImgUrl2" />
         <result column="driverType" property="driverType" />
         <result column="getDriverLicenseDate" property="getDriverLicenseDate" />
         <result column="driverLicenseOn" property="driverLicenseOn" />
diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/City.java b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/City.java
new file mode 100644
index 0000000..05c26fd
--- /dev/null
+++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/City.java
@@ -0,0 +1,68 @@
+package com.stylefeng.guns.modular.system.model;
+
+import com.baomidou.mybatisplus.annotations.TableField;
+import com.baomidou.mybatisplus.annotations.TableId;
+import com.baomidou.mybatisplus.annotations.TableName;
+import com.baomidou.mybatisplus.enums.IdType;
+
+/**
+ * 城市
+ */
+@TableName("t_city")
+public class City {
+    //主键
+    @TableId(value = "id", type = IdType.AUTO)
+    @TableField("id")
+    private Integer id;
+    //中文名称
+    @TableField("chineseName")
+    private String chineseName;
+    //英文名称
+    @TableField("englishName")
+    private String englishName;
+    //法文名称
+    @TableField("frenchName")
+    private String frenchName;
+
+    public Integer getId() {
+        return id;
+    }
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    public String getChineseName() {
+        return chineseName;
+    }
+
+    public void setChineseName(String chineseName) {
+        this.chineseName = chineseName;
+    }
+
+    public String getEnglishName() {
+        return englishName;
+    }
+
+    public void setEnglishName(String englishName) {
+        this.englishName = englishName;
+    }
+
+    public String getFrenchName() {
+        return frenchName;
+    }
+
+    public void setFrenchName(String frenchName) {
+        this.frenchName = frenchName;
+    }
+
+    @Override
+    public String toString() {
+        return "City{" +
+                "id=" + id +
+                ", chineseName='" + chineseName + '\'' +
+                ", englishName='" + englishName + '\'' +
+                ", frenchName='" + frenchName + '\'' +
+                '}';
+    }
+}
diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TAdvertisement.java b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TAdvertisement.java
index d158a2e..19d1627 100644
--- a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TAdvertisement.java
+++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TAdvertisement.java
@@ -68,14 +68,14 @@
     /**
      * 所属省Id
      */
-    private Integer provinceId;
+    private Integer cityId;
 
-    public Integer getProvinceId() {
-        return provinceId;
+    public Integer getCityId() {
+        return cityId;
     }
 
-    public void setProvinceId(Integer provinceId) {
-        this.provinceId = provinceId;
+    public void setCityId(Integer cityId) {
+        this.cityId = cityId;
     }
 
     public Integer getState() {
diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TAgreement.java b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TAgreement.java
index a7cb139..c95ef85 100644
--- a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TAgreement.java
+++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TAgreement.java
@@ -30,6 +30,10 @@
      */
     private Integer useType;
     /**
+     * 语言类型(1=简体中文,2=英语,3=法语)
+     */
+    private Integer language;
+    /**
      * 协议内容
      */
     private String content;
@@ -63,6 +67,14 @@
         this.useType = useType;
     }
 
+    public Integer getLanguage() {
+        return language;
+    }
+
+    public void setLanguage(Integer language) {
+        this.language = language;
+    }
+
     public String getContent() {
         return content;
     }
diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TDriver.java b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TDriver.java
index 65d7e04..c359ba6 100644
--- a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TDriver.java
+++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TDriver.java
@@ -86,6 +86,10 @@
      */
     private Date birthday;
     /**
+     * 邮件
+     */
+    private String email;
+    /**
      * 银行卡号
      */
     private String bankCardNumber;
@@ -132,7 +136,11 @@
     /**
      * 驾驶证照片
      */
-    private String driveCardImgUrl;
+    private String driveCardImgUrl1;
+    /**
+     * 驾驶证照片
+     */
+    private String driveCardImgUrl2;
     /**
      * 准驾车型
      */
@@ -501,6 +509,14 @@
         this.birthday = birthday;
     }
 
+    public String getEmail() {
+        return email;
+    }
+
+    public void setEmail(String email) {
+        this.email = email;
+    }
+
     public String getBankCardNumber() {
         return bankCardNumber;
     }
@@ -589,12 +605,20 @@
         this.driveCard = driveCard;
     }
 
-    public String getDriveCardImgUrl() {
-        return driveCardImgUrl;
+    public String getDriveCardImgUrl1() {
+        return driveCardImgUrl1;
     }
 
-    public void setDriveCardImgUrl(String driveCardImgUrl) {
-        this.driveCardImgUrl = driveCardImgUrl;
+    public void setDriveCardImgUrl1(String driveCardImgUrl1) {
+        this.driveCardImgUrl1 = driveCardImgUrl1;
+    }
+
+    public String getDriveCardImgUrl2() {
+        return driveCardImgUrl2;
+    }
+
+    public void setDriveCardImgUrl2(String driveCardImgUrl2) {
+        this.driveCardImgUrl2 = driveCardImgUrl2;
     }
 
     public String getDriverType() {
@@ -912,7 +936,6 @@
                 ", driverContactAddress='" + driverContactAddress + '\'' +
                 ", driverAge=" + driverAge +
                 ", driveCard='" + driveCard + '\'' +
-                ", driveCardImgUrl='" + driveCardImgUrl + '\'' +
                 ", driverType='" + driverType + '\'' +
                 ", getDriverLicenseDate=" + getDriverLicenseDate +
                 ", driverLicenseOn=" + driverLicenseOn +
diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ICityService.java b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ICityService.java
new file mode 100644
index 0000000..565af61
--- /dev/null
+++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ICityService.java
@@ -0,0 +1,7 @@
+package com.stylefeng.guns.modular.system.service;
+
+import com.baomidou.mybatisplus.service.IService;
+import com.stylefeng.guns.modular.system.model.City;
+
+public interface ICityService extends IService<City> {
+}
diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/CityServiceImpl.java b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/CityServiceImpl.java
new file mode 100644
index 0000000..c3073b5
--- /dev/null
+++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/CityServiceImpl.java
@@ -0,0 +1,11 @@
+package com.stylefeng.guns.modular.system.service.impl;
+
+import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.stylefeng.guns.modular.system.dao.CityMapper;
+import com.stylefeng.guns.modular.system.model.City;
+import com.stylefeng.guns.modular.system.service.ICityService;
+import org.springframework.stereotype.Service;
+
+@Service
+public class CityServiceImpl extends ServiceImpl<CityMapper, City> implements ICityService {
+}
diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushMinistryOfTransportUtil.java b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushMinistryOfTransportUtil.java
deleted file mode 100644
index 8ba6338..0000000
--- a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushMinistryOfTransportUtil.java
+++ /dev/null
@@ -1,609 +0,0 @@
-package com.stylefeng.guns.modular.system.util;
-
-import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONObject;
-import com.baomidou.mybatisplus.mapper.EntityWrapper;
-import com.stylefeng.guns.modular.system.dao.CarInsuranceMapper;
-import com.stylefeng.guns.modular.system.dao.DriverPunishMapper;
-import com.stylefeng.guns.modular.system.dao.DriverTrainMapper;
-import com.stylefeng.guns.modular.system.dao.OrderCancelMapper;
-import com.stylefeng.guns.modular.system.model.*;
-import com.stylefeng.guns.modular.system.service.*;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-
-import javax.annotation.Resource;
-import java.util.*;
-import java.util.regex.Pattern;
-
-/**
- * 上传安全平台数据
- */
-@Component
-public class PushMinistryOfTransportUtil {
-
-    @Autowired
-    private ITCarService carService;
-
-    @Autowired
-    private ITDriverService driverService;
-
-    @Autowired
-    private ITCompanyService companyService;
-
-    @Autowired
-    private ITSystemPriceService systemPriceService;
-
-    @Autowired
-    private ITCarModelService carModelService;
-
-    @Autowired
-    private ITCarBrandService carBrandService;
-
-    @Autowired
-    private ITCarServiceService carServiceService;
-
-    @Autowired
-    private ITVersionManagementService versionManagementService;
-
-    @Autowired
-    private ITOrderPrivateCarService orderPrivateCarService;
-
-    @Autowired
-    private ITComplaintService complaintService;
-
-    @Resource
-    private OrderCancelMapper orderCancelMapper;
-
-    @Autowired
-    private GDMapGeocodingUtil gdMapGeocodingUtil;
-
-    @Resource
-    private CarInsuranceMapper carInsuranceMapper;
-
-    @Resource
-    private DriverTrainMapper driverTrainMapper;
-
-    @Resource
-    private DriverPunishMapper driverPunishMapper;
-
-
-    /**
-     * 上传企业基础信息
-     */
-    public void baseInfoCompany(Integer id){
-        TCompany tCompany = companyService.selectById(id);
-        String fileName = System.currentTimeMillis() + ".jpg";
-        //上传图片文件
-        Map<String, String> file = new HashMap<>();
-        file.put("path", "/tmp");
-        file.put("fileName", fileName);
-        file.put("url", tCompany.getLegalPhotoUrl());
-        file.put("newFilePath", "/swapfiles");
-        String result_ = HttpRequestUtil.postRequest(PushURL.ministry_of_transport_ftp + "/uploadAndMoveFile", file);
-        System.out.println("上传图片文件:" + result_);
-
-        //上传数据
-        JSONObject jsonObject = new JSONObject();
-        jsonObject.put("CompanyName", tCompany.getName());//公司名称
-        jsonObject.put("Identifier", tCompany.getIdentifier());//统一社会信用代码
-        jsonObject.put("Address", Integer.valueOf(tCompany.getAddressCode()));//注册地行政区划代码
-        jsonObject.put("BusinessScope", tCompany.getBusinessScope());//经营范围
-        jsonObject.put("ContactAddress", tCompany.getContactAddress());//通信地址
-        jsonObject.put("EconomicType", tCompany.getEconomicType());//经营业户经济类型
-        jsonObject.put("RegCapital", tCompany.getRegCapital());//注册资本
-        jsonObject.put("LegalName", tCompany.getLegalName());//法人代表姓名
-        jsonObject.put("LegalID", tCompany.getLegalId());//法人代表身份证号
-        jsonObject.put("LegalPhone", tCompany.getLegalPhone());//法人代表电话
-        jsonObject.put("LegalPhoto", fileName);//法人代表身份证扫描件文件编号(.jpg)
-        jsonObject.put("State", 0);//状态(0:有效,1:失效)
-        jsonObject.put("Flag", 1);//操作标识(1:新增,2:更新,3:删除)
-        jsonObject.put("UpdateTime", new Date());
-        Map<String, String> map = new HashMap<>();
-        map.put("baseInfoCompany", jsonObject.toJSONString());
-        String result = HttpRequestUtil.postRequest(PushURL.ministry_of_transport_data + "/baseInfoCompany", map);
-        System.out.println("上传企业基础信息:" + result);
-    }
-
-
-
-
-    /**
-     * 上传网约车平台公司营运规模信息
-     */
-    public void baseInfoCompanyStat(){
-        int state = carService.selectCount(new EntityWrapper<TCar>().eq("state", 1));
-        int i = driverService.selectCount(new EntityWrapper<TDriver>().eq("authState", 2).ne("flag", 3));
-        JSONObject jsonObject = new JSONObject();
-        jsonObject.put("VehicleNum", state);
-        jsonObject.put("DriverNum", i);
-        jsonObject.put("Flag", 1);
-        jsonObject.put("UpdateTime", new Date());
-        Map<String, String> map = new HashMap<>();
-        map.put("baseInfoCompanyStat", jsonObject.toJSONString());
-        String result = HttpRequestUtil.postRequest(PushURL.ministry_of_transport_data + "/baseInfoCompanyStat", map);
-        System.out.println("上传网约车平台公司营运规模信息:" + result);
-
-    }
-
-
-    /**
-     * 上传网约车平台公司支付信息
-     */
-    public void baseInfoCompanyPay(){
-        JSONObject jsonObject = new JSONObject();
-        jsonObject.put("PayName", "支付宝(中国)网络技术有限公司");//银行或者非银行支付机构名称
-        jsonObject.put("PayId", "2000133000019");//非银行支付机构支付业务许可证编号
-        jsonObject.put("PayType", "1");//支付业务类型
-        jsonObject.put("PayScope", "全国");//业务覆盖范围
-        jsonObject.put("PrepareBank", "中国工商银行");//备付金存管银行
-        jsonObject.put("CountDate", 15);//结算周期
-        jsonObject.put("State", 0);//状态(0:有效,1:失效)
-        jsonObject.put("Flag", 1);//操作标识(1:新增,2:更新,3:删除)
-        jsonObject.put("UpdateTime", new Date());
-        Map<String, String> map = new HashMap<>();
-        map.put("baseInfoCompanyPay", jsonObject.toJSONString());
-        String result = HttpRequestUtil.postRequest(PushURL.ministry_of_transport_data + "/baseInfoCompanyPay", map);
-        System.out.println("上传网约车平台公司支付信息:" + result);
-    }
-
-
-    /**
-     * 网约车平台公司服务机构
-     */
-    public void baseInfoCompanyService(){
-        JSONObject jsonObject = new JSONObject();
-        jsonObject.put("Address", 450204);//行政区划代码
-        jsonObject.put("ServiceName", "广西云森科技有限公司");//服务机构名称
-        jsonObject.put("ServiceNo", "45020401");//服务机构代码
-        jsonObject.put("DetailAddress", "柳州市柳邕路新翔小区二区6栋11号");//服务机构地址
-        jsonObject.put("ResponsibleName", "翁克顺");//服务机构负责人姓名
-        jsonObject.put("ResponsiblePhone", "13907728585");//负责人联系电话
-        jsonObject.put("ManagerName", "吴志武");//服务机构管理人姓名
-        jsonObject.put("ManagerPhone", "15907720083");//管理人联系电话
-        jsonObject.put("ContactPhone", "0772-3633333");//服务机构紧急联系电话
-        jsonObject.put("MailAddress", "柳州市城中区滨江西路15栋2号OK充电站");//行政文书送达邮寄地址
-        jsonObject.put("CreateDate", "2015年09月18日");//服务机构设立日期
-        jsonObject.put("State", 0);//状态(0:有效,1:失效)
-        jsonObject.put("Flag", 1);//操作标识(1:新增,2:更新,3:删除)
-        jsonObject.put("UpdateTime", new Date());
-        Map<String, String> map = new HashMap<>();
-        map.put("baseInfoCompanyService", jsonObject.toJSONString());
-        String result = HttpRequestUtil.postRequest(PushURL.ministry_of_transport_data + "/baseInfoCompanyService", map);
-        System.out.println("网约车平台公司服务机构:" + result);
-    }
-
-
-    /**
-     * 网约车平台公司经营许可
-     * @param id
-     */
-    public void baseInfoCompanyPermit(Integer id){
-        TCompany tCompany = companyService.selectById(id);
-        JSONObject jsonObject = new JSONObject();
-        jsonObject.put("Address", tCompany.getAddressCode());//许可地行政区划代码
-        jsonObject.put("Certificate", tCompany.getLicenseNumber());//网络预约出租车经营许可证号
-        jsonObject.put("OperationArea", "广西壮族自治区柳州市城区");//经营区域
-        jsonObject.put("OwnerName", tCompany.getName());//公司名称
-        jsonObject.put("Organization", tCompany.getLicensingAgency());//发证机构名称
-        jsonObject.put("StartDate", tCompany.getLicenseStartTime());//有效期起YYYYMMDD
-        jsonObject.put("StopDate", tCompany.getLicenseEndTime());//有效期止YYYYMMDD
-        jsonObject.put("CertifyDate", tCompany.getLicenseTime());//初次发证日期YYYYMMDD
-        jsonObject.put("State", 0);//状态(0:有效,1:失效)
-        jsonObject.put("Flag", 1);//操作标识(1:新增,2:更新,3:删除)
-        jsonObject.put("UpdateTime", new Date());
-        Map<String, String> map = new HashMap<>();
-        map.put("baseInfoCompanyPermit", jsonObject.toJSONString());
-        String result = HttpRequestUtil.postRequest(PushURL.ministry_of_transport_data + "/baseInfoCompanyPermit", map);
-        System.out.println("网约车平台公司经营许可:" + result);
-    }
-
-
-
-    /**
-     * 网约车平台公司运价信息
-     */
-    public void baseInfoCompanyFare(Integer id){
-        TSystemPrice tSystemPrice = systemPriceService.selectById(id);
-        String content = tSystemPrice.getContent();
-        JSONObject price = JSON.parseObject(content);
-
-        JSONObject jsonObject = new JSONObject();
-        jsonObject.put("Address", 450204);//运价适用地行政区划代码
-        jsonObject.put("FareType", id);//运价类型编码(由网约车平台公司统一编码,应确保唯一性)
-        jsonObject.put("FareTypeNote", tSystemPrice.getFareTypeNote());//运价类型说明
-        jsonObject.put("FareValidOn", new Date());//运价有效期起YYYYMMDDhhmmss
-        Calendar calendar = Calendar.getInstance();
-        calendar.setTime(new Date());
-        calendar.set(Calendar.YEAR, calendar.get(Calendar.YEAR) +1);
-        jsonObject.put("FareValidOff", calendar.getTime());//运价有效止YYYYMMDDhhmmss
-        jsonObject.put("StartFare", Double.valueOf(price.get("num1").toString()));//起步价(元)
-        jsonObject.put("StartMile", Double.valueOf(price.get("num2").toString()));//起步里程(km)
-        jsonObject.put("UnitPricePerMile", Double.valueOf(price.get("num4").toString()));//计程单价(按公里/元)
-        jsonObject.put("UnitPricePerMinute", Double.valueOf(price.get("num5").toString()));//计时单价(按分钟/元)
-        jsonObject.put("UpPrice", Double.valueOf(price.get("num10").toString()));//单程加价单价(元)
-        jsonObject.put("UpPriceStartMile", Double.valueOf(price.get("num8").toString()));//单程加价公里(km)
-        String[] num23s = price.get("num23").toString().split(" - ");
-        jsonObject.put("MorningPeakTimeOn", num23s[0]);//营运早高峰时间起(HHmm 24小时)
-        jsonObject.put("MorningPeakTimeOff", num23s[1]);//营运早高峰时间止(HHmm 24小时)
-        String[] num24s = price.get("num24").toString().split(" - ");
-        jsonObject.put("EveningPeakTimeOn", num24s[0]);//营运晚高峰时间起(HHmm 24小时)
-        jsonObject.put("EveningPeakTimeOff", num24s[1]);//营运晚高峰时间止(HHmm 24小时)
-        jsonObject.put("OtherPeakTimeOn", "");//其他营运高峰时间起(HHmm 24小时)
-        jsonObject.put("OtherPeakTineOff", "");//其他营运高峰时间止(HHmm 24小时)
-        jsonObject.put("PeakUnitPrice", Double.valueOf(price.get("num28").toString()));//高峰时间单程加价单价(元)
-        jsonObject.put("PeakPriceStartMile", Double.valueOf(price.get("num8").toString()));//高峰时间单程加价公里(km)
-        jsonObject.put("LowSpeedPriceMinute", 0);//低速计时加价(按分钟 元)
-        jsonObject.put("NightPricePerMile", Double.valueOf(price.get("num18").toString()));//夜间费(按公里 元)
-        jsonObject.put("NightPricePerMinute", Double.valueOf(price.get("num19").toString()));//夜间费(按分钟 元)
-        jsonObject.put("OtherPrice", 0);//其它加价金额(元)
-
-        jsonObject.put("State", tSystemPrice.getState() != 1 ? 1 : 0);//状态(0:有效,1:失效)
-        jsonObject.put("Flag", 1);//操作标识(1:新增,2:更新,3:删除)
-        jsonObject.put("UpdateTime", new Date());
-        Map<String, String> map = new HashMap<>();
-        map.put("baseInfoCompanyFare", jsonObject.toJSONString());
-        String result = HttpRequestUtil.postRequest(PushURL.ministry_of_transport_data + "/baseInfoCompanyFare", map);
-        System.out.println("网约车平台公司运价信息:" + result);
-    }
-
-
-    /**
-     * 车辆基本信息
-     * @param id
-     */
-    public void baseInfoVehicle(Integer id){
-        TCar tCar = carService.selectById(id);
-        TCarModel tCarModel = carModelService.selectById(tCar.getCarModelId());
-        TCarBrand tCarBrand = carBrandService.selectById(tCar.getCarBrandId());
-        TCarService tCarService = carServiceService.selectOne(new EntityWrapper<TCarService>().eq("carId", id).eq("type", 1));
-        TSystemPrice tSystemPrice = systemPriceService.selectOne(new EntityWrapper<TSystemPrice>()
-                .eq("type", 1)
-                .eq("serverCarModelId", tCarService.getServerCarModelId())
-                .eq("companyId", (tCar.getFranchiseeId() == null || tCar.getFranchiseeId() == 0) ? tCar.getCompanyId() : tCar.getFranchiseeId()).eq("state", 1));
-
-        String fileName = System.currentTimeMillis() + ".jpg";
-        //上传图片文件
-        Map<String, String> file = new HashMap<>();
-        file.put("path", "/tmp");
-        file.put("fileName", fileName);
-        file.put("url", tCar.getCarPhoto());
-        file.put("newFilePath", "/swapfiles");
-        String result_ = HttpRequestUtil.postRequest(PushURL.ministry_of_transport_ftp + "/uploadAndMoveFile", file);
-        System.out.println("上传图片文件:" + result_);
-
-        JSONObject jsonObject = new JSONObject();
-        jsonObject.put("Address", 450204);//车辆所在城市行政区划代码
-        jsonObject.put("VehicleNo", tCar.getCarLicensePlate());//车辆号牌
-        jsonObject.put("PlateColor", tCar.getPlateColor());//车牌颜色
-        jsonObject.put("Seats", tCarModel.getSeat());//核定载客位
-        jsonObject.put("Brand", tCarBrand.getName());//车辆厂牌
-        jsonObject.put("Model", tCarModel.getName());//车辆型号
-        jsonObject.put("VehicleType", tCar.getVehicleType());//车辆类型(以机动车行驶证为准)
-        jsonObject.put("OwnerName", tCar.getOwnerName());//车辆所有人(以机动车行驶证为准)
-        jsonObject.put("VehicleColor", tCar.getCarColor());//车身颜色
-        jsonObject.put("EngineId", tCar.getEngineId());//发动机号(以机动车行驶证为准)
-        jsonObject.put("VIN", tCar.getVIN());//车辆VIN码(以机动车行驶证为准)
-        jsonObject.put("CertifyDateA", tCar.getCertifyDateA());//车辆注册日期(以机动车行驶证为准)YYYY-MM-DD
-        jsonObject.put("FuelType", tCar.getFuelType());//车辆燃料类型
-        jsonObject.put("EngineDisplace", tCar.getEngineDisplace());//发送机排量(毫升)
-        jsonObject.put("PhotoId", fileName);//车辆照片文件编号
-        jsonObject.put("Certificate", tCar.getCertificate());//运输证字号
-        jsonObject.put("TransAgency", tCar.getTransAgency());//车辆运输证发证机构
-        jsonObject.put("TransArea", tCar.getTransArea());//车辆经营区域
-        jsonObject.put("TransDateStart", tCar.getTransDateStart());//车辆运输证有效期起YYYYMMDD
-        jsonObject.put("TransDateStop", tCar.getTransDateStop());//车辆运输证有效期止YYYYMMDD
-        jsonObject.put("CertifyDateB", tCar.getCertifyDateB());//车辆初次登记日期YYYY-MM-DD
-        jsonObject.put("FixState", tCar.getFixState());//车辆维修状态(0:未检修,1:已检修,2:未知)
-        jsonObject.put("NextFixDate", tCar.getNextFixDate());//车辆下次年检时间YYYY-MM-DD
-        jsonObject.put("CheckState", tCar.getCheckState());//车辆年度审验状态
-        jsonObject.put("FeePrintId", tCar.getFeePrintId());//发票打印设备序列号
-        jsonObject.put("GPSBrand", tCar.getGPSBrand());//卫星定位装置品牌
-        jsonObject.put("GPSModel", tCar.getGPSModel());//卫星定位装置型号
-        jsonObject.put("GPSIMEI", tCar.getGPSIMEI());//卫星定位装置IMEI号
-        jsonObject.put("GPSInstallDate", tCar.getGPSInstallDate());//卫星定位设备安装日期YYYYMMDD
-        jsonObject.put("RegisterDate", tCar.getRegisterDate());//报备日期(车辆信息向服务所在地出租车行政主管部门报备日期YYYYMMDD)
-        jsonObject.put("CommercialType", Integer.valueOf(tCar.getCommercialType()));//服务类型(1:网络预约出租车,2:巡游出租汽车,3:私人小客车合乘)
-        jsonObject.put("FareType", null == tSystemPrice ? "" : tSystemPrice.getId());//运价类型编码(与运价信息中一一对应)
-        jsonObject.put("State", tCar.getState() == 1 ? 0 : 1);//状态(0:有效,1:失效)
-        jsonObject.put("Flag", 1);//操作标识(1:新增,2:更新,3:删除)
-        jsonObject.put("UpdateTime", new Date());//YYYYMMDDhhmmss
-        Map<String, String> map = new HashMap<>();
-        map.put("baseInfoVehicle", jsonObject.toJSONString());
-        String result = HttpRequestUtil.postRequest(PushURL.ministry_of_transport_data + "/baseInfoVehicle", map);
-        System.out.println("车辆基本信息:" + result);
-    }
-
-
-    /**
-     * 车辆保险信息
-     */
-    public void baseInfoVehicleInsurance(Integer id, Integer flag){
-        CarInsurance carInsurance = carInsuranceMapper.selectById(id);
-        TCar tCar = carService.selectById(carInsurance.getCarId());
-        JSONObject jsonObject = new JSONObject();
-        jsonObject.put("VehicleNo", tCar.getCarLicensePlate());//车辆号牌
-        jsonObject.put("InsurCom", carInsurance.getInsurCom());//保险公司名称
-        jsonObject.put("InsurNum", carInsurance.getInsurNum());//保险号
-        jsonObject.put("InsurType", carInsurance.getInsurType());//保险类型
-        jsonObject.put("InsurCount", carInsurance.getInsurCount());//保险金额(元)
-        jsonObject.put("InsurEff", carInsurance.getInsurEff());//保险生效时间YYYYMMDD
-        jsonObject.put("InsurExp", carInsurance.getInsurExp());//保险到期时间YYYYMMDD
-        jsonObject.put("Flag", flag);//操作标识(1:新增,2:更新,3:删除)
-        jsonObject.put("UpdateTime", new Date());
-        Map<String, String> map = new HashMap<>();
-        map.put("baseInfoVehicleInsurance", jsonObject.toJSONString());
-        String result = HttpRequestUtil.postRequest(PushURL.ministry_of_transport_data + "/baseInfoVehicleInsurance", map);
-        System.out.println("车辆保险信息:" + result);
-    }
-
-
-    /**
-     * 驾驶员基本信息
-     * @param driverId
-     */
-    public void baseInfoDriver(Integer driverId){
-        TDriver tDriver = driverService.selectById(driverId);
-
-        //上传图片文件
-        String fileName = System.currentTimeMillis() + ".jpg";
-        Map<String, String> file = new HashMap<>();
-        file.put("path", "/tmp");
-        file.put("fileName", fileName);
-        file.put("url", tDriver.getHeadImgUrl());
-        file.put("newFilePath", "/swapfiles");
-        String result_ = HttpRequestUtil.postRequest(PushURL.ministry_of_transport_ftp + "/uploadAndMoveFile", file);
-        System.out.println("上传图片文件:" + result_);
-
-        String fileName1 = System.currentTimeMillis() + ".jpg";
-        Map<String, String> file1 = new HashMap<>();
-        file1.put("path", "/tmp");
-        file1.put("fileName", fileName1);
-        file1.put("url", tDriver.getDriveCardImgUrl());
-        file1.put("newFilePath", "/swapfiles");
-        String result1_ = HttpRequestUtil.postRequest(PushURL.ministry_of_transport_ftp + "/uploadAndMoveFile", file1);
-        System.out.println("上传图片文件:" + result1_);
-
-        JSONObject jsonObject = new JSONObject();
-        jsonObject.put("Address", 450204);//注册地行政区划代码
-        jsonObject.put("DriverName", tDriver.getName());//机动车驾驶员姓名
-        jsonObject.put("DriverPhone", tDriver.getPhone());//驾驶员手机号
-        jsonObject.put("DriverGender", (tDriver.getSex() == 1 ? "男" : "女"));//驾驶员性别
-        jsonObject.put("DriverBirthday", tDriver.getBirthday());//出生日期YYYYMMDD
-        jsonObject.put("DriverNationality", tDriver.getDriverNationality());//国籍
-        jsonObject.put("DriverNation", tDriver.getDriverNation());//驾驶员民族
-        jsonObject.put("DriverMaritalStatus", (tDriver.getDriverMaritalStatus() == 1 ? "未婚" : tDriver.getDriverMaritalStatus() == 2 ? "已婚" : "离异"));//驾驶员婚姻状况(未婚,已婚,离异)
-        jsonObject.put("DriverLanguageLevel", tDriver.getDriverLanguageLevel());//驾驶员外语能力
-        jsonObject.put("DriverEducation", tDriver.getDriverEducation());//驾驶员学历
-        jsonObject.put("DriverCensus", tDriver.getDriverCensus());//户口登记机关名称
-        jsonObject.put("DriverAddress", tDriver.getDriverAddress());//户口住址或长住地址
-        jsonObject.put("DriverContactAddress", tDriver.getDriverContactAddress());//驾驶员通信地址
-        jsonObject.put("PhotoId", fileName);//驾驶员照片文件编号
-        jsonObject.put("LicenseId", tDriver.getDriveCard());//机动车驾驶证号
-        jsonObject.put("LicensePhotoId", fileName1);//机动车驾驶证扫描件文件编号
-        jsonObject.put("DriverType", tDriver.getDriverType());//准驾车型
-        jsonObject.put("GetDriverLicenseDate", tDriver.getGetDriverLicenseDate());//初次领取驾驶证日期YYYYMMDD
-        jsonObject.put("DriverLicenseOn", tDriver.getDriverLicenseOn());//驾驶证有效期限起YYYYMMDD
-        jsonObject.put("DriverLicenseOff", tDriver.getDriverLicenseOff());//驾驶证有效期限止YYYYMMDD
-        jsonObject.put("TaxiDriver", tDriver.getTaxiDriver() == 0 ? 2 : 1);//是否巡游出租汽车驾驶员(1:是,2:否)
-        jsonObject.put("CertificateNo", tDriver.getTaxiAptitudeCard());//网络预约出租汽车驾驶员资格证号
-        jsonObject.put("NetworkCarIssueOrganization", tDriver.getNetworkCarlssueOrganization());//网络预约出租汽车驾驶员证发证机构
-        jsonObject.put("NetworkCarIssueDate", tDriver.getNetworkCarlssueDate());//资格证发证日期YYYYMMDD
-        jsonObject.put("GetNetworkCarProofDate", tDriver.getGetNetworkCarProofDate());//初次领取资格证日期YYYYMMDD
-        jsonObject.put("NetworkCarProofOn", tDriver.getNetworkCarProofOn());//资格证有效起始日期YYYYMMDD
-        jsonObject.put("NetworkCarProofOff", tDriver.getNetworkCarProofOff());//资格证有截止日期YYYYMMDD
-        jsonObject.put("RegisterDate", tDriver.getRegisterDate());//报备日期(驾驶员信息向服务所在地出租车行政主管部门报备日期)
-        jsonObject.put("FullTimeDriver", tDriver.getFullTimeDriver());//是否专职驾驶员(1:是,0:否)
-        jsonObject.put("InDriverBlacklist", tDriver.getInDriverBlacklist());//是否在驾驶员黑名单内(1:是,0:否)
-        jsonObject.put("CommercialType", tDriver.getCommercialType());//服务类型(1:网络预约出租汽车,2:巡游出租汽车,3:私人小客车合乘)
-        jsonObject.put("ContractCompany", tDriver.getContractCompany());//驾驶员合同签署公司
-        jsonObject.put("ContractOn", tDriver.getContractOn());//合同有效期起YYYYMMDD
-        jsonObject.put("ContractOff", tDriver.getContractOff());//合同有效期止YYYYMMDD
-        jsonObject.put("EmergencyContact", tDriver.getEmergencyContact());//紧急情况联系人
-        jsonObject.put("EmergencyContactPhone", tDriver.getEmergencyContactPhone());//紧急情况联系人电话
-        jsonObject.put("EmergencyContactAddress", tDriver.getEmergencyContactAddress());//紧急情况联系人通信地址
-
-        jsonObject.put("State", tDriver.getAuthState() == 2 ? 0 : 1);//状态(0:有效,1:失效)
-        jsonObject.put("Flag", tDriver.getFlag());//操作标识(1:新增,2:更新,3:删除)
-        jsonObject.put("UpdateTime", new Date());
-        Map<String, String> map = new HashMap<>();
-        map.put("baseInfoDriver", jsonObject.toJSONString());
-        String result = HttpRequestUtil.postRequest(PushURL.ministry_of_transport_data + "/baseInfoDriver", map);
-        System.out.println("驾驶员基本信息:" + result);
-    }
-
-
-    /**
-     * 网约车驾驶员培训信息
-     * @param id
-     * @param id
-     */
-    public void baseInfoDriverEducate(Integer id, Integer flag){
-        DriverTrain driverTrain = driverTrainMapper.selectById(id);
-        TDriver driver = driverService.selectById(driverTrain.getDriverId());
-        JSONObject jsonObject = new JSONObject();
-        jsonObject.put("Address", 450204);//注册地行政区划代码
-        jsonObject.put("LicenseId", driver.getDriveCard());//机动车驾驶证号
-        jsonObject.put("CourseName", driverTrain.getCourseName());//驾驶员培训课程名称
-        jsonObject.put("CourseDate", driverTrain.getCourseDate());//培训课程日期YYYYMMDD
-        jsonObject.put("StartTime", driverTrain.getStartTime());//培训开始时间
-        jsonObject.put("StopTime", driverTrain.getStopTime());//培训结束时间
-        jsonObject.put("Duration", driverTrain.getDuration());//培训时长
-        jsonObject.put("Flag", flag);//操作标识(1:新增,2:更新,3:删除)
-        jsonObject.put("UpdateTime", new Date());
-        Map<String, String> map = new HashMap<>();
-        map.put("baseInfoDriverEducate", jsonObject.toJSONString());
-        String result = HttpRequestUtil.postRequest(PushURL.ministry_of_transport_data + "/baseInfoDriverEducate", map);
-        System.out.println("网约车驾驶员培训信息:" + result);
-    }
-
-
-    /**
-     * 驾驶员移动终端信息
-     * @param driverId
-     */
-    public void baseInfoDriverApp(Integer driverId){
-        TDriver tDriver = driverService.selectById(driverId);
-        TVersionManagement type = versionManagementService.selectOne(new EntityWrapper<TVersionManagement>().eq("type", 2).orderBy("insertTime desc limit 0, 1"));
-        JSONObject jsonObject = new JSONObject();
-        jsonObject.put("Address", 450204);//注册地行政区划代码
-        jsonObject.put("LicenseId", tDriver.getDriveCard());//机动车驾驶证号
-        jsonObject.put("DriverPhone", tDriver.getPhone());//驾驶员手机号
-        jsonObject.put("NetType", phoneExp(tDriver.getPhone()));//手机运营商(1:中国联通,2:中国移动,3:中国电信,4:其他)
-        jsonObject.put("AppVersion", type.getVersion());//使用APP版本号
-        jsonObject.put("MapType", 2);//使用地图类型(1:百度地图,2:高德地图,3:其他)
-        jsonObject.put("State", 0);//状态(0:有效,1:失效)
-        jsonObject.put("Flag", 1);//操作标识(1:新增,2:更新,3:删除)
-        jsonObject.put("UpdateTime", new Date());
-        Map<String, String> map = new HashMap<>();
-        map.put("baseInfoDriverApp", jsonObject.toJSONString());
-        String result = HttpRequestUtil.postRequest(PushURL.ministry_of_transport_data + "/baseInfoDriverApp", map);
-        System.out.println("驾驶员移动终端信息:" + result);
-    }
-
-
-    /**
-     * 驾驶员统计信息
-     * @param driverId
-     */
-    public void baseInfoDriverStat(Integer driverId){
-        TDriver tDriver = driverService.selectById(driverId);
-        Calendar s = Calendar.getInstance();
-        s.setTime(new Date());
-        s.set(s.get(Calendar.YEAR), s.get(Calendar.MONTH) - 1, 1, 0, 0, 0);
-
-        Calendar e = Calendar.getInstance();
-        e.setTime(new Date());
-        e.set(e.get(Calendar.YEAR), e.get(Calendar.MONTH) - 1, e.getActualMaximum(Calendar.DAY_OF_MONTH), 23, 59, 59);
-
-        int i = orderPrivateCarService.selectCount(
-                new EntityWrapper<TOrderPrivateCar>()
-                        .eq("driverId", driverId)
-                        .in("state", Arrays.asList(6, 7, 8, 9))
-                        .between("travelTime", s.getTime(), e.getTime())
-        );
-        int i1 = complaintService.selectCount(
-                new EntityWrapper<TComplaint>()
-                        .eq("driverId", driverId)
-                        .between("insert_time", s.getTime(), e.getTime())
-        );
-        JSONObject jsonObject = new JSONObject();
-        jsonObject.put("Address", 450204);//注册地行政区划代码
-        jsonObject.put("LicenseId", tDriver.getDriveCard());//机动车驾驶证号
-        jsonObject.put("Cycle", s.getTime());//统计周期(统计周期按月,内容填写统计月份YYYYMM)
-        jsonObject.put("OrderCount", i);//完成订单次数
-        jsonObject.put("TrafficViolationCount", 0);//交通违章次数
-        jsonObject.put("ComplainedCount", i1);//被投诉次数
-        jsonObject.put("Flag", 1);//操作标识(1:新增,2:更新,3:删除)
-        jsonObject.put("UpdateTime", new Date());
-        Map<String, String> map = new HashMap<>();
-        map.put("baseInfoDriverStat", jsonObject.toJSONString());
-        String result = HttpRequestUtil.postRequest(PushURL.ministry_of_transport_data + "/baseInfoDriverStat", map);
-        System.out.println("驾驶员统计信息:" + result);
-    }
-
-
-    /**
-     * 订单撤销接口
-     * @param orderId
-     */
-    public void orderCancel(Integer orderId){
-        TOrderPrivateCar tOrderPrivateCar = orderPrivateCarService.selectById(orderId);
-        TDriver driver = driverService.selectById(tOrderPrivateCar.getDriverId());
-        OrderCancel query = orderCancelMapper.query(orderId, 1, null, null, 2);
-        Map<String, String> geocode = null;
-        try {
-            geocode = gdMapGeocodingUtil.geocode(tOrderPrivateCar.getBoardingLon().toString(),
-                    tOrderPrivateCar.getBoardingLat().toString());
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-        JSONObject jsonObject = new JSONObject();
-        jsonObject.put("Address", Integer.valueOf(geocode.get("districtCode")));//上车地点行政区划代码
-        jsonObject.put("OrderId", tOrderPrivateCar.getOrderNum());//订单编号
-        jsonObject.put("OrderTime", tOrderPrivateCar.getOrderNum());//订单时间YYYYMMDDhhmmss
-        jsonObject.put("CancelTime", query.getInsertTime());//订单撤销时间YYYYMMDDhhmmss
-        jsonObject.put("Operator", "3");//撤销发起方(1:乘客,2:驾驶员,3:平台公司)
-        jsonObject.put("CancelTypeCode", null != driver ? driver.getDriveCard() : "");//机动车驾驶证编号
-        jsonObject.put("CancelReason", query.getReason());//撤销或违约原因
-        Map<String, String> map = new HashMap<>();
-        map.put("orderCancel", jsonObject.toJSONString());
-        String result = HttpRequestUtil.postRequest(PushURL.ministry_of_transport_data + "/orderCancel", map);
-        System.out.println("订单撤销接口:" + result);
-    }
-
-
-    /**
-     * 乘客投诉信息
-     * @param id
-     */
-    public void ratedPassengerComplaint(Integer id){
-        TComplaint tComplaint = complaintService.selectById(id);
-        JSONObject jsonObject = new JSONObject();
-        jsonObject.put("OrderId", "");//订单号
-        jsonObject.put("ComplaintTime", tComplaint.getInsertTime());//投诉时间YYYYMMDDhhmms
-        jsonObject.put("Detail", tComplaint.getReason());//投诉内容
-        jsonObject.put("Result", tComplaint.getHandleResult());//处理结果
-        Map<String, String> map = new HashMap<>();
-        map.put("ratedPassengerComplaint", jsonObject.toJSONString());
-        String result = HttpRequestUtil.postRequest(PushURL.ministry_of_transport_data + "/ratedPassengerComplaint", map);
-        System.out.println("乘客投诉信息:" + result);
-    }
-
-
-    /**
-     * 驾驶员处罚信息
-     * @param id
-     */
-    public void ratedDriverPunish(Integer id){
-        DriverPunish driverPunish = driverPunishMapper.selectById(id);
-        TDriver driver = driverService.selectById(driverPunish.getDriverId());
-        JSONObject jsonObject = new JSONObject();
-        jsonObject.put("LicenseId", driver.getDriveCard());//机动车驾驶证编号
-        jsonObject.put("PunishTime", driverPunish.getPunishTime());//处罚时间YYYYMMDDhhmms
-        jsonObject.put("PunishReason", driverPunish.getPunishReason());//处罚原因
-        jsonObject.put("PunishReault", driverPunish.getPunishReault());//处罚结果
-        Map<String, String> map = new HashMap<>();
-        map.put("ratedDriverPunish", jsonObject.toJSONString());
-        String result = HttpRequestUtil.postRequest(PushURL.ministry_of_transport_data + "/ratedDriverPunish", map);
-        System.out.println("驾驶员处罚信息:" + result);
-    }
-
-
-
-
-
-
-    private int phoneExp(String phone){
-        /**
-         * 中国移动号码正则
-         * 139、138、137、136、135、134、147、150、151、152、157、158、159、178、182、183、184、187、188、198、195
-         * 虚拟运营商号段: 1703、1705、1706、165
-         **/
-         String MOBILE_PATTERN = "(^1(3[4-9]|47|5[0-27-9]|65|78|8[2-478]|98)\\d{8}$)|(^170[356]\\d{7}$)";
-
-        /**
-         * 中国电信号码正则
-         * 133、149、153、173、177、180、181、189、199、191
-         * 虚拟运营商号段: 162、1700、1701、1702
-         **/
-         String TELECOM_PATTERN = "(^1(33|49|53|62|7[37]|8[019]|9[19])\\d{8}$)|(^170[012]\\d{7}$)";
-
-        /**
-         * 中国联通号码正则
-         * 130、131、132、155、156、185、186、145、175、176、166、140
-         * 虚拟运营商号段: 171、1707、1708、1709、167
-         **/
-         String UNICOM_PATTERN = "(^1(3[0-2]|4[05]|5[56]|6[67]|7[156]|8[56])\\d{8}$)|(^170[7-9]\\d{7}$)";
-        if(Pattern.matches(UNICOM_PATTERN, phone)){
-           return 1;
-        }
-        if(Pattern.matches(MOBILE_PATTERN, phone)){
-            return 2;
-        }
-        if(Pattern.matches(TELECOM_PATTERN, phone)){
-            return 3;
-        }
-        return 4;
-    }
-}
diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushURL.java b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushURL.java
index 07af900..f2ee62f 100644
--- a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushURL.java
+++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushURL.java
@@ -7,8 +7,6 @@
     public static String cancel_order_url =  "http://116.63.168.184:8081/user/base/order/sendOrderState";
     public static String freeze_user_url =  "http://116.63.168.184:8081/user/base/user/freeze";
     public static String zull_user_url = "http://116.63.168.184:8081";
-    public static String ministry_of_transport_data = "http://120.77.11.218:8868/ministryOfTransport";
-    public static String ministry_of_transport_ftp = "http://120.77.11.218:8868/ftp";
 
 //    public static String order_push_url =  "http://express.feimadache.com:80/driver/base/order/pushOrderState";
 //    public static String driver_auth_url =  "http://express.feimadache.com:80/driver/base/driver/sendsms";
@@ -16,15 +14,11 @@
 //    public static String cancel_order_url =  "http://express.feimadache.com:80/user/base/order/sendOrderState";
 //    public static String freeze_user_url =  "http://express.feimadache.com:80/user/base/user/freeze";
 //    public static String zull_user_url = "http://express.feimadache.com:80";
-//    public static String ministry_of_transport_data = "http://express.feimadache.com:8868/ministryOfTransport";
-//    public static String ministry_of_transport_ftp = "http://express.feimadache.com:8868/ftp";
 
     /*public static String order_push_url =  "http://localhost:80/driver/base/order/pushOrderState";
     public static String driver_auth_url =  "http://localhost:80/driver/base/driver/sendsms";
     public static String withdraw_auth_url =  "http://localhost:80/driver/base/withdrawal/withdrawalAudit";
     public static String cancel_order_url =  "http://localhost:80/user/base/order/sendOrderState";
     public static String freeze_user_url =  "http://localhost:80/user/base/user/freeze";
-    public static String zull_user_url = "http://localhost:80";
-    public static String ministry_of_transport_data = "http://localhost:8868/ministryOfTransport";
-    public static String ministry_of_transport_ftp = "http://localhost:8868/ftp";*/
+    public static String zull_user_url = "http://localhost:80";*/
 }
diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/TaskUtil.java b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/TaskUtil.java
index fe42e7e..61dc773 100644
--- a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/TaskUtil.java
+++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/TaskUtil.java
@@ -23,9 +23,6 @@
     @Autowired
     private ITLocationService locationService;
 
-    @Autowired
-    private PushMinistryOfTransportUtil pushMinistryOfTransportUtil;
-
     @Value("${pushMinistryOfTransport}")
     private boolean pushMinistryOfTransport;
 
@@ -66,12 +63,6 @@
     @Scheduled(cron = "0 0 1 1 * *")
     public void taskMonth(){
         try {
-            if(pushMinistryOfTransport){
-                List<TDriver> tDrivers = driverService.selectList(new EntityWrapper<TDriver>().eq("authState", 2).ne("flag", 3));
-                for(TDriver driver : tDrivers){
-                    pushMinistryOfTransportUtil.baseInfoDriverStat(driver.getId());
-                }
-            }
         }catch (Exception e){
             e.printStackTrace();
         }
diff --git a/ManagementIGOTravel/guns-admin/src/main/resources/application.yml b/ManagementIGOTravel/guns-admin/src/main/resources/application.yml
index 5ec61f3..ea7de79 100644
--- a/ManagementIGOTravel/guns-admin/src/main/resources/application.yml
+++ b/ManagementIGOTravel/guns-admin/src/main/resources/application.yml
@@ -68,9 +68,9 @@
 spring:
   profiles: local
   datasource:
-    url: jdbc:mysql://116.63.168.184:3306/feima?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=Asia/Shanghai
+    url: jdbc:mysql://127.0.0.1:3306/igotravel?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=Asia/Shanghai
     username: root
-    password: root
+    password: 123456
     db-name: guns #用来搜集数据库的所有表
     filters: wall,mergeStat
 
diff --git a/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/404.html b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/404.html
index 1c8ed03..9d2b711 100644
--- a/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/404.html
+++ b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/404.html
@@ -7,7 +7,7 @@
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
 
 
-    <title>喜望出行 - 404 页面</title>
+    <title>IGO出行 - 404 页面</title>
     <link rel="shortcut icon" href="${ctxPath}/static/favicon1.ico"> <link href="${ctxPath}/static/css/bootstrap.min.css?v=3.3.6" rel="stylesheet">
     <link href="${ctxPath}/static/css/font-awesome.css?v=4.4.0" rel="stylesheet">
     <link href="${ctxPath}/static/css/style.css?v=4.1.0" rel="stylesheet">
diff --git a/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/common/_right.html b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/common/_right.html
index bb2ba9b..9c1f0cb 100644
--- a/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/common/_right.html
+++ b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/common/_right.html
@@ -4,7 +4,7 @@
             <div class="navbar-header"><a class="navbar-minimalize minimalize-styl-2 btn btn-primary " href="#"><i class="fa fa-bars"></i> </a>
                 <form role="search" class="navbar-form-custom" method="post" action="search_results.html">
                     <div class="form-group">
-                        <input type="text" placeholder="喜望出行后台管理系统 …" class="form-control" name="top-search" id="top-search" value="喜望出行后台管理系统" disabled>
+                        <input type="text" placeholder="IGO出行后台管理系统 …" class="form-control" name="top-search" id="top-search" value="IGO出行后台管理系统" disabled>
                     </div>
                 </form>
             </div>
@@ -52,7 +52,7 @@
         <iframe class="J_iframe" name="iframe0" width="100%" height="100%" src="${ctxPath}/blackboard?type=${type}" frameborder="0" data-id="${ctxPath}/blackboard" seamless></iframe>
     </div>
     <div class="footer">
-        <div class="pull-right">&copy; 2019-2021 <a href="#" onclick="return false" target="_blank">喜望出行</a>
+        <div class="pull-right">&copy; 2019-2022 <a href="#" onclick="return false" target="_blank">IGO出行</a>
         </div>
     </div>
 </div>
\ No newline at end of file
diff --git a/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/index.html b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/index.html
index ab0274c..b12d0b7 100644
--- a/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/index.html
+++ b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/index.html
@@ -4,7 +4,7 @@
     <meta charset="utf-8">
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
     <meta name="renderer" content="webkit">
-    <title>喜望出行 - 主页</title>
+    <title>IGO出行 - 主页</title>
     <link rel="shortcut icon" href="${ctxPath}/static/favicon.ico">
     <link href="${ctxPath}/static/css/bootstrap.min.css?v=3.3.6" rel="stylesheet">
     <link href="${ctxPath}/static/css/font-awesome.min.css?v=4.4.0" rel="stylesheet">
diff --git a/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/login.html b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/login.html
index 6dbe0a8..62fca4d 100644
--- a/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/login.html
+++ b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/login.html
@@ -4,7 +4,7 @@
     <meta charset="utf-8">
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
 
-    <title>喜望出行 - 登录</title>
+    <title>IGO出行 - 登录</title>
 
     <link rel="shortcut icon" href="${ctxPath}/static/favicon.ico">
     <link href="${ctxPath}/static/css/bootstrap.min.css?v=3.3.6" rel="stylesheet">
@@ -58,7 +58,7 @@
 <img src="${ctxPath}/static/img/index4.png" style="width: 300px;height: 400px;z-index: 1000">
 <div  style="position: relative;left: -20px; max-width: 300px;min-height: 300px;background: white;border-radius: 8px;box-sizing: border-box;padding: 0 30px 0 50px;display: flex;align-items: center;justify-content: center;">
     <div style="max-height: 100%">
-        <h3 style="color: black;"><img src="${ctxPath}/static/img/logo.png" width="30px" height="30px"/>&nbsp;喜望出行管理后台</h3>
+        <h3 style="color: black;"><img src="${ctxPath}/static/img/logo.png" width="30px" height="30px"/>&nbsp;IGO出行管理后台</h3>
         <br/>
         <h4 style="color: red;">${tips!}</h4>
         <form class="m-t" role="form" action="${ctxPath}/login" method="post">
@@ -87,7 +87,7 @@
                     </label>-->
                 </div>
             </div>
-            <button type="submit" class="btn full-width m-b" style="background-color: #d56b29;color: black;">登 录</button>
+            <button type="submit" class="btn full-width m-b" style="background-color: #82C04B;color: #FFF;">登 录</button>
             </p>
         </form>
     </div>
diff --git a/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tAdvertisement/tAdvertisement_add.html b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tAdvertisement/tAdvertisement_add.html
index 34f542d..33f3ffe 100644
--- a/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tAdvertisement/tAdvertisement_add.html
+++ b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tAdvertisement/tAdvertisement_add.html
@@ -12,10 +12,10 @@
                         <option value="1">弹窗广告</option>
                         <option value="2">首页底部广告</option>
                     </#select>
-                    <#select id="provinceId" name="所属省:">
+                    <#select id="cityId" name="所属城市:">
                         <option value="">选择所属省</option>
                         @for(province in list){
-                        <option value="${province.id}"> ${province.name} </option>
+                        <option value="${province.id}"> ${province.chineseName} </option>
                         @}
                     </#select>
                     <#select id="isJump" name="是否跳转:" onchange="TAdvertisementInfoDlg.isJump()">
diff --git a/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tAdvertisement/tAdvertisement_edit.html b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tAdvertisement/tAdvertisement_edit.html
index 70b2fa1..92d72a7 100644
--- a/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tAdvertisement/tAdvertisement_edit.html
+++ b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tAdvertisement/tAdvertisement_edit.html
@@ -12,10 +12,10 @@
                         <option value="1" ${1 == item.type ? 'selected=selected' : ''}>弹窗广告</option>
                         <option value="2" ${2 == item.type ? 'selected=selected' : ''}>首页底部广告</option>
                     </#select>
-                    <#select id="provinceId" name="所属省:">
-                        <option value="">选择所属省</option>
+                    <#select id="cityId" name="所属城市:">
+                        <option value="">选择所属城市</option>
                         @for(province in list){
-                            <option value="${province.id}" ${province.id == item.provinceId ? 'selected=selected' : ''}> ${province.name} </option>
+                            <option value="${province.id}" ${province.id == item.cityId ? 'selected=selected' : ''}> ${province.chineseName} </option>
                         @}
                     </#select>
                     <#select id="isJump" name="是否跳转:" onchange="TAdvertisementInfoDlg.isJump()">
diff --git a/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tAgreement/commonProblem.html b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tAgreement/commonProblem.html
index 0b4a77a..c9e54e9 100644
--- a/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tAgreement/commonProblem.html
+++ b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tAgreement/commonProblem.html
@@ -10,13 +10,23 @@
             <div class="ibox-content">
                 <div class="row row-lg">
                     <div class="col-sm-12">
+                        <input type="hidden" id="id" value="${one.id}">
                         <div class="tabs-container">
                             <ul class="nav nav-tabs">
                                 <li class="active"><a data-toggle="tab" href="#tab-1" aria-expanded="true">常见问题设置</a></li>
                             </ul>
                             <div class="tab-content">
                                 <div id="tab-1" class="tab-pane active">
-                                    <div class="panel-body">
+                                    <div class="col-sm-3" style="padding-top: 10px;">
+                                        <div class="input-group" style="width: 100%;">
+                                            <select class="form-control" id="language">
+                                                <option value="1">中文</option>
+                                                <option value="2">英文</option>
+                                                <option value="3">法文</option>
+                                            </select>
+                                        </div>
+                                    </div>
+                                    <div class="panel-body" style="padding-top: 60px;">
                                         <textarea id="editor_1" type="text/plain" style="width:1200px;height:400px;">${one.content}</textarea>
                                         <div class="row btn-group-m-t">
                                             <div class="col-sm-10 col-sm-offset-5">
@@ -40,6 +50,19 @@
     $(function () {
         //初始化编辑器
         editor_1 = UE.getEditor('editor_1');
+
+        $('#language').on('change', function () {
+            var ajax = new $ax(Feng.ctxPath + "/tAgreement/getAgreement", function(data){
+                editor_1.setContent(data.content);
+                $('#id').val(data.id);
+            },function(data){
+                Feng.error("编辑失败!" + data.responseJSON.message + "!");
+            });
+            ajax.set("language", $(this).val());
+            ajax.set("type", 12);
+            ajax.set("useType", 1);
+            ajax.start();
+        })
     });
 
     function update_1(id){
@@ -47,7 +70,7 @@
             Feng.error("内容不能为空!");
             return;
         }
-        submitData(editor_1.getContent(),id);
+        submitData(editor_1.getContent(), $('#id').val());
     }
 
     function submitData(content,id) {
diff --git a/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tAgreement/driverRegister.html b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tAgreement/driverRegister.html
index daa009c..3df0f7a 100644
--- a/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tAgreement/driverRegister.html
+++ b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tAgreement/driverRegister.html
@@ -10,13 +10,23 @@
             <div class="ibox-content">
                 <div class="row row-lg">
                     <div class="col-sm-12">
+                        <input type="hidden" id="id" value="${one.id}">
                         <div class="tabs-container">
                             <ul class="nav nav-tabs">
                                 <li class="active"><a data-toggle="tab" href="#tab-1" aria-expanded="true">司机注册协议设置</a></li>
                             </ul>
                             <div class="tab-content">
                                 <div id="tab-1" class="tab-pane active">
-                                    <div class="panel-body">
+                                    <div class="col-sm-3" style="padding-top: 10px;">
+                                        <div class="input-group" style="width: 100%;">
+                                            <select class="form-control" id="language">
+                                                <option value="1">中文</option>
+                                                <option value="2">英文</option>
+                                                <option value="3">法文</option>
+                                            </select>
+                                        </div>
+                                    </div>
+                                    <div class="panel-body" style="padding-top: 60px;">
                                         <textarea id="editor_1" type="text/plain" style="width:1200px;height:400px;">${one.content}</textarea>
                                         <div class="row btn-group-m-t">
                                             <div class="col-sm-10 col-sm-offset-5">
@@ -40,6 +50,21 @@
     $(function () {
         //初始化编辑器
         editor_1 = UE.getEditor('editor_1');
+
+        $('#language').on('change', function () {
+            var ajax = new $ax(Feng.ctxPath + "/tAgreement/getAgreement", function(data){
+                if(null != data){
+                    editor_1.setContent(data.content);
+                    $('#id').val(data.id);
+                }
+            },function(data){
+                Feng.error("编辑失败!" + data.responseJSON.message + "!");
+            });
+            ajax.set("language", $(this).val());
+            ajax.set("type", 9);
+            ajax.set("useType", 1);
+            ajax.start();
+        })
     });
 
     function update_1(id){
@@ -47,7 +72,7 @@
             Feng.error("内容不能为空!");
             return;
         }
-        submitData(editor_1.getContentTxt(),id);
+        submitData(editor_1.getContent(), $('#id').val());
     }
 
     function submitData(content,id) {
diff --git a/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tAgreement/instructions.html b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tAgreement/instructions.html
index 10c0580..764297c 100644
--- a/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tAgreement/instructions.html
+++ b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tAgreement/instructions.html
@@ -10,13 +10,23 @@
             <div class="ibox-content">
                 <div class="row row-lg">
                     <div class="col-sm-12">
+                        <input type="hidden" id="id" value="${one.id}">
                         <div class="tabs-container">
                             <ul class="nav nav-tabs">
                                 <li class="active"><a data-toggle="tab" href="#tab-1" aria-expanded="true">改派说明设置</a></li>
                             </ul>
                             <div class="tab-content">
                                 <div id="tab-1" class="tab-pane active">
-                                    <div class="panel-body">
+                                    <div class="col-sm-3" style="padding-top: 10px;">
+                                        <div class="input-group" style="width: 100%;">
+                                            <select class="form-control" id="language">
+                                                <option value="1">中文</option>
+                                                <option value="2">英文</option>
+                                                <option value="3">法文</option>
+                                            </select>
+                                        </div>
+                                    </div>
+                                    <div class="panel-body" style="padding-top: 60px;">
                                         <textarea id="editor_1" type="text/plain" style="width:1200px;height:400px;">${one.content}</textarea>
                                         <div class="row btn-group-m-t">
                                             <div class="col-sm-10 col-sm-offset-5">
@@ -40,6 +50,21 @@
     $(function () {
         //初始化编辑器
         editor_1 = UE.getEditor('editor_1');
+
+        $('#language').on('change', function () {
+            var ajax = new $ax(Feng.ctxPath + "/tAgreement/getAgreement", function(data){
+                if(null != data){
+                    editor_1.setContent(data.content);
+                    $('#id').val(data.id);
+                }
+            },function(data){
+                Feng.error("编辑失败!" + data.responseJSON.message + "!");
+            });
+            ajax.set("language", $(this).val());
+            ajax.set("type", 10);
+            ajax.set("useType", 1);
+            ajax.start();
+        })
     });
 
     function update_1(id){
@@ -47,7 +72,7 @@
             Feng.error("内容不能为空!");
             return;
         }
-        submitData(editor_1.getContent(),id);
+        submitData(editor_1.getContent(), $('#id').val());
     }
 
     function submitData(content,id) {
diff --git a/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tAgreement/newDriverTraining.html b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tAgreement/newDriverTraining.html
new file mode 100644
index 0000000..ef29a95
--- /dev/null
+++ b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tAgreement/newDriverTraining.html
@@ -0,0 +1,90 @@
+@layout("/common/_container.html"){
+<style>
+    .newWidth, .single-line{
+        max-width:350px !important;display: initial !important;
+    }
+</style>
+<div class="row">
+    <div class="col-sm-12">
+        <div class="ibox float-e-margins">
+            <div class="ibox-content">
+                <div class="row row-lg">
+                    <div class="col-sm-12">
+                        <input type="hidden" id="id" value="${one.id}">
+                        <div class="tabs-container">
+                            <ul class="nav nav-tabs">
+                                <li class="active"><a data-toggle="tab" href="#tab-1" aria-expanded="true">新司机培训设置</a></li>
+                            </ul>
+                            <div class="tab-content">
+                                <div id="tab-1" class="tab-pane active">
+                                    <div class="col-sm-3" style="padding-top: 10px;">
+                                        <div class="input-group" style="width: 100%;">
+                                            <select class="form-control" id="language">
+                                                <option value="1">中文</option>
+                                                <option value="2">英文</option>
+                                                <option value="3">法文</option>
+                                            </select>
+                                        </div>
+                                    </div>
+                                    <div class="panel-body" style="padding-top: 60px;">
+                                        <textarea id="editor_1" type="text/plain" style="width:1200px;height:400px;">${one.content}</textarea>
+                                        <div class="row btn-group-m-t">
+                                            <div class="col-sm-10 col-sm-offset-5">
+                                                <#button btnCss="info" name="保存" id="ensure" icon="fa-check" clickFun="update_1(${one.id});"/>
+                                            </div>
+                                        </div>
+                                    </div>
+                                </div>
+
+                            </div>
+                        </div>
+                    </div>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
+
+<script type="text/javascript">
+    var editor_1 = null;
+    $(function () {
+        //初始化编辑器
+        editor_1 = UE.getEditor('editor_1');
+
+        $('#language').on('change', function () {
+            var ajax = new $ax(Feng.ctxPath + "/tAgreement/getAgreement", function(data){
+                if(null != data){
+                    editor_1.setContent(data.content);
+                    $('#id').val(data.id);
+                }
+            },function(data){
+                Feng.error("编辑失败!" + data.responseJSON.message + "!");
+            });
+            ajax.set("language", $(this).val());
+            ajax.set("type", 16);
+            ajax.set("useType", 1);
+            ajax.start();
+        })
+    });
+
+    function update_1(id){
+        if (editor_1.getContentTxt() == ""){
+            Feng.error("内容不能为空!");
+            return;
+        }
+        submitData(editor_1.getContent(), $('#id').val());
+    }
+
+    function submitData(content,id) {
+        //提交信息
+        var ajax = new $ax(Feng.ctxPath + "/tAgreement/updateAppParam", function(data){
+            Feng.success("编辑成功!");
+        },function(data){
+            Feng.error("编辑失败!" + data.responseJSON.message + "!");
+        });
+        ajax.set("context", content);
+        ajax.set("id", id);
+        ajax.start();
+    }
+</script>
+@}
diff --git a/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tAgreement/pricingRules.html b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tAgreement/pricingRules.html
index 939359b..9f15c1b 100644
--- a/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tAgreement/pricingRules.html
+++ b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tAgreement/pricingRules.html
@@ -10,13 +10,23 @@
             <div class="ibox-content">
                 <div class="row row-lg">
                     <div class="col-sm-12">
+                        <input type="hidden" id="id" value="${one.id}">
                         <div class="tabs-container">
                             <ul class="nav nav-tabs">
                                 <li class="active"><a data-toggle="tab" href="#tab-1" aria-expanded="true">计价规则设置</a></li>
                             </ul>
                             <div class="tab-content">
                                 <div id="tab-1" class="tab-pane active">
-                                    <div class="panel-body">
+                                    <div class="col-sm-3" style="padding-top: 10px;">
+                                        <div class="input-group" style="width: 100%;">
+                                            <select class="form-control" id="language">
+                                                <option value="1">中文</option>
+                                                <option value="2">英文</option>
+                                                <option value="3">法文</option>
+                                            </select>
+                                        </div>
+                                    </div>
+                                    <div class="panel-body" style="padding-top: 60px;">
                                         <textarea id="editor_1" type="text/plain" style="width:1200px;height:400px;">${one.content}</textarea>
                                         <div class="row btn-group-m-t">
                                             <div class="col-sm-10 col-sm-offset-5">
@@ -40,6 +50,19 @@
     $(function () {
         //初始化编辑器
         editor_1 = UE.getEditor('editor_1');
+
+        $('#language').on('change', function () {
+            var ajax = new $ax(Feng.ctxPath + "/tAgreement/getAgreement", function(data){
+                editor_1.setContent(data.content);
+                $('#id').val(data.id);
+            },function(data){
+                Feng.error("编辑失败!" + data.responseJSON.message + "!");
+            });
+            ajax.set("language", $(this).val());
+            ajax.set("type", 13);
+            ajax.set("useType", 1);
+            ajax.start();
+        })
     });
 
     function update_1(id){
@@ -47,7 +70,7 @@
             Feng.error("内容不能为空!");
             return;
         }
-        submitData(editor_1.getContent(),id);
+        submitData(editor_1.getContent(), $('#id').val());
     }
 
     function submitData(content,id) {
diff --git a/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tAgreement/tAgreement.html b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tAgreement/tAgreement.html
index 4a47ce4..37d0f09 100644
--- a/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tAgreement/tAgreement.html
+++ b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tAgreement/tAgreement.html
@@ -18,7 +18,17 @@
                             </ul>
                             <div class="tab-content">
                                 <div id="tab-1" class="tab-pane active">
-                                    <div class="panel-body">
+                                    <input type="hidden" id="id1" value="${one.id}">
+                                    <div class="col-sm-3" style="padding-top: 10px;">
+                                        <div class="input-group" style="width: 100%;">
+                                            <select class="form-control" id="language1">
+                                                <option value="1">中文</option>
+                                                <option value="2">英文</option>
+                                                <option value="3">法文</option>
+                                            </select>
+                                        </div>
+                                    </div>
+                                    <div class="panel-body" style="padding-top: 60px;">
                                         <textarea id="editor_1" type="text/plain" style="width:1200px;height:400px;">${one.content}</textarea>
                                         <div class="row btn-group-m-t">
                                             <div class="col-sm-10 col-sm-offset-5">
@@ -28,7 +38,17 @@
                                     </div>
                                 </div>
                                 <div id="tab-2" class="tab-pane">
-                                    <div class="panel-body">
+                                    <input type="hidden" id="id2" value="${two.id}">
+                                    <div class="col-sm-3" style="padding-top: 10px;">
+                                        <div class="input-group" style="width: 100%;">
+                                            <select class="form-control" id="language2">
+                                                <option value="1">中文</option>
+                                                <option value="2">英文</option>
+                                                <option value="3">法文</option>
+                                            </select>
+                                        </div>
+                                    </div>
+                                    <div class="panel-body" style="padding-top: 60px;">
                                         <textarea type="text/plain" id="editor_2" style="width:1200px;height:400px;">${two.content}</textarea>
                                         <div class="row btn-group-m-t">
                                             <div class="col-sm-10 col-sm-offset-5">
@@ -38,7 +58,17 @@
                                     </div>
                                 </div>
                                 <div id="tab-3" class="tab-pane">
-                                    <div class="panel-body">
+                                    <input type="hidden" id="id3" value="${three.id}">
+                                    <div class="col-sm-3" style="padding-top: 10px;">
+                                        <div class="input-group" style="width: 100%;">
+                                            <select class="form-control" id="language3">
+                                                <option value="1">中文</option>
+                                                <option value="2">英文</option>
+                                                <option value="3">法文</option>
+                                            </select>
+                                        </div>
+                                    </div>
+                                    <div class="panel-body" style="padding-top: 60px;">
                                         <textarea type="text/plain" id="editor_3" style="width:1200px;height:400px;">${three.content}</textarea>
                                         <div class="row btn-group-m-t">
                                             <div class="col-sm-10 col-sm-offset-5">
@@ -66,6 +96,49 @@
         editor_1 = UE.getEditor('editor_1');
         editor_2 = UE.getEditor('editor_2');
         editor_3 = UE.getEditor('editor_3');
+
+        $('#language1').on('change', function () {
+            var ajax = new $ax(Feng.ctxPath + "/tAgreement/getAgreement", function(data){
+                if(null != data){
+                    editor_1.setContent(data.content);
+                    $('#id1').val(data.id);
+                }
+            },function(data){
+                Feng.error("编辑失败!" + data.responseJSON.message + "!");
+            });
+            ajax.set("language", $(this).val());
+            ajax.set("type", 6);
+            ajax.set("useType", 1);
+            ajax.start();
+        })
+        $('#language2').on('change', function () {
+            var ajax = new $ax(Feng.ctxPath + "/tAgreement/getAgreement", function(data){
+                if(null != data){
+                    editor_2.setContent(data.content);
+                    $('#id2').val(data.id);
+                }
+            },function(data){
+                Feng.error("编辑失败!" + data.responseJSON.message + "!");
+            });
+            ajax.set("language", $(this).val());
+            ajax.set("type", 2);
+            ajax.set("useType", 1);
+            ajax.start();
+        })
+        $('#language3').on('change', function () {
+            var ajax = new $ax(Feng.ctxPath + "/tAgreement/getAgreement", function(data){
+                if(null != data){
+                    editor_3.setContent(data.content);
+                    $('#id3').val(data.id);
+                }
+            },function(data){
+                Feng.error("编辑失败!" + data.responseJSON.message + "!");
+            });
+            ajax.set("language", $(this).val());
+            ajax.set("type", 1);
+            ajax.set("useType", 1);
+            ajax.start();
+        })
     });
 
     function update_1(id){
@@ -73,21 +146,21 @@
             Feng.error("内容不能为空!");
             return;
         }
-        submitData(editor_1.getContent(),id);
+        submitData(editor_1.getContent(),$('#id1').val());
     }
     function update_2(id){
         if (editor_2.getContentTxt() == ""){
             Feng.error("内容不能为空!");
             return;
         }
-        submitData(editor_2.getContent(),id);
+        submitData(editor_2.getContent(),$('#id2').val());
     }
     function update_3(id){
         if (editor_3.getContentTxt() == ""){
             Feng.error("内容不能为空!");
             return;
         }
-        submitData(editor_3.getContent(),id);
+        submitData(editor_3.getContent(),$('#id3').val());
     }
 
     function submitData(content,id) {
diff --git a/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tAgreement/tAgreementDriver.html b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tAgreement/tAgreementDriver.html
index 4a47ce4..a07e967 100644
--- a/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tAgreement/tAgreementDriver.html
+++ b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tAgreement/tAgreementDriver.html
@@ -18,7 +18,17 @@
                             </ul>
                             <div class="tab-content">
                                 <div id="tab-1" class="tab-pane active">
-                                    <div class="panel-body">
+                                    <input type="hidden" id="id1" value="${one.id}">
+                                    <div class="col-sm-3" style="padding-top: 10px;">
+                                        <div class="input-group" style="width: 100%;">
+                                            <select class="form-control" id="language1">
+                                                <option value="1">中文</option>
+                                                <option value="2">英文</option>
+                                                <option value="3">法文</option>
+                                            </select>
+                                        </div>
+                                    </div>
+                                    <div class="panel-body" style="padding-top: 60px;">
                                         <textarea id="editor_1" type="text/plain" style="width:1200px;height:400px;">${one.content}</textarea>
                                         <div class="row btn-group-m-t">
                                             <div class="col-sm-10 col-sm-offset-5">
@@ -28,7 +38,17 @@
                                     </div>
                                 </div>
                                 <div id="tab-2" class="tab-pane">
-                                    <div class="panel-body">
+                                    <input type="hidden" id="id2" value="${two.id}">
+                                    <div class="col-sm-3" style="padding-top: 10px;">
+                                        <div class="input-group" style="width: 100%;">
+                                            <select class="form-control" id="language2">
+                                                <option value="1">中文</option>
+                                                <option value="2">英文</option>
+                                                <option value="3">法文</option>
+                                            </select>
+                                        </div>
+                                    </div>
+                                    <div class="panel-body" style="padding-top: 60px;">
                                         <textarea type="text/plain" id="editor_2" style="width:1200px;height:400px;">${two.content}</textarea>
                                         <div class="row btn-group-m-t">
                                             <div class="col-sm-10 col-sm-offset-5">
@@ -38,7 +58,17 @@
                                     </div>
                                 </div>
                                 <div id="tab-3" class="tab-pane">
-                                    <div class="panel-body">
+                                    <input type="hidden" id="id3" value="${three.id}">
+                                    <div class="col-sm-3" style="padding-top: 10px;">
+                                        <div class="input-group" style="width: 100%;">
+                                            <select class="form-control" id="language3">
+                                                <option value="1">中文</option>
+                                                <option value="2">英文</option>
+                                                <option value="3">法文</option>
+                                            </select>
+                                        </div>
+                                    </div>
+                                    <div class="panel-body" style="padding-top: 60px;">
                                         <textarea type="text/plain" id="editor_3" style="width:1200px;height:400px;">${three.content}</textarea>
                                         <div class="row btn-group-m-t">
                                             <div class="col-sm-10 col-sm-offset-5">
@@ -66,6 +96,49 @@
         editor_1 = UE.getEditor('editor_1');
         editor_2 = UE.getEditor('editor_2');
         editor_3 = UE.getEditor('editor_3');
+
+        $('#language1').on('change', function () {
+            var ajax = new $ax(Feng.ctxPath + "/tAgreement/getAgreement", function(data){
+                if(null != data){
+                    editor_1.setContent(data.content);
+                    $('#id1').val(data.id);
+                }
+            },function(data){
+                Feng.error("编辑失败!" + data.responseJSON.message + "!");
+            });
+            ajax.set("language", $(this).val());
+            ajax.set("type", 6);
+            ajax.set("useType", 2);
+            ajax.start();
+        })
+        $('#language2').on('change', function () {
+            var ajax = new $ax(Feng.ctxPath + "/tAgreement/getAgreement", function(data){
+                if(null != data){
+                    editor_2.setContent(data.content);
+                    $('#id2').val(data.id);
+                }
+            },function(data){
+                Feng.error("编辑失败!" + data.responseJSON.message + "!");
+            });
+            ajax.set("language", $(this).val());
+            ajax.set("type", 2);
+            ajax.set("useType", 2);
+            ajax.start();
+        })
+        $('#language3').on('change', function () {
+            var ajax = new $ax(Feng.ctxPath + "/tAgreement/getAgreement", function(data){
+                if(null != data){
+                    editor_3.setContent(data.content);
+                    $('#id3').val(data.id);
+                }
+            },function(data){
+                Feng.error("编辑失败!" + data.responseJSON.message + "!");
+            });
+            ajax.set("language", $(this).val());
+            ajax.set("type", 1);
+            ajax.set("useType", 2);
+            ajax.start();
+        })
     });
 
     function update_1(id){
@@ -73,21 +146,21 @@
             Feng.error("内容不能为空!");
             return;
         }
-        submitData(editor_1.getContent(),id);
+        submitData(editor_1.getContent(),$('#id1').val());
     }
     function update_2(id){
         if (editor_2.getContentTxt() == ""){
             Feng.error("内容不能为空!");
             return;
         }
-        submitData(editor_2.getContent(),id);
+        submitData(editor_2.getContent(),$('#id2').val());
     }
     function update_3(id){
         if (editor_3.getContentTxt() == ""){
             Feng.error("内容不能为空!");
             return;
         }
-        submitData(editor_3.getContent(),id);
+        submitData(editor_3.getContent(),$('#id3').val());
     }
 
     function submitData(content,id) {
diff --git a/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tAgreement/tAgreementLaw.html b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tAgreement/tAgreementLaw.html
index 0a28fd1..91ea2b9 100644
--- a/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tAgreement/tAgreementLaw.html
+++ b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tAgreement/tAgreementLaw.html
@@ -10,13 +10,23 @@
             <div class="ibox-content">
                 <div class="row row-lg">
                     <div class="col-sm-12">
+                        <input type="hidden" id="id" value="${one.id}">
                         <div class="tabs-container">
                             <ul class="nav nav-tabs">
                                 <li class="active"><a data-toggle="tab" href="#tab-1" aria-expanded="true">法律法规设置</a></li>
                             </ul>
                             <div class="tab-content">
                                 <div id="tab-1" class="tab-pane active">
-                                    <div class="panel-body">
+                                    <div class="col-sm-3" style="padding-top: 10px;">
+                                        <div class="input-group" style="width: 100%;">
+                                            <select class="form-control" id="language">
+                                                <option value="1">中文</option>
+                                                <option value="2">英文</option>
+                                                <option value="3">法文</option>
+                                            </select>
+                                        </div>
+                                    </div>
+                                    <div class="panel-body" style="padding-top: 60px;">
                                         <textarea id="editor_1" type="text/plain" style="width:1200px;height:400px;">${one.content}</textarea>
                                         <div class="row btn-group-m-t">
                                             <div class="col-sm-10 col-sm-offset-5">
@@ -40,6 +50,21 @@
     $(function () {
         //初始化编辑器
         editor_1 = UE.getEditor('editor_1');
+
+        $('#language').on('change', function () {
+            var ajax = new $ax(Feng.ctxPath + "/tAgreement/getAgreement", function(data){
+                if(null != data){
+                    editor_1.setContent(data.content);
+                    $('#id').val(data.id);
+                }
+            },function(data){
+                Feng.error("编辑失败!" + data.responseJSON.message + "!");
+            });
+            ajax.set("language", $(this).val());
+            ajax.set("type", 4);
+            ajax.set("useType", 1);
+            ajax.start();
+        })
     });
 
     function update_1(id){
@@ -47,7 +72,7 @@
             Feng.error("内容不能为空!");
             return;
         }
-        submitData(editor_1.getContent(),id);
+        submitData(editor_1.getContent(), $('#id').val());
     }
 
     function submitData(content,id) {
diff --git a/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tAgreement/tAgreementMe.html b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tAgreement/tAgreementMe.html
index afc7dbc..1d50798 100644
--- a/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tAgreement/tAgreementMe.html
+++ b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tAgreement/tAgreementMe.html
@@ -10,13 +10,23 @@
             <div class="ibox-content">
                 <div class="row row-lg">
                     <div class="col-sm-12">
+                        <input type="hidden" id="id" value="${one.id}">
                         <div class="tabs-container">
                             <ul class="nav nav-tabs">
                                 <li class="active"><a data-toggle="tab" href="#tab-1" aria-expanded="true">关于我们设置</a></li>
                             </ul>
                             <div class="tab-content">
                                 <div id="tab-1" class="tab-pane active">
-                                    <div class="panel-body">
+                                    <div class="col-sm-3" style="padding-top: 10px;">
+                                        <div class="input-group" style="width: 100%;">
+                                            <select class="form-control" id="language">
+                                                <option value="1">中文</option>
+                                                <option value="2">英文</option>
+                                                <option value="3">法文</option>
+                                            </select>
+                                        </div>
+                                    </div>
+                                    <div class="panel-body" style="padding-top: 60px;">
                                         <textarea id="editor_1" type="text/plain" style="width:1200px;height:400px;">${one.content}</textarea>
                                         <div class="row btn-group-m-t">
                                             <div class="col-sm-10 col-sm-offset-5">
@@ -40,6 +50,21 @@
     $(function () {
         //初始化编辑器
         editor_1 = UE.getEditor('editor_1');
+
+        $('#language').on('change', function () {
+            var ajax = new $ax(Feng.ctxPath + "/tAgreement/getAgreement", function(data){
+                if(null != data){
+                    editor_1.setContent(data.content);
+                    $('#id').val(data.id);
+                }
+            },function(data){
+                Feng.error("编辑失败!" + data.responseJSON.message + "!");
+            });
+            ajax.set("language", $(this).val());
+            ajax.set("type", 5);
+            ajax.set("useType", 1);
+            ajax.start();
+        })
     });
 
     function update_1(id){
@@ -47,7 +72,7 @@
             Feng.error("内容不能为空!");
             return;
         }
-        submitData(editor_1.getContent(),id);
+        submitData(editor_1.getContent(), $('#id').val());
     }
 
     function submitData(content,id) {
diff --git a/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tAgreement/tAgreementOrder.html b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tAgreement/tAgreementOrder.html
index 2177676..69a9d52 100644
--- a/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tAgreement/tAgreementOrder.html
+++ b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tAgreement/tAgreementOrder.html
@@ -10,13 +10,23 @@
             <div class="ibox-content">
                 <div class="row row-lg">
                     <div class="col-sm-12">
+                        <input type="hidden" id="id" value="${one.id}">
                         <div class="tabs-container">
                             <ul class="nav nav-tabs">
                                 <li class="active"><a data-toggle="tab" href="#tab-1" aria-expanded="true">取消订单说明</a></li>
                             </ul>
                             <div class="tab-content">
                                 <div id="tab-1" class="tab-pane active">
-                                    <div class="panel-body">
+                                    <div class="col-sm-3" style="padding-top: 10px;">
+                                        <div class="input-group" style="width: 100%;">
+                                            <select class="form-control" id="language">
+                                                <option value="1">中文</option>
+                                                <option value="2">英文</option>
+                                                <option value="3">法文</option>
+                                            </select>
+                                        </div>
+                                    </div>
+                                    <div class="panel-body" style="padding-top: 60px;">
                                         <textarea id="editor_1" type="text/plain" style="width:1200px;height:400px;">${one.content}</textarea>
                                         <div class="row btn-group-m-t">
                                             <div class="col-sm-10 col-sm-offset-5">
@@ -40,6 +50,21 @@
     $(function () {
         //初始化编辑器
         editor_1 = UE.getEditor('editor_1');
+
+        $('#language').on('change', function () {
+            var ajax = new $ax(Feng.ctxPath + "/tAgreement/getAgreement", function(data){
+                if(null != data){
+                    editor_1.setContent(data.content);
+                    $('#id').val(data.id);
+                }
+            },function(data){
+                Feng.error("编辑失败!" + data.responseJSON.message + "!");
+            });
+            ajax.set("language", $(this).val());
+            ajax.set("type", 7);
+            ajax.set("useType", 1);
+            ajax.start();
+        })
     });
 
     function update_1(id){
@@ -47,7 +72,7 @@
             Feng.error("内容不能为空!");
             return;
         }
-        submitData(editor_1.getContent(),id);
+        submitData(editor_1.getContent(), $('#id').val());
     }
 
     function submitData(content,id) {
diff --git a/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tAgreement/tAgreementRecharge.html b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tAgreement/tAgreementRecharge.html
index 88ee69d..e0b5e3a 100644
--- a/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tAgreement/tAgreementRecharge.html
+++ b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tAgreement/tAgreementRecharge.html
@@ -10,13 +10,23 @@
             <div class="ibox-content">
                 <div class="row row-lg">
                     <div class="col-sm-12">
+                        <input type="hidden" id="id" value="${one.id}">
                         <div class="tabs-container">
                             <ul class="nav nav-tabs">
                                 <li class="active"><a data-toggle="tab" href="#tab-1" aria-expanded="true">充值领券规则设置</a></li>
                             </ul>
                             <div class="tab-content">
                                 <div id="tab-1" class="tab-pane active">
-                                    <div class="panel-body">
+                                    <div class="col-sm-3" style="padding-top: 10px;">
+                                        <div class="input-group" style="width: 100%;">
+                                            <select class="form-control" id="language">
+                                                <option value="1">中文</option>
+                                                <option value="2">英文</option>
+                                                <option value="3">法文</option>
+                                            </select>
+                                        </div>
+                                    </div>
+                                    <div class="panel-body" style="padding-top: 60px;">
                                         <textarea id="editor_1" type="text/plain" style="width:1200px;height:400px;">${one.content}</textarea>
                                         <div class="row btn-group-m-t">
                                             <div class="col-sm-10 col-sm-offset-5">
@@ -40,6 +50,21 @@
     $(function () {
         //初始化编辑器
         editor_1 = UE.getEditor('editor_1');
+
+        $('#language').on('change', function () {
+            var ajax = new $ax(Feng.ctxPath + "/tAgreement/getAgreement", function(data){
+                if(null != data){
+                    editor_1.setContent(data.content);
+                    $('#id').val(data.id);
+                }
+            },function(data){
+                Feng.error("编辑失败!" + data.responseJSON.message + "!");
+            });
+            ajax.set("language", $(this).val());
+            ajax.set("type", 8);
+            ajax.set("useType", 1);
+            ajax.start();
+        })
     });
 
     function update_1(id){
@@ -47,7 +72,7 @@
             Feng.error("内容不能为空!");
             return;
         }
-        submitData(editor_1.getContent(),id);
+        submitData(editor_1.getContent(), $('#id').val());
     }
 
     function submitData(content,id) {
diff --git a/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tAgreement/tAgreementSmallPieceLogistics.html b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tAgreement/tAgreementSmallPieceLogistics.html
index da1ab70..d7d6076 100644
--- a/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tAgreement/tAgreementSmallPieceLogistics.html
+++ b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tAgreement/tAgreementSmallPieceLogistics.html
@@ -10,13 +10,23 @@
             <div class="ibox-content">
                 <div class="row row-lg">
                     <div class="col-sm-12">
+                        <input type="hidden" id="id" value="${one.id}">
                         <div class="tabs-container">
                             <ul class="nav nav-tabs">
-                                <li class="active"><a data-toggle="tab" href="#tab-1" aria-expanded="true">小件物流协议设置</a></li>
+                                <li class="active"><a data-toggle="tab" href="#tab-1" aria-expanded="true">邮寄包裹指南</a></li>
                             </ul>
                             <div class="tab-content">
                                 <div id="tab-1" class="tab-pane active">
-                                    <div class="panel-body">
+                                    <div class="col-sm-3" style="padding-top: 10px;">
+                                        <div class="input-group" style="width: 100%;">
+                                            <select class="form-control" id="language">
+                                                <option value="1">中文</option>
+                                                <option value="2">英文</option>
+                                                <option value="3">法文</option>
+                                            </select>
+                                        </div>
+                                    </div>
+                                    <div class="panel-body" style="padding-top: 60px;">
                                         <textarea id="editor_1" type="text/plain" style="width:1200px;height:400px;">${one.content}</textarea>
                                         <div class="row btn-group-m-t">
                                             <div class="col-sm-10 col-sm-offset-5">
@@ -40,6 +50,19 @@
     $(function () {
         //初始化编辑器
         editor_1 = UE.getEditor('editor_1');
+
+        $('#language').on('change', function () {
+            var ajax = new $ax(Feng.ctxPath + "/tAgreement/getAgreement", function(data){
+                editor_1.setContent(data.content);
+                $('#id').val(data.id);
+            },function(data){
+                Feng.error("编辑失败!" + data.responseJSON.message + "!");
+            });
+            ajax.set("language", $(this).val());
+            ajax.set("type", 15);
+            ajax.set("useType", 1);
+            ajax.start();
+        })
     });
 
     function update_1(id){
@@ -47,7 +70,7 @@
             Feng.error("内容不能为空!");
             return;
         }
-        submitData(editor_1.getContent(),id);
+        submitData(editor_1.getContent(), $('#id').val());
     }
 
     function submitData(content,id) {
diff --git a/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tAgreement/tAgreementUser.html b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tAgreement/tAgreementUser.html
index d7625bf..53bec87 100644
--- a/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tAgreement/tAgreementUser.html
+++ b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tAgreement/tAgreementUser.html
@@ -10,13 +10,23 @@
             <div class="ibox-content">
                 <div class="row row-lg">
                     <div class="col-sm-12">
+                        <input type="hidden" id="id" value="${one.id}">
                         <div class="tabs-container">
                             <ul class="nav nav-tabs">
                                 <li class="active"><a data-toggle="tab" href="#tab-1" aria-expanded="true">用户指南设置</a></li>
                             </ul>
                             <div class="tab-content">
                                 <div id="tab-1" class="tab-pane active">
-                                    <div class="panel-body">
+                                    <div class="col-sm-3" style="padding-top: 10px;">
+                                        <div class="input-group" style="width: 100%;">
+                                            <select class="form-control" id="language">
+                                                <option value="1">中文</option>
+                                                <option value="2">英文</option>
+                                                <option value="3">法文</option>
+                                            </select>
+                                        </div>
+                                    </div>
+                                    <div class="panel-body" style="padding-top: 60px;">
                                         <textarea id="editor_1" type="text/plain" style="width:1200px;height:400px;">${one.content}</textarea>
                                         <div class="row btn-group-m-t">
                                             <div class="col-sm-10 col-sm-offset-5">
@@ -40,6 +50,21 @@
     $(function () {
         //初始化编辑器
         editor_1 = UE.getEditor('editor_1');
+
+        $('#language').on('change', function () {
+            var ajax = new $ax(Feng.ctxPath + "/tAgreement/getAgreement", function(data){
+                if(null != data){
+                    editor_1.setContent(data.content);
+                    $('#id').val(data.id);
+                }
+            },function(data){
+                Feng.error("编辑失败!" + data.responseJSON.message + "!");
+            });
+            ajax.set("language", $(this).val());
+            ajax.set("type", 3);
+            ajax.set("useType", 1);
+            ajax.start();
+        })
     });
 
     function update_1(id){
@@ -47,7 +72,7 @@
             Feng.error("内容不能为空!");
             return;
         }
-        submitData(editor_1.getContent(),id);
+        submitData(editor_1.getContent(), $('#id').val());
     }
 
     function submitData(content,id) {
diff --git a/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tCar/tCar_add.html b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tCar/tCar_add.html
index a26b32a..6ee81f1 100644
--- a/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tCar/tCar_add.html
+++ b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tCar/tCar_add.html
@@ -48,7 +48,7 @@
                                 <div class="checkbox checkbox-success  checkbox-inline">
                                     <input type="checkbox" name="serverBox" id="serverBox1" value="1" onclick="TCarInfoDlg.zcServerClick()">
                                     <label for="serverBox1"> 专车 </label>
-                                </div>
+                                </div><!--
                                 <div class="checkbox checkbox-success  checkbox-inline">
                                     <input type="checkbox" name="serverBox" id="serverBox2" value="2">
                                     <label for="serverBox2"> 出租车 </label>
@@ -56,11 +56,11 @@
                                 <div class="checkbox checkbox-success  checkbox-inline">
                                     <input type="checkbox" name="serverBox" id="serverBox3" value="3" onclick="TCarInfoDlg.kcServerClick()">
                                     <label for="serverBox3"> 跨城出行 </label>
-                                </div>
+                                </div>-->
                                 <div class="checkbox checkbox-success  checkbox-inline">
                                     <input type="checkbox" name="serverBox" id="serverBox4" value="4">
-                                    <label for="serverBox4"> 小件物流-同城 </label>
-                                </div>
+                                    <label for="serverBox4"> 市内小件物流 </label>
+                                </div><!--
                                 <div class="checkbox checkbox-success  checkbox-inline">
                                     <input type="checkbox" name="serverBox" id="serverBox5" value="5">
                                     <label for="serverBox5"> 小件物流-跨城 </label>
@@ -68,7 +68,7 @@
                                 <div class="checkbox checkbox-success  checkbox-inline">
                                     <input type="checkbox" name="serverBox" id="serverBox6" value="6">
                                     <label for="serverBox6"> 包车 </label>
-                                </div>
+                                </div>-->
                             </div>
                         </fieldset>
                     </div>
@@ -112,8 +112,8 @@
                     </#select>
                     <#input id="carLicensePlate" name="车牌号" />
                     <#avatar id="carPhoto" name="车辆照片:" />
-                    <#input id="drivingLicenseNumber" name="行驶证编号" />
-                    <#avatar id="drivingLicensePhoto" name="行驶证照片:" />
+                    <#input id="drivingLicenseNumber" name="roadworthiness sticker" />
+                    <#avatar id="drivingLicensePhoto" name="roadworthiness sticker照片:" />
                     <#input id="annualInspectionTime" name="年检到期时间" type="text"/>
                     <#input id="commercialInsuranceTime" name="商业保险到期时间" type="text"/>
                     <#input id="plateColor" name="车牌颜色" />
diff --git a/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tCar/tCar_edit.html b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tCar/tCar_edit.html
index 13c44b5..402d4ec 100644
--- a/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tCar/tCar_edit.html
+++ b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tCar/tCar_edit.html
@@ -50,7 +50,7 @@
                                 <div class="checkbox checkbox-success  checkbox-inline">
                                     <input type="checkbox" name="serverBox" id="serverBox1" value="1" ${2 == one ? 'checked=checked' : ''} onclick="TCarInfoDlg.zcServerClick()">
                                     <label for="serverBox1"> 专车 </label>
-                                </div>
+                                </div><!--
                                 <div class="checkbox checkbox-success  checkbox-inline">
                                     <input type="checkbox" name="serverBox" id="serverBox2" value="2" ${2 == two ? 'checked=checked' : ''}>
                                     <label for="serverBox2"> 出租车 </label>
@@ -58,11 +58,11 @@
                                 <div class="checkbox checkbox-success  checkbox-inline">
                                     <input type="checkbox" name="serverBox" id="serverBox3" value="3" ${2 == three ? 'checked=checked' : ''} onclick="TCarInfoDlg.kcServerClick()">
                                     <label for="serverBox3"> 跨城出行 </label>
-                                </div>
+                                </div>-->
                                 <div class="checkbox checkbox-success  checkbox-inline">
                                     <input type="checkbox" name="serverBox" id="serverBox4" value="4" ${2 == four ? 'checked=checked' : ''}>
-                                    <label for="serverBox4"> 小件物流-同城 </label>
-                                </div>
+                                    <label for="serverBox4"> 市内小件物流 </label>
+                                </div><!--
                                 <div class="checkbox checkbox-success  checkbox-inline">
                                     <input type="checkbox" name="serverBox" id="serverBox5" value="5" ${2 == five ? 'checked=checked' : ''}>
                                     <label for="serverBox5"> 小件物流-跨城 </label>
@@ -70,7 +70,7 @@
                                 <div class="checkbox checkbox-success  checkbox-inline">
                                     <input type="checkbox" name="serverBox" id="serverBox6" value="6" ${2 == six ? 'checked=checked' : ''}>
                                     <label for="serverBox6"> 包车 </label>
-                                </div>
+                                </div>-->
                             </div>
                         </fieldset>
                     </div>
@@ -116,8 +116,8 @@
                     </#select>
                     <#input id="carLicensePlate" name="车牌号" value="${item.carLicensePlate}"/>
                     <#avatar id="carPhoto" name="车辆照片:" avatarImg="${item.carPhoto}"/>
-                    <#input id="drivingLicenseNumber" name="行驶证编号" value="${item.drivingLicenseNumber}"/>
-                    <#avatar id="drivingLicensePhoto" name="行驶证照片:" avatarImg="${item.drivingLicensePhoto}"/>
+                    <#input id="drivingLicenseNumber" name="roadworthiness sticker" value="${item.drivingLicenseNumber}"/>
+                    <#avatar id="drivingLicensePhoto" name="roadworthiness sticker照片:" avatarImg="${item.drivingLicensePhoto}"/>
                     <#input id="annualInspectionTime" name="年检到期时间" type="text" value="${item.annualInspectionTime}"/>
                     <#input id="commercialInsuranceTime" name="商业保险到期时间" type="text" value="${item.commercialInsuranceTime}"/>
                     <#input id="plateColor" name="车牌颜色" value="${item.plateColor}"/>
diff --git a/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tDriver/tDriver_add.html b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tDriver/tDriver_add.html
index 84b7d6f..4522000 100644
--- a/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tDriver/tDriver_add.html
+++ b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tDriver/tDriver_add.html
@@ -58,8 +58,11 @@
                             </div>
                         </div>
                     </div>
+                    <#input id="birthday" name="出生日期"/>
+                    <#input id="email" name="邮箱地址:"  type="email"/>
                     <#input id="driveCard" name="驾驶证号码"/>
-                    <#avatar id="driveCardImgUrl" name="驾驶证照片:" />
+                    <#avatar id="driveCardImgUrl1" name="驾驶证正面照片:" />
+                    <#avatar id="driveCardImgUrl2" name="驾驶证背面照片:" />
                     <#input id="driverAge" name="驾龄" />
                     <#input id="idCard" name="身份证号" />
                     <#input id="driverAddress" name="居住地址" />
@@ -73,7 +76,7 @@
                                 <div class="checkbox checkbox-success  checkbox-inline">
                                     <input type="checkbox" name="serverBox" id="serverBox1" value="1">
                                     <label for="serverBox1"> 专车 </label>
-                                </div>
+                                </div><!--
                                 <div class="checkbox checkbox-success  checkbox-inline">
                                     <input type="checkbox" name="serverBox" id="serverBox2" value="2">
                                     <label for="serverBox2"> 出租车 </label>
@@ -81,11 +84,11 @@
                                 <div class="checkbox checkbox-success  checkbox-inline">
                                     <input type="checkbox" name="serverBox" id="serverBox3" value="3" onclick="YesDriverInfoDlg.checkBox()" >
                                     <label for="serverBox3"> 跨城出行 </label>
-                                </div>
+                                </div>-->
                                 <div class="checkbox checkbox-success  checkbox-inline">
                                     <input type="checkbox" name="serverBox" id="serverBox4" value="4">
-                                    <label for="serverBox4"> 小件物流-同城 </label>
-                                </div>
+                                    <label for="serverBox4"> 市内小件物流 </label>
+                                </div><!--
                                 <div class="checkbox checkbox-success  checkbox-inline">
                                     <input type="checkbox" name="serverBox" id="serverBox5" value="5">
                                     <label for="serverBox5"> 小件物流-跨城 </label>
@@ -93,7 +96,7 @@
                                 <div class="checkbox checkbox-success  checkbox-inline">
                                     <input type="checkbox" name="serverBox" id="serverBox6" value="6">
                                     <label for="serverBox6"> 包车 </label>
-                                </div>
+                                </div>-->
                             </div>
                         </fieldset>
                     </div>
@@ -253,5 +256,8 @@
     laydate.render({
         elem: '#registerDate'
     });
+    laydate.render({
+        elem: '#birthday'
+    });
 </script>
 @}
diff --git a/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tDriver/tDriver_edit.html b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tDriver/tDriver_edit.html
index fff2374..8ca8596 100644
--- a/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tDriver/tDriver_edit.html
+++ b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tDriver/tDriver_edit.html
@@ -62,8 +62,11 @@
                             </div>
                         </div>
                     </div>
+                    <#input id="birthday" name="出生日期" value="${item.birthday}"/>
+                    <#input id="email" name="邮箱地址:"  value="${item.email}" type="email"/>
                     <#input id="driveCard" name="驾驶证号码" value="${item.driveCard}"/>
-                    <#avatar id="driveCardImgUrl" name="驾驶证照片:" avatarImg="${item.driveCardImgUrl}"/>
+                    <#avatar id="driveCardImgUrl1" name="驾驶证正面照片:" avatarImg="${item.driveCardImgUrl1}"/>
+                    <#avatar id="driveCardImgUrl2" name="驾驶证背面照片:" avatarImg="${item.driveCardImgUrl2}"/>
                     <#input id="driverAge" name="驾龄"  value="${item.driverAge}"/>
                     <#input id="idCard" name="身份证号" value="${item.idCard}"/>
                     <#input id="driverAddress" name="居住地址" value="${item.driverAddress}"/>
@@ -77,26 +80,26 @@
                                     <input type="checkbox" name="serverBox" id="serverBox1" value="1" ${2 == one ? 'checked=checked' : ''}>
                                     <label for="serverBox1"> 专车 </label>
                                 </div>
-                                <div class="checkbox checkbox-success  checkbox-inline">
+                                <!--<div class="checkbox checkbox-success  checkbox-inline">
                                     <input type="checkbox" name="serverBox" id="serverBox2" value="2" ${2 == two ? 'checked=checked' : ''}>
                                     <label for="serverBox2"> 出租车 </label>
                                 </div>
                                 <div class="checkbox checkbox-success  checkbox-inline">
                                     <input type="checkbox" name="serverBox" id="serverBox3" value="3" ${2 == three ? 'checked=checked' : ''} onclick="YesDriverInfoDlg.checkBox()" >
                                     <label for="serverBox3"> 跨城出行 </label>
-                                </div>
+                                </div>-->
                                 <div class="checkbox checkbox-success  checkbox-inline">
                                     <input type="checkbox" name="serverBox" id="serverBox4" value="4" ${2 == four ? 'checked=checked' : ''}>
-                                    <label for="serverBox4"> 小件物流-同城 </label>
+                                    <label for="serverBox4"> 市内小件物流 </label>
                                 </div>
-                                <div class="checkbox checkbox-success  checkbox-inline">
+                                <!--<div class="checkbox checkbox-success  checkbox-inline">
                                     <input type="checkbox" name="serverBox" id="serverBox5" value="5" ${2 == five ? 'checked=checked' : ''}>
                                     <label for="serverBox5"> 小件物流-跨城 </label>
                                 </div>
                                 <div class="checkbox checkbox-success  checkbox-inline">
                                     <input type="checkbox" name="serverBox" id="serverBox6" value="6" ${2 == six ? 'checked=checked' : ''}>
                                     <label for="serverBox6"> 包车 </label>
-                                </div>
+                                </div>-->
                             </div>
                         </fieldset>
                     </div>
@@ -264,6 +267,9 @@
     laydate.render({
         elem: '#registerDate'
     });
+    laydate.render({
+        elem: '#birthday'
+    });
 
     $(function() {
         var serverBox3 = $('#serverBox3').prop('checked');
diff --git a/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tDriver/tDriver_immediately.html b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tDriver/tDriver_immediately.html
index df85e92..5e55369 100644
--- a/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tDriver/tDriver_immediately.html
+++ b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tDriver/tDriver_immediately.html
@@ -68,6 +68,8 @@
                             </div>
                         </div>
                     </div>
+                    <#label id="companyName" name="邮箱地址" value="${item.email}"/>
+                    <#label id="companyName" name="出生日期" value="${item.birthday}"/>
                     <#label id="companyName" name="所属机构" value="${item.companyName}"/>
                     <#label id="driverAge" name="驾龄" value="${item.driverAge}"/>
                 </div>
diff --git a/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tDriver/tDriver_look.html b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tDriver/tDriver_look.html
index e05878b..7f374f4 100644
--- a/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tDriver/tDriver_look.html
+++ b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tDriver/tDriver_look.html
@@ -56,6 +56,8 @@
                             </div>
                         </div>
                     </div>
+                    <#label id="companyName" name="邮箱地址" value="${item.email}"/>
+                    <#label id="companyName" name="出生日期" value="${item.birthday}"/>
                     <#label id="companyName" name="所属机构" value="${item.companyName}"/>
                     <#label id="driverAge" name="驾龄" value="${item.driverAge}"/>
                 </div>
diff --git a/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tSystemPrice/small.html b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tSystemPrice/small.html
index c84815f..698bfa7 100644
--- a/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tSystemPrice/small.html
+++ b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tSystemPrice/small.html
@@ -10,6 +10,7 @@
 
             <div class="row">
                 <div class="col-sm-11">
+                    <!--
                     <div class="ibox-title">
                         <h3>跨城小件物流价格设置:</h3>
                     </div>
@@ -45,9 +46,9 @@
                                               name="num102" id="num102" class="form-control newWidth" />&nbsp;元/件<br/>
                         </div>
                     </div>
-
+                    -->
                     <div class="ibox-title">
-                        <h3>同城小件物流价格设置:</h3>
+                        <h3>市内小件物流价格设置:</h3>
                     </div>
                     <input type="hidden" id="tcId" name="tcId"
                            @if(isNotEmpty(tcId)){
@@ -60,7 +61,7 @@
                     <div class="form-group">
                         <label class="col-sm-1 control-label"></label>
                         <div class="col-sm-10">
-                            普通小件价格为(根据起点终点距离收费):<br/>
+                            价格为(根据起点终点距离收费):<br/>
                         </div>
                     </div>
 
@@ -164,7 +165,7 @@
                                           name="num11" id="num11" class="form-control newWidth" />元/件&nbsp;<br/>
                         </div>
                     </div>
-
+                    <!--
                     <div class="form-group">
                         <label class="col-sm-1 control-label"></label>
                         <div class="col-sm-10">
@@ -272,7 +273,7 @@
                                           name="num22" id="num22" class="form-control newWidth" />元/件&nbsp;<br/>
                         </div>
                     </div>
-
+                    -->
                 </div>
             </div>
 
@@ -325,15 +326,15 @@
     function addSubmit() {
         //验证数据格式-跨城小件物流价格设置
         var kcId = $("#kcId").val();
-        var num101 = $("#num101").val();
-        var num102 = $("#num102").val();
-        if ("" == num101 || "" == num102){
-            Feng.error("【跨城小件物流价格设置】输入框不能为空");
-            return;
-        }else if (!regDouble.test(num101) || !regDouble.test(num102)){
-            Feng.error("【跨城小件物流价格设置】输入框格式不正确");
-            return;
-        }
+        // var num101 = $("#num101").val();
+        // var num102 = $("#num102").val();
+        // if ("" == num101 || "" == num102){
+        //     Feng.error("【跨城小件物流价格设置】输入框不能为空");
+        //     return;
+        // }else if (!regDouble.test(num101) || !regDouble.test(num102)){
+        //     Feng.error("【跨城小件物流价格设置】输入框格式不正确");
+        //     return;
+        // }
         //验证数据格式-同城小件物流价格设置
         var tcId = $("#tcId").val();
         var num1 = $("#num1").val();
@@ -347,36 +348,36 @@
         var num9 = $("#num9").val();
         var num10 = $("#num10").val();
         var num11 = $("#num11").val();
-        var num12 = $("#num12").val();
-        var num13 = $("#num13").val();
-        var num14 = $("#num14").val();
-        var num15 = $("#num15").val();
-        var num16 = $("#num16").val();
-        var num17 = $("#num17").val();
-        var num18 = $("#num18").val();
-        var num19 = $("#num19").val();
-        var num20 = $("#num20").val();
-        var num21 = $("#num21").val();
-        var num22 = $("#num22").val();
+        // var num12 = $("#num12").val();
+        // var num13 = $("#num13").val();
+        // var num14 = $("#num14").val();
+        // var num15 = $("#num15").val();
+        // var num16 = $("#num16").val();
+        // var num17 = $("#num17").val();
+        // var num18 = $("#num18").val();
+        // var num19 = $("#num19").val();
+        // var num20 = $("#num20").val();
+        // var num21 = $("#num21").val();
+        // var num22 = $("#num22").val();
 
         if ("" == num1 || "" == num2 || "" == num3 || "" == num4 || "" == num5 || "" == num6 || "" == num7 || "" == num8 || "" == num9 || "" == num10
-            || "" == num11 || "" == num12 || "" == num13 || "" == num14 || "" == num15 || "" == num16 || "" == num17 || "" == num18 || "" == num19 || "" == num20
-            || "" == num21 || "" == num22 ){
+            || "" == num11 /*|| "" == num12 || "" == num13 || "" == num14 || "" == num15 || "" == num16 || "" == num17 || "" == num18 || "" == num19 || "" == num20
+            || "" == num21 || "" == num22 */){
             Feng.error("【同城小件物流价格设置】输入框不能为空");
             return;
         }else if (!regDouble.test(num1) || !regDouble.test(num2) || !regDouble.test(num3) || !regDouble.test(num4) || !regDouble.test(num5) || !regDouble.test(num6)
-            || !regDouble.test(num7) || !regDouble.test(num8) || !regDouble.test(num9) || !regDouble.test(num10) || !regDouble.test(num11) || !regDouble.test(num12)
+            || !regDouble.test(num7) || !regDouble.test(num8) || !regDouble.test(num9) || !regDouble.test(num10) || !regDouble.test(num11)/* || !regDouble.test(num12)
             || !regDouble.test(num13) || !regDouble.test(num14) || !regDouble.test(num15) || !regDouble.test(num16) || !regDouble.test(num17) || !regDouble.test(num18)
-            || !regDouble.test(num19) || !regDouble.test(num20) || !regDouble.test(num21) || !regDouble.test(num22) ){
+            || !regDouble.test(num19) || !regDouble.test(num20) || !regDouble.test(num21) || !regDouble.test(num22)*/ ){
             Feng.error("【同城小件物流价格设置】输入框格式不正确");
             return;
         }
         //封装数据
-        var json1 = '{"num1":"'+num101+'","num2":"'+num102+'"}';
+        // var json1 = '{"num1":"'+num101+'","num2":"'+num102+'"}';
         var json2 = '{"num1":"'+num1+'","num2":"'+num2+'","num3":"'+num3+'","num4":"'+num4+'","num5":"'+num5+'","num6":"'+num6+'"' +
-            ',"num7":"'+num7+'","num8":"'+num8+'","num9":"'+num9+'","num10":"'+num10+'","num11":"'+num11+'","num12":"'+num12+'"' +
+            ',"num7":"'+num7+'","num8":"'+num8+'","num9":"'+num9+'","num10":"'+num10+'","num11":"'+num11+/*'","num12":"'+num12+'"' +
             ',"num13":"'+num13+'","num14":"'+num14+'","num15":"'+num15+'","num16":"'+num16+'","num17":"'+num17+'","num18":"'+num18+'"' +
-            ',"num19":"'+num19+'","num20":"'+num20+'","num21":"'+num21+'","num22":"'+num22+'"}';
+            ',"num19":"'+num19+'","num20":"'+num20+'","num21":"'+num21+'","num22":"'+num22+*/'"}';
 
         //提交信息
         var ajax = new $ax(Feng.ctxPath + "/tSystemPrice/smallSubmit", function(data){
@@ -386,7 +387,7 @@
             Feng.error("操作失败!" + data.responseJSON.message + "!");
         });
         ajax.set("kcId", kcId);
-        ajax.set("json1", json1);
+        // ajax.set("json1", json1);
         ajax.set("tcId", tcId);
         ajax.set("json2", json2);
         ajax.start();
diff --git a/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tSystemPrice/tSystemPrice_add.html b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tSystemPrice/tSystemPrice_add.html
index 41ed804..44dc566 100644
--- a/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tSystemPrice/tSystemPrice_add.html
+++ b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tSystemPrice/tSystemPrice_add.html
@@ -80,7 +80,7 @@
                             <br/>
                         </div>
                     </div>
-
+                    <!--
                     <div class="form-group">
                         <label class="col-sm-2 control-label">夜间行驶费用设置:</label>
                         <div class="col-sm-10">
@@ -98,7 +98,7 @@
                             <br/>
                         </div>
                     </div>
-
+                    -->
                     <div class="form-group">
                         <label class="col-sm-2 control-label">高峰期费用设置:</label>
                         <div class="col-sm-10">
diff --git a/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tSystemPrice/tSystemPrice_edit.html b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tSystemPrice/tSystemPrice_edit.html
index d7a30f4..f92d892 100644
--- a/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tSystemPrice/tSystemPrice_edit.html
+++ b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tSystemPrice/tSystemPrice_edit.html
@@ -80,7 +80,7 @@
                             <br/>
                         </div>
                     </div>
-
+                    <!--
                     <div class="form-group">
                         <label class="col-sm-2 control-label">夜间行驶费用设置:</label>
                         <div class="col-sm-10">
@@ -98,7 +98,7 @@
                             <br/>
                         </div>
                     </div>
-
+                    -->
                     <div class="form-group">
                         <label class="col-sm-2 control-label">高峰期费用设置:</label>
                         <div class="col-sm-10">
diff --git a/ManagementIGOTravel/guns-admin/src/main/webapp/static/img/index4.png b/ManagementIGOTravel/guns-admin/src/main/webapp/static/img/index4.png
index 24def8d..fafadd6 100644
--- a/ManagementIGOTravel/guns-admin/src/main/webapp/static/img/index4.png
+++ b/ManagementIGOTravel/guns-admin/src/main/webapp/static/img/index4.png
Binary files differ
diff --git a/ManagementIGOTravel/guns-admin/src/main/webapp/static/img/logo.png b/ManagementIGOTravel/guns-admin/src/main/webapp/static/img/logo.png
index 24def8d..ef4f10d 100644
--- a/ManagementIGOTravel/guns-admin/src/main/webapp/static/img/logo.png
+++ b/ManagementIGOTravel/guns-admin/src/main/webapp/static/img/logo.png
Binary files differ
diff --git a/ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/tAdvertisement/tAdvertisement.js b/ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/tAdvertisement/tAdvertisement.js
index 15456c1..328f994 100644
--- a/ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/tAdvertisement/tAdvertisement.js
+++ b/ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/tAdvertisement/tAdvertisement.js
@@ -47,7 +47,7 @@
                 return btn;
             }
         },
-        {title: '所属省', field: 'provinceName', visible: true, align: 'center', valign: 'middle',
+        {title: '所属城市', field: 'provinceName', visible: true, align: 'center', valign: 'middle',
             formatter: function (value, row) {
                 var btn = "";
                 if(row.provinceName != '' && row.provinceName != null) {
diff --git a/ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/tAdvertisement/tAdvertisement_info.js b/ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/tAdvertisement/tAdvertisement_info.js
index 7c36965..b2109a2 100644
--- a/ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/tAdvertisement/tAdvertisement_info.js
+++ b/ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/tAdvertisement/tAdvertisement_info.js
@@ -22,7 +22,7 @@
         provinceCode: {
             validators: {
                 notEmpty: {
-                    message: '请先选择所属省'
+                    message: '请先选择所属城市'
                 }
             }
         },
@@ -114,7 +114,7 @@
     .set('updateTime')
     .set('updateUser')
     .set('state')
-    .set('provinceId');
+    .set('cityId');
 }
 
 /**
diff --git a/ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/tCar/tCar.js b/ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/tCar/tCar.js
index a5c5cdf..570cb97 100644
--- a/ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/tCar/tCar.js
+++ b/ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/tCar/tCar.js
@@ -117,7 +117,7 @@
             },
             events: 'operateEvents'
         },
-        {title: '行驶证<br/>号码', field: 'drivingLicenseNumber', visible: true, align: 'center', valign: 'middle',width:'8%',
+        {title: 'roadworthiness sticker', field: 'drivingLicenseNumber', visible: true, align: 'center', valign: 'middle',width:'8%',
             formatter: function (value, row) {
                 var btn = "";
                 if(row.drivingLicenseNumber != '' && row.drivingLicenseNumber != null) {
@@ -126,7 +126,7 @@
                 return btn;
             }
         },
-        {title: '行驶证<br/>照片', field: 'drivingLicensePhoto', visible: true, align: 'center', valign: 'middle',width:'8%',
+        {title: 'roadworthiness sticker照片', field: 'drivingLicensePhoto', visible: true, align: 'center', valign: 'middle',width:'8%',
             formatter: function (value, row) {
                 if (row.drivingLicensePhoto == null || row.drivingLicensePhoto == '') {
                     return '<a class = "view"  href="javascript:void(0)"><img style="width: 50px;height:50px;" src="' + Feng.ctxPath + '/static/img/NoPIC.png" /></a>';
diff --git a/ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/tCar/tCarAuth.js b/ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/tCar/tCarAuth.js
index 39046db..d8efca2 100644
--- a/ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/tCar/tCarAuth.js
+++ b/ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/tCar/tCarAuth.js
@@ -117,7 +117,7 @@
             },
             events: 'operateEvents'
         },
-        {title: '行驶证<br/>号码', field: 'drivingLicenseNumber', visible: true, align: 'center', valign: 'middle',width:'8%',
+        {title: 'roadworthiness sticker', field: 'drivingLicenseNumber', visible: true, align: 'center', valign: 'middle',width:'8%',
             formatter: function (value, row) {
                 var btn = "";
                 if(row.drivingLicenseNumber != '' && row.drivingLicenseNumber != null) {
@@ -126,7 +126,7 @@
                 return btn;
             }
         },
-        {title: '行驶证<br/>照片', field: 'drivingLicensePhoto', visible: true, align: 'center', valign: 'middle',width:'8%',
+        {title: 'roadworthiness sticker照片', field: 'drivingLicensePhoto', visible: true, align: 'center', valign: 'middle',width:'8%',
             formatter: function (value, row) {
                 if (row.drivingLicensePhoto == null || row.drivingLicensePhoto == '') {
                     return '<a class = "view"  href="javascript:void(0)"><img style="width: 50px;height:50px;" src="' + Feng.ctxPath + '/static/img/NoPIC.png" /></a>';
diff --git a/ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/tDriver/tDriver.js b/ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/tDriver/tDriver.js
index 9eab01e..95dcd3a 100644
--- a/ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/tDriver/tDriver.js
+++ b/ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/tDriver/tDriver.js
@@ -106,6 +106,17 @@
                 return btn;
             }
         },
+        {title: '出生日期', field: 'birthday', visible: true, align: 'center', valign: 'middle',width:'3%',
+            formatter: function (value, row) {
+                var btn = "";
+                if(row.birthday != '' && row.birthday != null) {
+                    var birthday = row.birthday;
+                    birthday = birthday.substring(0, birthday.indexOf(" "));
+                    btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + birthday + '" onfocus="TUser.tooltip()">' + birthday + '</p>']
+                }
+                return btn;
+            }
+        },
         {title: '驾驶证号码', field: 'driveCard', visible: true, align: 'center', valign: 'middle',
             formatter: function (value, row) {
                 var btn = "";
diff --git a/ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/tDriver/tDriver_info.js b/ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/tDriver/tDriver_info.js
index 3180e08..6acc5ad 100644
--- a/ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/tDriver/tDriver_info.js
+++ b/ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/tDriver/tDriver_info.js
@@ -73,7 +73,8 @@
     .set('licenselImgUrl')
     .set('driverAge')
     .set('driveCard')
-    .set('driveCardImgUrl')
+    .set('driveCardImgUrl1')
+    .set('driveCardImgUrl2')
     .set('driverType')
     .set('getDriverLicenseDate')
     .set('driverLicenseOn')
diff --git a/ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/tDriver/yesDriver.js b/ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/tDriver/yesDriver.js
index 76482c7..af852c8 100644
--- a/ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/tDriver/yesDriver.js
+++ b/ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/tDriver/yesDriver.js
@@ -67,6 +67,17 @@
                 return btn;
             }
         },
+        {title: '出生日期', field: 'birthday', visible: true, align: 'center', valign: 'middle',width:'3%',
+            formatter: function (value, row) {
+                var btn = "";
+                if(row.birthday != '' && row.birthday != null) {
+                    var birthday = row.birthday;
+                    birthday = birthday.substring(0, birthday.indexOf(" "));
+                    btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + birthday + '" onfocus="TUser.tooltip()">' + birthday + '</p>']
+                }
+                return btn;
+            }
+        },
         {title: '司机来源', field: 'addType', visible: true, align: 'center', valign: 'middle',width:'5%',
             formatter: function (value, row) {
                 var btn = "";
@@ -149,13 +160,13 @@
                   return ''
               }
             }
-        },
+        },/*
         {title: '车队', field: 'teamId', visible: true, align: 'center', valign: 'middle',width:'15%',editable:{
                 type: 'select',
                 title: '车队',
                 source: YesDriver.teamList,
                 emptytext: "暂无车队"
-        }},
+        }},*/
         {title: '关联线路', field: 'lineStr', visible: true, align: 'center', valign: 'middle',width:'7%',
             formatter: function (value, row) {
                 var btn = "";
diff --git a/ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/tDriver/yesDriver_info.js b/ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/tDriver/yesDriver_info.js
index bac7e1a..76dc261 100644
--- a/ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/tDriver/yesDriver_info.js
+++ b/ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/tDriver/yesDriver_info.js
@@ -346,7 +346,8 @@
     .set('licenselImgUrl')
     .set('driverAge')
     .set('driveCard')
-    .set('driveCardImgUrl')
+    .set('driveCardImgUrl1')
+    .set('driveCardImgUrl2')
     .set('driverType')
     .set('getDriverLicenseDate')
     .set('driverLicenseOn')
@@ -379,7 +380,9 @@
     .set('insertUser')
     .set('updateTime')
     .set('updateUser')
-    .set('addType');
+    .set('addType')
+    .set('birthday')
+    .set('email');
 }
 
 /**
@@ -389,9 +392,9 @@
 
     this.clearData();
     this.collectData();
-    if(!this.validate()){
-        return ;
-    }
+    // if(!this.validate()){
+    //     return ;
+    // }
     var roleType = $("#roleType").val();  //1=平台  2=分公司 3=加盟商
     var companyType = $("input[name='companyType']:checked").val();
     if (1 == roleType){
@@ -415,9 +418,14 @@
         Feng.info("请上传人脸识别照片");
         return;
     }
-    var driveCardImgUrl = $("#driveCardImgUrl").val();
-    if ("" == driveCardImgUrl){
-        Feng.info("请上传驾驶证照片");
+    var driveCardImgUrl1 = $("#driveCardImgUrl1").val();
+    if ("" == driveCardImgUrl1){
+        Feng.info("请上传驾驶证正面照片");
+        return;
+    }
+    var driveCardImgUrl2 = $("#driveCardImgUrl2").val();
+    if ("" == driveCardImgUrl2){
+        Feng.info("请上传驾驶证背面照片");
         return;
     }
     var serverBox =[];
@@ -486,9 +494,9 @@
 
     this.clearData();
     this.collectData();
-    if(!this.validate()){
-        return ;
-    }
+    // if(!this.validate()){
+    //     return ;
+    // }
     var roleType = $("#roleType").val();  //1=平台  2=分公司 3=加盟商
     var companyType = $("input[name='companyType']:checked").val();
     if (1 == roleType){
@@ -511,9 +519,14 @@
         Feng.info("请上传人脸识别照片");
         return;
     }
-    var driveCardImgUrl = $("#driveCardImgUrl").val();
-    if ("" == driveCardImgUrl){
-        Feng.info("请上传驾驶证照片");
+    var driveCardImgUrl1 = $("#driveCardImgUrl1").val();
+    if ("" == driveCardImgUrl1){
+        Feng.info("请上传驾驶证正面照片");
+        return;
+    }
+    var driveCardImgUrl2 = $("#driveCardImgUrl2").val();
+    if ("" == driveCardImgUrl2){
+        Feng.info("请上传驾驶证背面照片");
         return;
     }
     var serverBox =[];
@@ -584,9 +597,12 @@
     var faceImgUrl = new $WebUpload("faceImgUrl");
     faceImgUrl.setUploadBarId("progressBar");
     faceImgUrl.init();
-    var driveCardImgUrl = new $WebUpload("driveCardImgUrl");
-    driveCardImgUrl.setUploadBarId("progressBar");
-    driveCardImgUrl.init();
+    var driveCardImgUrl1 = new $WebUpload("driveCardImgUrl1");
+    driveCardImgUrl1.setUploadBarId("progressBar");
+    driveCardImgUrl1.init();
+    var driveCardImgUrl2 = new $WebUpload("driveCardImgUrl2");
+    driveCardImgUrl2.setUploadBarId("progressBar");
+    driveCardImgUrl2.init();
     var networkCarlssueImg = new $WebUpload("networkCarlssueImg");
     networkCarlssueImg.setUploadBarId("progressBar");
     networkCarlssueImg.init();
diff --git a/ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/tOrderLogistics/tOrderLogistics.js b/ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/tOrderLogistics/tOrderLogistics.js
index ec203f2..2cfa38e 100644
--- a/ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/tOrderLogistics/tOrderLogistics.js
+++ b/ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/tOrderLogistics/tOrderLogistics.js
@@ -30,7 +30,7 @@
                 var btn = "";
                 if(row.type != '' && row.type != null) {
                     if (row.type == 4){
-                        btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="同城物流" onfocus="TUser.tooltip()">同城物流</p>']
+                        btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="市内小件物流" onfocus="TUser.tooltip()">市内小件物流</p>']
                     } else if (row.type == 5){
                         btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="跨城物流" onfocus="TUser.tooltip()">跨城物流</p>']
                     }
diff --git a/ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/tSystemPrice/tSystemPrice_info.js b/ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/tSystemPrice/tSystemPrice_info.js
index e328209..70bd4ed 100644
--- a/ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/tSystemPrice/tSystemPrice_info.js
+++ b/ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/tSystemPrice/tSystemPrice_info.js
@@ -183,79 +183,79 @@
                 }
             }
         },
-        num16: {
-            validators: {
-                notEmpty: {
-                    message: '【时间】输入框不能为空'
-                }
-            }
-        },
-        num17: {
-            validators: {
-                notEmpty: {
-                    message: '【元】输入框不能为空'
-                },
-                regexp: {
-                    regexp: /^(0|[1-9]\d{0,2})(\.\d{1,2})?$/,
-                    message: '【元】输入框不能超过3位数,保留两位小数'
-                }
-            }
-        },
-        num18: {
-            validators: {
-                notEmpty: {
-                    message: '【元】输入框不能为空'
-                },
-                regexp: {
-                    regexp: /^(0|[1-9]\d{0,2})(\.\d{1,2})?$/,
-                    message: '【元】输入框不能超过3位数,保留两位小数'
-                }
-            }
-        },
-        num19: {
-            validators: {
-                notEmpty: {
-                    message: '【元】输入框不能为空'
-                },
-                regexp: {
-                    regexp: /^(0|[1-9]\d{0,2})(\.\d{1,2})?$/,
-                    message: '【元】输入框不能超过3位数,保留两位小数'
-                }
-            }
-        },
-        num20: {
-            validators: {
-                notEmpty: {
-                    message: '【元】输入框不能为空'
-                },
-                regexp: {
-                    regexp: /^(0|[1-9]\d{0,2})(\.\d{1,2})?$/,
-                    message: '【元】输入框不能超过3位数,保留两位小数'
-                }
-            }
-        },
-        num21: {
-            validators: {
-                notEmpty: {
-                    message: '【元】输入框不能为空'
-                },
-                regexp: {
-                    regexp: /^(0|[1-9]\d{0,2})(\.\d{1,2})?$/,
-                    message: '【元】输入框不能超过3位数,保留两位小数'
-                }
-            }
-        },
-        num22: {
-            validators: {
-                notEmpty: {
-                    message: '【元】输入框不能为空'
-                },
-                regexp: {
-                    regexp: /^(0|[1-9]\d{0,2})(\.\d{1,2})?$/,
-                    message: '【元】输入框不能超过3位数,保留两位小数'
-                }
-            }
-        },
+        // num16: {
+        //     validators: {
+        //         notEmpty: {
+        //             message: '【时间】输入框不能为空'
+        //         }
+        //     }
+        // },
+        // num17: {
+        //     validators: {
+        //         notEmpty: {
+        //             message: '【元】输入框不能为空'
+        //         },
+        //         regexp: {
+        //             regexp: /^(0|[1-9]\d{0,2})(\.\d{1,2})?$/,
+        //             message: '【元】输入框不能超过3位数,保留两位小数'
+        //         }
+        //     }
+        // },
+        // num18: {
+        //     validators: {
+        //         notEmpty: {
+        //             message: '【元】输入框不能为空'
+        //         },
+        //         regexp: {
+        //             regexp: /^(0|[1-9]\d{0,2})(\.\d{1,2})?$/,
+        //             message: '【元】输入框不能超过3位数,保留两位小数'
+        //         }
+        //     }
+        // },
+        // num19: {
+        //     validators: {
+        //         notEmpty: {
+        //             message: '【元】输入框不能为空'
+        //         },
+        //         regexp: {
+        //             regexp: /^(0|[1-9]\d{0,2})(\.\d{1,2})?$/,
+        //             message: '【元】输入框不能超过3位数,保留两位小数'
+        //         }
+        //     }
+        // },
+        // num20: {
+        //     validators: {
+        //         notEmpty: {
+        //             message: '【元】输入框不能为空'
+        //         },
+        //         regexp: {
+        //             regexp: /^(0|[1-9]\d{0,2})(\.\d{1,2})?$/,
+        //             message: '【元】输入框不能超过3位数,保留两位小数'
+        //         }
+        //     }
+        // },
+        // num21: {
+        //     validators: {
+        //         notEmpty: {
+        //             message: '【元】输入框不能为空'
+        //         },
+        //         regexp: {
+        //             regexp: /^(0|[1-9]\d{0,2})(\.\d{1,2})?$/,
+        //             message: '【元】输入框不能超过3位数,保留两位小数'
+        //         }
+        //     }
+        // },
+        // num22: {
+        //     validators: {
+        //         notEmpty: {
+        //             message: '【元】输入框不能为空'
+        //         },
+        //         regexp: {
+        //             regexp: /^(0|[1-9]\d{0,2})(\.\d{1,2})?$/,
+        //             message: '【元】输入框不能超过3位数,保留两位小数'
+        //         }
+        //     }
+        // },
         num23: {
             validators: {
                 notEmpty: {
diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/CouponController.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/CouponController.java
index 84b2e98..1872c94 100644
--- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/CouponController.java
+++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/CouponController.java
@@ -77,15 +77,16 @@
     @ApiOperation(value = "删除优惠券", tags = {"用户端-个人中心"}, notes = "")
     @ApiImplicitParams({
             @ApiImplicitParam(value = "优惠券id", name = "id", required = true, dataType = "int"),
+            @ApiImplicitParam(value = "语言类型(1=简体中文,2=英语,3=法语)", name = "language", required = false, dataType = "int"),
             @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
     })
-    public ResultUtil delMyCoupon(Integer id, HttpServletRequest request){
+    public ResultUtil delMyCoupon(Integer id, Integer language, HttpServletRequest request){
         try {
             Integer uid = userInfoService.getUserIdFormRedis(request);
             if(null == uid){
                 return ResultUtil.tokenErr();
             }
-            return userCouponRecordService.delMyCoupon(id, uid);
+            return userCouponRecordService.delMyCoupon(id, uid, language);
         }catch (Exception e){
             e.printStackTrace();
             return ResultUtil.runErr();
@@ -106,15 +107,16 @@
     @ApiImplicitParams({
             @ApiImplicitParam(value = "优惠券id", name = "id", required = true, dataType = "int"),
             @ApiImplicitParam(value = "赠送用户id", name = "userId", required = true, dataType = "int"),
+            @ApiImplicitParam(value = "语言类型(1=简体中文,2=英语,3=法语)", name = "language", required = false, dataType = "int"),
             @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
     })
-    public ResultUtil handselCoupon(Integer id, Integer userId, HttpServletRequest request){
+    public ResultUtil handselCoupon(Integer id, Integer userId, Integer language, HttpServletRequest request){
         try {
             Integer uid = userInfoService.getUserIdFormRedis(request);
             if(null == uid){
                 return ResultUtil.tokenErr();
             }
-            return userCouponRecordService.handselCoupon(id, uid, userId);
+            return userCouponRecordService.handselCoupon(id, uid, userId, language);
         }catch (Exception e){
             e.printStackTrace();
             return ResultUtil.runErr();
diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/FeedbackController.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/FeedbackController.java
index 4d5fefd..d8bbd61 100644
--- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/FeedbackController.java
+++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/FeedbackController.java
@@ -41,15 +41,16 @@
     @ApiOperation(value = "提交反馈意见", tags = {"用户端-个人中心"}, notes = "")
     @ApiImplicitParams({
             @ApiImplicitParam(value = "反馈内容", name = "content", required = true, dataType = "string"),
+            @ApiImplicitParam(value = "语言类型(1=简体中文,2=英语,3=法语)", name = "language", required = false, dataType = "int"),
             @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
     })
-    public ResultUtil feedback(String content, HttpServletRequest request){
+    public ResultUtil feedback(String content, Integer language, HttpServletRequest request){
         try {
             Integer uid = userInfoService.getUserIdFormRedis(request);
             if(uid == null){
                 return ResultUtil.tokenErr();
             }
-            return feedbackService.feedback(content, uid);
+            return feedbackService.feedback(content, uid, language);
         }catch (Exception e){
             e.printStackTrace();
             return ResultUtil.runErr();
diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OpenCityController.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OpenCityController.java
index 0628edc..13b9f60 100644
--- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OpenCityController.java
+++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OpenCityController.java
@@ -76,10 +76,11 @@
     @ApiImplicitParams({
             @ApiImplicitParam(value = "纬度", name = "lat", required = true, dataType = "double"),
             @ApiImplicitParam(value = "经度", name = "lnt", required = true, dataType = "double"),
+            @ApiImplicitParam(value = "语言类型(1=简体中文,2=英语,3=法语)", name = "language", required = false, dataType = "int"),
     })
-    public ResultUtil<List<BaseWarpper>> queryBusiness(Double lat, Double lnt){
+    public ResultUtil<List<BaseWarpper>> queryBusiness(Double lat, Double lnt, Integer language){
         try {
-            List<BaseWarpper> list = openCityBusinessService.queryBusiness(lat, lnt);
+            List<BaseWarpper> list = openCityBusinessService.queryBusiness(lat, lnt, language);
             return ResultUtil.success(list);
         }catch (Exception e){
             e.printStackTrace();
@@ -97,11 +98,12 @@
     @PostMapping("/queryBusinessById")
     @ApiOperation(value = "选择开通城市获取业务类型", tags = {"用户端-首页"}, notes = "")
     @ApiImplicitParams({
-            @ApiImplicitParam(value = "开通城市id", name = "id", required = true, dataType = "int")
+            @ApiImplicitParam(value = "开通城市id", name = "id", required = true, dataType = "int"),
+            @ApiImplicitParam(value = "语言类型(1=简体中文,2=英语,3=法语)", name = "language", required = false, dataType = "int"),
     })
-    public ResultUtil<List<BaseWarpper>> queryBusinessById(Integer id){
+    public ResultUtil<List<BaseWarpper>> queryBusinessById(Integer id, Integer language){
         try {
-            List<BaseWarpper> list = openCityBusinessService.queryBusinessById(id);
+            List<BaseWarpper> list = openCityBusinessService.queryBusinessById(id, language);
             return ResultUtil.success(list);
         }catch (Exception e){
             e.printStackTrace();
@@ -115,16 +117,16 @@
      */
     @ResponseBody
     @PostMapping("/openCity")
-    @ApiOperation(value = "判断当前是否是开通城市【1.0】", tags = {"用户端-首页"}, notes = "open=1(是),open=2(否)")
+    @ApiOperation(value = "判断当前是否是开通城市【1.0】", tags = {"用户端-首页"})
     @ApiImplicitParams({
             @ApiImplicitParam(value = "纬度", name = "lat", required = true, dataType = "String"),
             @ApiImplicitParam(value = "经度", name = "lnt", required = true, dataType = "String")
     })
-    public ResultUtil openCity(Double lat, Double lnt){
+    public ResultUtil openCity(Double lat, Double lnt, Integer language){
         try {
-            boolean b = openCityService.openCity(lat, lnt);
+            String s = openCityService.openCity(lat, lnt, language);
             Map<String, Object> map = new HashMap<>();
-            map.put("open", b ? 1 : 2);
+            map.put("name", s);
             return ResultUtil.success(map);
         }catch (Exception e){
             e.printStackTrace();
diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java
index 4c810bb..de10aa0 100644
--- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java
+++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java
@@ -237,8 +237,8 @@
             pageNum = (pageNum - 1) * size;
             List<Map<String, Object>> maps = orderCancelService.queryCancel(uid, 2);
             List<Map<String, Object>> list = orderPrivateCarService.queryMyTravelRecord(uid);//专车
-            List<Map<String, Object>> list1 = orderTaxiService.queryMyTravelRecord(uid);//出租车
-            List<Map<String, Object>> list2 = orderCrossCityService.queryMyTravelRecord(uid);//跨城车
+//            List<Map<String, Object>> list1 = orderTaxiService.queryMyTravelRecord(uid);//出租车
+//            List<Map<String, Object>> list2 = orderCrossCityService.queryMyTravelRecord(uid);//跨城车
             List<Map<String, Object>> list3 = orderLogisticsService.queryMyTravelRecord(uid);//小件物流
             List<TransactionDetails> transactionDetails = transactionDetailsService.selectList(new EntityWrapper<TransactionDetails>().eq("state", 1)
                     .eq("type", 1).eq("userType", 1).eq("userId", uid).eq("orderType", 3).like("remark", "%跨城订单取消退款%"));
@@ -253,10 +253,10 @@
                 list4.add(map);
             }
             list.addAll(maps);
-            list.addAll(list1);
-            list.addAll(list2);
+//            list.addAll(list1);
+//            list.addAll(list2);
             list.addAll(list3);
-            list.addAll(list4);
+//            list.addAll(list4);
 
             List<TravelRecordWarpper> orderWarpper = TravelRecordWarpper.getTravelRecordWarpper(list);
 
@@ -318,35 +318,35 @@
                     case 1://专车
                         list = orderPrivateCarService.queryInvoiceOrder(type, startTime, endTime, startMoney, endMoney, uid);
                         break;
-                    case 2://出租车
-                        list = orderTaxiService.queryInvoiceOrder(type, startTime, endTime, startMoney, endMoney, uid);
-                        break;
-                    case 3://跨城
-                        list = orderCrossCityService.queryInvoiceOrder(type, startTime, endTime, startMoney, endMoney, uid);
-                        break;
+//                    case 2://出租车
+//                        list = orderTaxiService.queryInvoiceOrder(type, startTime, endTime, startMoney, endMoney, uid);
+//                        break;
+//                    case 3://跨城
+//                        list = orderCrossCityService.queryInvoiceOrder(type, startTime, endTime, startMoney, endMoney, uid);
+//                        break;
                     case 4://同城小件物流
                         list = orderLogisticsService.queryInvoiceOrder(type, startTime, endTime, startMoney, endMoney, uid, orderType);
                         break;
-                    case 5://跨城小件物流
-                        list = orderLogisticsService.queryInvoiceOrder(type, startTime, endTime, startMoney, endMoney, uid, orderType);
-                        break;
+//                    case 5://跨城小件物流
+//                        list = orderLogisticsService.queryInvoiceOrder(type, startTime, endTime, startMoney, endMoney, uid, orderType);
+//                        break;
                 }
             }else{
                 //专车
                 List<Map<String, Object>> maps = orderPrivateCarService.queryInvoiceOrder(type, startTime, endTime, startMoney, endMoney, uid);
                 list.addAll(maps);
-                //出租车
-                List<Map<String, Object>> list1 = orderTaxiService.queryInvoiceOrder(type, startTime, endTime, startMoney, endMoney, uid);
-                list.addAll(list1);
-                //跨城
-                List<Map<String, Object>> list2 = orderCrossCityService.queryInvoiceOrder(type, startTime, endTime, startMoney, endMoney, uid);
-                list.addAll(list2);
+//                //出租车
+//                List<Map<String, Object>> list1 = orderTaxiService.queryInvoiceOrder(type, startTime, endTime, startMoney, endMoney, uid);
+//                list.addAll(list1);
+//                //跨城
+//                List<Map<String, Object>> list2 = orderCrossCityService.queryInvoiceOrder(type, startTime, endTime, startMoney, endMoney, uid);
+//                list.addAll(list2);
                 //同城小件物流
                 List<Map<String, Object>> list3 = orderLogisticsService.queryInvoiceOrder(type, startTime, endTime, startMoney, endMoney, uid, orderType);
                 list.addAll(list3);
-                //跨城小件物流
-                List<Map<String, Object>> list4 = orderLogisticsService.queryInvoiceOrder(type, startTime, endTime, startMoney, endMoney, uid, orderType);
-                list.addAll(list4);
+//                //跨城小件物流
+//                List<Map<String, Object>> list4 = orderLogisticsService.queryInvoiceOrder(type, startTime, endTime, startMoney, endMoney, uid, orderType);
+//                list.addAll(list4);
             }
 
             //分页
@@ -378,13 +378,18 @@
     @ApiImplicitParams({
             @ApiImplicitParam(value = "订单id", name = "id", required = true, dataType = "int"),
             @ApiImplicitParam(value = "订单类型(1=专车,2=出租车)", name = "orderType", required = true, dataType = "int"),
+            @ApiImplicitParam(value = "语言类型(1=简体中文,2=英语,3=法语)", name = "language", required = false, dataType = "int"),
             @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
     })
-    public ResultUtil pushOrderTaxi(Integer id, Integer orderType){
+    public ResultUtil pushOrderTaxi(Integer id, Integer orderType, Integer language, HttpServletRequest request){
         try {
+            Integer uid = userInfoService.getUserIdFormRedis(request);
+            if(null == uid){
+                return ResultUtil.tokenErr();
+            }
             switch (orderType){
                 case 1:
-                    return orderPrivateCarService.pushOrderPrivateCar(id);
+                    return orderPrivateCarService.pushOrderPrivateCar(uid, id, language);
                 case 2:
                     return orderTaxiService.pushOrderTaxi(id);
             }
@@ -824,9 +829,10 @@
             @ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=跨城)", name = "orderType", required = true, dataType = "int"),
             @ApiImplicitParam(value = "取消原因", name = "reason", required = true, dataType = "string"),
             @ApiImplicitParam(value = "备注", name = "remark", required = false, dataType = "string"),
+            @ApiImplicitParam(value = "语言类型(1=简体中文,2=英语,3=法语)", name = "language", required = false, dataType = "int"),
             @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
     })
-    public ResultUtil addCancle(Integer id, Integer orderType, String reason, String remark, HttpServletRequest request){
+    public ResultUtil addCancle(Integer id, Integer orderType, String reason, String remark, Integer language, HttpServletRequest request){
         try {
             Integer uid = userInfoService.getUserIdFormRedis(request);
             if(null == uid){
@@ -834,17 +840,17 @@
             }
             switch (orderType){
                 case 1:
-                    return orderPrivateCarService.addCancle(id, reason, remark, uid);
-                case 2:
-                    return orderTaxiService.addCancle(id, reason, remark, uid);
-                case 3:
-                    return orderCrossCityService.addCancle(id, reason, remark, uid);
+                    return orderPrivateCarService.addCancle(id, reason, remark, uid, language);
+//                case 2:
+//                    return orderTaxiService.addCancle(id, reason, remark, uid);
+//                case 3:
+//                    return orderCrossCityService.addCancle(id, reason, remark, uid);
                 case 4:
-                    return orderLogisticsService.addCancle(id, reason, remark, uid);
-                case 5:
-                    return orderLogisticsService.addCancle(id, reason, remark, uid);
-                case 6:
-                    return orderCharteredCarService.addCancle(id, reason, remark, uid);
+                    return orderLogisticsService.addCancle(id, reason, remark, uid, language);
+//                case 5:
+//                    return orderLogisticsService.addCancle(id, reason, remark, uid);
+//                case 6:
+//                    return orderCharteredCarService.addCancle(id, reason, remark, uid);
             }
             return ResultUtil.success();
         }catch (Exception e){
@@ -910,15 +916,16 @@
             @ApiImplicitParam(value = "司机id", name = "driverId", required = true, dataType = "int"),
             @ApiImplicitParam(value = "投诉原因", name = "reason", required = true, dataType = "String"),
             @ApiImplicitParam(value = "投诉描述", name = "description", required = true, dataType = "String"),
+            @ApiImplicitParam(value = "语言类型(1=简体中文,2=英语,3=法语)", name = "language", required = false, dataType = "int"),
             @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
     })
-    public ResultUtil complaintService(Integer driverId, String reason, String description, HttpServletRequest request){
+    public ResultUtil complaintService(Integer driverId, String reason, String description, Integer language, HttpServletRequest request){
         try {
             Integer uid = userInfoService.getUserIdFormRedis(request);
             if(null == uid){
                 return ResultUtil.tokenErr();
             }
-            complaintService.saveData(driverId, reason, description, uid);
+            complaintService.saveData(driverId, reason, description, uid, language);
             return ResultUtil.success();
         }catch (Exception e){
             e.printStackTrace();
@@ -1098,15 +1105,6 @@
                         OrderPrivateCar orderPrivateCar = orderPrivateCarService.selectById(orderId);
                         orderPrivateCar.setState(9);
                         orderPrivateCarService.updateById(orderPrivateCar);
-                        new Thread(new Runnable() {
-                            @Override
-                            public void run() {
-                                if(pushMinistryOfTransport){//上传数据
-                                    pushMinistryOfTransportUtil.ratedPassenger(Integer.valueOf(resultUtil.getData().toString()));
-                                    pushMinistryOfTransportUtil.ratedDriver(orderPrivateCar.getDriverId());
-                                }
-                            }
-                        }).start();
                         break;
                     case 2:
                         OrderTaxi orderTaxi = orderTaxiService.selectById(orderId);
diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/ProblemController.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/ProblemController.java
index 01a6fde..3953ab2 100644
--- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/ProblemController.java
+++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/ProblemController.java
@@ -44,15 +44,16 @@
     @ApiOperation(value = "添加客服留言", tags = {"用户端-个人中心"}, notes = "")
     @ApiImplicitParams({
             @ApiImplicitParam(value = "留言内容", name = "content", required = true, dataType = "string"),
+            @ApiImplicitParam(value = "语言类型(1=简体中文,2=英语,3=法语)", name = "language", required = false, dataType = "int"),
             @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
     })
-    public ResultUtil leaveMessage(String content, HttpServletRequest request){
+    public ResultUtil leaveMessage(String content, Integer language, HttpServletRequest request){
         try {
             Integer uid = userInfoService.getUserIdFormRedis(request);
             if(null == uid){
                 return ResultUtil.tokenErr();
             }
-            return problemService.leaveMessage(content, uid);
+            return problemService.leaveMessage(content, uid, language);
         }catch (Exception e){
             e.printStackTrace();
             return ResultUtil.runErr();
diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/ServerCarModelController.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/ServerCarModelController.java
index 855449e..f830303 100644
--- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/ServerCarModelController.java
+++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/ServerCarModelController.java
@@ -40,11 +40,12 @@
     @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"),
+            @ApiImplicitParam(value = "语言类型(1=简体中文,2=英语,3=法语)", name = "language", required = false, dataType = "int"),
             @ApiImplicitParam(value = "业务类型(1=专车,2=出租车,3=城际,4=小件物流-同城,5=小件物流-跨城,6=包车)", name = "type", required = true, dataType = "int")
     })
-    public ResultUtil<List<ServerCarModelWarpper>> queryServerCarModel(String startLonLat, String endLonLat, Integer type){
+    public ResultUtil<List<ServerCarModelWarpper>> queryServerCarModel(String startLonLat, String endLonLat, Integer type, Integer language){
         try {
-            return serverCarModelService.queryServerCarModel(startLonLat, endLonLat, type);
+            return serverCarModelService.queryServerCarModel(startLonLat, endLonLat, type, language);
         }catch (Exception e){
             e.printStackTrace();
             return ResultUtil.runErr();
diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/WithdrawalController.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/WithdrawalController.java
index 956e8c5..86d72fe 100644
--- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/WithdrawalController.java
+++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/WithdrawalController.java
@@ -49,15 +49,16 @@
             @ApiImplicitParam(value = "提现金额", name = "money", required = true, dataType = "double"),
             @ApiImplicitParam(value = "银行卡号", name = "code", required = true, dataType = "string"),
             @ApiImplicitParam(value = "银行卡只有人姓名", name = "name", required = true, dataType = "string"),
+            @ApiImplicitParam(value = "语言类型(1=简体中文,2=英语,3=法语)", name = "language", required = false, dataType = "int"),
             @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
     })
-    public ResultUtil withdrawal(Double money, String code, String name, HttpServletRequest request){
+    public ResultUtil withdrawal(Double money, String code, String name, Integer language, HttpServletRequest request){
         try {
             Integer uid = userInfoService.getUserIdFormRedis(request);
             if(null == uid){
                 return ResultUtil.tokenErr();
             }
-            return withdrawalService.withdrawal(money, code, name, uid);
+            return withdrawalService.withdrawal(money, code, name, uid, language);
         }catch (Exception e){
             e.printStackTrace();
             return ResultUtil.runErr();
diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java
index 8c4352d..268c22d 100644
--- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java
+++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java
@@ -1357,10 +1357,10 @@
         if(ToolUtil.isEmpty(serverCarModelIds)){
             return ResultUtil.error("请选择服务车型");
         }
-        boolean b = openCityService.openCity(Double.valueOf(startLat), Double.valueOf(startLon));
-        if(!b){
-            return ResultUtil.error("起点暂未开通");
-        }
+//        boolean b = openCityService.openCity(Double.valueOf(startLat), Double.valueOf(startLon));
+//        if(!b){
+//            return ResultUtil.error("起点暂未开通");
+//        }
 
         String[] split = serverCarModelIds.split(",");
         List<Map<String, Integer>> list = new ArrayList<>();
diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/IOrderLogisticsService.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/IOrderLogisticsService.java
index 91e1751..675c875 100644
--- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/IOrderLogisticsService.java
+++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/IOrderLogisticsService.java
@@ -168,7 +168,7 @@
      * @param uid
      * @throws Exception
      */
-    ResultUtil addCancle(Integer id, String reason, String remark, Integer uid) throws Exception;
+    ResultUtil addCancle(Integer id, String reason, String remark, Integer uid, Integer language) throws Exception;
 
 
     /**
diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/impl/OrderLogisticsServiceImpl.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/impl/OrderLogisticsServiceImpl.java
index 67953d2..7c61785 100644
--- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/impl/OrderLogisticsServiceImpl.java
+++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/impl/OrderLogisticsServiceImpl.java
@@ -910,7 +910,7 @@
 
 
     @Override
-    public ResultUtil addCancle(Integer id, String reason, String remark, Integer uid) throws Exception {
+    public ResultUtil addCancle(Integer id, String reason, String remark, Integer uid, Integer language) throws Exception {
         if(ToolUtil.isNotEmpty(remark)){
             if(ToolUtil.isNotEmpty(remark)){
                 List<SensitiveWords> sensitiveWords = sensitiveWordsMapper.selectList(null);
@@ -920,13 +920,14 @@
             }
         }
 
+        language = userInfoService.queryLanguage(uid, language);
         OrderLogistics orderLogistics = this.selectById(id);
         Integer integer = null;
         if(null == orderLogistics){
-            return ResultUtil.error("取消订单失败,订单信息有误");
+            return ResultUtil.error(language == 1 ? "取消订单失败,订单信息有误" : language == 2 ? "Failed to cancel the order, the order information is incorrect" : "Échec de l'annulation de la commande, les informations de la commande sont incorrectes");
         }
         if(orderLogistics.getState() > 5 && orderLogistics.getState() != 7 && orderLogistics.getState() != 11){
-            return ResultUtil.error("取消订单失败,不合法的操作");
+            return ResultUtil.error(language == 1 ? "取消订单失败,不合法的操作" : language == 2 ? "Cancel order failed, illegal operation" : "Échec de l'annulation de la commande, opération illégale");
         }
 
         if(orderLogistics.getState() == 7){
@@ -1048,7 +1049,7 @@
         }
 
         //添加消息
-        systemNoticeService.addSystemNotice(1, "您已成功取消小件物流订单,谢谢使用!", orderLogistics.getUserId(), 1);
+        systemNoticeService.addSystemNotice(1, language == 1 ? "您已成功取消小件物流订单,谢谢使用!" : language == 2 ? "You have successfully cancelled the small logistics order, thank you for using" : "Vous avez annulé avec succès la petite commande logistique, merci d'utiliser", orderLogistics.getUserId(), 1);
         Map<String, Object> map = new HashMap<>();
         map.put("id", integer);
         return ResultUtil.success(map);
diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/IOrderPrivateCarService.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/IOrderPrivateCarService.java
index 439ca99..45fa5e5 100644
--- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/IOrderPrivateCarService.java
+++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/IOrderPrivateCarService.java
@@ -43,7 +43,7 @@
      * @param id
      * @throws Exception
      */
-    ResultUtil pushOrderPrivateCar(Integer id) throws Exception;
+    ResultUtil pushOrderPrivateCar(Integer uid, Integer id, Integer language) throws Exception;
 
 
 
@@ -65,7 +65,7 @@
      * @param uid
      * @throws Exception
      */
-    ResultUtil addCancle(Integer id, String reason, String remark, Integer uid) throws Exception;
+    ResultUtil addCancle(Integer id, String reason, String remark, Integer uid, Integer language) throws Exception;
 
 
     /**
diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java
index 70242da..4f48d5c 100644
--- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java
+++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java
@@ -465,13 +465,14 @@
      * @throws Exception
      */
     @Override
-    public ResultUtil pushOrderPrivateCar(Integer id) throws Exception {
+    public ResultUtil pushOrderPrivateCar(Integer uid, Integer id, Integer language) throws Exception {
+        language = userInfoService.queryLanguage(uid, language);
         OrderPrivateCar orderPrivateCar = this.selectById(id);
         if(null == orderPrivateCar){
-            return ResultUtil.error("推送订单失败,订单信息有误");
+            return ResultUtil.error(language == 1 ? "推送订单失败,订单信息有误" : language == 2 ? "Failed to push the order, the order information is wrong" : "Impossible de pousser la commande, les informations de commande sont erronées");
         }
         if(orderPrivateCar.getState() != 1){
-            return ResultUtil.error("订单已被司机接单,不能重复推送");
+            return ResultUtil.error(language == 1 ? "订单已被司机接单,不能重复推送" : language == 2 ? "The order has been taken by the driver and cannot be pushed repeatedly" : "La commande a été prise par le chauffeur et ne peut pas être poussée à plusieurs reprises");
         }
         //处理摆渡订单的继续推单操作
         if(orderPrivateCar.getType() == 2){
@@ -480,7 +481,7 @@
             List<Map<String, Integer>> orders = new ArrayList<>();
             for(OrderPrivateCar orderPrivateCar1 : list){
                 if(orderPrivateCar1.getState() != 1){
-                    return ResultUtil.error("订单已被司机接单,推单取消");
+                    return ResultUtil.error(language == 1 ? "订单已被司机接单,推单取消" : language == 2 ? "The order has been taken by the driver, and the push order has been cancelled" : "La commande a été prise par le chauffeur et la commande push a été annulée");
                 }
                 Map<String, Integer> map = new HashMap<>();
                 map.put("orderType", 1);
@@ -490,7 +491,7 @@
             List<OrderTaxi> list1 = orderTaxiService.selectList(new EntityWrapper<OrderTaxi>().eq("type", 2).eq("crossCityOrderId", orderPrivateCar.getCrossCityOrderId()).eq("place", orderPrivateCar.getPlace()));
             for(OrderTaxi orderTaxi : list1){
                 if(orderTaxi.getState() != 1){
-                    return ResultUtil.error("订单已被司机接单,推单取消");
+                    return ResultUtil.error(language == 1 ? "订单已被司机接单,推单取消" : language == 2 ? "The order has been taken by the driver, and the push order has been cancelled" : "La commande a été prise par le chauffeur et la commande push a été annulée");
                 }
                 Map<String, Integer> map = new HashMap<>();
                 map.put("orderType", 2);
@@ -526,7 +527,7 @@
     }
 
     @Override
-    public ResultUtil addCancle(Integer id, String reason, String remark, Integer uid) throws Exception {
+    public ResultUtil addCancle(Integer id, String reason, String remark, Integer uid, Integer language) throws Exception {
         if(ToolUtil.isNotEmpty(remark)){
             if(ToolUtil.isNotEmpty(remark)){
                 List<SensitiveWords> sensitiveWords = sensitiveWordsMapper.selectList(null);
@@ -536,31 +537,32 @@
             }
         }
 
+        language = userInfoService.queryLanguage(uid, language);
         OrderPrivateCar orderPrivateCar = this.selectById(id);
         Integer integer = null;
         if(null == orderPrivateCar){
-            return ResultUtil.error("取消订单失败,订单信息有误");
+            return ResultUtil.error(language == 1 ? "取消订单失败,订单信息有误" : language == 2 ? "Failed to cancel the order, the order information is incorrect" : "Échec de l'annulation de la commande, les informations de la commande sont incorrectes");
         }
         if(orderPrivateCar.getState() > 5 && orderPrivateCar.getState() != 11){
-            return ResultUtil.error("取消订单失败,不合法的操作");
+            return ResultUtil.error(language == 1 ? "取消订单失败,不合法的操作" : language == 2 ? "Cancel order failed, illegal operation" : "Échec de l'annulation de la commande, opération illégale");
         }
         if(null == orderPrivateCar.getDriverId()){//没有接单的情况
             if(orderPrivateCar.getType() == 2){//摆渡车
                 OrderCrossCityServiceImpl.pushEndMap.remove(orderPrivateCar.getCrossCityOrderId());//删除标识数据
                 List<OrderPrivateCar> list = this.selectList(new EntityWrapper<OrderPrivateCar>().eq("type", 2).eq("crossCityOrderId", orderPrivateCar.getCrossCityOrderId()).eq("place", orderPrivateCar.getPlace()));
                 for(OrderPrivateCar orderPrivateCar1 : list){
-                    orderCancelService.saveData(orderPrivateCar1.getId(), 1, "无司机接单", "无司机接单", null, null, 2, 1, uid);
+                    orderCancelService.saveData(orderPrivateCar1.getId(), 1, language == 1 ? "无司机接单" : language == 2 ? "No driver to take orders" : "Pas de chauffeur pour prendre les commandes", language == 1 ? "无司机接单" : language == 2 ? "No driver to take orders" : "Pas de chauffeur pour prendre les commandes", null, null, 2, 1, uid);
                     orderPrivateCar1.setState(10);
                     this.updateById(orderPrivateCar1);
                 }
                 List<OrderTaxi> list1 = orderTaxiService.selectList(new EntityWrapper<OrderTaxi>().eq("type", 2).eq("crossCityOrderId", orderPrivateCar.getCrossCityOrderId()).eq("place", orderPrivateCar.getPlace()));
                 for(OrderTaxi orderTaxi : list1){
-                    orderCancelService.saveData(orderTaxi.getId(), 2, "无司机接单", "无司机接单", null, null, 2, 1, uid);
+                    orderCancelService.saveData(orderTaxi.getId(), 2, language == 1 ? "无司机接单" : language == 2 ? "No driver to take orders" : "Pas de chauffeur pour prendre les commandes", language == 1 ? "无司机接单" : language == 2 ? "No driver to take orders" : "Pas de chauffeur pour prendre les commandes", null, null, 2, 1, uid);
                     orderTaxi.setState(10);
                     orderTaxiService.updateById(orderTaxi);
                 }
             }else{
-                integer = orderCancelService.saveData(id, 1, "无司机接单", "无司机接单", null, null, 2, 1, uid);
+                integer = orderCancelService.saveData(id, 1, language == 1 ? "无司机接单" : language == 2 ? "No driver to take orders" : "Pas de chauffeur pour prendre les commandes", language == 1 ? "无司机接单" : language == 2 ? "No driver to take orders" : "Pas de chauffeur pour prendre les commandes", null, null, 2, 1, uid);
                 orderPrivateCar.setState(10);
                 this.updateById(orderPrivateCar);
             }
@@ -592,7 +594,7 @@
                 driver.setState(2);
                 driverService.updateById(driver);
             }else{
-                return ResultUtil.error("请完善后台取消规则设置");
+                return ResultUtil.error(language == 1 ? "请完善后台取消规则设置" : language == 2 ? "Please improve the background cancellation rule settings" : "Veuillez améliorer les paramètres de la règle d'annulation en arrière-plan");
             }
 
         }
@@ -608,7 +610,7 @@
         }).start();
 
         //添加消息
-        systemNoticeService.addSystemNotice(1, "您已成功取消出行订单,谢谢使用!", orderPrivateCar.getUserId(), 1);
+        systemNoticeService.addSystemNotice(1, language == 1 ? "您已成功取消出行订单,谢谢使用!" : language == 2 ? "You have successfully canceled the travel order, thank you for using" : "Vous avez annulé avec succès la commande de voyage, merci d'utiliser", orderPrivateCar.getUserId(), 1);
         Map<String, Object> map = new HashMap<>();
         map.put("id", integer);
         return ResultUtil.success(map);
diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/DriverMapper.xml b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/DriverMapper.xml
index a00c013..55f4918 100644
--- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/DriverMapper.xml
+++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/DriverMapper.xml
@@ -31,7 +31,8 @@
         <result column="driverContactAddress" property="driverContactAddress" />
         <result column="driverAge" property="driverAge" />
         <result column="driveCard" property="driveCard" />
-        <result column="driveCardImgUrl" property="driveCardImgUrl" />
+        <result column="driveCardImgUrl1" property="driveCardImgUrl1" />
+        <result column="driveCardImgUrl2" property="driveCardImgUrl2" />
         <result column="driverType" property="driverType" />
         <result column="getDriverLicenseDate" property="getDriverLicenseDate" />
         <result column="driverLicenseOn" property="driverLicenseOn" />
@@ -107,7 +108,8 @@
         driverContactAddress as driverContactAddress,
         driverAge as driverAge,
         driveCard as driveCard,
-        driveCardImgUrl as driveCardImgUrl,
+        driveCardImgUrl1 as driveCardImgUrl1,
+        driveCardImgUrl2 as driveCardImgUrl2,
         driverType as driverType,
         getDriverLicenseDate as getDriverLicenseDate,
         driverLicenseOn as driverLicenseOn,
@@ -194,7 +196,8 @@
         driverContactAddress as driverContactAddress,
         driverAge as driverAge,
         driveCard as driveCard,
-        driveCardImgUrl as driveCardImgUrl,
+        driveCardImgUrl1 as driveCardImgUrl1,
+        driveCardImgUrl2 as driveCardImgUrl2,
         driverType as driverType,
         getDriverLicenseDate as getDriverLicenseDate,
         driverLicenseOn as driverLicenseOn,
diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/OpenCityMapper.xml b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/OpenCityMapper.xml
index 35d7f9c..bf0a6b6 100644
--- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/OpenCityMapper.xml
+++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/OpenCityMapper.xml
@@ -47,9 +47,11 @@
         insertUser as insertUser,
         updateTime as updateTime,
         updateUser as updateUser
-        from t_open_city where flag = 1 and cityId in
-        <foreach collection="city" item="item" index="index" separator="," open="(" close=")">
-            #{item}
-        </foreach>
+        from t_open_city where flag = 1 and cityId in (
+          select id from t_city where englishName in
+            <foreach collection="city" item="item" index="index" separator="," open="(" close=")">
+                #{item}
+            </foreach>
+        )
     </select>
 </mapper>
\ No newline at end of file
diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IComplaintService.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IComplaintService.java
index 7e49a25..7d5c814 100644
--- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IComplaintService.java
+++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IComplaintService.java
@@ -14,5 +14,5 @@
      * @param uid           投诉人
      * @throws Exception
      */
-    void saveData(Integer driverId, String reason, String description, Integer uid) throws Exception;
+    void saveData(Integer driverId, String reason, String description, Integer uid, Integer language) throws Exception;
 }
diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IFeedbackService.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IFeedbackService.java
index 5eb3bea..54dac68 100644
--- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IFeedbackService.java
+++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IFeedbackService.java
@@ -13,5 +13,5 @@
      * @param uid
      * @throws Exception
      */
-    ResultUtil feedback(String content, Integer uid) throws Exception;
+    ResultUtil feedback(String content, Integer uid, Integer language) throws Exception;
 }
diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IOpenCityBusinessService.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IOpenCityBusinessService.java
index 691998f..5c987b1 100644
--- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IOpenCityBusinessService.java
+++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IOpenCityBusinessService.java
@@ -14,7 +14,7 @@
      * @return
      * @throws Exception
      */
-    List<BaseWarpper> queryBusiness(Double lat, Double lnt) throws Exception;
+    List<BaseWarpper> queryBusiness(Double lat, Double lnt, Integer language) throws Exception;
 
 
     /**
@@ -23,5 +23,5 @@
      * @return
      * @throws Exception
      */
-    List<BaseWarpper> queryBusinessById(Integer id) throws Exception;
+    List<BaseWarpper> queryBusinessById(Integer id, Integer language) throws Exception;
 }
diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IOpenCityService.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IOpenCityService.java
index 349a2f9..dda50cc 100644
--- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IOpenCityService.java
+++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IOpenCityService.java
@@ -22,5 +22,5 @@
      * @return
      * @throws Exception
      */
-    boolean openCity(Double lat, Double lnt) throws Exception;
+    String openCity(Double lat, Double lnt, Integer language) throws Exception;
 }
diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IProblemService.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IProblemService.java
index 8adc78b..0f983b5 100644
--- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IProblemService.java
+++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IProblemService.java
@@ -17,7 +17,7 @@
      * @return
      * @throws Exception
      */
-    ResultUtil leaveMessage(String content, Integer uid) throws Exception;
+    ResultUtil leaveMessage(String content, Integer uid, Integer language) throws Exception;
 
 
     /**
diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IServerCarModelService.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IServerCarModelService.java
index de7da0c..5193cff 100644
--- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IServerCarModelService.java
+++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IServerCarModelService.java
@@ -19,7 +19,7 @@
      * @return
      * @throws Exception
      */
-    ResultUtil<List<ServerCarModelWarpper>> queryServerCarModel(String startLonLat, String endLonLat, Integer type) throws Exception;
+    ResultUtil<List<ServerCarModelWarpper>> queryServerCarModel(String startLonLat, String endLonLat, Integer type, Integer language) throws Exception;
 
 
     /**
diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IUserCouponRecordService.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IUserCouponRecordService.java
index 84636e8..4c78c09 100644
--- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IUserCouponRecordService.java
+++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IUserCouponRecordService.java
@@ -47,7 +47,7 @@
      * @param uid
      * @throws Exception
      */
-    ResultUtil delMyCoupon(Integer id, Integer uid) throws Exception;
+    ResultUtil delMyCoupon(Integer id, Integer uid, Integer language) throws Exception;
 
 
     /**
@@ -58,7 +58,7 @@
      * @return
      * @throws Exception
      */
-    ResultUtil handselCoupon(Integer id, Integer uid, Integer userId) throws Exception;
+    ResultUtil handselCoupon(Integer id, Integer uid, Integer userId, Integer language) throws Exception;
 
 
     /**
diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IUserInfoService.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IUserInfoService.java
index 923ac6b..81cb8c5 100644
--- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IUserInfoService.java
+++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IUserInfoService.java
@@ -237,4 +237,13 @@
 
 
     Integer getAppOpenInfo(Integer type);
+
+
+    /**
+     * 获取语言环境
+     * @param uid
+     * @param language
+     * @return
+     */
+    Integer queryLanguage(Integer uid, Integer language);
 }
diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IWithdrawalService.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IWithdrawalService.java
index d7ad996..a6f78c7 100644
--- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IWithdrawalService.java
+++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IWithdrawalService.java
@@ -18,7 +18,7 @@
      * @param uid
      * @throws Exception
      */
-    ResultUtil withdrawal(Double money, String code, String name, Integer uid) throws Exception;
+    ResultUtil withdrawal(Double money, String code, String name, Integer uid, Integer language) throws Exception;
 
 
     /**
diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ComplaintServiceImpl.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ComplaintServiceImpl.java
index 2e3495c..3dcec6a 100644
--- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ComplaintServiceImpl.java
+++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ComplaintServiceImpl.java
@@ -8,6 +8,7 @@
 import com.stylefeng.guns.modular.system.model.SensitiveWords;
 import com.stylefeng.guns.modular.system.service.IComplaintService;
 import com.stylefeng.guns.modular.system.service.ISystemNoticeService;
+import com.stylefeng.guns.modular.system.service.IUserInfoService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -25,6 +26,9 @@
     @Autowired
     private ISystemNoticeService systemNoticeService;
 
+    @Autowired
+    private IUserInfoService userInfoService;
+
 
 
     /**
@@ -36,13 +40,14 @@
      * @throws Exception
      */
     @Override
-    public void saveData(Integer driverId, String reason, String description, Integer uid) throws Exception {
+    public void saveData(Integer driverId, String reason, String description, Integer uid, Integer language) throws Exception {
         if(ToolUtil.isNotEmpty(description)){
             List<SensitiveWords> sensitiveWords = sensitiveWordsMapper.selectList(null);
             for(SensitiveWords s : sensitiveWords){
                 description = description.replaceAll(s.getContent(), "***");
             }
         }
+        language = userInfoService.queryLanguage(uid, language);
         Complaint complaint = new Complaint();
         complaint.setInsertTime(new Date());
         complaint.setDriverId(driverId);
@@ -52,6 +57,6 @@
         complaint.setIsHandle(0);
         this.insert(complaint);
 
-        systemNoticeService.addSystemNotice(1, "您的投诉已提交成功,我们会尽快处理!", uid, 1);
+        systemNoticeService.addSystemNotice(1, language == 1 ? "您的投诉已提交成功,我们会尽快处理!" : language == 2 ? "Your complaint has been submitted successfully and we will deal with it as soon as possible" : "Votre plainte a été soumise avec succès et nous la traiterons dès que possible", uid, 1);
     }
 }
diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/FeedbackServiceImpl.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/FeedbackServiceImpl.java
index 8ac04d8..50a51d2 100644
--- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/FeedbackServiceImpl.java
+++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/FeedbackServiceImpl.java
@@ -8,6 +8,7 @@
 import com.stylefeng.guns.modular.system.model.SensitiveWords;
 import com.stylefeng.guns.modular.system.service.IFeedbackService;
 import com.stylefeng.guns.modular.system.service.ISystemNoticeService;
+import com.stylefeng.guns.modular.system.service.IUserInfoService;
 import com.stylefeng.guns.modular.system.util.ResultUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -26,6 +27,9 @@
     @Autowired
     private ISystemNoticeService systemNoticeService;
 
+    @Autowired
+    private IUserInfoService userInfoService;
+
 
 
 
@@ -36,10 +40,11 @@
      * @throws Exception
      */
     @Override
-    public ResultUtil feedback(String content, Integer uid) throws Exception {
+    public ResultUtil feedback(String content, Integer uid, Integer language) throws Exception {
         if(ToolUtil.isNotEmpty(content)){
             if(content.length() > 200){
-                return ResultUtil.error("反馈内容过长");
+                language = userInfoService.queryLanguage(uid, language);
+                return ResultUtil.error(language == 1 ? "反馈内容过长" : language == 2 ? "Feedback is too long" : "Les commentaires sont trop longs");
             }
             List<SensitiveWords> sensitiveWords = sensitiveWordsMapper.selectList(null);
             for(SensitiveWords s : sensitiveWords){
@@ -56,7 +61,8 @@
         feedback.setUserId(uid);
         this.insert(feedback);
 
-        systemNoticeService.addSystemNotice(1, "您的反馈已提交成功,我们会尽快处理!", uid, 1);
+        systemNoticeService.addSystemNotice(1, language == 1 ? "您的反馈已提交成功,我们会尽快处理!" : language == 2 ? "Your feedback has been submitted successfully, we will deal with it as soon as possible"
+                : "Vos commentaires ont été soumis avec succès, nous les traiterons dès que possible", uid, 1);
         return ResultUtil.success();
     }
 }
diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OpenCityBusinessServiceImpl.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OpenCityBusinessServiceImpl.java
index 45b4c8b..bfa631c 100644
--- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OpenCityBusinessServiceImpl.java
+++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OpenCityBusinessServiceImpl.java
@@ -28,7 +28,10 @@
      * @throws Exception
      */
     @Override
-    public List<BaseWarpper> queryBusiness(Double lat, Double lnt) throws Exception {
+    public List<BaseWarpper> queryBusiness(Double lat, Double lnt, Integer language) throws Exception {
+        if(null == language){
+            language = 2;
+        }
         ReverseGeocodeVo reverseGeocode = GoogleMapUtil.getReverseGeocode(lat, lnt);
         if(null == reverseGeocode){
             return new ArrayList<>();
@@ -44,29 +47,29 @@
             BaseWarpper baseWarpper = new BaseWarpper();
             switch (b.getBusinessType()){
                 case 1:
-                    baseWarpper.setName("专车");
+                    baseWarpper.setName(language == 1 ? "专车" : language == 2 ? "special car" : "voiture spéciale");
                     baseWarpper.setId(1);
                     break;
-                case 2:
-                    baseWarpper.setName("出租车");
-                    baseWarpper.setId(2);
-                    break;
-                case 3:
-                    baseWarpper.setName("跨城出行");
-                    baseWarpper.setId(3);
-                    break;
+//                case 2:
+//                    baseWarpper.setName(language == 1 ? "出租车" : language == 2 ? "" : "");
+//                    baseWarpper.setId(2);
+//                    break;
+//                case 3:
+//                    baseWarpper.setName(language == 1 ? "跨城出行" : language == 2 ? "" : "");
+//                    baseWarpper.setId(3);
+//                    break;
                 case 4:
-                    baseWarpper.setName("同城小件物流");
+                    baseWarpper.setName(language == 1 ? "市内小件物流" : language == 2 ? "Small logistics in the city" : "Petite logistique en ville");
                     baseWarpper.setId(4);
                     break;
-                case 5:
-                    baseWarpper.setName("跨城小件物流");
-                    baseWarpper.setId(5);
-                    break;
-                case 6:
-                    baseWarpper.setName("包车");
-                    baseWarpper.setId(6);
-                    break;
+//                case 5:
+//                    baseWarpper.setName(language == 1 ? "跨城小件物流" : language == 2 ? "" : "");
+//                    baseWarpper.setId(5);
+//                    break;
+//                case 6:
+//                    baseWarpper.setName(language == 1 ? "包车" : language == 2 ? "" : "");
+//                    baseWarpper.setId(6);
+//                    break;
             }
             list.add(baseWarpper);
         }
@@ -81,36 +84,39 @@
      * @throws Exception
      */
     @Override
-    public List<BaseWarpper> queryBusinessById(Integer id) throws Exception {
+    public List<BaseWarpper> queryBusinessById(Integer id, Integer language) throws Exception {
+        if(null == language){
+            language = 2;
+        }
         List<OpenCityBusiness> openCityBusinesses = openCityBusinessMapper.queryBusinessById(id);
         List<BaseWarpper> list = new ArrayList<>();
         for(OpenCityBusiness b : openCityBusinesses){
             BaseWarpper baseWarpper = new BaseWarpper();
             switch (b.getBusinessType()){
                 case 1:
-                    baseWarpper.setName("专车");
+                    baseWarpper.setName(language == 1 ? "专车" : language == 2 ? "special car" : "voiture spéciale");
                     baseWarpper.setId(1);
                     break;
-                case 2:
-                    baseWarpper.setName("出租车");
-                    baseWarpper.setId(2);
-                    break;
-                case 3:
-                    baseWarpper.setName("跨城出行");
-                    baseWarpper.setId(3);
-                    break;
+//                case 2:
+//                    baseWarpper.setName("出租车");
+//                    baseWarpper.setId(2);
+//                    break;
+//                case 3:
+//                    baseWarpper.setName("跨城出行");
+//                    baseWarpper.setId(3);
+//                    break;
                 case 4:
-                    baseWarpper.setName("同城小件物流");
+                    baseWarpper.setName(language == 1 ? "市内小件物流" : language == 2 ? "Small logistics in the city" : "Petite logistique en ville");
                     baseWarpper.setId(4);
                     break;
-                case 5:
-                    baseWarpper.setName("跨城小件物流");
-                    baseWarpper.setId(5);
-                    break;
-                case 6:
-                    baseWarpper.setName("包车");
-                    baseWarpper.setId(6);
-                    break;
+//                case 5:
+//                    baseWarpper.setName("跨城小件物流");
+//                    baseWarpper.setId(5);
+//                    break;
+//                case 6:
+//                    baseWarpper.setName("包车");
+//                    baseWarpper.setId(6);
+//                    break;
             }
             list.add(baseWarpper);
         }
diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OpenCityServiceImpl.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OpenCityServiceImpl.java
index 13ef8f0..5101328 100644
--- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OpenCityServiceImpl.java
+++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OpenCityServiceImpl.java
@@ -69,10 +69,10 @@
      * @throws Exception
      */
     @Override
-    public boolean openCity(Double lat, Double lnt) throws Exception {
+    public String openCity(Double lat, Double lnt, Integer language) throws Exception {
         ReverseGeocodeVo reverseGeocode = GoogleMapUtil.getReverseGeocode(lat, lnt);
         if(null == reverseGeocode){
-            return false;
+            return "";
         }
         AddressComponentsVo[] addressComponentsVos = reverseGeocode.getAddressComponentsVos();
         String[] city = new String[addressComponentsVos.length];
@@ -81,8 +81,9 @@
         }
         List<OpenCity> openCities = openCityMapper.queryByCode(city);
         if(openCities.size() == 0){
-            return false;
+            return "";
         }
-        return true;
+        City city1 = cityService.selectById(openCities.get(0).getCityId());
+        return language == 1 ? city1.getChineseName() : language == 2 ? city1.getEnglishName() : city1.getFrenchName();
     }
 }
diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ProblemServiceImpl.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ProblemServiceImpl.java
index 1441b80..b882259 100644
--- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ProblemServiceImpl.java
+++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ProblemServiceImpl.java
@@ -7,7 +7,9 @@
 import com.stylefeng.guns.modular.system.model.Problem;
 import com.stylefeng.guns.modular.system.model.SensitiveWords;
 import com.stylefeng.guns.modular.system.service.IProblemService;
+import com.stylefeng.guns.modular.system.service.IUserInfoService;
 import com.stylefeng.guns.modular.system.util.ResultUtil;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
@@ -25,6 +27,9 @@
     @Resource
     private SensitiveWordsMapper sensitiveWordsMapper;
 
+    @Autowired
+    private IUserInfoService userInfoService;
+
 
 
     /**
@@ -35,10 +40,11 @@
      * @throws Exception
      */
     @Override
-    public ResultUtil leaveMessage(String content, Integer uid) throws Exception {
+    public ResultUtil leaveMessage(String content, Integer uid, Integer language) throws Exception {
         if(ToolUtil.isNotEmpty(content)){
             if(content.length() > 200){
-                return ResultUtil.error("留言内容过长");
+                language = userInfoService.queryLanguage(uid, language);
+                return ResultUtil.error(language == 1 ? "留言内容过长" : language == 2 ? "Message is too long" : "Le message est trop long");
             }
             List<SensitiveWords> sensitiveWords = sensitiveWordsMapper.selectList(null);
             for(SensitiveWords s : sensitiveWords){
diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ServerCarModelServiceImpl.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ServerCarModelServiceImpl.java
index 1c53375..7b22e37 100644
--- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ServerCarModelServiceImpl.java
+++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ServerCarModelServiceImpl.java
@@ -9,6 +9,7 @@
 import com.stylefeng.guns.modular.system.model.ServerCarModel;
 import com.stylefeng.guns.modular.system.service.ICompanyCityService;
 import com.stylefeng.guns.modular.system.service.IServerCarModelService;
+import com.stylefeng.guns.modular.system.service.IUserInfoService;
 import com.stylefeng.guns.modular.system.util.GDMapElectricFenceUtil;
 import com.stylefeng.guns.modular.system.util.GDMapGeocodingUtil;
 import com.stylefeng.guns.modular.system.util.GoogleMap.AddressComponentsVo;
@@ -43,6 +44,9 @@
     @Autowired
     private ICompanyCityService companyCityService;
 
+    @Autowired
+    private IUserInfoService userInfoService;
+
 
 
 
@@ -57,11 +61,14 @@
      * @throws Exception
      */
     @Override
-    public ResultUtil<List<ServerCarModelWarpper>> queryServerCarModel(String startLonLat, String endLonLat, Integer type) throws Exception {
+    public ResultUtil<List<ServerCarModelWarpper>> queryServerCarModel(String startLonLat, String endLonLat, Integer type, Integer language) throws Exception {
         //查找与起点匹配的企业(经营范围)
         ReverseGeocodeVo reverseGeocode = GoogleMapUtil.getReverseGeocode(Double.valueOf(startLonLat.split(",")[1]), Double.valueOf(startLonLat.split(",")[0]));
+        if(null == language){
+            language = 2;
+        }
         if(null == reverseGeocode){
-            return ResultUtil.error("获取地址信息失败");
+            return ResultUtil.error(language == 1 ? "获取地址信息失败" : language == 2 ? "Failed to get address information" : "Impossible d'obtenir les informations d'adresse");
         }
         AddressComponentsVo[] addressComponentsVos = reverseGeocode.getAddressComponentsVos();
         String[] city = new String[addressComponentsVos.length];
@@ -70,7 +77,7 @@
         }
         Company query = companyCityService.query(city);
         if(null == query){
-            return ResultUtil.error("起点暂无企业提供服务", new ArrayList<>());
+            return ResultUtil.error(language == 1 ? "起点暂无企业提供服务" : language == 2 ? "The starting point has no enterprises to provide services" : "Le point de départ n'a pas d'entreprises pour fournir des services", new ArrayList<>());
         }
         Double slnt = Double.valueOf(startLonLat.split(",")[0]);
         Double slat = Double.valueOf(startLonLat.split(",")[1]);
@@ -78,7 +85,7 @@
         Double elat = Double.valueOf(startLonLat.split(",")[1]);
         DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(slat, slnt, elat, elnt);
         if(null == distancematrix){
-            return ResultUtil.error("获取预估距离出错", new ArrayList<>());
+            return ResultUtil.error(language == 1 ? "获取预估距离出错" : language == 2 ? "Error getting estimated distance" : "Erreur lors de l'obtention de la distance estimée", new ArrayList<>());
         }
         long distance1 = distancematrix.getDistance();//距离(米)
         double distance1_ = Double.valueOf(distance1).doubleValue();
@@ -87,7 +94,7 @@
 
         List<ServerCarModelWarpper> price = this.getPrice(query.getId(), distance1_, duration_, 0, 1);
         if(price.size() == 0){
-            return ResultUtil.error("未获取到可服务的车型", new ArrayList<>());
+            return ResultUtil.error(language == 1 ? "未获取到可服务的车型" : language == 2 ? "No serviceable model available" : "Aucun modèle réparable disponible", new ArrayList<>());
         }
         return ResultUtil.success(price);
     }
diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserCouponRecordServiceImpl.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserCouponRecordServiceImpl.java
index e7869a8..e358cec 100644
--- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserCouponRecordServiceImpl.java
+++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserCouponRecordServiceImpl.java
@@ -3,8 +3,11 @@
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
 import com.stylefeng.guns.modular.system.dao.UserCouponRecordMapper;
 import com.stylefeng.guns.modular.system.model.UserCouponRecord;
+import com.stylefeng.guns.modular.system.model.UserInfo;
 import com.stylefeng.guns.modular.system.service.IUserCouponRecordService;
+import com.stylefeng.guns.modular.system.service.IUserInfoService;
 import com.stylefeng.guns.modular.system.util.ResultUtil;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
@@ -17,6 +20,9 @@
 
     @Resource
     private UserCouponRecordMapper userCouponRecordMapper;
+
+    @Autowired
+    private IUserInfoService userInfoService;
 
 
     /**
@@ -68,10 +74,11 @@
      * @throws Exception
      */
     @Override
-    public ResultUtil delMyCoupon(Integer id, Integer uid) throws Exception {
+    public ResultUtil delMyCoupon(Integer id, Integer uid, Integer language) throws Exception {
         UserCouponRecord userCouponRecord = userCouponRecordMapper.selectById(id);
         if(userCouponRecord.getUserId() != uid){
-            return ResultUtil.error("您不能删除此优惠券");
+            language = userInfoService.queryLanguage(uid, language);
+            return ResultUtil.error(language == 1 ? "您不能删除此优惠券" : language == 2 ? "You cannot delete this coupon" : "Vous ne pouvez pas supprimer ce coupon");
         }
         userCouponRecordMapper.deleteById(id);
         return ResultUtil.success();
@@ -87,13 +94,14 @@
      * @throws Exception
      */
     @Override
-    public ResultUtil handselCoupon(Integer id, Integer uid, Integer userId) throws Exception {
+    public ResultUtil handselCoupon(Integer id, Integer uid, Integer userId, Integer language) throws Exception {
         UserCouponRecord userCouponRecord = userCouponRecordMapper.selectById(id);
+        language = userInfoService.queryLanguage(uid, language);
         if(userCouponRecord.getUserId() != uid){
-            return ResultUtil.error("您不能赠送此优惠券");
+            return ResultUtil.error(language == 1 ? "您不能赠送此优惠券" : language == 2 ? "You cannot gift this coupon" : "Vous ne pouvez pas offrir ce coupon");
         }
         if(userCouponRecord.getState() != 1){
-            return ResultUtil.error("优惠券已无法使用");
+            return ResultUtil.error(language == 1 ? "优惠券已无法使用" : language == 2 ? "Coupon no longer available" : "Le coupon n'est plus disponible");
         }
         userCouponRecord.setUserId(userId);
         userCouponRecordMapper.updateById(userCouponRecord);
diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java
index 4bed438..0a412e6 100644
--- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java
+++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java
@@ -1295,4 +1295,16 @@
     public Integer getAppOpenInfo(Integer type) {
         return userInfoMapper.getAppOpenInfo(type);
     }
+
+    @Override
+    public Integer queryLanguage(Integer uid, Integer language) {
+        UserInfo userInfo = this.selectById(uid);
+        if(null != userInfo.getLanguage()){
+            language = userInfo.getLanguage();
+        }
+        if(null == language){
+            language = 2;
+        }
+        return language;
+    }
 }
diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/WithdrawalServiceImpl.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/WithdrawalServiceImpl.java
index e2672e5..31430ea 100644
--- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/WithdrawalServiceImpl.java
+++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/WithdrawalServiceImpl.java
@@ -46,16 +46,17 @@
      * @throws Exception
      */
     @Override
-    public ResultUtil withdrawal(Double money, String code, String name, Integer uid) throws Exception {
+    public ResultUtil withdrawal(Double money, String code, String name, Integer uid, Integer language) throws Exception {
+        language = userInfoService.queryLanguage(uid, language);
         if(money.compareTo(0D) <= 0){
-            return ResultUtil.error("提现金额必须大于0");
+            return ResultUtil.error(language == 1 ? "提现金额必须大于0" : language == 2 ? "Withdrawal amount must be greater than 0" : "Le montant du retrait doit être supérieur à 0");
         }
         UserInfo userInfo = userInfoService.selectById(uid);
         if(null == userInfo.getBalance()){
-            return ResultUtil.error("账户没有余额,不能提现");
+            return ResultUtil.error(language == 1 ? "账户余额不足" : language == 2 ? "Insufficient account balance" : "Solde de compte insuffisant");
         }
         if(userInfo.getBalance().compareTo(money) < 0){
-            return ResultUtil.error("提现金额必须小于账户余额");
+            return ResultUtil.error(language == 1 ? "账户余额不足" : language == 2 ? "Insufficient account balance" : "Solde de compte insuffisant");
         }
 
         Withdrawal withdrawal = new Withdrawal();
diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/Tingg/TinggConfigEnum.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/Tingg/TinggConfigEnum.java
new file mode 100644
index 0000000..b088c09
--- /dev/null
+++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/Tingg/TinggConfigEnum.java
@@ -0,0 +1,32 @@
+package com.stylefeng.guns.modular.system.util.Tingg;
+
+public enum TinggConfigEnum {
+    /**
+     * 获取token凭证的链接
+     */
+    TOKEN_URL("https://developer.tingg.africa/checkout/v2/custom/oauth/token"),
+    /**
+     * 客户端ID
+     */
+    CLIENT_ID("aca13421-32bd-4e11-b080-9cfe216bed15"),
+    /**
+     * 客户端密钥
+     */
+    CLIENT_SECRET("Ty1VjIWy1xwScv9GY3Vw7N0TIKhDTqrarEPlatGj"),
+    /**
+     * 发起支付请求url
+     */
+    CHECKOUT_URL("https://developer.tingg.africa/checkout/v2/custom/requests/initiate"),
+    ;
+
+
+    private String value;
+
+    TinggConfigEnum(String value) {
+        this.value = value;
+    }
+
+    public String getValue() {
+        return value;
+    }
+}
diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/Tingg/TinggPayUtil.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/Tingg/TinggPayUtil.java
index c393a9c..99fb98b 100644
--- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/Tingg/TinggPayUtil.java
+++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/Tingg/TinggPayUtil.java
@@ -1,7 +1,78 @@
 package com.stylefeng.guns.modular.system.util.Tingg;
 
+import com.alibaba.fastjson.JSON;
+import com.stylefeng.guns.core.util.ToolUtil;
+import com.stylefeng.guns.modular.system.util.HttpClientUtil;
+import com.stylefeng.guns.modular.system.util.ResultUtil;
+import com.stylefeng.guns.modular.system.util.Tingg.model.TokenResponse;
+import org.apache.http.protocol.HTTP;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.net.HttpURLConnection;
+import java.util.Calendar;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.TimeZone;
+
 /**
  * Tingg支付工具类
  */
+@Component
 public class TinggPayUtil {
+
+    @Autowired
+    private HttpClientUtil httpClientUtil;
+
+    /**
+     * 获取token
+     * @return
+     */
+    public TokenResponse getToken(){
+        Map<String, Object> params = new HashMap<>();
+        params.put("grant_type", "client_credentials");
+        params.put("client_id", TinggConfigEnum.CLIENT_ID.getValue());
+        params.put("client_secret", TinggConfigEnum.CLIENT_SECRET.getValue());
+
+        String s = httpClientUtil.pushHttpRequset("POST", TinggConfigEnum.TOKEN_URL.getValue(), params, null, "json");
+        if(ToolUtil.isNotEmpty(s)){
+            TokenResponse tokenResponse = JSON.parseObject(s, TokenResponse.class);
+            return tokenResponse;
+        }
+        return null;
+    }
+
+
+
+    public ResultUtil checkoutRequest(String phone, String email, Double amount){
+        Map<String, Object> params = new HashMap<>();
+        params.put("merchantTransactionID", "");//商家的唯一交易标识符
+        params.put("currencyCode", "");//通过的金额所使用的货币
+        params.put("requestAmount", amount);//客户将要支付的总金额
+        params.put("countryCode", "");//商家的默认国家代码
+        params.put("accountNumber", "");//交易的帐号/参考编号
+        params.put("serviceCode", "");//商户的服务代码
+        Calendar.getInstance(TimeZone.getTimeZone("UTC"));
+        params.put("dueDate", "");//事务到期日期的格式为YYYY-MM-DD HH:mm:ss。这应该是UTC时间
+        params.put("requestDescription", "");//事务的叙述
+        params.put("customerFirstName", "");//顾客名称
+        params.put("customerLastName", "");//客户的姓氏
+        params.put("MSISDN", phone);//客户的手机号码
+        params.put("customerEmail", email);//客户的邮件
+        params.put("paymentWebhookUrl", "");//这是结帐将使用的URL,用相关的支付细节调用商家,以便商家确认支付
+
+        Map<String, String> header = new HashMap<>();
+        TokenResponse token = getToken();
+        if(null == token || ToolUtil.isNotEmpty(token.getError())){
+            System.err.println("调用支付异常,获取token凭证失败!【" + token.getError() + "-----" + token.getMessage() + "】");
+            return ResultUtil.error("调用支付异常");
+        }
+        header.put("Authorization", "Bearer " + token.getAccess_token());
+        header.put("Content-Type", "application/json");
+
+        String s = httpClientUtil.pushHttpRequset("POST", TinggConfigEnum.CHECKOUT_URL.getValue(), params, header, "json");
+        if(ToolUtil.isNotEmpty(s)){
+
+        }
+    }
 }
diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/Tingg/model/TokenResponse.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/Tingg/model/TokenResponse.java
new file mode 100644
index 0000000..59b9e30
--- /dev/null
+++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/Tingg/model/TokenResponse.java
@@ -0,0 +1,64 @@
+package com.stylefeng.guns.modular.system.util.Tingg.model;
+
+public class TokenResponse {
+    /**
+     * token类型
+     */
+    private String token_type;
+    /**
+     * token有效时间(秒)
+     */
+    private Integer expires_in;
+    /**
+     * token
+     */
+    private String access_token;
+    /**
+     * 异常
+     */
+    private String error;
+    /**
+     * 异常提示
+     */
+    private String message;
+
+    public String getToken_type() {
+        return token_type;
+    }
+
+    public void setToken_type(String token_type) {
+        this.token_type = token_type;
+    }
+
+    public Integer getExpires_in() {
+        return expires_in;
+    }
+
+    public void setExpires_in(Integer expires_in) {
+        this.expires_in = expires_in;
+    }
+
+    public String getAccess_token() {
+        return access_token;
+    }
+
+    public void setAccess_token(String access_token) {
+        this.access_token = access_token;
+    }
+
+    public String getError() {
+        return error;
+    }
+
+    public void setError(String error) {
+        this.error = error;
+    }
+
+    public String getMessage() {
+        return message;
+    }
+
+    public void setMessage(String message) {
+        this.message = message;
+    }
+}
diff --git a/ZuulIGOTravel/src/main/java/com/sinata/zuul/ZuulApplication.java b/ZuulIGOTravel/src/main/java/com/sinata/zuul/ZuulApplication.java
index bd2a0a3..5dcc10e 100644
--- a/ZuulIGOTravel/src/main/java/com/sinata/zuul/ZuulApplication.java
+++ b/ZuulIGOTravel/src/main/java/com/sinata/zuul/ZuulApplication.java
@@ -109,8 +109,8 @@
         public List<SwaggerResource> get() {
             List resource=new ArrayList<>();
             //name可以随便写,location前缀要与zuul配置的path一致。zuul开了token验证,要加上token,否则不用加?token=1
-//            resource.add(swaggerResource("user","/user-server/v2/api-docs","1.0"));
-//            resource.add(swaggerResource("driver","/driver-server/v2/api-docs","1.0"));
+            resource.add(swaggerResource("user","/user-server/v2/api-docs","1.0"));
+            resource.add(swaggerResource("driver","/driver-server/v2/api-docs","1.0"));
 //            resource.add(swaggerResource("dispatch","/dispatch-server/v2/api-docs","1.0"));
             return resource;
         }
diff --git a/ZuulIGOTravel/src/main/resources/application.yml b/ZuulIGOTravel/src/main/resources/application.yml
index 6e88b08..8fa1ee3 100644
--- a/ZuulIGOTravel/src/main/resources/application.yml
+++ b/ZuulIGOTravel/src/main/resources/application.yml
@@ -1,5 +1,5 @@
 server:
-  port: 8081
+  port: 80
 spring:
   application:
     name: zuul-gateway #服务名称
diff --git a/ZuulIGOTravel/src/main/resources/redis.properties b/ZuulIGOTravel/src/main/resources/redis.properties
index 21d109e..a7f88fc 100644
--- a/ZuulIGOTravel/src/main/resources/redis.properties
+++ b/ZuulIGOTravel/src/main/resources/redis.properties
@@ -6,11 +6,9 @@
 # Redis���������Ӷ˿�
 #spring.redis.port=16379
 spring.redis.port=6379
-#spring.redis.port=6379
 # Redis�������������루Ĭ��Ϊ�գ�
 #spring.redis.password=mPMHThYzlT8DWgl8HLqwPEyPOiHDPPB5
 spring.redis.password=123456
-#spring.redis.password=123456
 # ���ӳ������������ʹ�ø�ֵ��ʾû�����ƣ�
 spring.redis.jedis.pool.max-active=1024
 # ���ӳ���������ȴ�ʱ�䣨ʹ�ø�ֵ��ʾû�����ƣ�

--
Gitblit v1.7.1