From c8b503726415980e5fa9a5ffc0e4e751eb7466e9 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期五, 01 八月 2025 11:45:53 +0800
Subject: [PATCH] 新增加三方业务流程代码

---
 UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/UserUtil.java                    |    4 
 UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/TaskUtil.java                                |  231 ++-
 UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/QianYunTongProperties.java       |    1 
 UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java              |  186 ++
 UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/Driver.java                                 |   41 
 UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/IOrderPrivateCarService.java         |    2 
 UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java |  177 ++
 UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/model/OrderPrivateCar.java                  | 2631 ++++++++++++++++++++++---------------------
 UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/IOrderTaxiService.java                      |    2 
 UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/Company.java                                |   15 
 UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/model/OrderTaxi.java                                |   77 +
 UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/OrderUtil.java                   |  120 +
 UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java                                 |   44 
 13 files changed, 2,074 insertions(+), 1,457 deletions(-)

diff --git a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java
index 7878a7d..34f5fbd 100644
--- a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java
+++ b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java
@@ -18,6 +18,8 @@
 import com.stylefeng.guns.modular.system.model.vo.UnPayOrderVO;
 import com.stylefeng.guns.modular.system.service.*;
 import com.stylefeng.guns.modular.system.util.*;
+import com.stylefeng.guns.modular.system.util.qianyuntong.OrderUtil;
+import com.stylefeng.guns.modular.system.util.qianyuntong.model.ModifyTravelItineraryRequest;
 import com.stylefeng.guns.modular.system.util.qianyuntong.model.QYTPaymentCallback;
 import com.stylefeng.guns.modular.system.warpper.*;
 import com.stylefeng.guns.modular.taxi.model.OrderTaxi;
@@ -1370,9 +1372,11 @@
 			@ApiImplicitParam(value = "优惠数据id", name = "objectId", required = false, dataType = "int"),
 			@ApiImplicitParam(value = "数据类型(1=优惠券,2=打车卡)", name = "objectType", required = false, dataType = "int"),
 			@ApiImplicitParam(value = "支付端(1=用户APP端,2=司机APP端,3=用户小程序端)", name = "type", required = true, dataType = "int"),
+			@ApiImplicitParam(value = "小程序支付成功跳转路径", name = "path", required = true, dataType = "String"),
+			@ApiImplicitParam(value = "设备当前IP地址", name = "ip", required = true, dataType = "String"),
 			@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
 	})
-	public ResultUtil payTaxiOrder1(Integer payType, Integer orderId, Integer orderType, Integer objectId, Integer objectType, Integer type, HttpServletRequest request) {
+	public ResultUtil payTaxiOrder1(Integer payType, Integer orderId, Integer orderType, Integer objectId, Integer objectType, Integer type, String path, String ip, HttpServletRequest request) {
 		System.out.println(objectType);
 		System.out.println(objectId);
 		try {
@@ -1382,9 +1386,9 @@
 			}
 			switch (orderType) {
 				case 1:
-					return orderPrivateCarService.payPrivateCarOrder1(payType, orderId, objectId, objectType, type);
+					return orderPrivateCarService.payPrivateCarOrder1(payType, orderId, objectId, objectType, type, path, ip);
 				case 2:
-					return orderTaxiService.payTaxiOrder1(payType, orderId, objectId, objectType, type);
+					return orderTaxiService.payTaxiOrder1(payType, orderId, objectId, objectType, type, path, ip);
 				case 3:
 					return orderCrossCityService.payCrossCityOrder1(payType, orderId, objectId, objectType, type);
 				case 4:
@@ -1427,6 +1431,23 @@
 						OrderPrivateCar orderPrivateCar = orderPrivateCarService.selectById(orderId);
 						orderPrivateCar.setState(9);
 						orderPrivateCarService.updateById(orderPrivateCar);
+						Driver driver1 = null;
+						Company company = null;
+						//中台修改订单状态
+						ModifyTravelItineraryRequest request = new ModifyTravelItineraryRequest();
+						request.setOrderId(orderPrivateCar.getTravelId());
+						request.setStatus(orderPrivateCar.getState());
+						if (null != orderPrivateCar.getDriverId()) {
+							driver1 = driverService.selectById(orderPrivateCar.getDriverId());
+							company = companyService.selectById(driver1.getCompanyId());
+							request.setDriverId(driver1.getEmpId().toString());
+							request.setSupplierShopId(company.getEnterCode());
+						}
+						if (2 == orderPrivateCar.getPromotion()) {
+							Driver driver2 = driverService.selectById(orderPrivateCar.getPromotionDriverId());
+							request.setPromoterId(driver2.getEmpId().toString());
+						}
+						OrderUtil.modifyTravelItinerary(request);
 						new Thread(new Runnable() {
 							@Override
 							public void run() {
@@ -1441,6 +1462,23 @@
 						OrderTaxi orderTaxi = orderTaxiService.selectById(orderId);
 						orderTaxi.setState(9);
 						orderTaxiService.updateById(orderTaxi);
+						Driver driver = null;
+						Company company1 = null;
+						//中台修改订单状态
+						ModifyTravelItineraryRequest request2 = new ModifyTravelItineraryRequest();
+						request2.setOrderId(orderTaxi.getTravelId());
+						request2.setStatus(orderTaxi.getState());
+						if (null != orderTaxi.getDriverId()) {
+							driver = driverService.selectById(orderTaxi.getDriverId());
+							company1 = companyService.selectById(driver.getCompanyId());
+							request2.setDriverId(driver.getEmpId().toString());
+							request2.setSupplierShopId(company1.getEnterCode());
+						}
+						if (2 == orderTaxi.getPromotion()) {
+							Driver driver2 = driverService.selectById(orderTaxi.getPromotionDriverId());
+							request2.setPromoterId(driver2.getEmpId().toString());
+						}
+						OrderUtil.modifyTravelItinerary(request2);
 						break;
 					case 3:
 						OrderCrossCity orderCrossCity = orderCrossCityService.selectById(orderId);
diff --git a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/model/OrderPrivateCar.java b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/model/OrderPrivateCar.java
index f6aa91c..53e9b55 100644
--- a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/model/OrderPrivateCar.java
+++ b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/model/OrderPrivateCar.java
@@ -13,1300 +13,1339 @@
  */
 @TableName("t_order_private_car")
 public class OrderPrivateCar {
-    /**
-     * 主键
-     */
-    @TableId(value = "id", type = IdType.AUTO)
-    @TableField("id")
-    private Integer id;
-    /**
-     * 订单类型(1=普通订单,2=摆渡订单)
-     */
-    @TableField("type")
-    private Integer type;
-    /**
-     * 跨城订单id(摆渡车专用)
-     */
-    @TableField("crossCityOrderId")
-    private Integer crossCityOrderId;
-    /**
-     * 摆渡方位(1=跨城起点,2=跨城终点)
-     */
-    @TableField("place")
-    private Integer place;
-    /**
-     * 用户id
-     */
-    @TableField("userId")
-    private Integer userId;
-    /**
-     * 服务车型
-     */
-    @TableField("serverCarModel")
-    private String serverCarModel;
-    /**
-     * 服务车型id
-     */
-    @TableField("serverCarModelId")
-    private Integer serverCarModelId;
-    /**
-     * 司机id
-     */
-    @TableField("driverId")
-    private Integer driverId;
-    /**
-     * 车辆id
-     */
-    @TableField("carId")
-    private Integer carId;
-    /**
-     * 订单号
-     */
-    @TableField("orderNum")
-    private String orderNum;
-    /**
-     * 下单地点经度
-     */
-    @TableField("placementLon")
-    private Double placementLon;
-    /**
-     * 下单地点纬度
-     */
-    @TableField("placementLat")
-    private Double placementLat;
-    /**
-     * 下单地点
-     */
-    @TableField("placementAddress")
-    private String placementAddress;
-    /**
-     * 起点经度
-     */
-    @TableField("startLon")
-    private Double startLon;
-    /**
-     * 起点纬度
-     */
-    @TableField("startLat")
-    private Double startLat;
-    /**
-     * 起点
-     */
-    @TableField("startAddress")
-    private String startAddress;
-    /**
-     * 目的地经度
-     */
-    @TableField("endLon")
-    private Double endLon;
-    /**
-     * 目的地纬度
-     */
-    @TableField("endLat")
-    private Double endLat;
-    /**
-     * 目的地
-     */
-    @TableField("endAddress")
-    private String endAddress;
-    /**
-     * 上车点经度
-     */
-    @TableField("boardingLon")
-    private Double boardingLon;
-    /**
-     * 上车点纬度
-     */
-    @TableField("boardingLat")
-    private Double boardingLat;
-    /**
-     * 上车地点
-     */
-    @TableField("boardingAddress")
-    private String boardingAddress;
-    /**
-     * 上车时间
-     */
-    @TableField("boardingTime")
-    private Date boardingTime;
-    /**
-     * 下车点经度
-     */
-    @TableField("getoffLon")
-    private Double getoffLon;
-    /**
-     * 下车点纬度
-     */
-    @TableField("getoffLat")
-    private Double getoffLat;
-    /**
-     * 下车点
-     */
-    @TableField("getoffAddress")
-    private String getoffAddress;
-    /**
-     * 下车时间
-     */
-    @TableField("getoffTime")
-    private Date getoffTime;
-    /**
-     * 行驶里程数(米)
-     */
-    @TableField("mileage")
-    private Double mileage;
-    /**
-     * 支付方式(1=OK平台支付,2=其他方式支付)
-     */
-    @TableField("payManner")
-    private Integer payManner;
-    /**
-     * 支付方式(1=微信,2=支付宝,3=余额)
-     */
-    @TableField("payType")
-    private Integer payType;
-    /**
-     * 订单金额
-     */
-    @TableField("orderMoney")
-    private Double orderMoney;
-    /**
-     * 起步里程
-     */
-    @TableField("startMileage")
-    private Double startMileage;
-    /**
-     * 起步价
-     */
-    @TableField("startMoney")
-    private Double startMoney;
-    /**
-     * 里程公里
-     */
-    @TableField("mileageKilometers")
-    private Double mileageKilometers;
-    /**
-     * 里程费
-     */
-    @TableField("mileageMoney")
-    private Double mileageMoney;
-    /**
-     * 时长分钟
-     */
-    @TableField("duration")
-    private Double duration;
-    /**
-     * 时长费
-     */
-    @TableField("durationMoney")
-    private Double durationMoney;
-    /**
-     * 等待分钟
-     */
-    @TableField("wait")
-    private Double wait;
-    /**
-     * 等待费
-     */
-    @TableField("waitMoney")
-    private Double waitMoney;
-    /**
-     * 远途公里
-     */
-    @TableField("longDistance")
-    private Double longDistance;
-    /**
-     * 远途费
-     */
-    @TableField("longDistanceMoney")
-    private Double longDistanceMoney;
-    /**
-     * 停车费
-     */
-    @TableField("parkMoney")
-    private Double parkMoney;
-    /**
-     * 过路费
-     */
-    @TableField("roadTollMoney")
-    private Double roadTollMoney;
-    //节假费
-    @TableField("holidayFee")
-    private Double holidayFee;
-    /**
-     * 红包抵扣金额
-     */
-    @TableField("redPacketMoney")
-    private Double redPacketMoney;
-    /**
-     * 优惠券抵扣金额
-     */
-    @TableField("couponMoney")
-    private Double couponMoney;
-    /**
-     * 红包id
-     */
-    @TableField("redPacketId")
-    private Integer redPacketId;
-    /**
-     * 优惠券id
-     */
-    @TableField("couponId")
-    private Integer couponId;
-    /**
-     * 折扣
-     */
-    @TableField("discount")
-    private Double discount;
-    /**
-     * 折扣优惠金额
-     */
-    @TableField("discountMoney")
-    private Double discountMoney;
-    /**
-     * 折扣活动id
-     */
-    @TableField("activityId")
-    private Integer activityId;
-    /**
-     * 打折卡id
-     */
-    @TableField("taxiCardId")
-    private Integer taxiCardId;
-    /**
-     * 打车卡记录id
-     */
-    @TableField("userTaxiCardId")
-    private Integer userTaxiCardId;
-    /**
-     * 优惠金额
-     */
-    @TableField("discountAmount")
-    private Double discountAmount;
-    /**
-     * 公司id
-     */
-    @TableField("companyId")
-    private Integer companyId;
-    /**
-     * 支付金额
-     */
-    @TableField("payMoney")
-    private Double payMoney;
-    //感谢费
-    @TableField("thankYouFee")
-    private Double thankYouFee;
-    /**
-     * 是否是代下单(0:否,1:是)
-     */
-    @TableField("substitute")
-    private Integer substitute;
-    /**
-     * 乘车人姓名
-     */
-    @TableField("passengers")
-    private String passengers;
-    /**
-     * 乘车人电话
-     */
-    @TableField("passengersPhone")
-    private String passengersPhone;
-    /**
-     * 订单状态(1=待接单,2=待出发,3=待到达预约地点,4=待乘客上车,5=服务中,6=完成服务,7=待支付,8=待评价,9=已完成,10=已取消,11=改派中,12=取消待支付)
-     */
-    @TableField("state")
-    private Integer state;
-    /**
-     * 下单时间
-     */
-    @TableField("insertTime")
-    private Date insertTime;
-    /**
-     * 出行时间
-     */
-    @TableField("travelTime")
-    private Date travelTime;
-    /**
-     * 抢单时间
-     */
-    @TableField("snatchOrderTime")
-    private Date snatchOrderTime;
-    /**
-     * 司机点出发时间
-     */
-    @TableField("setOutTime")
-    private Date setOutTime;
-    /**
-     * 司机到达预约地点时间
-     */
-    @TableField("arriveTime")
-    private Date arriveTime;
-    /**
-     * 开始服务时间
-     */
-    @TableField("startServiceTime")
-    private Date startServiceTime;
-    /**
-     * 结束服务时间
-     */
-    @TableField("endServiceTime")
-    private Date endServiceTime;
-    /**
-     * 订单类型(1=普通,2=预约)
-     */
-    @TableField("orderType")
-    private Integer orderType;
-    /**
-     * 订单来源(1:APP下单,2:扫码下单,3:小程序下单,4:司机下单,5:调度下单)
-     */
-    @TableField("orderSource")
-    private Integer orderSource;
-    /**
-     * 发票id
-     */
-    @TableField("invoiceId")
-    private Integer invoiceId;
-    /**
-     * 是否是改派单(1=否,=是)
-     * @return
-     */
-    @TableField("isReassign")
-    private Integer isReassign;
-    /**
-     * 改派通知标识(0=没有改派,1=改派中,2=已改派)用于通知前端获取新司机数据
-     */
-    @TableField("reassignNotice")
-    private Integer reassignNotice;
-    /**
-     * 高德猎鹰轨迹id
-     * @return
-     */
-    @TableField("trackId")
-    private String trackId;
-    /**
-     * 是否删除(1=否,2=是)
-     */
-    @TableField("isDelete")
-    private Integer isDelete;
-    /**
-     * 该派前的订单状态
-     * @return
-     */
-    @TableField("oldState")
-    private Integer oldState;
-    /**
-     * 移动小号
-     * @return
-     */
-    @TableField("telX")
-    private String telX;
-    /**
-     * 绑定小号关系id
-     * @return
-     */
-    @TableField("bindId")
-    private String bindId;
-    /**
-     * 乘车人数
-     */
-    @TableField("peopleNum")
-    private Integer peopleNum;
-    /**
-     * 乘车类型(1=独享,2=一口价,3=拼车)
-     */
-    @TableField("rideType")
-    private Integer rideType;
-
-    @TableField("pid")
-    private Integer pid;
-
-    /**
-     * 是否异常订单 1否 2是
-     */
-    @TableField("abnormal")
-    private Integer abnormal;
-
-
-
-    /**
-     * 推广订单 1否 2是
-     */
-    @TableField("promotion")
-    private Integer promotion;
-
-
-    private String promotionUser;
-
-    private String promotionPhone;
-
-
-    /**
-     * 乘客反馈情况
-     */
-    @TableField("abnormalIntro")
-    private String abnormalIntro;
-
-    /**
-     * 乘客反馈图片
-     */
-    @TableField("abnormalImg")
-    private String abnormalImg;
-
-
-    private Integer promotionDriverId;
-
-    private BigDecimal promotionMoney;
-
-
-
-    private Integer totalPeopleNum;
-    /**
-     * 预估里程(米)
-     */
-    private Double estimateMileage;
-
-    private Double estimateTime;
-
-    private Integer spellSuccess;
-
-    private String splitAllocation;
-
-    private Integer responsibilityType;
-
-    public String getPromotionUser() {
-        return promotionUser;
-    }
-
-    public void setPromotionUser(String promotionUser) {
-        this.promotionUser = promotionUser;
-    }
-
-    public String getPromotionPhone() {
-        return promotionPhone;
-    }
-
-    public void setPromotionPhone(String promotionPhone) {
-        this.promotionPhone = promotionPhone;
-    }
-
-    public Integer getResponsibilityType() {
-        return responsibilityType;
-    }
-
-    public void setResponsibilityType(Integer responsibilityType) {
-        this.responsibilityType = responsibilityType;
-    }
-
-    public Integer getPromotion() {
-        return promotion;
-    }
-
-    public void setPromotion(Integer promotion) {
-        this.promotion = promotion;
-    }
-
-    public Integer getPromotionDriverId() {
-        return promotionDriverId;
-    }
-
-    public void setPromotionDriverId(Integer promotionDriverId) {
-        this.promotionDriverId = promotionDriverId;
-    }
-
-    public BigDecimal getPromotionMoney() {
-        return promotionMoney;
-    }
-
-    public void setPromotionMoney(BigDecimal promotionMoney) {
-        this.promotionMoney = promotionMoney;
-    }
-
-    public Integer getAbnormal() {
-        return abnormal;
-    }
-
-    public void setAbnormal(Integer abnormal) {
-        this.abnormal = abnormal;
-    }
-
-    public String getAbnormalIntro() {
-        return abnormalIntro;
-    }
-
-    public void setAbnormalIntro(String abnormalIntro) {
-        this.abnormalIntro = abnormalIntro;
-    }
-
-    public String getAbnormalImg() {
-        return abnormalImg;
-    }
-
-    public void setAbnormalImg(String abnormalImg) {
-        this.abnormalImg = abnormalImg;
-    }
-
-    public Integer getSpellSuccess() {
-        return spellSuccess;
-    }
-
-    public void setSpellSuccess(Integer spellSuccess) {
-        this.spellSuccess = spellSuccess;
-    }
-
-    public Double getEstimateTime() {
-        return estimateTime;
-    }
-
-    public void setEstimateTime(Double estimateTime) {
-        this.estimateTime = estimateTime;
-    }
-
-    public Double getEstimateMileage() {
-        return estimateMileage;
-    }
-
-    public void setEstimateMileage(Double estimateMileage) {
-        this.estimateMileage = estimateMileage;
-    }
-
-    public Integer getTotalPeopleNum() {
-        return totalPeopleNum;
-    }
-
-    public void setTotalPeopleNum(Integer totalPeopleNum) {
-        this.totalPeopleNum = totalPeopleNum;
-    }
-
-    public Integer getPid() {
-        return pid;
-    }
-
-    public void setPid(Integer pid) {
-        this.pid = pid;
-    }
-
-    public Integer getPeopleNum() {
-        return peopleNum;
-    }
-
-    public void setPeopleNum(Integer peopleNum) {
-        this.peopleNum = peopleNum;
-    }
-
-    public Integer getRideType() {
-        return rideType;
-    }
-
-    public void setRideType(Integer rideType) {
-        this.rideType = rideType;
-    }
-
-    public Integer getId() {
-        return id;
-    }
-
-    public void setId(Integer id) {
-        this.id = id;
-    }
-
-    public Integer getType() {
-        return type;
-    }
-
-    public void setType(Integer type) {
-        this.type = type;
-    }
-
-    public Integer getCrossCityOrderId() {
-        return crossCityOrderId;
-    }
-
-    public void setCrossCityOrderId(Integer crossCityOrderId) {
-        this.crossCityOrderId = crossCityOrderId;
-    }
-
-    public Integer getPlace() {
-        return place;
-    }
-
-    public void setPlace(Integer place) {
-        this.place = place;
-    }
-
-    public Integer getUserId() {
-        return userId;
-    }
-
-    public void setUserId(Integer userId) {
-        this.userId = userId;
-    }
-
-    public String getServerCarModel() {
-        return serverCarModel;
-    }
-
-    public void setServerCarModel(String serverCarModel) {
-        this.serverCarModel = serverCarModel;
-    }
-
-    public Integer getServerCarModelId() {
-        return serverCarModelId;
-    }
-
-    public void setServerCarModelId(Integer serverCarModelId) {
-        this.serverCarModelId = serverCarModelId;
-    }
-
-    public Integer getDriverId() {
-        return driverId;
-    }
-
-    public void setDriverId(Integer driverId) {
-        this.driverId = driverId;
-    }
-
-    public Integer getCarId() {
-        return carId;
-    }
-
-    public void setCarId(Integer carId) {
-        this.carId = carId;
-    }
-
-    public String getOrderNum() {
-        return orderNum;
-    }
-
-    public void setOrderNum(String orderNum) {
-        this.orderNum = orderNum;
-    }
-
-    public Double getPlacementLon() {
-        return placementLon;
-    }
-
-    public void setPlacementLon(Double placementLon) {
-        this.placementLon = placementLon;
-    }
-
-    public Double getPlacementLat() {
-        return placementLat;
-    }
-
-    public void setPlacementLat(Double placementLat) {
-        this.placementLat = placementLat;
-    }
-
-    public String getPlacementAddress() {
-        return placementAddress;
-    }
-
-    public void setPlacementAddress(String placementAddress) {
-        this.placementAddress = placementAddress;
-    }
-
-    public Double getStartLon() {
-        return startLon;
-    }
-
-    public void setStartLon(Double startLon) {
-        this.startLon = startLon;
-    }
-
-    public Double getStartLat() {
-        return startLat;
-    }
-
-    public void setStartLat(Double startLat) {
-        this.startLat = startLat;
-    }
-
-    public String getStartAddress() {
-        return startAddress;
-    }
-
-    public void setStartAddress(String startAddress) {
-        this.startAddress = startAddress;
-    }
-
-    public Double getEndLon() {
-        return endLon;
-    }
-
-    public void setEndLon(Double endLon) {
-        this.endLon = endLon;
-    }
-
-    public Double getEndLat() {
-        return endLat;
-    }
-
-    public void setEndLat(Double endLat) {
-        this.endLat = endLat;
-    }
-
-    public String getEndAddress() {
-        return endAddress;
-    }
-
-    public void setEndAddress(String endAddress) {
-        this.endAddress = endAddress;
-    }
-
-    public Double getBoardingLon() {
-        return boardingLon;
-    }
-
-    public void setBoardingLon(Double boardingLon) {
-        this.boardingLon = boardingLon;
-    }
-
-    public Double getBoardingLat() {
-        return boardingLat;
-    }
-
-    public void setBoardingLat(Double boardingLat) {
-        this.boardingLat = boardingLat;
-    }
-
-    public String getBoardingAddress() {
-        return boardingAddress;
-    }
-
-    public void setBoardingAddress(String boardingAddress) {
-        this.boardingAddress = boardingAddress;
-    }
-
-    public Date getBoardingTime() {
-        return boardingTime;
-    }
-
-    public void setBoardingTime(Date boardingTime) {
-        this.boardingTime = boardingTime;
-    }
-
-    public Double getGetoffLon() {
-        return getoffLon;
-    }
-
-    public void setGetoffLon(Double getoffLon) {
-        this.getoffLon = getoffLon;
-    }
-
-    public Double getGetoffLat() {
-        return getoffLat;
-    }
-
-    public void setGetoffLat(Double getoffLat) {
-        this.getoffLat = getoffLat;
-    }
-
-    public String getGetoffAddress() {
-        return getoffAddress;
-    }
-
-    public void setGetoffAddress(String getoffAddress) {
-        this.getoffAddress = getoffAddress;
-    }
-
-    public Date getGetoffTime() {
-        return getoffTime;
-    }
-
-    public void setGetoffTime(Date getoffTime) {
-        this.getoffTime = getoffTime;
-    }
-
-    public Double getMileage() {
-        return mileage;
-    }
-
-    public void setMileage(Double mileage) {
-        this.mileage = mileage;
-    }
-
-    public Integer getPayManner() {
-        return payManner;
-    }
-
-    public void setPayManner(Integer payManner) {
-        this.payManner = payManner;
-    }
-
-    public Integer getPayType() {
-        return payType;
-    }
-
-    public void setPayType(Integer payType) {
-        this.payType = payType;
-    }
-
-    public Double getOrderMoney() {
-        return orderMoney;
-    }
-
-    public void setOrderMoney(Double orderMoney) {
-        this.orderMoney = orderMoney;
-    }
-
-    public Double getStartMileage() {
-        return startMileage;
-    }
-
-    public void setStartMileage(Double startMileage) {
-        this.startMileage = startMileage;
-    }
-
-    public Double getStartMoney() {
-        return startMoney;
-    }
-
-    public void setStartMoney(Double startMoney) {
-        this.startMoney = startMoney;
-    }
-
-    public Double getMileageKilometers() {
-        return mileageKilometers;
-    }
-
-    public void setMileageKilometers(Double mileageKilometers) {
-        this.mileageKilometers = mileageKilometers;
-    }
-
-    public Double getMileageMoney() {
-        return mileageMoney;
-    }
-
-    public void setMileageMoney(Double mileageMoney) {
-        this.mileageMoney = mileageMoney;
-    }
-
-    public Double getDuration() {
-        return duration;
-    }
-
-    public void setDuration(Double duration) {
-        this.duration = duration;
-    }
-
-    public Double getDurationMoney() {
-        return durationMoney;
-    }
-
-    public void setDurationMoney(Double durationMoney) {
-        this.durationMoney = durationMoney;
-    }
-
-    public Double getWait() {
-        return wait;
-    }
-
-    public void setWait(Double wait) {
-        this.wait = wait;
-    }
-
-    public Double getWaitMoney() {
-        return waitMoney;
-    }
-
-    public void setWaitMoney(Double waitMoney) {
-        this.waitMoney = waitMoney;
-    }
-
-    public Double getLongDistance() {
-        return longDistance;
-    }
-
-    public void setLongDistance(Double longDistance) {
-        this.longDistance = longDistance;
-    }
-
-    public Double getLongDistanceMoney() {
-        return longDistanceMoney;
-    }
-
-    public void setLongDistanceMoney(Double longDistanceMoney) {
-        this.longDistanceMoney = longDistanceMoney;
-    }
-
-    public Double getParkMoney() {
-        return parkMoney;
-    }
-
-    public void setParkMoney(Double parkMoney) {
-        this.parkMoney = parkMoney;
-    }
-
-    public Double getRoadTollMoney() {
-        return roadTollMoney;
-    }
-
-    public void setRoadTollMoney(Double roadTollMoney) {
-        this.roadTollMoney = roadTollMoney;
-    }
-
-    public Double getHolidayFee() {
-        return holidayFee;
-    }
-
-    public void setHolidayFee(Double holidayFee) {
-        this.holidayFee = holidayFee;
-    }
-
-    public Double getRedPacketMoney() {
-        return redPacketMoney;
-    }
-
-    public void setRedPacketMoney(Double redPacketMoney) {
-        this.redPacketMoney = redPacketMoney;
-    }
-
-    public Double getCouponMoney() {
-        return couponMoney;
-    }
-
-    public void setCouponMoney(Double couponMoney) {
-        this.couponMoney = couponMoney;
-    }
-
-    public Integer getRedPacketId() {
-        return redPacketId;
-    }
-
-    public void setRedPacketId(Integer redPacketId) {
-        this.redPacketId = redPacketId;
-    }
-
-    public Integer getCouponId() {
-        return couponId;
-    }
-
-    public void setCouponId(Integer couponId) {
-        this.couponId = couponId;
-    }
-
-    public Double getDiscount() {
-        return discount;
-    }
-
-    public void setDiscount(Double discount) {
-        this.discount = discount;
-    }
-
-    public Double getDiscountMoney() {
-        return discountMoney;
-    }
-
-    public void setDiscountMoney(Double discountMoney) {
-        this.discountMoney = discountMoney;
-    }
-
-    public Integer getActivityId() {
-        return activityId;
-    }
-
-    public void setActivityId(Integer activityId) {
-        this.activityId = activityId;
-    }
-
-    public Integer getTaxiCardId() {
-        return taxiCardId;
-    }
-
-    public void setTaxiCardId(Integer taxiCardId) {
-        this.taxiCardId = taxiCardId;
-    }
-
-    public Integer getUserTaxiCardId() {
-        return userTaxiCardId;
-    }
-
-    public void setUserTaxiCardId(Integer userTaxiCardId) {
-        this.userTaxiCardId = userTaxiCardId;
-    }
-
-    public Double getDiscountAmount() {
-        return discountAmount;
-    }
-
-    public void setDiscountAmount(Double discountAmount) {
-        this.discountAmount = discountAmount;
-    }
-
-    public Integer getCompanyId() {
-        return companyId;
-    }
-
-    public void setCompanyId(Integer companyId) {
-        this.companyId = companyId;
-    }
-
-    public Double getPayMoney() {
-        return payMoney;
-    }
-
-    public void setPayMoney(Double payMoney) {
-        this.payMoney = payMoney;
-    }
-
-    public Double getThankYouFee() {
-        return thankYouFee;
-    }
-
-    public void setThankYouFee(Double thankYouFee) {
-        this.thankYouFee = thankYouFee;
-    }
-
-    public Integer getSubstitute() {
-        return substitute;
-    }
-
-    public void setSubstitute(Integer substitute) {
-        this.substitute = substitute;
-    }
-
-    public String getPassengers() {
-        return passengers;
-    }
-
-    public void setPassengers(String passengers) {
-        this.passengers = passengers;
-    }
-
-    public String getPassengersPhone() {
-        return passengersPhone;
-    }
-
-    public void setPassengersPhone(String passengersPhone) {
-        this.passengersPhone = passengersPhone;
-    }
-
-    public Integer getState() {
-        return state;
-    }
-
-    public void setState(Integer state) {
-        this.state = state;
-    }
-
-    public Date getInsertTime() {
-        return insertTime;
-    }
-
-    public void setInsertTime(Date insertTime) {
-        this.insertTime = insertTime;
-    }
-
-    public Date getTravelTime() {
-        return travelTime;
-    }
-
-    public void setTravelTime(Date travelTime) {
-        this.travelTime = travelTime;
-    }
-
-    public Date getSnatchOrderTime() {
-        return snatchOrderTime;
-    }
-
-    public void setSnatchOrderTime(Date snatchOrderTime) {
-        this.snatchOrderTime = snatchOrderTime;
-    }
-
-    public Date getSetOutTime() {
-        return setOutTime;
-    }
-
-    public void setSetOutTime(Date setOutTime) {
-        this.setOutTime = setOutTime;
-    }
-
-    public Date getArriveTime() {
-        return arriveTime;
-    }
-
-    public void setArriveTime(Date arriveTime) {
-        this.arriveTime = arriveTime;
-    }
-
-    public Date getStartServiceTime() {
-        return startServiceTime;
-    }
-
-    public void setStartServiceTime(Date startServiceTime) {
-        this.startServiceTime = startServiceTime;
-    }
-
-    public Date getEndServiceTime() {
-        return endServiceTime;
-    }
-
-    public void setEndServiceTime(Date endServiceTime) {
-        this.endServiceTime = endServiceTime;
-    }
-
-    public Integer getOrderType() {
-        return orderType;
-    }
-
-    public void setOrderType(Integer orderType) {
-        this.orderType = orderType;
-    }
-
-    public Integer getOrderSource() {
-        return orderSource;
-    }
-
-    public void setOrderSource(Integer orderSource) {
-        this.orderSource = orderSource;
-    }
-
-    public Integer getInvoiceId() {
-        return invoiceId;
-    }
-
-    public void setInvoiceId(Integer invoiceId) {
-        this.invoiceId = invoiceId;
-    }
-
-    public Integer getIsReassign() {
-        return isReassign;
-    }
-
-    public void setIsReassign(Integer isReassign) {
-        this.isReassign = isReassign;
-    }
-
-    public Integer getReassignNotice() {
-        return reassignNotice;
-    }
-
-    public void setReassignNotice(Integer reassignNotice) {
-        this.reassignNotice = reassignNotice;
-    }
-
-    public String getTrackId() {
-        return trackId;
-    }
-
-    public void setTrackId(String trackId) {
-        this.trackId = trackId;
-    }
-
-    public Integer getIsDelete() {
-        return isDelete;
-    }
-
-    public void setIsDelete(Integer isDelete) {
-        this.isDelete = isDelete;
-    }
-
-    public Integer getOldState() {
-        return oldState;
-    }
-
-    public void setOldState(Integer oldState) {
-        this.oldState = oldState;
-    }
-
-    public String getTelX() {
-        return telX;
-    }
-
-    public void setTelX(String telX) {
-        this.telX = telX;
-    }
-
-    public String getBindId() {
-        return bindId;
-    }
-
-    public void setBindId(String bindId) {
-        this.bindId = bindId;
-    }
-
-    public String getSplitAllocation() {
-        return splitAllocation;
-    }
-
-    public void setSplitAllocation(String splitAllocation) {
-        this.splitAllocation = splitAllocation;
-    }
-
-    @Override
-    public String toString() {
-        return "OrderPrivateCar{" +
-                "id=" + id +
-                ", type=" + type +
-                ", crossCityOrderId=" + crossCityOrderId +
-                ", place=" + place +
-                ", userId=" + userId +
-                ", serverCarModelId=" + serverCarModelId +
-                ", driverId=" + driverId +
-                ", carId=" + carId +
-                ", orderNum='" + orderNum + '\'' +
-                ", placementLon=" + placementLon +
-                ", placementLat=" + placementLat +
-                ", placementAddress='" + placementAddress + '\'' +
-                ", startLon=" + startLon +
-                ", startLat=" + startLat +
-                ", startAddress='" + startAddress + '\'' +
-                ", endLon=" + endLon +
-                ", endLat=" + endLat +
-                ", endAddress='" + endAddress + '\'' +
-                ", boardingLon=" + boardingLon +
-                ", boardingLat=" + boardingLat +
-                ", boardingAddress='" + boardingAddress + '\'' +
-                ", boardingTime=" + boardingTime +
-                ", getoffLon=" + getoffLon +
-                ", getoffLat=" + getoffLat +
-                ", getoffAddress='" + getoffAddress + '\'' +
-                ", getoffTime=" + getoffTime +
-                ", mileage=" + mileage +
-                ", payManner=" + payManner +
-                ", payType=" + payType +
-                ", orderMoney=" + orderMoney +
-                ", startMileage=" + startMileage +
-                ", startMoney=" + startMoney +
-                ", mileageKilometers=" + mileageKilometers +
-                ", mileageMoney=" + mileageMoney +
-                ", duration=" + duration +
-                ", durationMoney=" + durationMoney +
-                ", wait=" + wait +
-                ", waitMoney=" + waitMoney +
-                ", longDistance=" + longDistance +
-                ", longDistanceMoney=" + longDistanceMoney +
-                ", parkMoney=" + parkMoney +
-                ", roadTollMoney=" + roadTollMoney +
-                ", redPacketMoney=" + redPacketMoney +
-                ", couponMoney=" + couponMoney +
-                ", redPacketId=" + redPacketId +
-                ", couponId=" + couponId +
-                ", discount=" + discount +
-                ", discountMoney=" + discountMoney +
-                ", activityId=" + activityId +
-                ", companyId=" + companyId +
-                ", payMoney=" + payMoney +
-                ", substitute=" + substitute +
-                ", passengers='" + passengers + '\'' +
-                ", passengersPhone='" + passengersPhone + '\'' +
-                ", state=" + state +
-                ", insertTime=" + insertTime +
-                ", travelTime=" + travelTime +
-                ", snatchOrderTime=" + snatchOrderTime +
-                ", setOutTime=" + setOutTime +
-                ", arriveTime=" + arriveTime +
-                ", startServiceTime=" + startServiceTime +
-                ", endServiceTime=" + endServiceTime +
-                ", orderType=" + orderType +
-                ", orderSource=" + orderSource +
-                ", invoiceId=" + invoiceId +
-                ", isReassign=" + isReassign +
-                ", reassignNotice=" + reassignNotice +
-                ", trackId='" + trackId + '\'' +
-                ", isDelete=" + isDelete +
-                ", oldState=" + oldState +
-                ", telX='" + telX + '\'' +
-                ", bindId='" + bindId + '\'' +
-                '}';
-    }
+	/**
+	 * 主键
+	 */
+	@TableId(value = "id", type = IdType.AUTO)
+	@TableField("id")
+	private Integer id;
+	/**
+	 * 订单类型(1=普通订单,2=摆渡订单)
+	 */
+	@TableField("type")
+	private Integer type;
+	/**
+	 * 跨城订单id(摆渡车专用)
+	 */
+	@TableField("crossCityOrderId")
+	private Integer crossCityOrderId;
+	/**
+	 * 摆渡方位(1=跨城起点,2=跨城终点)
+	 */
+	@TableField("place")
+	private Integer place;
+	/**
+	 * 用户id
+	 */
+	@TableField("userId")
+	private Integer userId;
+	/**
+	 * 服务车型
+	 */
+	@TableField("serverCarModel")
+	private String serverCarModel;
+	/**
+	 * 服务车型id
+	 */
+	@TableField("serverCarModelId")
+	private Integer serverCarModelId;
+	/**
+	 * 司机id
+	 */
+	@TableField("driverId")
+	private Integer driverId;
+	/**
+	 * 车辆id
+	 */
+	@TableField("carId")
+	private Integer carId;
+	/**
+	 * 订单号
+	 */
+	@TableField("orderNum")
+	private String orderNum;
+	/**
+	 * 下单地点经度
+	 */
+	@TableField("placementLon")
+	private Double placementLon;
+	/**
+	 * 下单地点纬度
+	 */
+	@TableField("placementLat")
+	private Double placementLat;
+	/**
+	 * 下单地点
+	 */
+	@TableField("placementAddress")
+	private String placementAddress;
+	/**
+	 * 起点经度
+	 */
+	@TableField("startLon")
+	private Double startLon;
+	/**
+	 * 起点纬度
+	 */
+	@TableField("startLat")
+	private Double startLat;
+	/**
+	 * 起点
+	 */
+	@TableField("startAddress")
+	private String startAddress;
+	/**
+	 * 目的地经度
+	 */
+	@TableField("endLon")
+	private Double endLon;
+	/**
+	 * 目的地纬度
+	 */
+	@TableField("endLat")
+	private Double endLat;
+	/**
+	 * 目的地
+	 */
+	@TableField("endAddress")
+	private String endAddress;
+	/**
+	 * 上车点经度
+	 */
+	@TableField("boardingLon")
+	private Double boardingLon;
+	/**
+	 * 上车点纬度
+	 */
+	@TableField("boardingLat")
+	private Double boardingLat;
+	/**
+	 * 上车地点
+	 */
+	@TableField("boardingAddress")
+	private String boardingAddress;
+	/**
+	 * 上车时间
+	 */
+	@TableField("boardingTime")
+	private Date boardingTime;
+	/**
+	 * 下车点经度
+	 */
+	@TableField("getoffLon")
+	private Double getoffLon;
+	/**
+	 * 下车点纬度
+	 */
+	@TableField("getoffLat")
+	private Double getoffLat;
+	/**
+	 * 下车点
+	 */
+	@TableField("getoffAddress")
+	private String getoffAddress;
+	/**
+	 * 下车时间
+	 */
+	@TableField("getoffTime")
+	private Date getoffTime;
+	/**
+	 * 行驶里程数(米)
+	 */
+	@TableField("mileage")
+	private Double mileage;
+	/**
+	 * 支付方式(1=OK平台支付,2=其他方式支付)
+	 */
+	@TableField("payManner")
+	private Integer payManner;
+	/**
+	 * 支付方式(1=微信,2=支付宝,3=余额)
+	 */
+	@TableField("payType")
+	private Integer payType;
+	/**
+	 * 订单金额
+	 */
+	@TableField("orderMoney")
+	private Double orderMoney;
+	/**
+	 * 起步里程
+	 */
+	@TableField("startMileage")
+	private Double startMileage;
+	/**
+	 * 起步价
+	 */
+	@TableField("startMoney")
+	private Double startMoney;
+	/**
+	 * 里程公里
+	 */
+	@TableField("mileageKilometers")
+	private Double mileageKilometers;
+	/**
+	 * 里程费
+	 */
+	@TableField("mileageMoney")
+	private Double mileageMoney;
+	/**
+	 * 时长分钟
+	 */
+	@TableField("duration")
+	private Double duration;
+	/**
+	 * 时长费
+	 */
+	@TableField("durationMoney")
+	private Double durationMoney;
+	/**
+	 * 等待分钟
+	 */
+	@TableField("wait")
+	private Double wait;
+	/**
+	 * 等待费
+	 */
+	@TableField("waitMoney")
+	private Double waitMoney;
+	/**
+	 * 远途公里
+	 */
+	@TableField("longDistance")
+	private Double longDistance;
+	/**
+	 * 远途费
+	 */
+	@TableField("longDistanceMoney")
+	private Double longDistanceMoney;
+	/**
+	 * 停车费
+	 */
+	@TableField("parkMoney")
+	private Double parkMoney;
+	/**
+	 * 过路费
+	 */
+	@TableField("roadTollMoney")
+	private Double roadTollMoney;
+	//节假费
+	@TableField("holidayFee")
+	private Double holidayFee;
+	/**
+	 * 红包抵扣金额
+	 */
+	@TableField("redPacketMoney")
+	private Double redPacketMoney;
+	/**
+	 * 优惠券抵扣金额
+	 */
+	@TableField("couponMoney")
+	private Double couponMoney;
+	/**
+	 * 红包id
+	 */
+	@TableField("redPacketId")
+	private Integer redPacketId;
+	/**
+	 * 优惠券id
+	 */
+	@TableField("couponId")
+	private Integer couponId;
+	/**
+	 * 折扣
+	 */
+	@TableField("discount")
+	private Double discount;
+	/**
+	 * 折扣优惠金额
+	 */
+	@TableField("discountMoney")
+	private Double discountMoney;
+	/**
+	 * 折扣活动id
+	 */
+	@TableField("activityId")
+	private Integer activityId;
+	/**
+	 * 打折卡id
+	 */
+	@TableField("taxiCardId")
+	private Integer taxiCardId;
+	/**
+	 * 打车卡记录id
+	 */
+	@TableField("userTaxiCardId")
+	private Integer userTaxiCardId;
+	/**
+	 * 优惠金额
+	 */
+	@TableField("discountAmount")
+	private Double discountAmount;
+	/**
+	 * 公司id
+	 */
+	@TableField("companyId")
+	private Integer companyId;
+	/**
+	 * 支付金额
+	 */
+	@TableField("payMoney")
+	private Double payMoney;
+	//感谢费
+	@TableField("thankYouFee")
+	private Double thankYouFee;
+	/**
+	 * 是否是代下单(0:否,1:是)
+	 */
+	@TableField("substitute")
+	private Integer substitute;
+	/**
+	 * 乘车人姓名
+	 */
+	@TableField("passengers")
+	private String passengers;
+	/**
+	 * 乘车人电话
+	 */
+	@TableField("passengersPhone")
+	private String passengersPhone;
+	/**
+	 * 订单状态(1=待接单,2=待出发,3=待到达预约地点,4=待乘客上车,5=服务中,6=完成服务,7=待支付,8=待评价,9=已完成,10=已取消,11=改派中,12=取消待支付)
+	 */
+	@TableField("state")
+	private Integer state;
+	/**
+	 * 下单时间
+	 */
+	@TableField("insertTime")
+	private Date insertTime;
+	/**
+	 * 出行时间
+	 */
+	@TableField("travelTime")
+	private Date travelTime;
+	/**
+	 * 抢单时间
+	 */
+	@TableField("snatchOrderTime")
+	private Date snatchOrderTime;
+	/**
+	 * 司机点出发时间
+	 */
+	@TableField("setOutTime")
+	private Date setOutTime;
+	/**
+	 * 司机到达预约地点时间
+	 */
+	@TableField("arriveTime")
+	private Date arriveTime;
+	/**
+	 * 开始服务时间
+	 */
+	@TableField("startServiceTime")
+	private Date startServiceTime;
+	/**
+	 * 结束服务时间
+	 */
+	@TableField("endServiceTime")
+	private Date endServiceTime;
+	/**
+	 * 订单类型(1=普通,2=预约)
+	 */
+	@TableField("orderType")
+	private Integer orderType;
+	/**
+	 * 订单来源(1:APP下单,2:扫码下单,3:小程序下单,4:司机下单,5:调度下单)
+	 */
+	@TableField("orderSource")
+	private Integer orderSource;
+	/**
+	 * 发票id
+	 */
+	@TableField("invoiceId")
+	private Integer invoiceId;
+	/**
+	 * 是否是改派单(1=否,=是)
+	 *
+	 * @return
+	 */
+	@TableField("isReassign")
+	private Integer isReassign;
+	/**
+	 * 改派通知标识(0=没有改派,1=改派中,2=已改派)用于通知前端获取新司机数据
+	 */
+	@TableField("reassignNotice")
+	private Integer reassignNotice;
+	/**
+	 * 高德猎鹰轨迹id
+	 *
+	 * @return
+	 */
+	@TableField("trackId")
+	private String trackId;
+	/**
+	 * 是否删除(1=否,2=是)
+	 */
+	@TableField("isDelete")
+	private Integer isDelete;
+	/**
+	 * 该派前的订单状态
+	 *
+	 * @return
+	 */
+	@TableField("oldState")
+	private Integer oldState;
+	/**
+	 * 移动小号
+	 *
+	 * @return
+	 */
+	@TableField("telX")
+	private String telX;
+	/**
+	 * 绑定小号关系id
+	 *
+	 * @return
+	 */
+	@TableField("bindId")
+	private String bindId;
+	/**
+	 * 乘车人数
+	 */
+	@TableField("peopleNum")
+	private Integer peopleNum;
+	/**
+	 * 乘车类型(1=独享,2=一口价,3=拼车)
+	 */
+	@TableField("rideType")
+	private Integer rideType;
+	
+	@TableField("pid")
+	private Integer pid;
+	
+	/**
+	 * 是否异常订单 1否 2是
+	 */
+	@TableField("abnormal")
+	private Integer abnormal;
+	
+	
+	/**
+	 * 推广订单 1否 2是
+	 */
+	@TableField("promotion")
+	private Integer promotion;
+	
+	
+	private String promotionUser;
+	
+	private String promotionPhone;
+	
+	
+	/**
+	 * 乘客反馈情况
+	 */
+	@TableField("abnormalIntro")
+	private String abnormalIntro;
+	
+	/**
+	 * 乘客反馈图片
+	 */
+	@TableField("abnormalImg")
+	private String abnormalImg;
+	
+	
+	private Integer promotionDriverId;
+	
+	private BigDecimal promotionMoney;
+	
+	
+	private Integer totalPeopleNum;
+	/**
+	 * 预估里程(米)
+	 */
+	private Double estimateMileage;
+	
+	private Double estimateTime;
+	
+	private Integer spellSuccess;
+	
+	private String splitAllocation;
+	
+	private Integer responsibilityType;
+	/**
+	 * 中台行程id
+	 */
+	private String travelId;
+	/**
+	 * 中台是否已创建订单(0=否,1=是)
+	 */
+	private Integer isCreated;
+	/**
+	 * 是否是追缴单(0=否,1=是)
+	 */
+	private Integer recoveryOrder;
+	
+	public String getPromotionUser() {
+		return promotionUser;
+	}
+	
+	public void setPromotionUser(String promotionUser) {
+		this.promotionUser = promotionUser;
+	}
+	
+	public String getPromotionPhone() {
+		return promotionPhone;
+	}
+	
+	public void setPromotionPhone(String promotionPhone) {
+		this.promotionPhone = promotionPhone;
+	}
+	
+	public Integer getResponsibilityType() {
+		return responsibilityType;
+	}
+	
+	public void setResponsibilityType(Integer responsibilityType) {
+		this.responsibilityType = responsibilityType;
+	}
+	
+	public Integer getPromotion() {
+		return promotion;
+	}
+	
+	public void setPromotion(Integer promotion) {
+		this.promotion = promotion;
+	}
+	
+	public Integer getPromotionDriverId() {
+		return promotionDriverId;
+	}
+	
+	public void setPromotionDriverId(Integer promotionDriverId) {
+		this.promotionDriverId = promotionDriverId;
+	}
+	
+	public BigDecimal getPromotionMoney() {
+		return promotionMoney;
+	}
+	
+	public void setPromotionMoney(BigDecimal promotionMoney) {
+		this.promotionMoney = promotionMoney;
+	}
+	
+	public Integer getAbnormal() {
+		return abnormal;
+	}
+	
+	public void setAbnormal(Integer abnormal) {
+		this.abnormal = abnormal;
+	}
+	
+	public String getAbnormalIntro() {
+		return abnormalIntro;
+	}
+	
+	public void setAbnormalIntro(String abnormalIntro) {
+		this.abnormalIntro = abnormalIntro;
+	}
+	
+	public String getAbnormalImg() {
+		return abnormalImg;
+	}
+	
+	public void setAbnormalImg(String abnormalImg) {
+		this.abnormalImg = abnormalImg;
+	}
+	
+	public Integer getSpellSuccess() {
+		return spellSuccess;
+	}
+	
+	public void setSpellSuccess(Integer spellSuccess) {
+		this.spellSuccess = spellSuccess;
+	}
+	
+	public Double getEstimateTime() {
+		return estimateTime;
+	}
+	
+	public void setEstimateTime(Double estimateTime) {
+		this.estimateTime = estimateTime;
+	}
+	
+	public Double getEstimateMileage() {
+		return estimateMileage;
+	}
+	
+	public void setEstimateMileage(Double estimateMileage) {
+		this.estimateMileage = estimateMileage;
+	}
+	
+	public Integer getTotalPeopleNum() {
+		return totalPeopleNum;
+	}
+	
+	public void setTotalPeopleNum(Integer totalPeopleNum) {
+		this.totalPeopleNum = totalPeopleNum;
+	}
+	
+	public Integer getPid() {
+		return pid;
+	}
+	
+	public void setPid(Integer pid) {
+		this.pid = pid;
+	}
+	
+	public Integer getPeopleNum() {
+		return peopleNum;
+	}
+	
+	public void setPeopleNum(Integer peopleNum) {
+		this.peopleNum = peopleNum;
+	}
+	
+	public Integer getRideType() {
+		return rideType;
+	}
+	
+	public void setRideType(Integer rideType) {
+		this.rideType = rideType;
+	}
+	
+	public Integer getId() {
+		return id;
+	}
+	
+	public void setId(Integer id) {
+		this.id = id;
+	}
+	
+	public Integer getType() {
+		return type;
+	}
+	
+	public void setType(Integer type) {
+		this.type = type;
+	}
+	
+	public Integer getCrossCityOrderId() {
+		return crossCityOrderId;
+	}
+	
+	public void setCrossCityOrderId(Integer crossCityOrderId) {
+		this.crossCityOrderId = crossCityOrderId;
+	}
+	
+	public Integer getPlace() {
+		return place;
+	}
+	
+	public void setPlace(Integer place) {
+		this.place = place;
+	}
+	
+	public Integer getUserId() {
+		return userId;
+	}
+	
+	public void setUserId(Integer userId) {
+		this.userId = userId;
+	}
+	
+	public String getServerCarModel() {
+		return serverCarModel;
+	}
+	
+	public void setServerCarModel(String serverCarModel) {
+		this.serverCarModel = serverCarModel;
+	}
+	
+	public Integer getServerCarModelId() {
+		return serverCarModelId;
+	}
+	
+	public void setServerCarModelId(Integer serverCarModelId) {
+		this.serverCarModelId = serverCarModelId;
+	}
+	
+	public Integer getDriverId() {
+		return driverId;
+	}
+	
+	public void setDriverId(Integer driverId) {
+		this.driverId = driverId;
+	}
+	
+	public Integer getCarId() {
+		return carId;
+	}
+	
+	public void setCarId(Integer carId) {
+		this.carId = carId;
+	}
+	
+	public String getOrderNum() {
+		return orderNum;
+	}
+	
+	public void setOrderNum(String orderNum) {
+		this.orderNum = orderNum;
+	}
+	
+	public Double getPlacementLon() {
+		return placementLon;
+	}
+	
+	public void setPlacementLon(Double placementLon) {
+		this.placementLon = placementLon;
+	}
+	
+	public Double getPlacementLat() {
+		return placementLat;
+	}
+	
+	public void setPlacementLat(Double placementLat) {
+		this.placementLat = placementLat;
+	}
+	
+	public String getPlacementAddress() {
+		return placementAddress;
+	}
+	
+	public void setPlacementAddress(String placementAddress) {
+		this.placementAddress = placementAddress;
+	}
+	
+	public Double getStartLon() {
+		return startLon;
+	}
+	
+	public void setStartLon(Double startLon) {
+		this.startLon = startLon;
+	}
+	
+	public Double getStartLat() {
+		return startLat;
+	}
+	
+	public void setStartLat(Double startLat) {
+		this.startLat = startLat;
+	}
+	
+	public String getStartAddress() {
+		return startAddress;
+	}
+	
+	public void setStartAddress(String startAddress) {
+		this.startAddress = startAddress;
+	}
+	
+	public Double getEndLon() {
+		return endLon;
+	}
+	
+	public void setEndLon(Double endLon) {
+		this.endLon = endLon;
+	}
+	
+	public Double getEndLat() {
+		return endLat;
+	}
+	
+	public void setEndLat(Double endLat) {
+		this.endLat = endLat;
+	}
+	
+	public String getEndAddress() {
+		return endAddress;
+	}
+	
+	public void setEndAddress(String endAddress) {
+		this.endAddress = endAddress;
+	}
+	
+	public Double getBoardingLon() {
+		return boardingLon;
+	}
+	
+	public void setBoardingLon(Double boardingLon) {
+		this.boardingLon = boardingLon;
+	}
+	
+	public Double getBoardingLat() {
+		return boardingLat;
+	}
+	
+	public void setBoardingLat(Double boardingLat) {
+		this.boardingLat = boardingLat;
+	}
+	
+	public String getBoardingAddress() {
+		return boardingAddress;
+	}
+	
+	public void setBoardingAddress(String boardingAddress) {
+		this.boardingAddress = boardingAddress;
+	}
+	
+	public Date getBoardingTime() {
+		return boardingTime;
+	}
+	
+	public void setBoardingTime(Date boardingTime) {
+		this.boardingTime = boardingTime;
+	}
+	
+	public Double getGetoffLon() {
+		return getoffLon;
+	}
+	
+	public void setGetoffLon(Double getoffLon) {
+		this.getoffLon = getoffLon;
+	}
+	
+	public Double getGetoffLat() {
+		return getoffLat;
+	}
+	
+	public void setGetoffLat(Double getoffLat) {
+		this.getoffLat = getoffLat;
+	}
+	
+	public String getGetoffAddress() {
+		return getoffAddress;
+	}
+	
+	public void setGetoffAddress(String getoffAddress) {
+		this.getoffAddress = getoffAddress;
+	}
+	
+	public Date getGetoffTime() {
+		return getoffTime;
+	}
+	
+	public void setGetoffTime(Date getoffTime) {
+		this.getoffTime = getoffTime;
+	}
+	
+	public Double getMileage() {
+		return mileage;
+	}
+	
+	public void setMileage(Double mileage) {
+		this.mileage = mileage;
+	}
+	
+	public Integer getPayManner() {
+		return payManner;
+	}
+	
+	public void setPayManner(Integer payManner) {
+		this.payManner = payManner;
+	}
+	
+	public Integer getPayType() {
+		return payType;
+	}
+	
+	public void setPayType(Integer payType) {
+		this.payType = payType;
+	}
+	
+	public Double getOrderMoney() {
+		return orderMoney;
+	}
+	
+	public void setOrderMoney(Double orderMoney) {
+		this.orderMoney = orderMoney;
+	}
+	
+	public Double getStartMileage() {
+		return startMileage;
+	}
+	
+	public void setStartMileage(Double startMileage) {
+		this.startMileage = startMileage;
+	}
+	
+	public Double getStartMoney() {
+		return startMoney;
+	}
+	
+	public void setStartMoney(Double startMoney) {
+		this.startMoney = startMoney;
+	}
+	
+	public Double getMileageKilometers() {
+		return mileageKilometers;
+	}
+	
+	public void setMileageKilometers(Double mileageKilometers) {
+		this.mileageKilometers = mileageKilometers;
+	}
+	
+	public Double getMileageMoney() {
+		return mileageMoney;
+	}
+	
+	public void setMileageMoney(Double mileageMoney) {
+		this.mileageMoney = mileageMoney;
+	}
+	
+	public Double getDuration() {
+		return duration;
+	}
+	
+	public void setDuration(Double duration) {
+		this.duration = duration;
+	}
+	
+	public Double getDurationMoney() {
+		return durationMoney;
+	}
+	
+	public void setDurationMoney(Double durationMoney) {
+		this.durationMoney = durationMoney;
+	}
+	
+	public Double getWait() {
+		return wait;
+	}
+	
+	public void setWait(Double wait) {
+		this.wait = wait;
+	}
+	
+	public Double getWaitMoney() {
+		return waitMoney;
+	}
+	
+	public void setWaitMoney(Double waitMoney) {
+		this.waitMoney = waitMoney;
+	}
+	
+	public Double getLongDistance() {
+		return longDistance;
+	}
+	
+	public void setLongDistance(Double longDistance) {
+		this.longDistance = longDistance;
+	}
+	
+	public Double getLongDistanceMoney() {
+		return longDistanceMoney;
+	}
+	
+	public void setLongDistanceMoney(Double longDistanceMoney) {
+		this.longDistanceMoney = longDistanceMoney;
+	}
+	
+	public Double getParkMoney() {
+		return parkMoney;
+	}
+	
+	public void setParkMoney(Double parkMoney) {
+		this.parkMoney = parkMoney;
+	}
+	
+	public Double getRoadTollMoney() {
+		return roadTollMoney;
+	}
+	
+	public void setRoadTollMoney(Double roadTollMoney) {
+		this.roadTollMoney = roadTollMoney;
+	}
+	
+	public Double getHolidayFee() {
+		return holidayFee;
+	}
+	
+	public void setHolidayFee(Double holidayFee) {
+		this.holidayFee = holidayFee;
+	}
+	
+	public Double getRedPacketMoney() {
+		return redPacketMoney;
+	}
+	
+	public void setRedPacketMoney(Double redPacketMoney) {
+		this.redPacketMoney = redPacketMoney;
+	}
+	
+	public Double getCouponMoney() {
+		return couponMoney;
+	}
+	
+	public void setCouponMoney(Double couponMoney) {
+		this.couponMoney = couponMoney;
+	}
+	
+	public Integer getRedPacketId() {
+		return redPacketId;
+	}
+	
+	public void setRedPacketId(Integer redPacketId) {
+		this.redPacketId = redPacketId;
+	}
+	
+	public Integer getCouponId() {
+		return couponId;
+	}
+	
+	public void setCouponId(Integer couponId) {
+		this.couponId = couponId;
+	}
+	
+	public Double getDiscount() {
+		return discount;
+	}
+	
+	public void setDiscount(Double discount) {
+		this.discount = discount;
+	}
+	
+	public Double getDiscountMoney() {
+		return discountMoney;
+	}
+	
+	public void setDiscountMoney(Double discountMoney) {
+		this.discountMoney = discountMoney;
+	}
+	
+	public Integer getActivityId() {
+		return activityId;
+	}
+	
+	public void setActivityId(Integer activityId) {
+		this.activityId = activityId;
+	}
+	
+	public Integer getTaxiCardId() {
+		return taxiCardId;
+	}
+	
+	public void setTaxiCardId(Integer taxiCardId) {
+		this.taxiCardId = taxiCardId;
+	}
+	
+	public Integer getUserTaxiCardId() {
+		return userTaxiCardId;
+	}
+	
+	public void setUserTaxiCardId(Integer userTaxiCardId) {
+		this.userTaxiCardId = userTaxiCardId;
+	}
+	
+	public Double getDiscountAmount() {
+		return discountAmount;
+	}
+	
+	public void setDiscountAmount(Double discountAmount) {
+		this.discountAmount = discountAmount;
+	}
+	
+	public Integer getCompanyId() {
+		return companyId;
+	}
+	
+	public void setCompanyId(Integer companyId) {
+		this.companyId = companyId;
+	}
+	
+	public Double getPayMoney() {
+		return payMoney;
+	}
+	
+	public void setPayMoney(Double payMoney) {
+		this.payMoney = payMoney;
+	}
+	
+	public Double getThankYouFee() {
+		return thankYouFee;
+	}
+	
+	public void setThankYouFee(Double thankYouFee) {
+		this.thankYouFee = thankYouFee;
+	}
+	
+	public Integer getSubstitute() {
+		return substitute;
+	}
+	
+	public void setSubstitute(Integer substitute) {
+		this.substitute = substitute;
+	}
+	
+	public String getPassengers() {
+		return passengers;
+	}
+	
+	public void setPassengers(String passengers) {
+		this.passengers = passengers;
+	}
+	
+	public String getPassengersPhone() {
+		return passengersPhone;
+	}
+	
+	public void setPassengersPhone(String passengersPhone) {
+		this.passengersPhone = passengersPhone;
+	}
+	
+	public Integer getState() {
+		return state;
+	}
+	
+	public void setState(Integer state) {
+		this.state = state;
+	}
+	
+	public Date getInsertTime() {
+		return insertTime;
+	}
+	
+	public void setInsertTime(Date insertTime) {
+		this.insertTime = insertTime;
+	}
+	
+	public Date getTravelTime() {
+		return travelTime;
+	}
+	
+	public void setTravelTime(Date travelTime) {
+		this.travelTime = travelTime;
+	}
+	
+	public Date getSnatchOrderTime() {
+		return snatchOrderTime;
+	}
+	
+	public void setSnatchOrderTime(Date snatchOrderTime) {
+		this.snatchOrderTime = snatchOrderTime;
+	}
+	
+	public Date getSetOutTime() {
+		return setOutTime;
+	}
+	
+	public void setSetOutTime(Date setOutTime) {
+		this.setOutTime = setOutTime;
+	}
+	
+	public Date getArriveTime() {
+		return arriveTime;
+	}
+	
+	public void setArriveTime(Date arriveTime) {
+		this.arriveTime = arriveTime;
+	}
+	
+	public Date getStartServiceTime() {
+		return startServiceTime;
+	}
+	
+	public void setStartServiceTime(Date startServiceTime) {
+		this.startServiceTime = startServiceTime;
+	}
+	
+	public Date getEndServiceTime() {
+		return endServiceTime;
+	}
+	
+	public void setEndServiceTime(Date endServiceTime) {
+		this.endServiceTime = endServiceTime;
+	}
+	
+	public Integer getOrderType() {
+		return orderType;
+	}
+	
+	public void setOrderType(Integer orderType) {
+		this.orderType = orderType;
+	}
+	
+	public Integer getOrderSource() {
+		return orderSource;
+	}
+	
+	public void setOrderSource(Integer orderSource) {
+		this.orderSource = orderSource;
+	}
+	
+	public Integer getInvoiceId() {
+		return invoiceId;
+	}
+	
+	public void setInvoiceId(Integer invoiceId) {
+		this.invoiceId = invoiceId;
+	}
+	
+	public Integer getIsReassign() {
+		return isReassign;
+	}
+	
+	public void setIsReassign(Integer isReassign) {
+		this.isReassign = isReassign;
+	}
+	
+	public Integer getReassignNotice() {
+		return reassignNotice;
+	}
+	
+	public void setReassignNotice(Integer reassignNotice) {
+		this.reassignNotice = reassignNotice;
+	}
+	
+	public String getTrackId() {
+		return trackId;
+	}
+	
+	public void setTrackId(String trackId) {
+		this.trackId = trackId;
+	}
+	
+	public Integer getIsDelete() {
+		return isDelete;
+	}
+	
+	public void setIsDelete(Integer isDelete) {
+		this.isDelete = isDelete;
+	}
+	
+	public Integer getOldState() {
+		return oldState;
+	}
+	
+	public void setOldState(Integer oldState) {
+		this.oldState = oldState;
+	}
+	
+	public String getTelX() {
+		return telX;
+	}
+	
+	public void setTelX(String telX) {
+		this.telX = telX;
+	}
+	
+	public String getBindId() {
+		return bindId;
+	}
+	
+	public void setBindId(String bindId) {
+		this.bindId = bindId;
+	}
+	
+	public String getSplitAllocation() {
+		return splitAllocation;
+	}
+	
+	public void setSplitAllocation(String splitAllocation) {
+		this.splitAllocation = splitAllocation;
+	}
+	
+	public String getTravelId() {
+		return travelId;
+	}
+	
+	public void setTravelId(String travelId) {
+		this.travelId = travelId;
+	}
+	
+	public Integer getIsCreated() {
+		return isCreated;
+	}
+	
+	public void setIsCreated(Integer isCreated) {
+		this.isCreated = isCreated;
+	}
+	
+	public Integer getRecoveryOrder() {
+		return recoveryOrder;
+	}
+	
+	public void setRecoveryOrder(Integer recoveryOrder) {
+		this.recoveryOrder = recoveryOrder;
+	}
+	
+	@Override
+	public String toString() {
+		return "OrderPrivateCar{" +
+				"id=" + id +
+				", type=" + type +
+				", crossCityOrderId=" + crossCityOrderId +
+				", place=" + place +
+				", userId=" + userId +
+				", serverCarModelId=" + serverCarModelId +
+				", driverId=" + driverId +
+				", carId=" + carId +
+				", orderNum='" + orderNum + '\'' +
+				", placementLon=" + placementLon +
+				", placementLat=" + placementLat +
+				", placementAddress='" + placementAddress + '\'' +
+				", startLon=" + startLon +
+				", startLat=" + startLat +
+				", startAddress='" + startAddress + '\'' +
+				", endLon=" + endLon +
+				", endLat=" + endLat +
+				", endAddress='" + endAddress + '\'' +
+				", boardingLon=" + boardingLon +
+				", boardingLat=" + boardingLat +
+				", boardingAddress='" + boardingAddress + '\'' +
+				", boardingTime=" + boardingTime +
+				", getoffLon=" + getoffLon +
+				", getoffLat=" + getoffLat +
+				", getoffAddress='" + getoffAddress + '\'' +
+				", getoffTime=" + getoffTime +
+				", mileage=" + mileage +
+				", payManner=" + payManner +
+				", payType=" + payType +
+				", orderMoney=" + orderMoney +
+				", startMileage=" + startMileage +
+				", startMoney=" + startMoney +
+				", mileageKilometers=" + mileageKilometers +
+				", mileageMoney=" + mileageMoney +
+				", duration=" + duration +
+				", durationMoney=" + durationMoney +
+				", wait=" + wait +
+				", waitMoney=" + waitMoney +
+				", longDistance=" + longDistance +
+				", longDistanceMoney=" + longDistanceMoney +
+				", parkMoney=" + parkMoney +
+				", roadTollMoney=" + roadTollMoney +
+				", redPacketMoney=" + redPacketMoney +
+				", couponMoney=" + couponMoney +
+				", redPacketId=" + redPacketId +
+				", couponId=" + couponId +
+				", discount=" + discount +
+				", discountMoney=" + discountMoney +
+				", activityId=" + activityId +
+				", companyId=" + companyId +
+				", payMoney=" + payMoney +
+				", substitute=" + substitute +
+				", passengers='" + passengers + '\'' +
+				", passengersPhone='" + passengersPhone + '\'' +
+				", state=" + state +
+				", insertTime=" + insertTime +
+				", travelTime=" + travelTime +
+				", snatchOrderTime=" + snatchOrderTime +
+				", setOutTime=" + setOutTime +
+				", arriveTime=" + arriveTime +
+				", startServiceTime=" + startServiceTime +
+				", endServiceTime=" + endServiceTime +
+				", orderType=" + orderType +
+				", orderSource=" + orderSource +
+				", invoiceId=" + invoiceId +
+				", isReassign=" + isReassign +
+				", reassignNotice=" + reassignNotice +
+				", trackId='" + trackId + '\'' +
+				", isDelete=" + isDelete +
+				", oldState=" + oldState +
+				", telX='" + telX + '\'' +
+				", bindId='" + bindId + '\'' +
+				'}';
+	}
 }
diff --git a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/IOrderPrivateCarService.java b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/IOrderPrivateCarService.java
index 3a6bb39..a859fcd 100644
--- a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/IOrderPrivateCarService.java
+++ b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/IOrderPrivateCarService.java
@@ -154,7 +154,7 @@
      * @return
      * @throws Exception
      */
-    ResultUtil payPrivateCarOrder1(Integer payType, Integer orderId, Integer objectId, Integer objectType, Integer type)throws Exception;
+    ResultUtil payPrivateCarOrder1(Integer payType, Integer orderId, Integer objectId, Integer objectType, Integer type, String path, String ip)throws Exception;
 
 
 
diff --git a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java
index 58e270b..615c797 100644
--- a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java
+++ b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java
@@ -11,7 +11,6 @@
 import com.stylefeng.guns.modular.crossCity.model.OrderCrossCity;
 import com.stylefeng.guns.modular.crossCity.server.IOrderCrossCityService;
 import com.stylefeng.guns.modular.crossCity.server.impl.OrderCrossCityServiceImpl;
-import com.stylefeng.guns.modular.smallLogistics.server.IOrderLogisticsService;
 import com.stylefeng.guns.modular.specialTrain.dao.OrderPrivateCarMapper;
 import com.stylefeng.guns.modular.specialTrain.model.OrderPrivateCar;
 import com.stylefeng.guns.modular.specialTrain.server.IOrderPrivateCarService;
@@ -20,6 +19,8 @@
 import com.stylefeng.guns.modular.system.model.vo.UnPayOrderVO;
 import com.stylefeng.guns.modular.system.service.*;
 import com.stylefeng.guns.modular.system.util.*;
+import com.stylefeng.guns.modular.system.util.qianyuntong.OrderUtil;
+import com.stylefeng.guns.modular.system.util.qianyuntong.model.*;
 import com.stylefeng.guns.modular.system.warpper.*;
 import com.stylefeng.guns.modular.taxi.dao.OrderTaxiMapper;
 import com.stylefeng.guns.modular.taxi.model.OrderTaxi;
@@ -43,6 +44,7 @@
 
 import javax.annotation.Resource;
 import java.math.BigDecimal;
+import java.math.BigInteger;
 import java.math.MathContext;
 import java.math.RoundingMode;
 import java.text.SimpleDateFormat;
@@ -970,17 +972,71 @@
 					orderCancelService.saveData(orderPrivateCar1.getId(), 1, "无司机接单", "无司机接单", null, null, 2, 1, uid);
 					orderPrivateCar1.setState(10);
 					this.updateById(orderPrivateCar1);
+					
+					Driver driver1 = null;
+					Company company = null;
+					//中台修改订单状态
+					ModifyTravelItineraryRequest request = new ModifyTravelItineraryRequest();
+					request.setOrderId(orderPrivateCar1.getTravelId());
+					request.setStatus(orderPrivateCar1.getState());
+					if (null != orderPrivateCar1.getDriverId()) {
+						driver1 = driverService.selectById(orderPrivateCar1.getDriverId());
+						company = companyService.selectById(driver1.getCompanyId());
+						request.setDriverId(driver1.getEmpId().toString());
+						request.setSupplierShopId(company.getEnterCode());
+					}
+					if (2 == orderPrivateCar1.getPromotion()) {
+						Driver driver2 = driverService.selectById(orderPrivateCar1.getPromotionDriverId());
+						request.setPromoterId(driver2.getEmpId().toString());
+					}
+					OrderUtil.modifyTravelItinerary(request);
 				}
 				List<OrderTaxi> list1 = orderTaxiService.selectList(new EntityWrapper<OrderTaxi>().eq("type", 2).eq("crossCityOrderId", orderPrivateCar.getCrossCityOrderId()).eq("place", orderPrivateCar.getPlace()));
 				for (OrderTaxi orderTaxi : list1) {
 					orderCancelService.saveData(orderTaxi.getId(), 2, "无司机接单", "无司机接单", null, null, 2, 1, uid);
 					orderTaxi.setState(10);
 					orderTaxiService.updateById(orderTaxi);
+					
+					Driver driver1 = null;
+					Company company = null;
+					//中台修改订单状态
+					ModifyTravelItineraryRequest request = new ModifyTravelItineraryRequest();
+					request.setOrderId(orderTaxi.getTravelId());
+					request.setStatus(orderTaxi.getState());
+					if (null != orderTaxi.getDriverId()) {
+						driver1 = driverService.selectById(orderTaxi.getDriverId());
+						company = companyService.selectById(driver1.getCompanyId());
+						request.setDriverId(driver1.getEmpId().toString());
+						request.setSupplierShopId(company.getEnterCode());
+					}
+					if (2 == orderTaxi.getPromotion()) {
+						Driver driver2 = driverService.selectById(orderTaxi.getPromotionDriverId());
+						request.setPromoterId(driver2.getEmpId().toString());
+					}
+					OrderUtil.modifyTravelItinerary(request);
 				}
 			} else {
 				integer = orderCancelService.saveData(id, 1, "无司机接单", "无司机接单", null, null, 2, 1, uid);
 				orderPrivateCar.setState(10);
 				this.updateById(orderPrivateCar);
+				
+				Driver driver1 = null;
+				Company company = null;
+				//中台修改订单状态
+				ModifyTravelItineraryRequest request = new ModifyTravelItineraryRequest();
+				request.setOrderId(orderPrivateCar.getTravelId());
+				request.setStatus(orderPrivateCar.getState());
+				if (null != orderPrivateCar.getDriverId()) {
+					driver1 = driverService.selectById(orderPrivateCar.getDriverId());
+					company = companyService.selectById(driver1.getCompanyId());
+					request.setDriverId(driver1.getEmpId().toString());
+					request.setSupplierShopId(company.getEnterCode());
+				}
+				if (2 == orderPrivateCar.getPromotion()) {
+					Driver driver2 = driverService.selectById(orderPrivateCar.getPromotionDriverId());
+					request.setPromoterId(driver2.getEmpId().toString());
+				}
+				OrderUtil.modifyTravelItinerary(request);
 			}
 		} else {
 			OpenCity openCity = openCityService.openCity1(orderPrivateCar.getStartLon().toString(), orderPrivateCar.getStartLat().toString());
@@ -997,6 +1053,24 @@
 					this.updateById(orderPrivateCar);
 				}
 				this.deleteTask(id);//删除定时任务
+				
+				Driver driver1 = null;
+				Company company = null;
+				//中台修改订单状态
+				ModifyTravelItineraryRequest request = new ModifyTravelItineraryRequest();
+				request.setOrderId(orderPrivateCar.getTravelId());
+				request.setStatus(orderPrivateCar.getState());
+				if (null != orderPrivateCar.getDriverId()) {
+					driver1 = driverService.selectById(orderPrivateCar.getDriverId());
+					company = companyService.selectById(driver1.getCompanyId());
+					request.setDriverId(driver1.getEmpId().toString());
+					request.setSupplierShopId(company.getEnterCode());
+				}
+				if (2 == orderPrivateCar.getPromotion()) {
+					Driver driver2 = driverService.selectById(orderPrivateCar.getPromotionDriverId());
+					request.setPromoterId(driver2.getEmpId().toString());
+				}
+				OrderUtil.modifyTravelItinerary(request);
 				
 				new Thread(new Runnable() {
 					@Override
@@ -1114,6 +1188,24 @@
 				orderPrivateCar.setTelX("");
 				orderPrivateCar.setBindId("");
 				this.updateById(orderPrivateCar);
+				
+				Driver driver = null;
+				Company company = null;
+				//中台修改订单状态
+				ModifyTravelItineraryRequest request = new ModifyTravelItineraryRequest();
+				request.setOrderId(orderPrivateCar.getTravelId());
+				request.setStatus(orderPrivateCar.getState());
+				if (null != orderPrivateCar.getDriverId()) {
+					driver = driverService.selectById(orderPrivateCar.getDriverId());
+					company = companyService.selectById(driver.getCompanyId());
+					request.setDriverId(driver.getEmpId().toString());
+					request.setSupplierShopId(company.getEnterCode());
+				}
+				if (2 == orderPrivateCar.getPromotion()) {
+					Driver driver1 = driverService.selectById(orderPrivateCar.getPromotionDriverId());
+					request.setPromoterId(driver1.getEmpId().toString());
+				}
+				OrderUtil.modifyTravelItinerary(request);
 				
 				orderCancel.setState(2);
 				orderCancel.setPayType(3);
@@ -1907,8 +1999,7 @@
 	
 	@Override
 	@Transactional(propagation = Propagation.REQUIRES_NEW)
-	public ResultUtil payPrivateCarOrder1(Integer payType, Integer orderId, Integer objectId, Integer objectType, Integer type) throws Exception {
-		
+	public ResultUtil payPrivateCarOrder1(Integer payType, Integer orderId, Integer objectId, Integer objectType, Integer type, String path, String ip) throws Exception {
 		OrderPrivateCar orderPrivateCar = this.selectById(orderId);
 		if (orderPrivateCar.getState() == 8 || orderPrivateCar.getState() == 9) {
 			return ResultUtil.error("订单已完成支付,不允许重复支付", new ArrayList<>());
@@ -1927,7 +2018,7 @@
 		UserCouponRecord userCouponRecord = null;
 		if (null != objectId && objectType == 1) {
 			userCouponRecord = userCouponRecordService.selectById(objectId);
-			if (userCouponRecord.getCompanyId() != orderPrivateCar.getCompanyId()) {
+			if (userCouponRecord.getCompanyId().compareTo(orderPrivateCar.getCompanyId()) != 0) {
 				return ResultUtil.error("优惠券不能用于此订单", new ArrayList<>());
 			}
 			if (userCouponRecord.getState() == 2) {
@@ -2084,8 +2175,57 @@
 			if (orderMoney == 0) {
 				return ResultUtil.error("请使用余额支付");
 			}
-			String app = type == 1 ? "APP" : "JSAPI";
-			resultUtil = payMoneyUtil.weixinpay("完成订单", "", orderId + "_1_" + UUIDUtil.getRandomCode(5), orderMoney.toString(), "/base/wxPayOrderTaxi", app, userInfo.getAppletsOpenId());
+//			String app = type == 1 ? "APP" : "JSAPI";
+//			resultUtil = payMoneyUtil.weixinpay("完成订单", "", orderId + "_1_" + UUIDUtil.getRandomCode(5), orderMoney.toString(), "/base/wxPayOrderTaxi", app, userInfo.getAppletsOpenId());
+			
+			Driver driver = driverService.selectById(orderPrivateCar.getDriverId());
+			if(null == orderPrivateCar.getIsCreated() || 0 == orderPrivateCar.getIsCreated()){
+				//调用中台创建订单及拉起支付接口
+				TradeOrderCreateData tradeOrderCreateData = new TradeOrderCreateData();
+				tradeOrderCreateData.setTreatShopId(driver.getEmpId().toString());
+				tradeOrderCreateData.setField1("{\"profitSharing\":\"1\",\"isPromote\":\"" + (orderPrivateCar.getPromotion() == 2 ? 1 : 0) + "\"}");
+				tradeOrderCreateData.setCharge(new BigDecimal(orderMoney));
+				tradeOrderCreateData.setOrderId(orderPrivateCar.getTravelId());
+				tradeOrderCreateData.setOrderNo("PR" + orderPrivateCar.getId());
+				tradeOrderCreateData.setCustomerId(userInfo.getOnconUUID());
+				tradeOrderCreateData.setPartnerPayId(orderPrivateCar.getTravelId());
+				tradeOrderCreateData.setTotalFee(Double.valueOf(orderMoney * 100).intValue() + "");
+				tradeOrderCreateData.setOrderDesc("完成订单");
+				tradeOrderCreateData.setRetUrl(path);
+				tradeOrderCreateData.setClientIp(ip);
+				
+				List<GoodsInfoRequest> goodsInfo = new ArrayList<>();
+				GoodsInfoRequest goodsInfoRequest = new GoodsInfoRequest();
+				goodsInfoRequest.setSubOpenId(userInfo.getAppletsOpenId());
+				goodsInfo.add(goodsInfoRequest);
+				tradeOrderCreateData.setGoodsInfo(goodsInfo);
+				TradeOrderCreate tradeOrderCreate = OrderUtil.tradeOrderCreate1(tradeOrderCreateData);
+				PayInfo payInfo = tradeOrderCreate.getPayInfo();
+				if(!"000000".equals(payInfo.getRetCode())){
+					return ResultUtil.error(payInfo.getRetMsg());
+				}
+				orderPrivateCar.setIsCreated(1);
+				resultUtil = ResultUtil.success(payInfo.getData().getRedirectUrl());
+			}else{
+				//拉起支付
+				TradePayOff1Data tradePayOff1Data = new TradePayOff1Data();
+				tradePayOff1Data.setPartnerPayId("PR" + orderPrivateCar.getId());
+				tradePayOff1Data.setTotalFee(Double.valueOf(orderMoney * 100).intValue() + "");
+				tradePayOff1Data.setRetUrl(path);
+				tradePayOff1Data.setClientIp(ip);
+				tradePayOff1Data.setOrderDesc("完成订单");
+				List<GoodsInfoRequest> goodsInfo = new ArrayList<>();
+				GoodsInfoRequest goodsInfoRequest = new GoodsInfoRequest();
+				goodsInfoRequest.setSubOpenId(userInfo.getAppletsOpenId());
+				goodsInfo.add(goodsInfoRequest);
+				tradePayOff1Data.setGoodsInfo(goodsInfo);
+				PayInfo payInfo = OrderUtil.tradePayOff1(tradePayOff1Data);
+				if(!"000000".equals(payInfo.getRetCode())){
+					return ResultUtil.error(payInfo.getRetMsg());
+				}
+				resultUtil = ResultUtil.success(payInfo.getData().getRedirectUrl());
+			}
+			
 			paymentRecordService.saveData(1, orderPrivateCar.getUserId(), 1, orderId, 1, 1, orderMoney, "", 1);//添加预支付数据
 		}
 		if (payType == 2) {//支付宝支付
@@ -2099,12 +2239,7 @@
 			if (userInfo.getBalance() == null || userInfo.getBalance() < orderMoney) {
 				return ResultUtil.error("余额不足,无法完成支付");
 			}
-//            if(orderMoney > 0){
-//                resultUtil= appOrderController.moneyPay(orderId,userInfo.getId(),orderMoney);
-//                if(resultUtil.getCode()==500){
-//                    return ResultUtil.error("电子余额不足,无法完成支付");
-//                }
-//            }
+
 			userInfo.setBalance(new BigDecimal(userInfo.getBalance()).subtract(new BigDecimal(orderMoney)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
 			
 			OpenCity openCity = openCityService.openCity1(orderPrivateCar.getStartLon().toString(), orderPrivateCar.getStartLat().toString());
@@ -2277,6 +2412,24 @@
 			orderPrivateCar.setTelX("");
 			this.updateById(orderPrivateCar);
 			
+			Driver driver = null;
+			Company company = null;
+			//中台修改订单状态
+			ModifyTravelItineraryRequest request = new ModifyTravelItineraryRequest();
+			request.setOrderId(orderPrivateCar.getTravelId());
+			request.setStatus(orderPrivateCar.getState());
+			if (null != orderPrivateCar.getDriverId()) {
+				driver = driverService.selectById(orderPrivateCar.getDriverId());
+				company = companyService.selectById(driver.getCompanyId());
+				request.setDriverId(driver.getEmpId().toString());
+				request.setSupplierShopId(company.getEnterCode());
+			}
+			if (2 == orderPrivateCar.getPromotion()) {
+				Driver driver1 = driverService.selectById(orderPrivateCar.getPromotionDriverId());
+				request.setPromoterId(driver1.getEmpId().toString());
+			}
+			OrderUtil.modifyTravelItinerary(request);
+			
 			query.setState(2);
 			query.setCode(order_id);
 			paymentRecordService.updateById(query);
diff --git a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/Company.java b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/Company.java
index 85597bd..f8dad4f 100644
--- a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/Company.java
+++ b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/Company.java
@@ -284,6 +284,11 @@
      */
     @TableField("OnCall")
     private String OnCall;
+    /**
+     * 中台企业编号
+     */
+    @TableField("enterCode")
+    private String enterCode;
 
 
     public String getDetailAddress() {
@@ -733,7 +738,15 @@
     public void setOnCall(String onCall) {
         OnCall = onCall;
     }
-
+    
+    public String getEnterCode() {
+        return enterCode;
+    }
+    
+    public void setEnterCode(String enterCode) {
+        this.enterCode = enterCode;
+    }
+    
     @Override
     public String toString() {
         return "Company{" +
diff --git a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/Driver.java b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/Driver.java
index c853450..3b92e0c 100644
--- a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/Driver.java
+++ b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/Driver.java
@@ -335,6 +335,21 @@
      */
     @TableField("qrCode")
     private String qrCode;
+    /**
+     * 中台员工ID
+     */
+    @TableField("empId")
+    private Long empId;
+    /**
+     * 中台员工所属企业ID
+     */
+    @TableField("enterId")
+    private Long enterId;
+    /**
+     * 中台员工所属企业编号
+     */
+    @TableField("entercode")
+    private String entercode;
 
     public String getQrCode() {
         return qrCode;
@@ -841,7 +856,31 @@
     public void setAppletsOpenId(String appletsOpenId) {
         this.appletsOpenId = appletsOpenId;
     }
-
+    
+    public Long getEmpId() {
+        return empId;
+    }
+    
+    public void setEmpId(Long empId) {
+        this.empId = empId;
+    }
+    
+    public Long getEnterId() {
+        return enterId;
+    }
+    
+    public void setEnterId(Long enterId) {
+        this.enterId = enterId;
+    }
+    
+    public String getEntercode() {
+        return entercode;
+    }
+    
+    public void setEntercode(String entercode) {
+        this.entercode = entercode;
+    }
+    
     @Override
     public String toString() {
         return "Driver{" +
diff --git a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/TaskUtil.java b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/TaskUtil.java
index 6acb4b2..c04c6f3 100644
--- a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/TaskUtil.java
+++ b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/TaskUtil.java
@@ -11,14 +11,18 @@
 import com.stylefeng.guns.modular.system.service.IUserCouponRecordService;
 import com.stylefeng.guns.modular.system.service.IUserInfoService;
 import com.stylefeng.guns.modular.system.service.IUserMerchantCouponService;
+import com.stylefeng.guns.modular.system.util.qianyuntong.OrderUtil;
 import com.stylefeng.guns.modular.system.util.qianyuntong.SMSUtil;
-import com.stylefeng.guns.modular.system.util.qianyuntong.model.SendSmsRequest;
+import com.stylefeng.guns.modular.system.util.qianyuntong.model.*;
 import com.stylefeng.guns.modular.taxi.model.OrderTaxi;
 import com.stylefeng.guns.modular.taxi.service.IOrderTaxiService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Component;
 
+import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -27,98 +31,139 @@
 /**
  * 定时任务工具类
  */
+@Slf4j
 @Component
 public class TaskUtil {
-
-    @Autowired
-    private IUserCouponRecordService userCouponRecordService;
-
-    @Autowired
-    private IUserMerchantCouponService userMerchantCouponService;
-
-    @Autowired
-    private AppOrderController appOrderController;
-
-    @Autowired
-    private IOrderPrivateCarService orderPrivateCarService;
-
-
-    @Autowired
-    private IOrderCrossCityService orderCrossCityService;
-
-    @Autowired
-    private IOrderLogisticsService orderLogisticsService;
-
-    @Autowired
-    private IOrderTaxiService orderTaxiService;
-
-    @Autowired
-    private  ChinaMobileUtil chinaMobileUtil;
-    
-    @Autowired
-    private IUserInfoService userInfoService;
-
-
-
-    /**
-     * 每隔一分钟去处理的定时任务
-     */
-    @Scheduled(fixedRate = 1000 * 60)
-    public void taskMinute(){
-        try {
-            //修改过期的优惠券
-            userCouponRecordService.updateTimeOut();
-            //修改过期的商家优惠券
-            userMerchantCouponService.updateExpired();
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-    }
-
-
-    /**
-     * 每天的凌晨执行的任务
-     */
-    @Scheduled(fixedRate = 1000 * 60)
-    public void taskDay(){
-    }
-
-
-
-    /**
-     * 每天中午12点发送提醒短信
-     */
-    @Scheduled(cron = "0 0 12 * * ?")
-    public void taskMonth(){
-        try {
-            List<OrderPrivateCar> orderPrivateCars = orderPrivateCarService.selectList(new EntityWrapper<OrderPrivateCar>().eq("isDelete", 1)
-                    .eq("state", 7).eq("abnormal", 1)
-                    .last(" and now() > DATE_ADD(endServiceTime, INTERVAL 24 HOUR)"));
-            for (OrderPrivateCar orderPrivateCar : orderPrivateCars) {
-                UserInfo userInfo = userInfoService.selectById(orderPrivateCar.getUserId());
-                SendSmsRequest request = new SendSmsRequest();
-                request.setDestAddress(userInfo.getPhone());
-                request.setTemplateId("TPL202507300002");
-                Map<String, String> templateParams = new HashMap<>();
-                request.setTemplateParams(templateParams);
-                request.setSpId("Y86asr7J");
-                SMSUtil.sendSms(request);
-            }
-            List<OrderTaxi> orderTaxis = orderTaxiService.selectList(new EntityWrapper<OrderTaxi>().eq("isDelete", 1)
-                    .eq("state", 7).eq("abnormal", 1)
-                    .last(" and now() > DATE_ADD(endServiceTime, INTERVAL 24 HOUR)"));
-            for (OrderTaxi orderTaxi : orderTaxis) {
-                UserInfo userInfo = userInfoService.selectById(orderTaxi.getUserId());
-                SendSmsRequest request = new SendSmsRequest();
-                request.setDestAddress(userInfo.getPhone());
-                request.setTemplateId("TPL202507300002");
-                Map<String, String> templateParams = new HashMap<>();
-                request.setTemplateParams(templateParams);
-                request.setSpId("Y86asr7J");
-                SMSUtil.sendSms(request);
-            }
-        }catch (Exception e){
-            e.printStackTrace();
-        }
-    }
+	
+	@Autowired
+	private IUserCouponRecordService userCouponRecordService;
+	
+	@Autowired
+	private IUserMerchantCouponService userMerchantCouponService;
+	
+	@Autowired
+	private AppOrderController appOrderController;
+	
+	@Autowired
+	private IOrderPrivateCarService orderPrivateCarService;
+	
+	
+	@Autowired
+	private IOrderCrossCityService orderCrossCityService;
+	
+	@Autowired
+	private IOrderLogisticsService orderLogisticsService;
+	
+	@Autowired
+	private IOrderTaxiService orderTaxiService;
+	
+	@Autowired
+	private ChinaMobileUtil chinaMobileUtil;
+	
+	@Autowired
+	private IUserInfoService userInfoService;
+	
+	
+	/**
+	 * 每隔一分钟去处理的定时任务
+	 */
+	@Scheduled(fixedRate = 1000 * 60)
+	public void taskMinute() {
+		try {
+			//修改过期的优惠券
+			userCouponRecordService.updateTimeOut();
+			//修改过期的商家优惠券
+			userMerchantCouponService.updateExpired();
+			//处理超时未支付的订单
+			
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+	}
+	
+	
+	/**
+	 * 每天的凌晨执行的任务
+	 */
+	@Scheduled(fixedRate = 1000 * 60)
+	public void taskDay() {
+	}
+	
+	
+	/**
+	 * 每天中午12点发送提醒短信
+	 */
+	@Scheduled(cron = "0 0 12 * * ?")
+	public void taskMonth() {
+		try {
+			List<OrderPrivateCar> orderPrivateCars = orderPrivateCarService.selectList(new EntityWrapper<OrderPrivateCar>().eq("isDelete", 1)
+					.eq("state", 7).eq("abnormal", 1)
+					.last(" and now() > DATE_ADD(endServiceTime, INTERVAL 24 HOUR)"));
+			for (OrderPrivateCar orderPrivateCar : orderPrivateCars) {
+				UserInfo userInfo = userInfoService.selectById(orderPrivateCar.getUserId());
+				SendSmsRequest request = new SendSmsRequest();
+				request.setDestAddress(userInfo.getPhone());
+				request.setTemplateId("TPL202507300002");
+				Map<String, String> templateParams = new HashMap<>();
+				request.setTemplateParams(templateParams);
+				request.setSpId("Y86asr7J");
+				SMSUtil.sendSms(request);
+			}
+			List<OrderTaxi> orderTaxis = orderTaxiService.selectList(new EntityWrapper<OrderTaxi>().eq("isDelete", 1)
+					.eq("state", 7).eq("abnormal", 1)
+					.last(" and now() > DATE_ADD(endServiceTime, INTERVAL 24 HOUR)"));
+			for (OrderTaxi orderTaxi : orderTaxis) {
+				UserInfo userInfo = userInfoService.selectById(orderTaxi.getUserId());
+				SendSmsRequest request = new SendSmsRequest();
+				request.setDestAddress(userInfo.getPhone());
+				request.setTemplateId("TPL202507300002");
+				Map<String, String> templateParams = new HashMap<>();
+				request.setTemplateParams(templateParams);
+				request.setSpId("Y86asr7J");
+				SMSUtil.sendSms(request);
+			}
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+	}
+	
+	
+	/**
+	 * 大于24小时未支付的订单
+	 */
+	public void timoutNoPayment() {
+		List<OrderPrivateCar> orderPrivateCars = orderPrivateCarService.selectList(new EntityWrapper<OrderPrivateCar>().eq("state", 7)
+				.eq("isDelete", 1).eq("recoveryOrder", 0).last(" and now() >= DATE_ADD(insertTime, INTERVAL 24 HOUR)"));
+		for (OrderPrivateCar orderPrivateCar : orderPrivateCars) {
+			//使用备付金进行支付订单
+			TradePayOffData tradePayOffData = new TradePayOffData();
+			tradePayOffData.setPartnerPayId("PR" + orderPrivateCar.getId());
+			tradePayOffData.setTotalFee(Double.valueOf(orderPrivateCar.getOrderMoney() * 100).intValue() + "");
+			tradePayOffData.setOrderDesc("完成订单");
+			PayInfo payInfo = OrderUtil.tradePayOff(tradePayOffData);
+			String retCode = payInfo.getRetCode();
+			if(!"000000".equals(retCode)){
+				log.error("备付金支付失败:{}", payInfo.getRetMsg());
+				continue;
+			}
+			PayInfoData data = payInfo.getData();
+			String status = data.getStatus();
+			if("3".equals(status)){
+				log.error("备付金支付失败:{}", payInfo.getRetMsg());
+				continue;
+			}
+			//copy原始订单后生成追缴单
+			OrderPrivateCar orderPrivateCar1 = new OrderPrivateCar();
+			BeanUtils.copyProperties(orderPrivateCar, orderPrivateCar1);
+			orderPrivateCar1.setId(null);
+			orderPrivateCar1.setRecoveryOrder(1);
+			
+			//修改原始订单为支付状态
+			orderPrivateCar.setState(8);
+			orderPrivateCar.setPayType(5);
+			orderPrivateCar.setPayMoney(orderPrivateCar.getOrderMoney());
+			orderPrivateCarService.updateById(orderPrivateCar);
+			orderPrivateCarService.insert(orderPrivateCar1);
+		}
+	}
 }
diff --git a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/OrderUtil.java b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/OrderUtil.java
index 432c7f2..38413d1 100644
--- a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/OrderUtil.java
+++ b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/OrderUtil.java
@@ -10,6 +10,7 @@
 import com.stylefeng.guns.modular.system.util.qianyuntong.model.*;
 import lombok.extern.slf4j.Slf4j;
 
+import java.math.BigDecimal;
 import java.text.SimpleDateFormat;
 import java.util.*;
 
@@ -26,19 +27,19 @@
 //		CreateTravelItineraryRequest request = new CreateTravelItineraryRequest();
 //		request.setScene("TRAFFIC");
 //		request.setPartnerId("522700");
-//		request.setOrderNo("01234567890");
+//		request.setOrderNo("3456789012345678");
 //		request.setCustomerId("11448156");
 //		request.setDriverId("11448158");
 //		request.setSupplierShopId("981100006005951");
 //		request.setServiceType(1);
 //		String travelItinerary = createTravelItinerary(request);
-//		System.err.println(travelItinerary);//1950363840206753792
+//		System.err.println(travelItinerary);//1951088602595872768
 		
 		//修改行程状态
 //		ModifyTravelItineraryRequest request = new ModifyTravelItineraryRequest();
 //		request.setScene("TRAFFIC");
 //		request.setPartnerId("522700");
-//		request.setOrderId("1950363840206753792");
+//		request.setOrderId("1951088602595872768");
 //		request.setStatus(7);
 //		request.setDriverId("11448158");
 //		request.setSupplierShopId("981100006005951");
@@ -53,11 +54,11 @@
 //		tradeOrderCreateData.setField1("{\"profitSharing\":\"1\",\"isPromote\":\"0\"}");
 //		tradeOrderCreateData.setCharge(new BigDecimal("0.01"));
 //		tradeOrderCreateData.setChannelSource("GRJYCXWXXCX");
-//		tradeOrderCreateData.setOrderId("1950363840206753792");
-//		tradeOrderCreateData.setOrderNo("01234567890");
+//		tradeOrderCreateData.setOrderId("1951088602595872768");
+//		tradeOrderCreateData.setOrderNo("3456789012345678");
 //		tradeOrderCreateData.setCustomerId("11448156");
 //		tradeOrderCreateData.setPayPartnerId("5400004");
-//		tradeOrderCreateData.setPartnerPayId("1950363840206753792");
+//		tradeOrderCreateData.setPartnerPayId("1951088602595872768");
 //		tradeOrderCreateData.setCurrency("RMB");
 //		tradeOrderCreateData.setTotalFee("1");
 //		tradeOrderCreateData.setRetUrl("pages/advoad-city-search/advoad-message/electronic-wait-pay/electronic-wait-pay");
@@ -69,8 +70,8 @@
 //		List<GoodsInfoRequest> goodsInfo = new ArrayList<>();
 //		GoodsInfoRequest goodsInfoRequest = new GoodsInfoRequest();
 //		goodsInfoRequest.setId("981100006005901");
-//		goodsInfoRequest.setSubAppId("wxcbad113185a243e1");
-//		goodsInfoRequest.setSubOpenId("oVLur6yFtED8ruXBWUFKXjzXJ_BQ");
+//		goodsInfoRequest.setSubAppId("wxcc3c9058e2b294db");
+//		goodsInfoRequest.setSubOpenId("oVLur61wBKJEO7QPR1dsmzS5TSfs");
 //		goodsInfoRequest.setProfitSharing("1");
 //		goodsInfoRequest.setAreaInfo("520100");
 //		goodsInfoRequest.setPayType("0");
@@ -89,30 +90,30 @@
 //		System.err.println(getPaymentInfo);
 		
 		//拉起支付
-//		TradePayOff1Data tradePayOff1Data = new TradePayOff1Data();
-//		tradePayOff1Data.setPartnerId("5400004");
-//		tradePayOff1Data.setScene("TRAFFIC");
-//		tradePayOff1Data.setPartnerPayId("1948685426689200128");
-//		tradePayOff1Data.setCurrency("RMB");
-//		tradePayOff1Data.setTotalFee("1");
-//		tradePayOff1Data.setRetUrl("/home/");
-//		tradePayOff1Data.setClientIp("127.0.0.1");
-//		tradePayOff1Data.setNeedLoginFlag("N");
-//		tradePayOff1Data.setOrderDesc("出行订单支付");
-//		tradePayOff1Data.setAccessMode("APP");
-//		List<GoodsInfoRequest> goodsInfo = new ArrayList<>();
-//		GoodsInfoRequest goodsInfoRequest = new GoodsInfoRequest();
-//		goodsInfoRequest.setId("981100006005901");
-//		goodsInfoRequest.setSubAppId("wxcbad113185a243e1");
-//		goodsInfoRequest.setSubOpenId("oVLur6yFtED8ruXBWUFKXjzXJ_BQ");
-//		goodsInfoRequest.setProfitSharing("1");
-//		goodsInfoRequest.setAreaInfo("520100");
-//		goodsInfoRequest.setPayType("0");
-//		goodsInfoRequest.setBusinessType("10408");
-//		goodsInfo.add(goodsInfoRequest);
-//		tradePayOff1Data.setGoodsInfo(goodsInfo);
-//		PayInfo payInfo = tradePayOff1(tradePayOff1Data);
-//		System.err.println(payInfo);
+		TradePayOff1Data tradePayOff1Data = new TradePayOff1Data();
+		tradePayOff1Data.setPartnerId("5400004");
+		tradePayOff1Data.setScene("TRAFFIC");
+		tradePayOff1Data.setPartnerPayId("1951088602595872768");
+		tradePayOff1Data.setCurrency("RMB");
+		tradePayOff1Data.setTotalFee("1");
+		tradePayOff1Data.setRetUrl("pages/advoad-city-search/advoad-message/electronic-wait-pay/electronic-wait-pay");
+		tradePayOff1Data.setClientIp("127.0.0.1");
+		tradePayOff1Data.setNeedLoginFlag("N");
+		tradePayOff1Data.setOrderDesc("出行订单支付");
+		tradePayOff1Data.setAccessMode("APP");
+		List<GoodsInfoRequest> goodsInfo = new ArrayList<>();
+		GoodsInfoRequest goodsInfoRequest = new GoodsInfoRequest();
+		goodsInfoRequest.setId("981100006005901");
+		goodsInfoRequest.setSubAppId("wxcc3c9058e2b294db");
+		goodsInfoRequest.setSubOpenId("oVLur61wBKJEO7QPR1dsmzS5TSfs");
+		goodsInfoRequest.setProfitSharing("1");
+		goodsInfoRequest.setAreaInfo("520100");
+		goodsInfoRequest.setPayType("0");
+		goodsInfoRequest.setBusinessType("10408");
+		goodsInfo.add(goodsInfoRequest);
+		tradePayOff1Data.setGoodsInfo(goodsInfo);
+		PayInfo payInfo = tradePayOff1(tradePayOff1Data);
+		System.err.println(payInfo);
 		//PayInfo(retCode=000000, retMsg=success, success=true, data=PayInfoData(redirectUrl=https://qhsctest.qytzt.cn/gray/mobile/index.html?f=allCashDesk&accessToken=5nUBXayFpfZz%2FXUZiMu9LzeRXmqmlqaCS%2BHfu5udIt4%3D, payId=540000420250725000135549, status=null, payTime=null, payFee=null, paymentInfos=null), sign=8154ba2728280900b122c56352c1c7fe)
 		
 		
@@ -178,6 +179,21 @@
 	 * @return
 	 */
 	public static PayInfo tradePayOff1(TradePayOff1Data tradePayOff1Data) {
+		tradePayOff1Data.setPartnerId("5400004");
+		tradePayOff1Data.setScene("TRAFFIC");
+		tradePayOff1Data.setCurrency("RMB");
+		tradePayOff1Data.setNeedLoginFlag("N");
+		tradePayOff1Data.setAccessMode("APP");
+		tradePayOff1Data.getGoodsInfo().forEach(goodsInfoRequest -> {
+			goodsInfoRequest.setId("981100006005901");
+			goodsInfoRequest.setSubAppId("wxcc3c9058e2b294db");
+			goodsInfoRequest.setProfitSharing("1");
+			goodsInfoRequest.setAreaInfo("520100");
+			goodsInfoRequest.setPayType("0");
+			goodsInfoRequest.setBusinessType("10408");
+		});
+		
+		
 		TradeRequest request = new TradeRequest<TradePayOff1Data>();
 		request.setSceneId("1911676727023968256");
 		request.setAppId(QianYunTongProperties.appkey);
@@ -356,6 +372,24 @@
 	 * @return
 	 */
 	public static TradeOrderCreate tradeOrderCreate1(TradeOrderCreateData tradeOrderCreateData) {
+		tradeOrderCreateData.setScene("TRAFFIC");
+		tradeOrderCreateData.setPartnerId("522700");
+		tradeOrderCreateData.setOrderAppId("52270015");
+		tradeOrderCreateData.setChannelSource("GRJYCXWXXCX");
+		tradeOrderCreateData.setPayPartnerId("5400004");
+		tradeOrderCreateData.setCurrency("RMB");
+		tradeOrderCreateData.setNeedLoginFlag("N");
+		tradeOrderCreateData.setAccessMode("APP");
+		tradeOrderCreateData.getGoodsInfo().forEach(goodsInfoRequest->{
+			goodsInfoRequest.setId("981100006005901");
+			goodsInfoRequest.setSubAppId("wxcc3c9058e2b294db");
+			goodsInfoRequest.setProfitSharing("1");
+			goodsInfoRequest.setAreaInfo("520100");
+			goodsInfoRequest.setPayType("0");
+			goodsInfoRequest.setBusinessType("10408");
+		});
+		
+		
 		TradeRequest request = new TradeRequest<TradeOrderCreateData>();
 		request.setSceneId("1945688132719169536");
 		request.setAppId(QianYunTongProperties.appkey);
@@ -450,6 +484,28 @@
 	 * @return
 	 */
 	public static PayInfo tradePayOff(TradePayOffData tradePayOffData) {
+		tradePayOffData.setPartnerId("5400004");
+		tradePayOffData.setScene("TRAFFIC");
+		tradePayOffData.setCurrency("RMB");
+		tradePayOffData.setRetUrl("");
+		tradePayOffData.setClientIp(System.getProperty("http.remoteAddr"));
+		tradePayOffData.setNeedLoginFlag("N");
+		tradePayOffData.setAccessMode("APP");
+		List<PaymentInfoRequest> paymentInfoRequests = new ArrayList<>();
+		PaymentInfoRequest paymentInfoRequest = new PaymentInfoRequest();
+		paymentInfoRequest.setPayModeId("501212");
+		paymentInfoRequests.add(paymentInfoRequest);
+		tradePayOffData.setPaymentInfos(paymentInfoRequests);
+		List<GoodsInfo> goodsInfo = new ArrayList<>();
+		GoodsInfo goodsInfo1 = new GoodsInfo();
+		goodsInfo1.setMerchantCode(":B00000872");
+		goodsInfo1.setCustId("CB0000004686");
+		goodsInfo1.setCustName("证联消费平台交易客户");
+		goodsInfo1.setProfitSharing("1");
+		goodsInfo.add(goodsInfo1);
+		tradePayOffData.setGoodsInfo(goodsInfo);
+		
+		
 		TradeRequest request = new TradeRequest<TradePayOffData>();
 		request.setSceneId("1774717104844095488");
 		request.setAppId(QianYunTongProperties.appkey);
diff --git a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/QianYunTongProperties.java b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/QianYunTongProperties.java
index dceaf17..90a4b14 100644
--- a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/QianYunTongProperties.java
+++ b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/QianYunTongProperties.java
@@ -16,6 +16,7 @@
 	/**
 	 * 私钥地址
 	 */
+//	String privateKeyPath = "C:\\Users\\39373\\Desktop\\黔云通\\private_key_test.pem";
 	String privateKeyPath = "C:\\Users\\Administrator\\Desktop\\private_key_test.pem";
 	/**
 	 * 私钥地址
diff --git a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/UserUtil.java b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/UserUtil.java
index bcc7a30..c1e4d91 100644
--- a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/UserUtil.java
+++ b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/UserUtil.java
@@ -23,8 +23,8 @@
 	
 	
 	public static void main(String[] args) {
-		List<QYTUserInfo> userInfoByPhone = getUserInfoByPhone("15828353127", "981100006005951");
-		System.out.println(userInfoByPhone);
+//		List<QYTUserInfo> userInfoByPhone = getUserInfoByPhone("15828353127");
+//		System.out.println(userInfoByPhone);
 	}
 	
 	
diff --git a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/model/OrderTaxi.java b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/model/OrderTaxi.java
index a537088..2e10d90 100644
--- a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/model/OrderTaxi.java
+++ b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/model/OrderTaxi.java
@@ -4,7 +4,6 @@
 import com.baomidou.mybatisplus.annotations.TableId;
 import com.baomidou.mybatisplus.annotations.TableName;
 import com.baomidou.mybatisplus.enums.IdType;
-import com.stylefeng.guns.modular.system.model.BaseBean;
 
 import java.math.BigDecimal;
 import java.util.Date;
@@ -385,6 +384,24 @@
     private String splitAllocation;
 
     private Integer responsibilityType;
+    
+    
+    private Integer promotion;
+    
+    private String voice;
+    
+    
+    private Date voiceTime;
+    
+    private String promotionUser;
+    
+    private String promotionPhone;
+    
+    private String travelId;
+    /**
+     * 中台是否已创建订单(0=否,1=是)
+     */
+    private Integer isCreated;
 
     public Integer getResponsibilityType() {
         return responsibilityType;
@@ -986,7 +1003,63 @@
     public void setSplitAllocation(String splitAllocation) {
         this.splitAllocation = splitAllocation;
     }
-
+    
+    public Integer getPromotion() {
+        return promotion;
+    }
+    
+    public void setPromotion(Integer promotion) {
+        this.promotion = promotion;
+    }
+    
+    public String getVoice() {
+        return voice;
+    }
+    
+    public void setVoice(String voice) {
+        this.voice = voice;
+    }
+    
+    public Date getVoiceTime() {
+        return voiceTime;
+    }
+    
+    public void setVoiceTime(Date voiceTime) {
+        this.voiceTime = voiceTime;
+    }
+    
+    public String getPromotionUser() {
+        return promotionUser;
+    }
+    
+    public void setPromotionUser(String promotionUser) {
+        this.promotionUser = promotionUser;
+    }
+    
+    public String getPromotionPhone() {
+        return promotionPhone;
+    }
+    
+    public void setPromotionPhone(String promotionPhone) {
+        this.promotionPhone = promotionPhone;
+    }
+    
+    public String getTravelId() {
+        return travelId;
+    }
+    
+    public void setTravelId(String travelId) {
+        this.travelId = travelId;
+    }
+    
+    public Integer getIsCreated() {
+        return isCreated;
+    }
+    
+    public void setIsCreated(Integer isCreated) {
+        this.isCreated = isCreated;
+    }
+    
     @Override
     public String toString() {
         return "OrderTaxi{" +
diff --git a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/IOrderTaxiService.java b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/IOrderTaxiService.java
index be2011e..99f5386 100644
--- a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/IOrderTaxiService.java
+++ b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/IOrderTaxiService.java
@@ -129,7 +129,7 @@
      * @return
      * @throws Exception
      */
-    ResultUtil payTaxiOrder1(Integer payType, Integer orderId, Integer objectId, Integer objectType, Integer type)throws Exception;
+    ResultUtil payTaxiOrder1(Integer payType, Integer orderId, Integer objectId, Integer objectType, Integer type, String path, String ip)throws Exception;
 
 
 
diff --git a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java
index 82ddc1e..2cfd3a2 100644
--- a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java
+++ b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java
@@ -20,6 +20,8 @@
 import com.stylefeng.guns.modular.system.model.vo.UnPayOrderVO;
 import com.stylefeng.guns.modular.system.service.*;
 import com.stylefeng.guns.modular.system.util.*;
+import com.stylefeng.guns.modular.system.util.qianyuntong.OrderUtil;
+import com.stylefeng.guns.modular.system.util.qianyuntong.model.*;
 import com.stylefeng.guns.modular.system.warpper.*;
 import com.stylefeng.guns.modular.taxi.dao.OrderTaxiMapper;
 import com.stylefeng.guns.modular.taxi.model.OrderTaxi;
@@ -146,7 +148,7 @@
 	
 	@Autowired
 	private IDriverServiceService driverServiceService;
-
+	
 	@Autowired
 	private TAbnormalPayOrderMapper abnormalPayOrderMapper;
 	
@@ -185,10 +187,11 @@
 	
 	@Value("${callbackPath}")
 	private String callbackPath;
-
-
+	
+	
 	@Autowired
 	private TDriverPromotionActivityService driverPromotionActivityService;
+	
 	/**
 	 * 出租车下单操作
 	 *
@@ -496,17 +499,71 @@
 					orderCancelService.saveData(orderPrivateCar1.getId(), 1, "无司机接单", "无司机接单", null, null, 2, 1, uid);
 					orderPrivateCar1.setState(10);
 					orderPrivateCarService.updateById(orderPrivateCar1);
+					
+					Driver driver1 = null;
+					Company company = null;
+					//中台修改订单状态
+					ModifyTravelItineraryRequest request = new ModifyTravelItineraryRequest();
+					request.setOrderId(orderPrivateCar1.getTravelId());
+					request.setStatus(orderPrivateCar1.getState());
+					if (null != orderPrivateCar1.getDriverId()) {
+						driver1 = driverService.selectById(orderPrivateCar1.getDriverId());
+						company = companyService.selectById(driver1.getCompanyId());
+						request.setDriverId(driver1.getEmpId().toString());
+						request.setSupplierShopId(company.getEnterCode());
+					}
+					if (2 == orderPrivateCar1.getPromotion()) {
+						Driver driver2 = driverService.selectById(orderPrivateCar1.getPromotionDriverId());
+						request.setPromoterId(driver2.getEmpId().toString());
+					}
+					OrderUtil.modifyTravelItinerary(request);
 				}
 				List<OrderTaxi> list1 = this.selectList(new EntityWrapper<OrderTaxi>().eq("type", 2).eq("crossCityOrderId", orderTaxi.getCrossCityOrderId()).eq("place", orderTaxi.getPlace()));
 				for (OrderTaxi orderTaxi1 : list1) {
 					orderCancelService.saveData(orderTaxi1.getId(), 2, "无司机接单", "无司机接单", null, null, 2, 1, uid);
 					orderTaxi1.setState(10);
 					this.updateById(orderTaxi1);
+					
+					Driver driver1 = null;
+					Company company = null;
+					//中台修改订单状态
+					ModifyTravelItineraryRequest request = new ModifyTravelItineraryRequest();
+					request.setOrderId(orderTaxi1.getTravelId());
+					request.setStatus(orderTaxi1.getState());
+					if (null != orderTaxi1.getDriverId()) {
+						driver1 = driverService.selectById(orderTaxi1.getDriverId());
+						company = companyService.selectById(driver1.getCompanyId());
+						request.setDriverId(driver1.getEmpId().toString());
+						request.setSupplierShopId(company.getEnterCode());
+					}
+					if (2 == orderTaxi1.getPromotion()) {
+						Driver driver2 = driverService.selectById(orderTaxi1.getPromotionDriverId());
+						request.setPromoterId(driver2.getEmpId().toString());
+					}
+					OrderUtil.modifyTravelItinerary(request);
 				}
 			} else {
 				integer = orderCancelService.saveData(id, 2, "无司机接单", "无司机接单", null, null, 2, 1, uid);
 				orderTaxi.setState(10);
 				this.updateById(orderTaxi);
+				
+				Driver driver1 = null;
+				Company company = null;
+				//中台修改订单状态
+				ModifyTravelItineraryRequest request = new ModifyTravelItineraryRequest();
+				request.setOrderId(orderTaxi.getTravelId());
+				request.setStatus(orderTaxi.getState());
+				if (null != orderTaxi.getDriverId()) {
+					driver1 = driverService.selectById(orderTaxi.getDriverId());
+					company = companyService.selectById(driver1.getCompanyId());
+					request.setDriverId(driver1.getEmpId().toString());
+					request.setSupplierShopId(company.getEnterCode());
+				}
+				if (2 == orderTaxi.getPromotion()) {
+					Driver driver2 = driverService.selectById(orderTaxi.getPromotionDriverId());
+					request.setPromoterId(driver2.getEmpId().toString());
+				}
+				OrderUtil.modifyTravelItinerary(request);
 			}
 		} else {
 			OpenCity openCity = openCityService.openCity1(orderTaxi.getStartLon().toString(), orderTaxi.getStartLat().toString());
@@ -523,6 +580,24 @@
 					this.updateById(orderTaxi);
 				}
 				this.deleteTask(id);//删除定时任务
+				
+				Driver driver1 = null;
+				Company company = null;
+				//中台修改订单状态
+				ModifyTravelItineraryRequest request = new ModifyTravelItineraryRequest();
+				request.setOrderId(orderTaxi.getTravelId());
+				request.setStatus(orderTaxi.getState());
+				if (null != orderTaxi.getDriverId()) {
+					driver1 = driverService.selectById(orderTaxi.getDriverId());
+					company = companyService.selectById(driver1.getCompanyId());
+					request.setDriverId(driver1.getEmpId().toString());
+					request.setSupplierShopId(company.getEnterCode());
+				}
+				if (2 == orderTaxi.getPromotion()) {
+					Driver driver2 = driverService.selectById(orderTaxi.getPromotionDriverId());
+					request.setPromoterId(driver2.getEmpId().toString());
+				}
+				OrderUtil.modifyTravelItinerary(request);
 				
 				new Thread(new Runnable() {
 					@Override
@@ -642,6 +717,24 @@
 				orderTaxi.setTelX("");
 				orderTaxi.setBindId("");
 				this.updateById(orderTaxi);
+				
+				Driver driver = null;
+				Company company = null;
+				//中台修改订单状态
+				ModifyTravelItineraryRequest request = new ModifyTravelItineraryRequest();
+				request.setOrderId(orderTaxi.getTravelId());
+				request.setStatus(orderTaxi.getState());
+				if (null != orderTaxi.getDriverId()) {
+					driver = driverService.selectById(orderTaxi.getDriverId());
+					company = companyService.selectById(driver.getCompanyId());
+					request.setDriverId(driver.getEmpId().toString());
+					request.setSupplierShopId(company.getEnterCode());
+				}
+				if (2 == orderTaxi.getPromotion()) {
+					Driver driver1 = driverService.selectById(orderTaxi.getPromotionDriverId());
+					request.setPromoterId(driver1.getEmpId().toString());
+				}
+				OrderUtil.modifyTravelItinerary(request);
 				
 				orderCancel.setState(2);
 				orderCancel.setPayType(3);
@@ -1343,7 +1436,7 @@
 	
 	@Override
 	@Transactional(propagation = Propagation.REQUIRES_NEW)
-	public ResultUtil payTaxiOrder1(Integer payType, Integer orderId, Integer objectId, Integer objectType, Integer type) throws Exception {
+	public ResultUtil payTaxiOrder1(Integer payType, Integer orderId, Integer objectId, Integer objectType, Integer type, String path, String ip) throws Exception {
 		OrderTaxi orderTaxi = this.selectById(orderId);
 		if (orderTaxi.getState() == 8 || orderTaxi.getState() == 9) {
 			return ResultUtil.error("订单已完成支付,不允许重复支付", "");
@@ -1514,8 +1607,57 @@
 			if (orderMoney == 0) {
 				return ResultUtil.error("请使用余额支付");
 			}
-			String app = type == 1 ? "APP" : "JSAPI";
-			resultUtil = payMoneyUtil.weixinpay("完成订单", "", orderId + "_2_" + UUIDUtil.getRandomCode(5), orderMoney.toString(), "/base/wxPayOrderTaxi", app, userInfo.getAppletsOpenId());
+//			String app = type == 1 ? "APP" : "JSAPI";
+//			resultUtil = payMoneyUtil.weixinpay("完成订单", "", orderId + "_2_" + UUIDUtil.getRandomCode(5), orderMoney.toString(), "/base/wxPayOrderTaxi", app, userInfo.getAppletsOpenId());
+			
+			Driver driver = driverService.selectById(orderTaxi.getDriverId());
+			if(null == orderTaxi.getIsCreated() || 0 == orderTaxi.getIsCreated()){
+				//调用中台创建订单及拉起支付接口
+				TradeOrderCreateData tradeOrderCreateData = new TradeOrderCreateData();
+				tradeOrderCreateData.setTreatShopId(driver.getEmpId().toString());
+				tradeOrderCreateData.setField1("{\"profitSharing\":\"1\",\"isPromote\":\"" + (orderTaxi.getPromotion() == 2 ? 1 : 0) + "\"}");
+				tradeOrderCreateData.setCharge(new BigDecimal(orderMoney));
+				tradeOrderCreateData.setOrderId(orderTaxi.getTravelId());
+				tradeOrderCreateData.setOrderNo("TA" + orderTaxi.getId());
+				tradeOrderCreateData.setCustomerId(userInfo.getOnconUUID());
+				tradeOrderCreateData.setPartnerPayId(orderTaxi.getTravelId());
+				tradeOrderCreateData.setTotalFee(Double.valueOf(orderMoney * 100).intValue() + "");
+				tradeOrderCreateData.setOrderDesc("完成订单");
+				tradeOrderCreateData.setRetUrl(path);
+				tradeOrderCreateData.setClientIp(ip);
+				
+				List<GoodsInfoRequest> goodsInfo = new ArrayList<>();
+				GoodsInfoRequest goodsInfoRequest = new GoodsInfoRequest();
+				goodsInfoRequest.setSubOpenId(userInfo.getAppletsOpenId());
+				goodsInfo.add(goodsInfoRequest);
+				tradeOrderCreateData.setGoodsInfo(goodsInfo);
+				TradeOrderCreate tradeOrderCreate = OrderUtil.tradeOrderCreate1(tradeOrderCreateData);
+				PayInfo payInfo = tradeOrderCreate.getPayInfo();
+				if(!"000000".equals(payInfo.getRetCode())){
+					return ResultUtil.error(payInfo.getRetMsg());
+				}
+				orderTaxi.setIsCreated(1);
+				resultUtil = ResultUtil.success(payInfo.getData().getRedirectUrl());
+			}else{
+				//拉起支付
+				TradePayOff1Data tradePayOff1Data = new TradePayOff1Data();
+				tradePayOff1Data.setPartnerPayId("PR" + orderTaxi.getId());
+				tradePayOff1Data.setTotalFee(Double.valueOf(orderMoney * 100).intValue() + "");
+				tradePayOff1Data.setRetUrl(path);
+				tradePayOff1Data.setClientIp(ip);
+				tradePayOff1Data.setOrderDesc("完成订单");
+				List<GoodsInfoRequest> goodsInfo = new ArrayList<>();
+				GoodsInfoRequest goodsInfoRequest = new GoodsInfoRequest();
+				goodsInfoRequest.setSubOpenId(userInfo.getAppletsOpenId());
+				goodsInfo.add(goodsInfoRequest);
+				tradePayOff1Data.setGoodsInfo(goodsInfo);
+				PayInfo payInfo = OrderUtil.tradePayOff1(tradePayOff1Data);
+				if(!"000000".equals(payInfo.getRetCode())){
+					return ResultUtil.error(payInfo.getRetMsg());
+				}
+				resultUtil = ResultUtil.success(payInfo.getData().getRedirectUrl());
+			}
+			
 			paymentRecordService.saveData(1, orderTaxi.getUserId(), 1, orderId, 2, 1, orderMoney, "", 1);//添加预支付数据
 		}
 		if (payType == 2) {//支付宝支付
@@ -1737,10 +1879,10 @@
 			map.put("state", map.get("oldState"));
 		}
 		
-		if(Integer.valueOf(String.valueOf(map.get("state"))) ==7 &&  (map.get("responsibilityType")==null || Integer.valueOf(String.valueOf(map.get("responsibilityType")))<4)){
+		if (Integer.valueOf(String.valueOf(map.get("state"))) == 7 && (map.get("responsibilityType") == null || Integer.valueOf(String.valueOf(map.get("responsibilityType"))) < 4)) {
 			map.put("appealButton", 1);
 		}
-		if(map.get("abnormalIntro")!=null){
+		if (map.get("abnormalIntro") != null) {
 			map.put("appealStatus", 1);
 		}
 		String driverId = (String) redisTemplate.opsForValue().get("DEVICE_" + map.get("driverId"));
@@ -2082,6 +2224,24 @@
 			orderTaxi.setTelX("");
 			this.updateById(orderTaxi);
 			
+			Driver driver = null;
+			Company company = null;
+			//中台修改订单状态
+			ModifyTravelItineraryRequest request = new ModifyTravelItineraryRequest();
+			request.setOrderId(orderTaxi.getTravelId());
+			request.setStatus(orderTaxi.getState());
+			if (null != orderTaxi.getDriverId()) {
+				driver = driverService.selectById(orderTaxi.getDriverId());
+				company = companyService.selectById(driver.getCompanyId());
+				request.setDriverId(driver.getEmpId().toString());
+				request.setSupplierShopId(company.getEnterCode());
+			}
+			if (2 == orderTaxi.getPromotion()) {
+				Driver driver1 = driverService.selectById(orderTaxi.getPromotionDriverId());
+				request.setPromoterId(driver1.getEmpId().toString());
+			}
+			OrderUtil.modifyTravelItinerary(request);
+			
 			query.setState(2);
 			query.setCode(order_id);
 			paymentRecordService.updateById(query);
@@ -2297,7 +2457,7 @@
 	@Override
 	public void addAppeal(Integer uid, Integer orderId, String abnormalIntro, String abnormalImg) {
 		OrderTaxi orderTaxi = this.selectById(orderId);
-		if(orderTaxi.getState()!=7 || orderTaxi.getAbnormalIntro()!=null){
+		if (orderTaxi.getState() != 7 || orderTaxi.getAbnormalIntro() != null) {
 			throw new RuntimeException("此订单无法申诉");
 		}
 		orderTaxi.setAbnormalIntro(abnormalIntro);
@@ -2305,15 +2465,15 @@
 		orderTaxi.setAbnormal(1);
 		this.baseMapper.updateById(orderTaxi);
 	}
-
+	
 	@Override
 	public void promotion(Integer orderId) {
 		OrderTaxi orderTaxi = this.baseMapper.selectById(orderId);
 		UserInfo userInfo = userInfoService.selectById(orderTaxi.getUserId());
-		if(orderTaxi.getPromotionDriverId()!=null){
+		if (orderTaxi.getPromotionDriverId() != null) {
 			String registAreaCode = userInfo.getRegistAreaCode();
 			TDriverPromotionActivity tDriverPromotionActivity = driverPromotionActivityService.selectOne(new EntityWrapper<TDriverPromotionActivity>().eq("districtCode", registAreaCode).ge("startTime", new Date()).lt("endTime", new Date()).last("AND FIND_IN_SET(" + 2 + ", bizType) limit 1"));
-			if(tDriverPromotionActivity!=null){
+			if (tDriverPromotionActivity != null) {
 				Double payMoney = orderTaxi.getPayMoney();
 				BigDecimal bigDecimal = tDriverPromotionActivity.getCommissionRatio().divide(new BigDecimal(100), 2, RoundingMode.HALF_UP).multiply(new BigDecimal(payMoney)).setScale(2, RoundingMode.HALF_UP);
 				orderTaxi.setPromotionDriverId(userInfo.getBindDriverId());
@@ -2322,7 +2482,7 @@
 			}
 		}
 		// 是否异常订单
-		if (orderTaxi.getResponsibilityType() !=null && orderTaxi.getResponsibilityType() >2) {
+		if (orderTaxi.getResponsibilityType() != null && orderTaxi.getResponsibilityType() > 2) {
 			TAbnormalPayOrder tAbnormalPayOrder = abnormalPayOrderMapper.selectList(new EntityWrapper<TAbnormalPayOrder>().eq("type", 2).eq("orderNum", orderTaxi.getOrderNum())).stream().findFirst().orElse(null);
 			if (tAbnormalPayOrder != null) {
 				tAbnormalPayOrder.setPayStatus(2);

--
Gitblit v1.7.1