From a6b3f4df1027b9660467d0d5393212d5b7ee441d Mon Sep 17 00:00:00 2001
From: luodangjia <luodangjia>
Date: 星期二, 28 五月 2024 14:26:04 +0800
Subject: [PATCH] 5.28

---
 DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/IOrderPrivateCarService.java          |    1 
 UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GDFalconUtil.java                               |    2 
 UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TActivityGeneralizationServiceImpl.java |   23 +
 UserNTTravel/.idea/inspectionProfiles/Project_Default.xml                                                                    |    7 
 DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GDMapElectricFenceUtil.java                   |    2 
 DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TOrderTapeMapper.java                          |   16 
 DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IOrderService.java                         |    1 
 DriverNTTravel/.idea/workspace.xml                                                                                           |   76 +-
 DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TOrderTape.java                              |  157 +++++++
 UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/UserCallbackController.java                             |  136 ++++++
 UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TActivityGeneralization.java                   |  165 +++++++
 UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java                |   43 +
 DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GDFalconUtil.java                             |    2 
 DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GDMapGeocodingUtil.java                       |    2 
 UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/controller/LineController.java                    |    9 
 DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITOrderTapeService.java                    |   16 
 UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/ServerCarModelController.java                           |   16 
 UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TActivityGeneralizationMapper.java               |   16 
 UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/SysCouponRecordMapper.java                       |   16 
 UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/ALiSendSms.java                                 |    8 
 DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/model/OrderCrossCity.java                       |   12 
 DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java                                  |  100 ++++
 UserNTTravel/.idea/workspace.xml                                                                                             |  121 +++--
 UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/SysCouponRecordServiceImpl.java         |   20 
 UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GDMapGeocodingUtil.java                         |    2 
 DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java  |   22 
 UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/AliSms.java                                    |    8 
 UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ISysCouponRecordService.java                 |   16 
 DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OrderServiceImpl.java                 |   17 
 DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TOrderTapeServiceImpl.java            |   22 +
 UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/model/Line.java                                   |    6 
 UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/CharteredCar/server/impl/OrderCharteredCarServiceImpl.java  |   13 
 UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/SysCouponRecord.java                           |  162 +++++++
 DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/model/OrderPrivateCar.java                   |   12 
 UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/CharteredCar/dto/CharteredCarDto.java                       |   12 
 UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GDMapElectricFenceUtil.java                     |    2 
 UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITActivityGeneralizationService.java         |   17 
 37 files changed, 1,165 insertions(+), 113 deletions(-)

diff --git a/DriverNTTravel/.idea/workspace.xml b/DriverNTTravel/.idea/workspace.xml
index ef6759e..27de135 100644
--- a/DriverNTTravel/.idea/workspace.xml
+++ b/DriverNTTravel/.idea/workspace.xml
@@ -5,32 +5,43 @@
   </component>
   <component name="ChangeListManager">
     <list default="true" id="a7570672-bfad-4d39-9825-905c049a9d7e" name="Default Changelist" comment="">
-      <change afterPath="$PROJECT_DIR$/../ManagementNTTravel/.idea/inspectionProfiles/Project_Default.xml" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/../UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/SysReformistMapper.java" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/../UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/SysReformistMapper.xml" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/../UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/SysReformist.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TOrderTapeMapper.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TOrderTape.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITOrderTapeService.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TOrderTapeServiceImpl.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/../UserNTTravel/.idea/inspectionProfiles/Project_Default.xml" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/../UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/SysCouponRecordMapper.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/../UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TActivityGeneralizationMapper.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/../UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/AliSms.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/../UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/SysCouponRecord.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/../UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TActivityGeneralization.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/../UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ISysCouponRecordService.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/../UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITActivityGeneralizationService.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/../UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/SysCouponRecordServiceImpl.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/../UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TActivityGeneralizationServiceImpl.java" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java" beforeDir="false" afterPath="$PROJECT_DIR$/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/guns-admin/src/main/java/com/stylefeng/guns/modular/api/PhoneController.java" beforeDir="false" afterPath="$PROJECT_DIR$/guns-admin/src/main/java/com/stylefeng/guns/modular/api/PhoneController.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/dao/mapping/LineSiteMapper.xml" beforeDir="false" afterPath="$PROJECT_DIR$/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/dao/mapping/LineSiteMapper.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/LineSiteServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/LineSiteServiceImpl.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/SysReformist.java" beforeDir="false" afterPath="$PROJECT_DIR$/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/SysReformist.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IDriverService.java" beforeDir="false" afterPath="$PROJECT_DIR$/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IDriverService.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IPhoneService.java" beforeDir="false" afterPath="$PROJECT_DIR$/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IPhoneService.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/PhoneServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/PhoneServiceImpl.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/guns-admin/src/main/resources/application.yml" beforeDir="false" afterPath="$PROJECT_DIR$/guns-admin/src/main/resources/application.yml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/../ManagementNTTravel/guns-admin/guns-admin.iml" beforeDir="false" afterPath="$PROJECT_DIR$/../ManagementNTTravel/guns-admin/guns-admin.iml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/../ManagementNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/HomeController.java" beforeDir="false" afterPath="$PROJECT_DIR$/../ManagementNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/HomeController.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/../ManagementNTTravel/guns-admin/src/main/resources/application.yml" beforeDir="false" afterPath="$PROJECT_DIR$/../ManagementNTTravel/guns-admin/src/main/resources/application.yml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/../ManagementNTTravel/guns-core/guns-core.iml" beforeDir="false" afterPath="$PROJECT_DIR$/../ManagementNTTravel/guns-core/guns-core.iml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/../ManagementNTTravel/guns-generator/guns-generator.iml" beforeDir="false" afterPath="$PROJECT_DIR$/../ManagementNTTravel/guns-generator/guns-generator.iml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/../ManagementNTTravel/guns-parent.iml" beforeDir="false" afterPath="$PROJECT_DIR$/../ManagementNTTravel/guns-parent.iml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/../ManagementNTTravel/guns-rest/guns-rest.iml" beforeDir="false" afterPath="$PROJECT_DIR$/../ManagementNTTravel/guns-rest/guns-rest.iml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/../UserNTTravel/.idea/shelf/_2024_5_16_9_49___Default_Changelist_.xml" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/../UserNTTravel/.idea/shelf/在进行更新之前于_2024_5_16_9_49_取消提交了更改_[Default_Changelist]/shelved.patch" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java" beforeDir="false" afterPath="$PROJECT_DIR$/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/model/OrderCrossCity.java" beforeDir="false" afterPath="$PROJECT_DIR$/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/model/OrderCrossCity.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/model/OrderPrivateCar.java" beforeDir="false" afterPath="$PROJECT_DIR$/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/model/OrderPrivateCar.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/IOrderPrivateCarService.java" beforeDir="false" afterPath="$PROJECT_DIR$/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/IOrderPrivateCarService.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IOrderService.java" beforeDir="false" afterPath="$PROJECT_DIR$/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IOrderService.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OrderServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OrderServiceImpl.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GDFalconUtil.java" beforeDir="false" afterPath="$PROJECT_DIR$/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GDFalconUtil.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GDMapElectricFenceUtil.java" beforeDir="false" afterPath="$PROJECT_DIR$/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GDMapElectricFenceUtil.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GDMapGeocodingUtil.java" beforeDir="false" afterPath="$PROJECT_DIR$/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GDMapGeocodingUtil.java" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/../UserNTTravel/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/../UserNTTravel/.idea/workspace.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/../UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/PhoneServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/../UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/PhoneServiceImpl.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/../UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/CharteredCar/dto/CharteredCarDto.java" beforeDir="false" afterPath="$PROJECT_DIR$/../UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/CharteredCar/dto/CharteredCarDto.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/../UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/CharteredCar/server/impl/OrderCharteredCarServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/../UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/CharteredCar/server/impl/OrderCharteredCarServiceImpl.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/../UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/ServerCarModelController.java" beforeDir="false" afterPath="$PROJECT_DIR$/../UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/ServerCarModelController.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/../UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/UserCallbackController.java" beforeDir="false" afterPath="$PROJECT_DIR$/../UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/UserCallbackController.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/../UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/controller/LineController.java" beforeDir="false" afterPath="$PROJECT_DIR$/../UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/controller/LineController.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/../UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/model/Line.java" beforeDir="false" afterPath="$PROJECT_DIR$/../UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/model/Line.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/../UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/../UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/../UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/ALiSendSms.java" beforeDir="false" afterPath="$PROJECT_DIR$/../UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/ALiSendSms.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/../UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GDFalconUtil.java" beforeDir="false" afterPath="$PROJECT_DIR$/../UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GDFalconUtil.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/../UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GDMapElectricFenceUtil.java" beforeDir="false" afterPath="$PROJECT_DIR$/../UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GDMapElectricFenceUtil.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/../UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GDMapGeocodingUtil.java" beforeDir="false" afterPath="$PROJECT_DIR$/../UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GDMapGeocodingUtil.java" afterDir="false" />
     </list>
     <option name="SHOW_DIALOG" value="false" />
     <option name="HIGHLIGHT_CONFLICTS" value="true" />
@@ -578,6 +589,9 @@
       <workItem from="1716341934695" duration="13661000" />
       <workItem from="1716427926409" duration="9187000" />
       <workItem from="1716514334090" duration="9851000" />
+      <workItem from="1716774529103" duration="6847000" />
+      <workItem from="1716793830661" duration="723000" />
+      <workItem from="1716794972983" duration="3789000" />
     </task>
     <servers />
   </component>
@@ -686,20 +700,6 @@
           <url>file://$PROJECT_DIR$/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java</url>
           <line>748</line>
           <option name="timeStamp" value="22" />
-        </line-breakpoint>
-        <line-breakpoint enabled="true" type="java-line">
-          <url>file://$PROJECT_DIR$/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/TaskUtil.java</url>
-          <line>50</line>
-          <option name="timeStamp" value="23" />
-        </line-breakpoint>
-        <line-breakpoint enabled="true" type="java-method">
-          <url>file://$PROJECT_DIR$/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IOrderService.java</url>
-          <line>115</line>
-          <properties class="com.stylefeng.guns.modular.system.service.IOrderService" method="process">
-            <option name="EMULATED" value="true" />
-            <option name="WATCH_EXIT" value="false" />
-          </properties>
-          <option name="timeStamp" value="25" />
         </line-breakpoint>
       </breakpoints>
     </breakpoint-manager>
diff --git a/DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java b/DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java
index 556c3af..0d9c26d 100644
--- a/DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java
+++ b/DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java
@@ -1,11 +1,15 @@
 package com.stylefeng.guns.modular.api;
 
 import com.alibaba.fastjson.JSON;
+import com.stylefeng.guns.modular.crossCity.model.OrderCrossCity;
+import com.stylefeng.guns.modular.crossCity.server.IOrderCrossCityService;
 import com.stylefeng.guns.modular.smallLogistics.server.IOrderLogisticsService;
+import com.stylefeng.guns.modular.specialTrain.model.OrderPrivateCar;
+import com.stylefeng.guns.modular.specialTrain.server.IOrderPrivateCarService;
 import com.stylefeng.guns.modular.system.model.Reassign;
-import com.stylefeng.guns.modular.system.service.IDriverService;
-import com.stylefeng.guns.modular.system.service.IOrderService;
-import com.stylefeng.guns.modular.system.service.IReassignService;
+import com.stylefeng.guns.modular.system.model.TOrderTape;
+import com.stylefeng.guns.modular.system.model.TOrderTransfer;
+import com.stylefeng.guns.modular.system.service.*;
 import com.stylefeng.guns.modular.system.util.ChinaMobileUtil;
 import com.stylefeng.guns.modular.system.util.PushUtil;
 import com.stylefeng.guns.modular.system.util.ResultUtil;
@@ -24,6 +28,8 @@
 import org.springframework.web.bind.annotation.RestController;
 
 import javax.servlet.http.HttpServletRequest;
+import java.util.Calendar;
+import java.util.Date;
 import java.util.List;
 import java.util.Map;
 
@@ -51,10 +57,75 @@
 
     @Autowired
     private IOrderLogisticsService orderLogisticsService;
+    @Autowired
+    private ITOrderTapeService orderTapeService;
+    @Autowired
+    private IOrderPrivateCarService privateCarService;
+    @Autowired
+    private IOrderCrossCityService crossCityService;
+    @Autowired
+    private ITOrderTransferService orderTransferService;
 
 
+    @ResponseBody
+    @PostMapping("/api/order/tape")
+    @ApiOperation(value = "订单提交录音", tags = {"司机端-录音"}, notes = "")
+    @ApiImplicitParams({
+            @ApiImplicitParam(value = "文件链接 逗号拼接", name = "fileLink", required = true, dataType = "string"),
+            @ApiImplicitParam(value = "文件名称", name = "fileName", required = true, dataType = "string"),
+            @ApiImplicitParam(value = "文件格式", name = "fileFormat", required = true, dataType = "string"),
+            @ApiImplicitParam(value = "文件大小(mb)", name = "fileSize", required = true, dataType = "string"),
+            @ApiImplicitParam(value = "订单类型1=专车 5=小件物流-跨城 ,7=接送机", name = "orderType", required = true, dataType = "int"),
+            @ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"),
+            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
+    })
+    public ResultUtil queryOrderList(String fileLink,String fileName,String fileFormat,String fileSize,Integer orderType,Integer orderId, HttpServletRequest request) {
+        // 创建一个Date对象,假设现在是当前日期
+        Date currentDate = new Date();
+        // 创建一个Calendar实例,并设置其时间为基础Date对象
+        Calendar calendar = Calendar.getInstance();
+        calendar.setTime(currentDate);
+        // 增加31天
+        calendar.add(Calendar.DAY_OF_MONTH, 31);
+        // 获取增加后的Date对象
+        Date newDate = calendar.getTime();
+
+        TOrderTape tape = new TOrderTape();
+            tape.setFileLink(fileLink);
+            tape.setFileName(fileName);
+            tape.setFileFormat(fileFormat);
+            tape.setFileSize(Double.parseDouble(fileSize));
+            tape.setOrderType(orderType);
+            tape.setInsertTime(new Date());
+            tape.setAfterTime(newDate);
+            String[] split = fileLink.split(",");
+            for (String s : split) {
+                orderTapeService.insert(tape);
+            }
+            switch (orderType){
+                case 1:
+                    OrderPrivateCar orderPrivateCar = privateCarService.selectById(orderId);
+                    orderPrivateCar.setRecordTime(new Date());
+                    orderPrivateCar.setRouteRecord(fileLink);
+                    privateCarService.updateById(orderPrivateCar);
+                    break;
+                    case 5:
+                    OrderCrossCity orderCrossCity = crossCityService.selectById(orderId);
+                        orderCrossCity.setRecordTime(new Date());
+                        orderCrossCity.setRouteRecord(fileLink);
+                        crossCityService.updateById(orderCrossCity);
+                    break;
+                    case 7:
+                        TOrderTransfer orderTransfer = orderTransferService.selectById(orderId);
+                        orderTransfer.setRecordTime(new Date());
+                        orderTransfer.setRouteRecord(fileLink);
+                        orderTransferService.updateById(orderTransfer);
+                    break;
+            }
+            return ResultUtil.success();
 
 
+    }
 
 
 
@@ -369,6 +440,29 @@
         }
     }
 
+    @ResponseBody
+    @PostMapping("/api/order/specail")
+    @ApiOperation(value = "修改结束地点", tags = {"司机端-服务中"}, notes = "")
+    @ApiImplicitParams({
+            @ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"),
+            @ApiImplicitParam(value = "当前经度", name = "lon", required = true, dataType = "double"),
+            @ApiImplicitParam(value = "当前纬度", name = "lat", required = true, dataType = "double"),
+            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
+    })
+    public ResultUtil specail(Integer orderId, Double lon, Double lat,String endAddress, HttpServletRequest request){
+        try {
+            Integer uid = driverService.getUserIdFormRedis(request);
+            if(null == uid){
+                return ResultUtil.tokenErr();
+            }
+            return orderService.specail(orderId, uid, lon, lat,endAddress);
+        }catch (Exception e){
+            e.printStackTrace();
+            return ResultUtil.runErr();
+        }
+    }
+
+
 
 
     /**
diff --git a/DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/model/OrderCrossCity.java b/DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/model/OrderCrossCity.java
index 9f1e658..bf1bb05 100644
--- a/DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/model/OrderCrossCity.java
+++ b/DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/model/OrderCrossCity.java
@@ -4,6 +4,7 @@
 import com.baomidou.mybatisplus.annotations.TableId;
 import com.baomidou.mybatisplus.annotations.TableName;
 import com.baomidou.mybatisplus.enums.IdType;
+import lombok.Data;
 
 import java.util.Date;
 
@@ -11,6 +12,7 @@
  * 跨城订单
  */
 @TableName("t_order_cross_city")
+@Data
 public class OrderCrossCity {
     /**
      * 主键
@@ -324,6 +326,16 @@
     @TableField("bindId")
     private String bindId;
 
+
+    /**
+     * 行程录音
+     */
+    private String routeRecord;
+    /**
+     * 录音时间
+     */
+    private Date recordTime;
+
     public Integer getId() {
         return id;
     }
diff --git a/DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/model/OrderPrivateCar.java b/DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/model/OrderPrivateCar.java
index 4eff914..b8f394e 100644
--- a/DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/model/OrderPrivateCar.java
+++ b/DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/model/OrderPrivateCar.java
@@ -4,6 +4,7 @@
 import com.baomidou.mybatisplus.annotations.TableId;
 import com.baomidou.mybatisplus.annotations.TableName;
 import com.baomidou.mybatisplus.enums.IdType;
+import lombok.Data;
 
 import java.util.Date;
 
@@ -11,6 +12,7 @@
  * 专车车订单
  */
 @TableName("t_order_private_car")
+@Data
 public class OrderPrivateCar {
     /**
      * 主键
@@ -379,6 +381,16 @@
     @TableField("bindId")
     private String bindId;
 
+    /**
+     * 行程录音
+     */
+    private String routeRecord;
+    /**
+     * 录音时间
+     */
+    private Date recordTime;
+
+
     public Integer getId() {
         return id;
     }
diff --git a/DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/IOrderPrivateCarService.java b/DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/IOrderPrivateCarService.java
index ad22c99..a912871 100644
--- a/DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/IOrderPrivateCarService.java
+++ b/DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/IOrderPrivateCarService.java
@@ -75,6 +75,7 @@
      * @throws Exception
      */
     ResultUtil process(Integer orderId, Integer state, Double lon, Double lat, String address) throws Exception;
+    ResultUtil specail(Integer orderId, Double lon, Double lat, String endAddress) throws Exception;
 
 
     /**
diff --git a/DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java b/DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java
index 1cd72cc..e6cb0b7 100644
--- a/DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java
+++ b/DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java
@@ -307,12 +307,12 @@
                 orderPrivateCar.setGetoffTime(new Date());
                 orderPrivateCar.setEndServiceTime(new Date());
 
-                //设置结束的时候的经纬度
-                if (orderPrivateCar.getEndLat()!=null){
-                        orderPrivateCar.setEndLon(lon);
-                        orderPrivateCar.setEndLat(lat);
-                        orderPrivateCar.setEndAddress(address);
-                }
+//                //设置结束的时候的经纬度
+//                if (orderPrivateCar.getEndLat()!=null){
+//                        orderPrivateCar.setEndLon(lon);
+//                        orderPrivateCar.setEndLat(lat);
+//                        orderPrivateCar.setEndAddress(address);
+//                }
 
 
                 break;
@@ -332,6 +332,16 @@
             }
         }).start();
         return ResultUtil.success();
+    }   @Override
+    public ResultUtil specail(Integer orderId, Double lon, Double lat, String endAddress) throws Exception {
+        OrderPrivateCar orderPrivateCar = this.selectById(orderId);
+                        orderPrivateCar.setEndLon(lon);
+                        orderPrivateCar.setEndLat(lat);
+                        orderPrivateCar.setEndAddress(endAddress);
+
+
+        this.updateById(orderPrivateCar);
+        return ResultUtil.success();
     }
 
 
diff --git a/DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TOrderTapeMapper.java b/DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TOrderTapeMapper.java
new file mode 100644
index 0000000..7d0cd51
--- /dev/null
+++ b/DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TOrderTapeMapper.java
@@ -0,0 +1,16 @@
+package com.stylefeng.guns.modular.system.dao;
+
+import com.baomidou.mybatisplus.mapper.BaseMapper;
+import com.stylefeng.guns.modular.system.model.TOrderTape;
+
+/**
+ * <p>
+ * 行程录音 Mapper 接口
+ * </p>
+ *
+ * @author 吕雪
+ * @since 2020-06-09
+ */
+public interface TOrderTapeMapper extends BaseMapper<TOrderTape> {
+
+}
diff --git a/DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TOrderTape.java b/DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TOrderTape.java
new file mode 100644
index 0000000..8acec64
--- /dev/null
+++ b/DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TOrderTape.java
@@ -0,0 +1,157 @@
+package com.stylefeng.guns.modular.system.model;
+
+import com.baomidou.mybatisplus.activerecord.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;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ * 订单录音
+ * </p>
+ *
+ * @author 吕雪
+ * @since 2020-06-09
+ */
+@TableName("t_order_tape")
+public class TOrderTape extends Model<TOrderTape> {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @ApiModelProperty(value = "订单id")
+    @TableField(value = "orderId")
+    private Integer orderId;
+    @ApiModelProperty(value = "订单类型  1=专车,2=出租车,3=城际,4=小件物流-同城,5=小件物流-跨城,6=包车,7=接送机")
+    @TableField(value = "orderType")
+    private Integer orderType;
+    @ApiModelProperty(value = "文件地址")
+    @TableField(value = "fileLink")
+    private String fileLink;
+    @ApiModelProperty(value = "文件名")
+    @TableField(value = "fileName")
+    private String fileName;
+    @ApiModelProperty(value = "文件格式")
+    @TableField(value = "fileFormat")
+    private String fileFormat;
+    @ApiModelProperty(value = "文件大小(mb)")
+    @TableField(value = "fileSize")
+    private Double fileSize;
+    @ApiModelProperty(value = "过期时间")
+    @TableField(value = "afterTime")
+    private Date afterTime;
+    @ApiModelProperty(value = "创建时间")
+    @TableField(value = "insertTime")
+    private Date insertTime;
+    @ApiModelProperty(value = "是否删除  1=否 2=是")
+    @TableField(value = "isDelete")
+    private Integer isDelete;
+
+    public Integer getId() {
+        return id;
+    }
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    public Integer getOrderId() {
+        return orderId;
+    }
+
+    public void setOrderId(Integer orderId) {
+        this.orderId = orderId;
+    }
+
+    public Integer getOrderType() {
+        return orderType;
+    }
+
+    public void setOrderType(Integer orderType) {
+        this.orderType = orderType;
+    }
+
+    public String getFileLink() {
+        return fileLink;
+    }
+
+    public void setFileLink(String fileLink) {
+        this.fileLink = fileLink;
+    }
+
+    public String getFileName() {
+        return fileName;
+    }
+
+    public void setFileName(String fileName) {
+        this.fileName = fileName;
+    }
+
+    public String getFileFormat() {
+        return fileFormat;
+    }
+
+    public void setFileFormat(String fileFormat) {
+        this.fileFormat = fileFormat;
+    }
+
+    public Double getFileSize() {
+        return fileSize;
+    }
+
+    public void setFileSize(Double fileSize) {
+        this.fileSize = fileSize;
+    }
+
+    public Date getAfterTime() {
+        return afterTime;
+    }
+
+    public void setAfterTime(Date afterTime) {
+        this.afterTime = afterTime;
+    }
+
+    public Date getInsertTime() {
+        return insertTime;
+    }
+
+    public void setInsertTime(Date insertTime) {
+        this.insertTime = insertTime;
+    }
+
+    public Integer getIsDelete() {
+        return isDelete;
+    }
+
+    public void setIsDelete(Integer isDelete) {
+        this.isDelete = isDelete;
+    }
+
+    @Override
+    protected Serializable pkVal() {
+        return this.id;
+    }
+
+    @Override
+    public String toString() {
+        return "TOrderTape{" +
+                "id=" + id +
+                ", orderId=" + orderId +
+                ", orderType=" + orderType +
+                ", fileLink='" + fileLink + '\'' +
+                ", fileName='" + fileName + '\'' +
+                ", fileFormat='" + fileFormat + '\'' +
+                ", fileSize=" + fileSize +
+                ", afterTime=" + afterTime +
+                ", insertTime=" + insertTime +
+                ", isDelete=" + isDelete +
+                '}';
+    }
+}
diff --git a/DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IOrderService.java b/DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IOrderService.java
index f82f64e..0a161d1 100644
--- a/DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IOrderService.java
+++ b/DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IOrderService.java
@@ -114,6 +114,7 @@
      * @throws Exception
      */
     ResultUtil process(Integer orderId, Integer orderType, Integer state, Integer uid, Double lon, Double lat) throws Exception;
+    ResultUtil specail(Integer orderId, Integer uid, Double lon, Double lat,String endAddress) throws Exception;
 
 
     /**
diff --git a/DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITOrderTapeService.java b/DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITOrderTapeService.java
new file mode 100644
index 0000000..d6fee4c
--- /dev/null
+++ b/DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITOrderTapeService.java
@@ -0,0 +1,16 @@
+package com.stylefeng.guns.modular.system.service;
+
+import com.baomidou.mybatisplus.service.IService;
+import com.stylefeng.guns.modular.system.model.TOrderTape;
+
+/**
+ * <p>
+ * 行程录音 服务类
+ * </p>
+ *
+ * @author 吕雪
+ * @since 2020-06-09
+ */
+public interface ITOrderTapeService extends IService<TOrderTape> {
+
+}
diff --git a/DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OrderServiceImpl.java b/DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OrderServiceImpl.java
index 240f769..ac02be9 100644
--- a/DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OrderServiceImpl.java
+++ b/DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OrderServiceImpl.java
@@ -280,10 +280,15 @@
                 String distance = gdMapElectricFenceUtil.getDistance(lon + "," + lat, order, 1).get("distance");
                 map.put("startDistance", ToolUtil.isNotEmpty(distance) ? Double.valueOf(distance) / 1000 : 0);
 
-                //总距离
-                String end = String.valueOf(map.get("endLon")) + "," + String.valueOf(map.get("endLat"));
-                distance = gdMapElectricFenceUtil.getDistance(end, order, 1).get("distance");
-                map.put("totalDistance", ToolUtil.isNotEmpty(distance) ? Double.valueOf(distance) / 1000 : 0);
+                try {
+                    //总距离
+                    String end = String.valueOf(map.get("endLon")) + "," + String.valueOf(map.get("endLat"));
+                    distance = gdMapElectricFenceUtil.getDistance(end, order, 1).get("distance");
+                    map.put("totalDistance", ToolUtil.isNotEmpty(distance) ? Double.valueOf(distance) / 1000 : 0);
+                }catch (Exception e){
+                    e.printStackTrace();
+                }
+
 
                 Integer orderSource = Integer.valueOf(String.valueOf(map.get("orderSource")));
                 if(orderSource == 1 || orderSource == 2 || orderSource == 3){
@@ -616,6 +621,10 @@
         }
         return null;
     }
+  @Override
+    public ResultUtil specail(Integer orderId, Integer uid, Double lon, Double lat,String endAddress) throws Exception {
+                return orderPrivateCarService.specail(orderId, lon, lat, endAddress);
+    }
 
 
     /**
diff --git a/DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TOrderTapeServiceImpl.java b/DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TOrderTapeServiceImpl.java
new file mode 100644
index 0000000..14eb0d8
--- /dev/null
+++ b/DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TOrderTapeServiceImpl.java
@@ -0,0 +1,22 @@
+package com.stylefeng.guns.modular.system.service.impl;
+
+import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.stylefeng.guns.modular.system.dao.TOrderTapeMapper;
+
+import com.stylefeng.guns.modular.system.model.TOrderTape;
+
+import com.stylefeng.guns.modular.system.service.ITOrderTapeService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 行程录音 服务实现类
+ * </p>
+ *
+ * @author 吕雪
+ * @since 2020-06-09
+ */
+@Service
+public class TOrderTapeServiceImpl extends ServiceImpl<TOrderTapeMapper, TOrderTape> implements ITOrderTapeService {
+
+}
diff --git a/DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GDFalconUtil.java b/DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GDFalconUtil.java
index 085d2d8..c4e5956 100644
--- a/DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GDFalconUtil.java
+++ b/DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GDFalconUtil.java
@@ -23,7 +23,7 @@
 @Component
 public class GDFalconUtil implements ApplicationRunner {
 
-    private String key = "c473445a931ee8c42eef8b63fc3602c5";
+    private String key = "8fc6a7da12d64696e9727605d81f72de";
 
     @Autowired
     private RestTemplate restTemplate;
diff --git a/DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GDMapElectricFenceUtil.java b/DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GDMapElectricFenceUtil.java
index 8bf3b02..956bae7 100644
--- a/DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GDMapElectricFenceUtil.java
+++ b/DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GDMapElectricFenceUtil.java
@@ -33,7 +33,7 @@
     @Autowired
     private IGDInterfaceService gdInterfaceService;
 
-    private String key = "c473445a931ee8c42eef8b63fc3602c5";
+    private String key = "8fc6a7da12d64696e9727605d81f72de";
 
     private JSONArray jsonArray = new JSONArray();
 
diff --git a/DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GDMapGeocodingUtil.java b/DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GDMapGeocodingUtil.java
index f7fd529..e09c40f 100644
--- a/DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GDMapGeocodingUtil.java
+++ b/DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GDMapGeocodingUtil.java
@@ -20,7 +20,7 @@
 @Component
 public class GDMapGeocodingUtil {
 
-    private String key = "c473445a931ee8c42eef8b63fc3602c5";
+    private String key = "8fc6a7da12d64696e9727605d81f72de";
 
     @Autowired
     private RestTemplate restTemplate;
diff --git a/UserNTTravel/.idea/inspectionProfiles/Project_Default.xml b/UserNTTravel/.idea/inspectionProfiles/Project_Default.xml
new file mode 100644
index 0000000..e261e50
--- /dev/null
+++ b/UserNTTravel/.idea/inspectionProfiles/Project_Default.xml
@@ -0,0 +1,7 @@
+<component name="InspectionProjectProfileManager">
+  <profile version="1.0">
+    <option name="myName" value="Project Default" />
+    <inspection_tool class="AliAccessStaticViaInstance" enabled="true" level="WARNING" enabled_by_default="true" />
+    <inspection_tool class="AliDeprecation" enabled="true" level="WARNING" enabled_by_default="true" />
+  </profile>
+</component>
\ No newline at end of file
diff --git a/UserNTTravel/.idea/workspace.xml b/UserNTTravel/.idea/workspace.xml
index 94482e0..27de33d 100644
--- a/UserNTTravel/.idea/workspace.xml
+++ b/UserNTTravel/.idea/workspace.xml
@@ -5,32 +5,43 @@
   </component>
   <component name="ChangeListManager">
     <list default="true" id="202e88b5-454e-4bc8-8ff5-2d4680354082" name="Default Changelist" comment="Default Changelist">
-      <change afterPath="$PROJECT_DIR$/../ManagementNTTravel/.idea/inspectionProfiles/Project_Default.xml" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/SysReformistMapper.java" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/SysReformistMapper.xml" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/SysReformist.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/../DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TOrderTapeMapper.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/../DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TOrderTape.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/../DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITOrderTapeService.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/../DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TOrderTapeServiceImpl.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/.idea/inspectionProfiles/Project_Default.xml" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/SysCouponRecordMapper.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TActivityGeneralizationMapper.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/AliSms.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/SysCouponRecord.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TActivityGeneralization.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ISysCouponRecordService.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITActivityGeneralizationService.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/SysCouponRecordServiceImpl.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TActivityGeneralizationServiceImpl.java" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/../DriverNTTravel/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/../DriverNTTravel/.idea/workspace.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/../DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java" beforeDir="false" afterPath="$PROJECT_DIR$/../DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/../DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/PhoneController.java" beforeDir="false" afterPath="$PROJECT_DIR$/../DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/PhoneController.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/../DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/dao/mapping/LineSiteMapper.xml" beforeDir="false" afterPath="$PROJECT_DIR$/../DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/dao/mapping/LineSiteMapper.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/../DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/LineSiteServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/../DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/LineSiteServiceImpl.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/../DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/SysReformist.java" beforeDir="false" afterPath="$PROJECT_DIR$/../DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/SysReformist.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/../DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IDriverService.java" beforeDir="false" afterPath="$PROJECT_DIR$/../DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IDriverService.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/../DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IPhoneService.java" beforeDir="false" afterPath="$PROJECT_DIR$/../DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IPhoneService.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/../DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/../DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/../DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/PhoneServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/../DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/PhoneServiceImpl.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/../DriverNTTravel/guns-admin/src/main/resources/application.yml" beforeDir="false" afterPath="$PROJECT_DIR$/../DriverNTTravel/guns-admin/src/main/resources/application.yml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/../ManagementNTTravel/guns-admin/guns-admin.iml" beforeDir="false" afterPath="$PROJECT_DIR$/../ManagementNTTravel/guns-admin/guns-admin.iml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/../ManagementNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/HomeController.java" beforeDir="false" afterPath="$PROJECT_DIR$/../ManagementNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/HomeController.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/../ManagementNTTravel/guns-admin/src/main/resources/application.yml" beforeDir="false" afterPath="$PROJECT_DIR$/../ManagementNTTravel/guns-admin/src/main/resources/application.yml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/../ManagementNTTravel/guns-core/guns-core.iml" beforeDir="false" afterPath="$PROJECT_DIR$/../ManagementNTTravel/guns-core/guns-core.iml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/../ManagementNTTravel/guns-generator/guns-generator.iml" beforeDir="false" afterPath="$PROJECT_DIR$/../ManagementNTTravel/guns-generator/guns-generator.iml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/../ManagementNTTravel/guns-parent.iml" beforeDir="false" afterPath="$PROJECT_DIR$/../ManagementNTTravel/guns-parent.iml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/../ManagementNTTravel/guns-rest/guns-rest.iml" beforeDir="false" afterPath="$PROJECT_DIR$/../ManagementNTTravel/guns-rest/guns-rest.iml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/.idea/shelf/_2024_5_16_9_49___Default_Changelist_.xml" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/.idea/shelf/在进行更新之前于_2024_5_16_9_49_取消提交了更改_[Default_Changelist]/shelved.patch" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/../DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java" beforeDir="false" afterPath="$PROJECT_DIR$/../DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/../DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/model/OrderCrossCity.java" beforeDir="false" afterPath="$PROJECT_DIR$/../DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/model/OrderCrossCity.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/../DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/model/OrderPrivateCar.java" beforeDir="false" afterPath="$PROJECT_DIR$/../DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/model/OrderPrivateCar.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/../DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/IOrderPrivateCarService.java" beforeDir="false" afterPath="$PROJECT_DIR$/../DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/IOrderPrivateCarService.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/../DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/../DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/../DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IOrderService.java" beforeDir="false" afterPath="$PROJECT_DIR$/../DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IOrderService.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/../DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OrderServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/../DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OrderServiceImpl.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/../DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GDFalconUtil.java" beforeDir="false" afterPath="$PROJECT_DIR$/../DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GDFalconUtil.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/../DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GDMapElectricFenceUtil.java" beforeDir="false" afterPath="$PROJECT_DIR$/../DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GDMapElectricFenceUtil.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/../DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GDMapGeocodingUtil.java" beforeDir="false" afterPath="$PROJECT_DIR$/../DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GDMapGeocodingUtil.java" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/PhoneServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/PhoneServiceImpl.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/guns-admin/src/main/java/com/stylefeng/guns/modular/CharteredCar/dto/CharteredCarDto.java" beforeDir="false" afterPath="$PROJECT_DIR$/guns-admin/src/main/java/com/stylefeng/guns/modular/CharteredCar/dto/CharteredCarDto.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/guns-admin/src/main/java/com/stylefeng/guns/modular/CharteredCar/server/impl/OrderCharteredCarServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/guns-admin/src/main/java/com/stylefeng/guns/modular/CharteredCar/server/impl/OrderCharteredCarServiceImpl.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/guns-admin/src/main/java/com/stylefeng/guns/modular/api/ServerCarModelController.java" beforeDir="false" afterPath="$PROJECT_DIR$/guns-admin/src/main/java/com/stylefeng/guns/modular/api/ServerCarModelController.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/guns-admin/src/main/java/com/stylefeng/guns/modular/api/UserCallbackController.java" beforeDir="false" afterPath="$PROJECT_DIR$/guns-admin/src/main/java/com/stylefeng/guns/modular/api/UserCallbackController.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/controller/LineController.java" beforeDir="false" afterPath="$PROJECT_DIR$/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/controller/LineController.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/model/Line.java" beforeDir="false" afterPath="$PROJECT_DIR$/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/model/Line.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/ALiSendSms.java" beforeDir="false" afterPath="$PROJECT_DIR$/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/ALiSendSms.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GDFalconUtil.java" beforeDir="false" afterPath="$PROJECT_DIR$/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GDFalconUtil.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GDMapElectricFenceUtil.java" beforeDir="false" afterPath="$PROJECT_DIR$/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GDMapElectricFenceUtil.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GDMapGeocodingUtil.java" beforeDir="false" afterPath="$PROJECT_DIR$/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GDMapGeocodingUtil.java" afterDir="false" />
     </list>
     <option name="SHOW_DIALOG" value="false" />
     <option name="HIGHLIGHT_CONFLICTS" value="true" />
@@ -377,7 +388,7 @@
     "Spring Boot.GunsRestApplication.executor": "Debug",
     "git-widget-placeholder": "master",
     "kotlin-language-version-configured": "true",
-    "last_opened_file_path": "D:/study/NTTravel/UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping",
+    "last_opened_file_path": "D:/study/NTTravel/ManagementNTTravel",
     "node.js.detected.package.eslint": "true",
     "node.js.detected.package.tslint": "true",
     "node.js.selected.package.eslint": "(autodetect)",
@@ -409,7 +420,7 @@
       </set>
     </option>
   </component>
-  <component name="RunManager" selected="Spring Boot.GunsRestApplication">
+  <component name="RunManager" selected="应用程序.ALiSendSms">
     <configuration name="ALiSendSms" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true">
       <option name="MAIN_CLASS_NAME" value="com.stylefeng.guns.modular.system.util.ALiSendSms" />
       <module name="guns-admin" />
@@ -537,7 +548,10 @@
       <workItem from="1716274389631" duration="2398000" />
       <workItem from="1716341948283" duration="8173000" />
       <workItem from="1716427936604" duration="9618000" />
-      <workItem from="1716514345062" duration="5401000" />
+      <workItem from="1716514345062" duration="7625000" />
+      <workItem from="1716774493061" duration="7494000" />
+      <workItem from="1716793828497" duration="893000" />
+      <workItem from="1716794971520" duration="16681000" />
     </task>
     <servers />
   </component>
@@ -634,24 +648,9 @@
     <breakpoint-manager>
       <breakpoints>
         <line-breakpoint enabled="true" type="java-line">
-          <url>file://$PROJECT_DIR$/guns-admin/src/main/java/com/stylefeng/guns/modular/CharteredCar/controller/OrderCharteredCarController.java</url>
-          <line>77</line>
-          <option name="timeStamp" value="1" />
-        </line-breakpoint>
-        <line-breakpoint enabled="true" type="java-line">
-          <url>file://$PROJECT_DIR$/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GDMapElectricFenceUtil.java</url>
-          <line>353</line>
-          <option name="timeStamp" value="7" />
-        </line-breakpoint>
-        <line-breakpoint enabled="true" type="java-line">
           <url>file://$PROJECT_DIR$/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java</url>
-          <line>480</line>
+          <line>523</line>
           <option name="timeStamp" value="8" />
-        </line-breakpoint>
-        <line-breakpoint enabled="true" type="java-line">
-          <url>file://$PROJECT_DIR$/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java</url>
-          <line>247</line>
-          <option name="timeStamp" value="9" />
         </line-breakpoint>
         <line-breakpoint enabled="true" type="java-line">
           <url>file://$PROJECT_DIR$/guns-admin/src/main/java/com/stylefeng/guns/modular/CharteredCar/controller/OrderCharteredCarController.java</url>
@@ -659,9 +658,39 @@
           <option name="timeStamp" value="10" />
         </line-breakpoint>
         <line-breakpoint enabled="true" type="java-line">
-          <url>file://$PROJECT_DIR$/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/PhoneServiceImpl.java</url>
-          <line>61</line>
-          <option name="timeStamp" value="11" />
+          <url>file://$PROJECT_DIR$/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java</url>
+          <line>85</line>
+          <option name="timeStamp" value="16" />
+        </line-breakpoint>
+        <line-breakpoint enabled="true" type="java-line">
+          <url>file://$PROJECT_DIR$/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ServerCarModelServiceImpl.java</url>
+          <line>71</line>
+          <option name="timeStamp" value="18" />
+        </line-breakpoint>
+        <line-breakpoint enabled="true" type="java-line">
+          <url>file://$PROJECT_DIR$/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushUtil.java</url>
+          <line>239</line>
+          <option name="timeStamp" value="19" />
+        </line-breakpoint>
+        <line-breakpoint enabled="true" type="java-line">
+          <url>file://$PROJECT_DIR$/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushUtil.java</url>
+          <line>233</line>
+          <option name="timeStamp" value="20" />
+        </line-breakpoint>
+        <line-breakpoint enabled="true" type="java-line">
+          <url>file://$PROJECT_DIR$/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushUtil.java</url>
+          <line>200</line>
+          <option name="timeStamp" value="21" />
+        </line-breakpoint>
+        <line-breakpoint enabled="true" type="java-line">
+          <url>file://$PROJECT_DIR$/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java</url>
+          <line>1346</line>
+          <option name="timeStamp" value="22" />
+        </line-breakpoint>
+        <line-breakpoint enabled="true" type="java-line">
+          <url>file://$PROJECT_DIR$/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java</url>
+          <line>1334</line>
+          <option name="timeStamp" value="23" />
         </line-breakpoint>
       </breakpoints>
     </breakpoint-manager>
diff --git a/UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/CharteredCar/dto/CharteredCarDto.java b/UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/CharteredCar/dto/CharteredCarDto.java
index d413c77..46e9f9e 100644
--- a/UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/CharteredCar/dto/CharteredCarDto.java
+++ b/UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/CharteredCar/dto/CharteredCarDto.java
@@ -1,6 +1,7 @@
 package com.stylefeng.guns.modular.CharteredCar.dto;
 
 import com.baomidou.mybatisplus.annotations.TableField;
+import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -9,8 +10,8 @@
 @Data
 public class CharteredCarDto {
     @ApiModelProperty("出行时间")
-    private Date traveltime;
-    @ApiModelProperty("出行时间")
+    private String traveltime;
+    @ApiModelProperty("用车时间")
     private double carTime;
     @ApiModelProperty("车型id")
     private Integer serverCarModelId;
@@ -20,7 +21,12 @@
     private String contactPhone;
     @ApiModelProperty("备注")
     private String remark;
-
     private Integer userId;
+    private Double startLon;
+    private Double startLat;
+    private String startAddress;
+    private Double endLon;
+    private Double endLat;
+    private String endAddress;
 
 }
diff --git a/UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/CharteredCar/server/impl/OrderCharteredCarServiceImpl.java b/UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/CharteredCar/server/impl/OrderCharteredCarServiceImpl.java
index 20368a2..3ea20e6 100644
--- a/UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/CharteredCar/server/impl/OrderCharteredCarServiceImpl.java
+++ b/UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/CharteredCar/server/impl/OrderCharteredCarServiceImpl.java
@@ -21,6 +21,7 @@
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
+import java.text.SimpleDateFormat;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
@@ -151,6 +152,18 @@
             orderCharteredCar.setCompanyId(1);
             orderCharteredCar.setIsDelete(1);
             orderCharteredCar.setInsertTime(new Date());
+
+            String strDateTime = charteredCarDto.getTraveltime();
+            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-M-d H:m");
+
+            try {
+                Date date = sdf.parse(strDateTime);
+                System.out.println("Converted Date and Time: " + date);
+                orderCharteredCar.setTraveltime(date);
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+
         }catch (Exception e){
             e.printStackTrace();
         }
diff --git a/UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/ServerCarModelController.java b/UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/ServerCarModelController.java
index 86f9e69..9ad4939 100644
--- a/UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/ServerCarModelController.java
+++ b/UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/ServerCarModelController.java
@@ -51,6 +51,22 @@
         }
     }
 
+    @ResponseBody
+    @PostMapping("/queryServerCarModelsSpecial")
+    @ApiOperation(value = "获取业务对应的所有车型", tags = {"用户端-专车"}, notes = "")
+    @ApiImplicitParams({
+    })
+    public ResultUtil<List<ServerCarModelWarpper>> queryServerCarModelsSpecial(){
+        try {
+            List<Map<String, Object>> list = serverCarModelService.queryServerCarModels(1);
+            return ResultUtil.success(ServerCarModelWarpper.getServerCarModelWarppers(list));
+        }catch (Exception e){
+            e.printStackTrace();
+            return ResultUtil.runErr();
+        }
+    }
+
+
 
     @ResponseBody
     @PostMapping("/queryServerCarModels")
diff --git a/UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/UserCallbackController.java b/UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/UserCallbackController.java
index f6fbadd..41b3c49 100644
--- a/UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/UserCallbackController.java
+++ b/UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/UserCallbackController.java
@@ -1,10 +1,21 @@
 package com.stylefeng.guns.modular.api;
 
 
-import com.stylefeng.guns.modular.system.service.IUserInfoService;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.stylefeng.guns.modular.system.model.*;
+import com.stylefeng.guns.modular.system.service.*;
 //import com.stylefeng.guns.modular.system.util.ICBCPayUtil;
+import com.stylefeng.guns.modular.system.service.impl.UserServiceImpl;
+import com.stylefeng.guns.modular.system.util.ALiSendSms;
 import com.stylefeng.guns.modular.system.util.PayMoneyUtil;
+import com.stylefeng.guns.modular.system.util.RedisUtil;
+import com.stylefeng.guns.modular.system.util.ResultUtil;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.util.StringUtils;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.ResponseBody;
@@ -13,6 +24,9 @@
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.io.PrintWriter;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.List;
 import java.util.Map;
 
 
@@ -32,7 +46,22 @@
     @Autowired
     private PayMoneyUtil payMoneyUtil;
 
+    @Autowired
+    private RedisUtil redisUtil;
 
+    @Autowired
+    private ALiSendSms aLiSendSms;
+    
+    @Autowired
+    private IUserService userService;
+    @Autowired
+    private ITActivityGeneralizationService activityGeneralizationService;
+
+    @Autowired
+    private IUserCouponRecordService userCouponRecordService;
+
+    @Autowired
+    private ISysCouponRecordService sysCouponRecordService;
 
 
 
@@ -93,6 +122,111 @@
         }
     }
 
+    @ResponseBody
+    @PostMapping("/get/coupon")
+    @ApiOperation(value = "获取优惠卷", tags = {"线下推广页面"}, notes = "")
+    @ApiImplicitParams({
+            @ApiImplicitParam(value = "电话", name = "phone", required = true, dataType = "String"),
+            @ApiImplicitParam(value = "验证码", name = "code", required = true, dataType = "String")
+    })
+    public ResultUtil coupon(String phone,String code,Integer acId){
+        //判断验证码是否正确
+
+        //判断该手机号是否注册
+        UserInfo byAccount = userInfoService.selectList(new EntityWrapper<UserInfo>().ne("flag",3)).get(0);
+        //已注册直接添加优惠卷
+        TActivityGeneralization tActivityGeneralization = activityGeneralizationService.selectById(acId);
+        SysCouponRecord sysCouponRecord = sysCouponRecordService.selectById(tActivityGeneralization.getCouponId());
+        if (byAccount != null){
+            //判断该账号是否领取
+            List<UserCouponRecord> userCouponRecords = userCouponRecordService.selectList(new EntityWrapper<UserCouponRecord>().eq("activityType", 5).eq("couponActivityId", acId));
+            if (!userCouponRecords.isEmpty()){
+                return ResultUtil.error("当前用户已领取");
+            }
+            Date date = new Date();
+            UserCouponRecord userCouponRecord = new UserCouponRecord();
+            userCouponRecord.setActivityType(5);
+            userCouponRecord.setCouponActivityId(acId);
+            userCouponRecord.setCouponId(tActivityGeneralization.getCouponId());
+            userCouponRecord.setState(1);
+            Calendar calendar = Calendar.getInstance();
+            calendar.setTime(date);
+            calendar.set(Calendar.DAY_OF_MONTH, calendar.get(Calendar.DAY_OF_MONTH) + sysCouponRecord.getEffective());
+            userCouponRecord.setExpirationTime(calendar.getTime());
+            userCouponRecord.setCouponType(Integer.valueOf(String.valueOf(sysCouponRecord.getCouponType())));
+            userCouponRecord.setCouponUseType(sysCouponRecord.getCouponUseType());
+            userCouponRecord.setInsertTime(date);
+            userCouponRecord.setFullMoney(Double.valueOf(String.valueOf(sysCouponRecord.getFullMoney())));
+            userCouponRecord.setMoney(Double.valueOf(String.valueOf(sysCouponRecord.getMoney())));
+            userCouponRecord.setCompanyId(byAccount.getCompanyId());
+            userCouponRecord.setUserId(byAccount.getId());
+
+            Integer userGrantCount = tActivityGeneralization.getUserGrantCount();
+//            userCouponRecordService.insert(userCouponRecord);
+            if (userGrantCount != null && userGrantCount > 0) {
+                for (int i = 0; i < userGrantCount; i++) {// ...
+                    userCouponRecordService.insert(userCouponRecord);
+                }
+            }
+        }else {
+            //判断当前用户是否领取
+            String value = redisUtil.getValue("counpon:" + phone);
+            if (value!=null){
+                return ResultUtil.error("当前用户已领取");
+            }
+            //未注册将优惠卷信息存入缓存,待用户注册时调用来添加优惠卷
+            redisUtil.setStrValue("counpon:"+phone, String.valueOf(acId));
+        }
+
+
+
+        return ResultUtil.success(tActivityGeneralization.getUserGrantCount());
+
+
+    }
+
+    @ResponseBody
+    @PostMapping("/get/code")
+    @ApiOperation(value = "获取验证码", tags = {"线下推广页面"}, notes = "")
+    @ApiImplicitParams({
+            @ApiImplicitParam(value = "电话", name = "phone", required = true, dataType = "String")
+    })
+    public ResultUtil coupon(String phone) {
+        if (StringUtils.hasLength(phone)) {
+            String code = String.valueOf((int) (Math.random() * 1000000));
+            redisUtil.setStrValue(phone, code, 15 * 60 * 1000);
+            AliSms aliSms = new AliSms();
+            aliSms.setCode(code);
+            String json = JSONObject.toJSONString(aliSms);
+            try {
+                aLiSendSms.sendSms(phone, "SMS_467580138", json);
+
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+
+//            msgUtils.sendMsg(dto.getPhone(), code);
+            return ResultUtil.success("发送短信验证码成功!");
+        }
+        return ResultUtil.error("请输入手机号");
+    }
+
+
+    @ResponseBody
+    @PostMapping("/get/coupon/info")
+    @ApiOperation(value = "使用说明", tags = {"线下推广页面"}, notes = "")
+    @ApiImplicitParams({
+            @ApiImplicitParam(value = "电话", name = "phone", required = true, dataType = "String"),
+            @ApiImplicitParam(value = "验证码", name = "code", required = true, dataType = "String")
+    })
+    public ResultUtil coupon(Integer acId){
+        TActivityGeneralization tActivityGeneralization = activityGeneralizationService.selectById(acId);
+
+        return ResultUtil.success(tActivityGeneralization.getUseExplain());
+    }
+
+
+
 
 
 }
diff --git a/UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/controller/LineController.java b/UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/controller/LineController.java
index be3e554..d80b9e2 100644
--- a/UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/controller/LineController.java
+++ b/UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/controller/LineController.java
@@ -5,6 +5,7 @@
 import com.stylefeng.guns.core.support.WafKit;
 import com.stylefeng.guns.modular.crossCity.model.Line;
 import com.stylefeng.guns.modular.crossCity.model.LineSite;
+import com.stylefeng.guns.modular.crossCity.model.Site;
 import com.stylefeng.guns.modular.crossCity.server.ILineService;
 import com.stylefeng.guns.modular.crossCity.server.ILineSiteService;
 import com.stylefeng.guns.modular.crossCity.server.ISiteService;
@@ -23,8 +24,10 @@
 import org.springframework.web.bind.annotation.RestController;
 
 import java.sql.Wrapper;
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
+import java.util.Vector;
 
 /**
  * 线路控制器
@@ -69,10 +72,12 @@
 
         for (Line line : isOpen) {
             List<LineSite> lineId = lineSiteService.selectList(new EntityWrapper<LineSite>().eq("lineId", line.getId()));
+            List<Site> sites =new ArrayList<>();
             for (LineSite lineSite : lineId) {
-                siteService.selectById(lineSite.getSiteId());
+                Site site = siteService.selectById(lineSite.getSiteId());
+                sites.add(site);
             }
-
+            line.setSites(sites);
         }
 
         return ResultUtil.success(isOpen);
diff --git a/UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/model/Line.java b/UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/model/Line.java
index b92b394..4997917 100644
--- a/UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/model/Line.java
+++ b/UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/model/Line.java
@@ -4,13 +4,16 @@
 import com.baomidou.mybatisplus.annotations.TableId;
 import com.baomidou.mybatisplus.annotations.TableName;
 import com.baomidou.mybatisplus.enums.IdType;
+import lombok.Data;
 
 import java.util.Date;
+import java.util.List;
 
 /**
  * 跨城线路
  */
 @TableName("t_line")
+@Data
 public class Line {
     /**
      * 主键
@@ -44,6 +47,9 @@
     @TableField("insertTime")
     private Date insertTime;
 
+    @TableField(exist = false)
+    private List<Site> sites;
+
     public Integer getId() {
         return id;
     }
diff --git a/UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/SysCouponRecordMapper.java b/UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/SysCouponRecordMapper.java
new file mode 100644
index 0000000..ec91830
--- /dev/null
+++ b/UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/SysCouponRecordMapper.java
@@ -0,0 +1,16 @@
+package com.stylefeng.guns.modular.system.dao;
+
+import com.baomidou.mybatisplus.mapper.BaseMapper;
+import com.stylefeng.guns.modular.system.model.SysCouponRecord;
+
+/**
+ * <p>
+ * 系统设置-优惠券记录 Mapper 接口
+ * </p>
+ *
+ * @author stylefeng
+ * @since 2020-06-15
+ */
+public interface SysCouponRecordMapper extends BaseMapper<SysCouponRecord> {
+
+}
diff --git a/UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TActivityGeneralizationMapper.java b/UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TActivityGeneralizationMapper.java
new file mode 100644
index 0000000..6ccc602
--- /dev/null
+++ b/UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TActivityGeneralizationMapper.java
@@ -0,0 +1,16 @@
+package com.stylefeng.guns.modular.system.dao;
+
+import com.baomidou.mybatisplus.mapper.BaseMapper;
+import com.stylefeng.guns.modular.system.model.TActivityGeneralization;
+
+/**
+ * <p>
+ * 推广活动 Mapper 接口
+ * </p>
+ *
+ * @author 吕雪
+ * @since 2020-06-09
+ */
+public interface TActivityGeneralizationMapper extends BaseMapper<TActivityGeneralization> {
+
+}
diff --git a/UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/AliSms.java b/UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/AliSms.java
new file mode 100644
index 0000000..a443998
--- /dev/null
+++ b/UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/AliSms.java
@@ -0,0 +1,8 @@
+package com.stylefeng.guns.modular.system.model;
+
+import lombok.Data;
+
+@Data
+public class AliSms {
+    private String code;
+}
diff --git a/UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/SysCouponRecord.java b/UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/SysCouponRecord.java
new file mode 100644
index 0000000..d88df58
--- /dev/null
+++ b/UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/SysCouponRecord.java
@@ -0,0 +1,162 @@
+package com.stylefeng.guns.modular.system.model;
+
+import com.baomidou.mybatisplus.enums.IdType;
+import java.math.BigDecimal;
+import java.util.Date;
+import com.baomidou.mybatisplus.annotations.TableId;
+import com.baomidou.mybatisplus.activerecord.Model;
+import com.baomidou.mybatisplus.annotations.TableName;
+import java.io.Serializable;
+
+/**
+ * <p>
+ * 系统设置-优惠券记录
+ * </p>
+ *
+ * @author stylefeng
+ * @since 2020-06-15
+ */
+@TableName("t_sys_coupon_record")
+public class SysCouponRecord extends Model<SysCouponRecord> {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+    /**
+     * 金额
+     */
+    private BigDecimal money;
+    /**
+     * 满减金额
+     */
+    private BigDecimal fullMoney;
+    /**
+     * 添加时间
+     */
+    private Date insertTime;
+    /**
+     * 公司id
+     */
+    private Integer companyId;
+    /**
+     * 优惠券使用类型(0=通用,1=专车,2=出租车,3=城际,4=小件物流)
+     */
+    private Integer couponUseType;
+    /**
+     * 优惠券类型(1=抵扣,2=满减)
+     */
+    private Integer couponType;
+    /**
+     * 优惠券名称
+     */
+    private String name;
+    /**
+     * 有效天数
+     */
+    private Integer effective;
+    /**
+     * 1=平台 2=分公司 3=加盟商
+     */
+    private Integer companyType;
+
+    public Integer getCompanyType() {
+        return companyType;
+    }
+
+    public void setCompanyType(Integer companyType) {
+        this.companyType = companyType;
+    }
+
+    public Integer getId() {
+        return id;
+    }
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    public BigDecimal getMoney() {
+        return money;
+    }
+
+    public void setMoney(BigDecimal money) {
+        this.money = money;
+    }
+
+    public BigDecimal getFullMoney() {
+        return fullMoney;
+    }
+
+    public void setFullMoney(BigDecimal fullMoney) {
+        this.fullMoney = fullMoney;
+    }
+
+    public Date getInsertTime() {
+        return insertTime;
+    }
+
+    public void setInsertTime(Date insertTime) {
+        this.insertTime = insertTime;
+    }
+
+    public Integer getCompanyId() {
+        return companyId;
+    }
+
+    public void setCompanyId(Integer companyId) {
+        this.companyId = companyId;
+    }
+
+    public Integer getCouponUseType() {
+        return couponUseType;
+    }
+
+    public void setCouponUseType(Integer couponUseType) {
+        this.couponUseType = couponUseType;
+    }
+
+    public Integer getCouponType() {
+        return couponType;
+    }
+
+    public void setCouponType(Integer couponType) {
+        this.couponType = couponType;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public Integer getEffective() {
+        return effective;
+    }
+
+    public void setEffective(Integer effective) {
+        this.effective = effective;
+    }
+
+    @Override
+    protected Serializable pkVal() {
+        return this.id;
+    }
+
+    @Override
+    public String toString() {
+        return "SysCouponRecord{" +
+        "id=" + id +
+        ", money=" + money +
+        ", fullMoney=" + fullMoney +
+        ", insertTime=" + insertTime +
+        ", companyId=" + companyId +
+        ", couponUseType=" + couponUseType +
+        ", couponType=" + couponType +
+        ", name=" + name +
+        ", effective=" + effective +
+        "}";
+    }
+}
diff --git a/UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TActivityGeneralization.java b/UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TActivityGeneralization.java
new file mode 100644
index 0000000..1912fd3
--- /dev/null
+++ b/UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TActivityGeneralization.java
@@ -0,0 +1,165 @@
+package com.stylefeng.guns.modular.system.model;
+
+import com.baomidou.mybatisplus.activerecord.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;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ * 推广活动设置
+ * </p>
+ *
+ * @author 吕雪
+ * @since 2020-06-09
+ */
+@TableName("t_activity_generalization")
+public class TActivityGeneralization extends Model<TActivityGeneralization> {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @ApiModelProperty(value = "活动名称")
+    @TableField(value = "activityName")
+    private String activityName;
+
+    @ApiModelProperty(value = "最多参与人数")
+    @TableField(value = "participateCount")
+    private Integer participateCount;
+
+    @ApiModelProperty(value = "开始时间")
+    @TableField(value = "startTime")
+    private Date startTime;
+
+    @ApiModelProperty(value = "结束时间")
+    @TableField(value = "endTime")
+    private Date endTime;
+
+    @ApiModelProperty(value = "优惠券id")
+    @TableField(value = "couponId")
+    private Integer couponId;
+
+    @ApiModelProperty(value = "发放数量")
+    @TableField(value = "userGrantCount")
+    private Integer userGrantCount;
+
+    @ApiModelProperty(value = "每月使用数量")
+    @TableField(value = "monthUseCount")
+    private Integer monthUseCount;
+
+    @ApiModelProperty(value = "使用说明")
+    @TableField(value = "useExplain")
+    private String useExplain;
+
+    @ApiModelProperty(value = "是否删除  1=否 2=是")
+    @TableField(value = "isDelete")
+    private Integer isDelete;
+
+    public Integer getId() {
+        return id;
+    }
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    public String getActivityName() {
+        return activityName;
+    }
+
+    public void setActivityName(String activityName) {
+        this.activityName = activityName;
+    }
+
+    public Integer getParticipateCount() {
+        return participateCount;
+    }
+
+    public void setParticipateCount(Integer participateCount) {
+        this.participateCount = participateCount;
+    }
+
+    public Date getStartTime() {
+        return startTime;
+    }
+
+    public void setStartTime(Date startTime) {
+        this.startTime = startTime;
+    }
+
+    public Date getEndTime() {
+        return endTime;
+    }
+
+    public void setEndTime(Date endTime) {
+        this.endTime = endTime;
+    }
+
+    public Integer getCouponId() {
+        return couponId;
+    }
+
+    public void setCouponId(Integer couponId) {
+        this.couponId = couponId;
+    }
+
+    public Integer getUserGrantCount() {
+        return userGrantCount;
+    }
+
+    public void setUserGrantCount(Integer userGrantCount) {
+        this.userGrantCount = userGrantCount;
+    }
+
+    public Integer getMonthUseCount() {
+        return monthUseCount;
+    }
+
+    public void setMonthUseCount(Integer monthUseCount) {
+        this.monthUseCount = monthUseCount;
+    }
+
+    public String getUseExplain() {
+        return useExplain;
+    }
+
+    public void setUseExplain(String useExplain) {
+        this.useExplain = useExplain;
+    }
+
+    public Integer getIsDelete() {
+        return isDelete;
+    }
+
+    public void setIsDelete(Integer isDelete) {
+        this.isDelete = isDelete;
+    }
+
+    @Override
+    protected Serializable pkVal() {
+        return this.id;
+    }
+
+    @Override
+    public String toString() {
+        return "TActivityGeneralization{" +
+                "id=" + id +
+                ", activityName='" + activityName + '\'' +
+                ", participateCount=" + participateCount +
+                ", startTime=" + startTime +
+                ", endTime=" + endTime +
+                ", couponId=" + couponId +
+                ", userGrantCount=" + userGrantCount +
+                ", monthUseCount=" + monthUseCount +
+                ", useExplain='" + useExplain + '\'' +
+                ", isDelete=" + isDelete +
+                '}';
+    }
+}
diff --git a/UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ISysCouponRecordService.java b/UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ISysCouponRecordService.java
new file mode 100644
index 0000000..b1b65a7
--- /dev/null
+++ b/UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ISysCouponRecordService.java
@@ -0,0 +1,16 @@
+package com.stylefeng.guns.modular.system.service;
+
+import com.stylefeng.guns.modular.system.model.SysCouponRecord;
+import com.baomidou.mybatisplus.service.IService;
+
+/**
+ * <p>
+ * 系统设置-优惠券记录 服务类
+ * </p>
+ *
+ * @author stylefeng
+ * @since 2020-06-15
+ */
+public interface ISysCouponRecordService extends IService<SysCouponRecord> {
+
+}
diff --git a/UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITActivityGeneralizationService.java b/UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITActivityGeneralizationService.java
new file mode 100644
index 0000000..9b99fa2
--- /dev/null
+++ b/UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITActivityGeneralizationService.java
@@ -0,0 +1,17 @@
+package com.stylefeng.guns.modular.system.service;
+
+import com.baomidou.mybatisplus.service.IService;
+import com.stylefeng.guns.modular.system.model.TActivityGeneralization;
+
+
+/**
+ * <p>
+ * 推广活动 服务类
+ * </p>
+ *
+ * @author 吕雪
+ * @since 2020-06-09
+ */
+public interface ITActivityGeneralizationService extends IService<TActivityGeneralization> {
+
+}
diff --git a/UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/SysCouponRecordServiceImpl.java b/UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/SysCouponRecordServiceImpl.java
new file mode 100644
index 0000000..03599d8
--- /dev/null
+++ b/UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/SysCouponRecordServiceImpl.java
@@ -0,0 +1,20 @@
+package com.stylefeng.guns.modular.system.service.impl;
+
+import com.stylefeng.guns.modular.system.model.SysCouponRecord;
+import com.stylefeng.guns.modular.system.dao.SysCouponRecordMapper;
+import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.stylefeng.guns.modular.system.service.ISysCouponRecordService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 系统设置-优惠券记录 服务实现类
+ * </p>
+ *
+ * @author stylefeng
+ * @since 2020-06-15
+ */
+@Service
+public class SysCouponRecordServiceImpl extends ServiceImpl<SysCouponRecordMapper, SysCouponRecord> implements ISysCouponRecordService {
+
+}
diff --git a/UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TActivityGeneralizationServiceImpl.java b/UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TActivityGeneralizationServiceImpl.java
new file mode 100644
index 0000000..12364f6
--- /dev/null
+++ b/UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TActivityGeneralizationServiceImpl.java
@@ -0,0 +1,23 @@
+package com.stylefeng.guns.modular.system.service.impl;
+
+import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.stylefeng.guns.modular.system.dao.TActivityGeneralizationMapper;
+
+import com.stylefeng.guns.modular.system.model.TActivityGeneralization;
+
+import com.stylefeng.guns.modular.system.service.ITActivityGeneralizationService;
+
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 推广活动 服务实现类
+ * </p>
+ *
+ * @author 吕雪
+ * @since 2020-06-09
+ */
+@Service
+public class TActivityGeneralizationServiceImpl extends ServiceImpl<TActivityGeneralizationMapper, TActivityGeneralization> implements ITActivityGeneralizationService {
+
+}
diff --git a/UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java b/UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java
index bf0560d..448ce5a 100644
--- a/UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java
+++ b/UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java
@@ -232,6 +232,9 @@
             }
             this.insert(userInfo);
 
+            addnewCoupoun(phone,userInfo);
+
+
             this.addCoupon(userInfo);//添加优惠券
 
             UserInfo finalUserInfo = userInfo;
@@ -264,6 +267,46 @@
         smsrecordService.saveData(1, phone, code, "短信验证码【" + code + "】已发到您的手机,验证码将在5分钟后失效,请及时登录!");
         return ResultUtil.success(loginWarpper);
     }
+
+    @Autowired
+    private ITActivityGeneralizationService activityGeneralizationService;
+
+
+
+    @Autowired
+    private ISysCouponRecordService sysCouponRecordService;
+    public void addnewCoupoun(String phone,UserInfo userInfo){
+        Integer acId = Integer.valueOf(redisUtil.getValue("counpon:" + phone));
+        TActivityGeneralization tActivityGeneralization = activityGeneralizationService.selectById(acId);
+        SysCouponRecord sysCouponRecord = sysCouponRecordService.selectById(tActivityGeneralization.getCouponId());
+        Date date = new Date();
+        UserCouponRecord userCouponRecord = new UserCouponRecord();
+        userCouponRecord.setActivityType(5);
+        userCouponRecord.setCouponActivityId(acId);
+        userCouponRecord.setCouponId(tActivityGeneralization.getCouponId());
+        userCouponRecord.setState(1);
+        Calendar calendar = Calendar.getInstance();
+        calendar.setTime(date);
+        calendar.set(Calendar.DAY_OF_MONTH, calendar.get(Calendar.DAY_OF_MONTH) + sysCouponRecord.getEffective());
+        userCouponRecord.setExpirationTime(calendar.getTime());
+        userCouponRecord.setCouponType(Integer.valueOf(String.valueOf(sysCouponRecord.getCouponType())));
+        userCouponRecord.setCouponUseType(sysCouponRecord.getCouponUseType());
+        userCouponRecord.setInsertTime(date);
+        userCouponRecord.setFullMoney(Double.valueOf(String.valueOf(sysCouponRecord.getFullMoney())));
+        userCouponRecord.setMoney(Double.valueOf(String.valueOf(sysCouponRecord.getMoney())));
+        userCouponRecord.setCompanyId(userInfo.getCompanyId());
+        userCouponRecord.setUserId(userInfo.getId());
+
+        Integer userGrantCount = tActivityGeneralization.getUserGrantCount();
+//            userCouponRecordService.insert(userCouponRecord);
+        if (userGrantCount != null && userGrantCount > 0) {
+            for (int i = 0; i < userGrantCount; i++) {// ...
+                userCouponRecordService.insert(userCouponRecord);
+            }
+        }
+
+    }
+
     /**
      * 手机验证码登录
      * @param accessToken
diff --git a/UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/ALiSendSms.java b/UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/ALiSendSms.java
index 6b3f626..58202d0 100644
--- a/UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/ALiSendSms.java
+++ b/UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/ALiSendSms.java
@@ -21,8 +21,8 @@
     // 设置鉴权参数,初始化客户端
     private DefaultProfile profile = DefaultProfile.getProfile(
             "cn-hangzhou",// 地域ID
-            "LTAIFS7hF89c6zw9",// 您的AccessKey ID
-            "CRGQq3oo5IcKxdUOOki60lOvo0fCHs");// 您的AccessKey Secret
+            "LTAI5tR4whv88Y5CUucCJEu6",// 您的AccessKey ID
+            "2fObO6LE6U2OzrUfXw9YBlQWHohFvg");// 您的AccessKey Secret
     private IAcsClient client = new DefaultAcsClient(profile);
 
     private static void log_print(String functionName, Object result) {
@@ -70,7 +70,7 @@
         // 接收短信的手机号码
         request.putQueryParameter("PhoneNumbers", phone);
         // 短信签名名称。请在控制台签名管理页面签名名称一列查看(必须是已添加、并通过审核的短信签名)。
-        request.putQueryParameter("SignName", "吉隆达");
+        request.putQueryParameter("SignName", "未来出行");
         // 短信模板ID
         request.putQueryParameter("TemplateCode", templateCode);
         // 短信模板变量对应的实际值,JSON格式。
@@ -110,7 +110,7 @@
             // 创建短信模板
 //            String templateCode = sendSmsDemo.addSmsTemplate();
             // 使用刚创建的短信模板发送短信
-            String sData = sendSmsDemo.sendSms("19522115070", "SMS_58880127", "{\"code\":\"8888\",\"product\":\"111\" }");
+            String sData = sendSmsDemo.sendSms("19522115070", "SMS_467580138", "{\"code\":\"8888\"}");
             Gson gson = new Gson();
             Map map = gson.fromJson(sData, Map.class);
             String bizId = map.get("BizId").toString();
diff --git a/UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GDFalconUtil.java b/UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GDFalconUtil.java
index 75ff775..ce71738 100644
--- a/UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GDFalconUtil.java
+++ b/UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GDFalconUtil.java
@@ -21,7 +21,7 @@
 @Component
 public class GDFalconUtil implements ApplicationRunner {
 
-    private String key = "ca723c3c8a78962a7751129ae035dc9d";
+    private String key = "8fc6a7da12d64696e9727605d81f72de";
 
     @Autowired
     private RestTemplate restTemplate;
diff --git a/UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GDMapElectricFenceUtil.java b/UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GDMapElectricFenceUtil.java
index 029ec5e..956bae7 100644
--- a/UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GDMapElectricFenceUtil.java
+++ b/UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GDMapElectricFenceUtil.java
@@ -33,7 +33,7 @@
     @Autowired
     private IGDInterfaceService gdInterfaceService;
 
-    private String key = "ca723c3c8a78962a7751129ae035dc9d";
+    private String key = "8fc6a7da12d64696e9727605d81f72de";
 
     private JSONArray jsonArray = new JSONArray();
 
diff --git a/UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GDMapGeocodingUtil.java b/UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GDMapGeocodingUtil.java
index 62bd4fb..b8e0cbb 100644
--- a/UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GDMapGeocodingUtil.java
+++ b/UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GDMapGeocodingUtil.java
@@ -20,7 +20,7 @@
 @Component
 public class GDMapGeocodingUtil {
 
-    private String key = "ca723c3c8a78962a7751129ae035dc9d";
+    private String key = "8fc6a7da12d64696e9727605d81f72de";
 
     @Autowired
     private RestTemplate restTemplate;

--
Gitblit v1.7.1