From 2b769cbc555b57a006b2b3aac3ce92d74a5ba6f2 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期四, 14 八月 2025 17:24:35 +0800
Subject: [PATCH] 修改bug

---
 UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java | 4407 +++++++++++++++++++++++++++++-----------------------------
 1 files changed, 2,205 insertions(+), 2,202 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 ce8f56f..ade3c3c 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
@@ -68,2199 +68,2198 @@
 @RestController
 @RequestMapping("")
 public class OrderController {
-	
-	@Autowired
-	private IOrderTaxiService orderTaxiService;
-	
-	@Autowired
-	private IUserInfoService userInfoService;
-	
-	@Autowired
-	private IOrderPositionService orderPositionService;
-	
-	@Autowired
-	private PushUtil pushUtil;
-	
-	@Autowired
-	private IOrderService orderService;
-	
-	@Autowired
-	private IDriverService driverService;
-	
-	@Autowired
-	private WeChatUtil weChatUtil;
-	
-	@Autowired
-	private IOrderPrivateCarService orderPrivateCarService;
-	
-	@Autowired
-	private GDMapGeocodingUtil gdMapGeocodingUtil;
-	
-	@Autowired
-	private IComplaintService complaintService;
-	
-	@Autowired
-	private IOrderEvaluateService orderEvaluateService;
-	
-	@Autowired
-	private IOrderCrossCityService orderCrossCityService;
-	
-	@Autowired
-	private IOrderLogisticsService orderLogisticsService;
-	
-	@Autowired
-	private IOrderCharteredCarService orderCharteredCarService;
-	
-	@Autowired
-	private PushMinistryOfTransportUtil pushMinistryOfTransportUtil;
-	
-	@Autowired
-	private ITransactionDetailsService transactionDetailsService;
-	
-	@Autowired
-	private IOrderCancelService orderCancelService;
-	
-	@Autowired
-	private PayMoneyUtil payMoneyUtil;
-	
-	@Autowired
-	private IPaymentRecordService paymentRecordService;
-	
-	@Autowired
-	private ITaxiCardService taxiCardService;
-	
-	@Autowired
-	private IOrderCallService orderCallService;
-	
-	@Autowired
-	private IOrderAdditionalFeeService orderAdditionalFeeService;
-	
-	@Autowired
-	private IAdditionalFeeService additionalFeeService;
-	
-	@Autowired
-	private ITEnterpriseWithdrawalService enterpriseWithdrawalService;
-	@Autowired
-	private ICompanyService companyService;
-	@Autowired
-	private IUserCouponRecordService userCouponRecordService;
-	@Value("${pushMinistryOfTransport}")
-	private boolean pushMinistryOfTransport;
-	
-	@Resource
-	private SystemPriceMapper systemPriceMapper;
-	
-	@Resource
-	private RedisTemplate<String, Object> redisTemplate;
-	
-	@Resource
-	private ISystemPriceCityService systemPriceCityService;
-    
+
+    @Autowired
+    private IOrderTaxiService orderTaxiService;
+
+    @Autowired
+    private IUserInfoService userInfoService;
+
+    @Autowired
+    private IOrderPositionService orderPositionService;
+
+    @Autowired
+    private PushUtil pushUtil;
+
+    @Autowired
+    private IOrderService orderService;
+
+    @Autowired
+    private IDriverService driverService;
+
+    @Autowired
+    private WeChatUtil weChatUtil;
+
+    @Autowired
+    private IOrderPrivateCarService orderPrivateCarService;
+
+    @Autowired
+    private GDMapGeocodingUtil gdMapGeocodingUtil;
+
+    @Autowired
+    private IComplaintService complaintService;
+
+    @Autowired
+    private IOrderEvaluateService orderEvaluateService;
+
+    @Autowired
+    private IOrderCrossCityService orderCrossCityService;
+
+    @Autowired
+    private IOrderLogisticsService orderLogisticsService;
+
+    @Autowired
+    private IOrderCharteredCarService orderCharteredCarService;
+
+    @Autowired
+    private PushMinistryOfTransportUtil pushMinistryOfTransportUtil;
+
+    @Autowired
+    private ITransactionDetailsService transactionDetailsService;
+
+    @Autowired
+    private IOrderCancelService orderCancelService;
+
+    @Autowired
+    private PayMoneyUtil payMoneyUtil;
+
+    @Autowired
+    private IPaymentRecordService paymentRecordService;
+
+    @Autowired
+    private ITaxiCardService taxiCardService;
+
+    @Autowired
+    private IOrderCallService orderCallService;
+
+    @Autowired
+    private IOrderAdditionalFeeService orderAdditionalFeeService;
+
+    @Autowired
+    private IAdditionalFeeService additionalFeeService;
+
+    @Autowired
+    private ITEnterpriseWithdrawalService enterpriseWithdrawalService;
+    @Autowired
+    private ICompanyService companyService;
+    @Autowired
+    private IUserCouponRecordService userCouponRecordService;
+    @Value("${pushMinistryOfTransport}")
+    private boolean pushMinistryOfTransport;
+
+    @Resource
+    private SystemPriceMapper systemPriceMapper;
+
+    @Resource
+    private RedisTemplate<String, Object> redisTemplate;
+
+    @Resource
+    private ISystemPriceCityService systemPriceCityService;
+
     @Value("${trip.sheet.filePath}")
-    private  String filePath;
+    private String filePath;
     @Autowired
     private EmailUtil emailUtil;
     @Autowired
-    private  TripSheetGenerator tripSheetGenerator;
+    private TripSheetGenerator tripSheetGenerator;
     @Autowired
     private IServerCarModelService serverCarModelService;
-    
 
-	@Autowired
-	private IOrderRideService orderRideService;
-    
-    
-    
-	
-	/**
-	 * 获取正在进行中的订单
-	 *
-	 * @param request
-	 * @return
-	 */
-	@ResponseBody
-	@PostMapping("/api/order/queryServingOrder")
-	@ApiOperation(value = "获取正在进行中的订单", tags = {"用户端-首页"}, notes = "")
-	@ApiImplicitParams({
-			@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
-	})
-	public ResultUtil<List<OrderStatusWarpper>> queryServingOrder(HttpServletRequest request) {
-		try {
-			Integer uid = userInfoService.getUserIdFormRedis(request);
-			if (null == uid) {
-				return ResultUtil.tokenErr();
-			}
-			List<OrderStatusWarpper> data = new ArrayList<>();
-			List<OrderPrivateCar> orderPrivateCars = orderPrivateCarService.queryOrder(uid, 1, 2, 3, 4, 5, 6, 7, 11, 12);
-			for (OrderPrivateCar orderPrivateCar : orderPrivateCars) {
-				if (orderPrivateCar.getState() == 11) {
-					orderPrivateCar.setState(orderPrivateCar.getOldState());
-				}
-				OrderStatusWarpper orderStatusWarpper = new OrderStatusWarpper();
-				orderStatusWarpper.setOrderId(orderPrivateCar.getId());
-				orderStatusWarpper.setOrderType(1);
-				orderStatusWarpper.setState(orderPrivateCar.getState());
-				orderStatusWarpper.setRideType(orderPrivateCar.getRideType());
-				data.add(orderStatusWarpper);
-			}
-			List<OrderTaxi> list = orderTaxiService.queryOrder(uid, 1, 2, 3, 4, 5, 6, 7, 11, 12);
-			for (OrderTaxi orderTaxi : list) {
-				if (orderTaxi.getState() == 11) {
-					orderTaxi.setState(orderTaxi.getOldState());
-				}
-				OrderStatusWarpper orderStatusWarpper = new OrderStatusWarpper();
-				orderStatusWarpper.setOrderId(orderTaxi.getId());
-				orderStatusWarpper.setOrderType(2);
-				orderStatusWarpper.setState(orderTaxi.getState());
-				orderStatusWarpper.setRideType(1);
-				data.add(orderStatusWarpper);
-			}
-			List<OrderCrossCity> orderCrossCities = orderCrossCityService.queryOrder(uid, 1, 2, 3, 4, 5, 6, 7, 11, 12);
-			for (OrderCrossCity orderCrossCity : orderCrossCities) {
-				if (orderCrossCity.getState() == 11) {
-					orderCrossCity.setState(orderCrossCity.getOldState());
-				}
-				OrderStatusWarpper orderStatusWarpper = new OrderStatusWarpper();
-				orderStatusWarpper.setOrderId(orderCrossCity.getId());
-				orderStatusWarpper.setOrderType(3);
-				orderStatusWarpper.setState(orderCrossCity.getState());
-				orderStatusWarpper.setRideType(3);
-				data.add(orderStatusWarpper);
-			}
-			return ResultUtil.success(data);
-		} catch (Exception e) {
-			e.printStackTrace();
-			return ResultUtil.runErr();
-		}
-	}
-	
-	
-	/**
-	 * 获取个人中心订单列表
-	 *
-	 * @param type
-	 * @param pageNum
-	 * @param size
-	 * @param request
-	 * @return
-	 */
-	@ResponseBody
-	@PostMapping("/api/order/queryMyOrderList")
-	@ApiOperation(value = "获取个人中心订单列表", tags = {"用户端-个人中心"}, notes = "")
-	@ApiImplicitParams({
-			@ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=跨城出行,4=同城小件物流, 5=跨城小件物流,6=包车,7=助老模式,8顺风车)", name = "type", required = true, dataType = "int"),
-			@ApiImplicitParam(value = "页码(首页1)", name = "pageNum", required = true, dataType = "int"),
-			@ApiImplicitParam(value = "页条数", name = "size", required = true, dataType = "int"),
-			@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
-	})
-	public ResultUtil<List<OrderWarpper>> queryMyOrderList(Integer type, Integer pageNum, Integer size, HttpServletRequest request) {
-		try {
-			Integer uid = userInfoService.getUserIdFormRedis(request);
-			if (null == uid) {
-				return ResultUtil.tokenErr();
-			}
-			List<Map<String, Object>> list = null;
-			switch (type) {
-				case 1:
-					list = orderPrivateCarService.queryMyOrderList(uid, pageNum, size);
-					break;
-				case 2:
-					list = orderTaxiService.queryMyOrderList(uid, pageNum, size);
-					break;
-				case 3:
-					list = orderCrossCityService.queryMyOrderList(uid, pageNum, size);
-					break;
-				case 4:
-					list = orderLogisticsService.queryMyOrderList(uid, type, pageNum, size);
-					break;
-				case 5:
-					list = orderLogisticsService.queryMyOrderList(uid, type, pageNum, size);
-					break;
-				case 6:
-					list = orderCharteredCarService.queryMyOrderList(uid, pageNum, size);
-					break;
-				case 7:
+
+    @Autowired
+    private IOrderRideService orderRideService;
+
+
+    /**
+     * 获取正在进行中的订单
+     *
+     * @param request
+     * @return
+     */
+    @ResponseBody
+    @PostMapping("/api/order/queryServingOrder")
+    @ApiOperation(value = "获取正在进行中的订单", tags = {"用户端-首页"}, notes = "")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
+    })
+    public ResultUtil<List<OrderStatusWarpper>> queryServingOrder(HttpServletRequest request) {
+        try {
+            Integer uid = userInfoService.getUserIdFormRedis(request);
+            if (null == uid) {
+                return ResultUtil.tokenErr();
+            }
+            List<OrderStatusWarpper> data = new ArrayList<>();
+            List<OrderPrivateCar> orderPrivateCars = orderPrivateCarService.queryOrder(uid, 1, 2, 3, 4, 5, 6, 7, 11, 12);
+            for (OrderPrivateCar orderPrivateCar : orderPrivateCars) {
+                if (orderPrivateCar.getState() == 11) {
+                    orderPrivateCar.setState(orderPrivateCar.getOldState());
+                }
+                OrderStatusWarpper orderStatusWarpper = new OrderStatusWarpper();
+                orderStatusWarpper.setOrderId(orderPrivateCar.getId());
+                orderStatusWarpper.setOrderType(1);
+                orderStatusWarpper.setState(orderPrivateCar.getState());
+                orderStatusWarpper.setRideType(orderPrivateCar.getRideType());
+                data.add(orderStatusWarpper);
+            }
+            List<OrderTaxi> list = orderTaxiService.queryOrder(uid, 1, 2, 3, 4, 5, 6, 7, 11, 12);
+            for (OrderTaxi orderTaxi : list) {
+                if (orderTaxi.getState() == 11) {
+                    orderTaxi.setState(orderTaxi.getOldState());
+                }
+                OrderStatusWarpper orderStatusWarpper = new OrderStatusWarpper();
+                orderStatusWarpper.setOrderId(orderTaxi.getId());
+                orderStatusWarpper.setOrderType(2);
+                orderStatusWarpper.setState(orderTaxi.getState());
+                orderStatusWarpper.setRideType(1);
+                data.add(orderStatusWarpper);
+            }
+            List<OrderCrossCity> orderCrossCities = orderCrossCityService.queryOrder(uid, 1, 2, 3, 4, 5, 6, 7, 11, 12);
+            for (OrderCrossCity orderCrossCity : orderCrossCities) {
+                if (orderCrossCity.getState() == 11) {
+                    orderCrossCity.setState(orderCrossCity.getOldState());
+                }
+                OrderStatusWarpper orderStatusWarpper = new OrderStatusWarpper();
+                orderStatusWarpper.setOrderId(orderCrossCity.getId());
+                orderStatusWarpper.setOrderType(3);
+                orderStatusWarpper.setState(orderCrossCity.getState());
+                orderStatusWarpper.setRideType(3);
+                data.add(orderStatusWarpper);
+            }
+            return ResultUtil.success(data);
+        } catch (Exception e) {
+            e.printStackTrace();
+            return ResultUtil.runErr();
+        }
+    }
+
+
+    /**
+     * 获取个人中心订单列表
+     *
+     * @param type
+     * @param pageNum
+     * @param size
+     * @param request
+     * @return
+     */
+    @ResponseBody
+    @PostMapping("/api/order/queryMyOrderList")
+    @ApiOperation(value = "获取个人中心订单列表", tags = {"用户端-个人中心"}, notes = "")
+    @ApiImplicitParams({
+            @ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=跨城出行,4=同城小件物流, 5=跨城小件物流,6=包车,7=助老模式,8顺风车)", name = "type", required = true, dataType = "int"),
+            @ApiImplicitParam(value = "页码(首页1)", name = "pageNum", required = true, dataType = "int"),
+            @ApiImplicitParam(value = "页条数", name = "size", required = true, dataType = "int"),
+            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
+    })
+    public ResultUtil<List<OrderWarpper>> queryMyOrderList(Integer type, Integer pageNum, Integer size, HttpServletRequest request) {
+        try {
+            Integer uid = userInfoService.getUserIdFormRedis(request);
+            if (null == uid) {
+                return ResultUtil.tokenErr();
+            }
+            List<Map<String, Object>> list = null;
+            switch (type) {
+                case 1:
+                    list = orderPrivateCarService.queryMyOrderList(uid, pageNum, size);
+                    break;
+                case 2:
+                    list = orderTaxiService.queryMyOrderList(uid, pageNum, size);
+                    break;
+                case 3:
+                    list = orderCrossCityService.queryMyOrderList(uid, pageNum, size);
+                    break;
+                case 4:
+                    list = orderLogisticsService.queryMyOrderList(uid, type, pageNum, size);
+                    break;
+                case 5:
+                    list = orderLogisticsService.queryMyOrderList(uid, type, pageNum, size);
+                    break;
+                case 6:
+                    list = orderCharteredCarService.queryMyOrderList(uid, pageNum, size);
+                    break;
+                case 7:
 //                    list = orderCallService.queryMyOrderList(uid, pageNum, size);
-					break;
-				case 8:
-					list = orderRideService.queryMyOrderList(uid, pageNum, size);
-					break;
-			}
-			return ResultUtil.success(OrderWarpper.getOrderWarpper(list));
-		} catch (Exception e) {
-			e.printStackTrace();
-			return ResultUtil.runErr();
-		}
-	}
-	
-	/**
-	 * 获取消费记录
-	 *
-	 * @param pageNum
-	 * @param size
-	 * @param request
-	 * @return
-	 */
-	@ResponseBody
-	@PostMapping("/api/order/queryMyTravelRecord")
-	@ApiOperation(value = "获取消费记录", tags = {"用户端-个人中心"}, notes = "")
-	@ApiImplicitParams({
-			@ApiImplicitParam(value = "页码(首页1)", name = "pageNum", required = true, dataType = "int"),
-			@ApiImplicitParam(value = "页条数", name = "size", required = true, dataType = "int"),
-			@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
-	})
-	public ResultUtil<List<TravelRecordWarpper>> queryMyTravelRecord(Integer pageNum, Integer size, HttpServletRequest request) {
-		try {
-			Integer uid = userInfoService.getUserIdFormRedis(request);
-			if (null == uid) {
-				return ResultUtil.tokenErr();
-			}
-			Integer page = pageNum;
-			pageNum = (pageNum - 1) * size;
-			List<TransactionDetails> transactionDetails = transactionDetailsService.selectList(new EntityWrapper<TransactionDetails>()
-					.eq("type", 1).eq("userType", 1).eq("userId", uid).orderBy("insertTime desc limit " + pageNum + ", " + size));
-			List<Map<String, Object>> list = new ArrayList<>();
-			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
-			for (TransactionDetails t : transactionDetails) {
-				Map<String, Object> map = new HashMap<>();
-				map.put("money", t.getState() == 1 ? t.getMoney() : -1 * t.getMoney());
-				map.put("time", sdf.format(t.getInsertTime()));
-				map.put("name", t.getRemark());
-				map.put("insertTime", Double.valueOf(t.getInsertTime().getTime() / 1000).intValue());
-				list.add(map);
-			}
-			
-			List<TravelRecordWarpper> orderWarpper = TravelRecordWarpper.getTravelRecordWarpper(list);
-			return ResultUtil.success(orderWarpper);
-		} catch (Exception e) {
-			e.printStackTrace();
-			return ResultUtil.runErr();
-		}
-	}
-	
-	
-	/**
-	 * 发票页获取订单列表
-	 *
-	 * @param type
-	 * @param orderType
-	 * @param startTime
-	 * @param endTime
-	 * @param startMoney
-	 * @param endMoney
-	 * @param pageNum
-	 * @param size
-	 * @param request
-	 * @return
-	 */
-	@ResponseBody
-	@PostMapping("/api/order/queryInvoiceOrder")
-	@ApiOperation(value = "发票页获取订单列表", tags = {"用户端-个人中心"}, notes = "")
-	@ApiImplicitParams({
-			@ApiImplicitParam(value = "订单开票状态(1=未开票,2=其他)", name = "type", required = true, dataType = "int"),
-			@ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=跨城出行,4=同城小件物流,5=跨城小件物流)", name = "orderType", required = false, dataType = "int"),
-			@ApiImplicitParam(value = "开始日期", name = "startTime", required = false, dataType = "string"),
-			@ApiImplicitParam(value = "结束日期", name = "endTime", required = false, dataType = "string"),
-			@ApiImplicitParam(value = "开始金额", name = "startMoney", required = false, dataType = "double"),
-			@ApiImplicitParam(value = "结束金额", name = "endMoney", required = false, dataType = "double"),
-			@ApiImplicitParam(value = "页码(首页1)", name = "pageNum", required = true, dataType = "int"),
-			@ApiImplicitParam(value = "页条数", name = "size", required = true, dataType = "int"),
-			@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
-	})
-	public ResultUtil<List<OrderWarpper>> queryInvoiceOrder(Integer type, Integer orderType, Date startTime,
-	                                                        Date endTime, Double startMoney, Double endMoney,
-	                                                        Integer pageNum, Integer size, HttpServletRequest request) {
-		Integer page = pageNum;
-		pageNum = (pageNum - 1) * size;
-		try {
-			Integer uid = userInfoService.getUserIdFormRedis(request);
-			if (null == uid) {
-				return ResultUtil.tokenErr();
-			}
-			List<Map<String, Object>> list = new ArrayList<>();
-			if (null != orderType) {
-				switch (orderType) {
-					case 1://专车
-						list = orderPrivateCarService.queryInvoiceOrder(type, startTime, endTime, startMoney, endMoney, uid);
-						break;
-					case 2://出租车
-						list = orderTaxiService.queryInvoiceOrder(type, startTime, endTime, startMoney, endMoney, uid);
-						break;
-					case 3://跨城
-						list = orderCrossCityService.queryInvoiceOrder(type, startTime, endTime, startMoney, endMoney, uid);
-						break;
-					case 4://同城小件物流
-						list = orderLogisticsService.queryInvoiceOrder(type, startTime, endTime, startMoney, endMoney, uid, orderType);
-						break;
-					case 5://跨城小件物流
-						list = orderLogisticsService.queryInvoiceOrder(type, startTime, endTime, startMoney, endMoney, uid, orderType);
-						break;
-				}
-			} else {
-				//专车
-				List<Map<String, Object>> maps = orderPrivateCarService.queryInvoiceOrder(type, startTime, endTime, startMoney, endMoney, uid);
-				list.addAll(maps);
-				//出租车
-				List<Map<String, Object>> list1 = orderTaxiService.queryInvoiceOrder(type, startTime, endTime, startMoney, endMoney, uid);
-				list.addAll(list1);
-				//跨城
-				List<Map<String, Object>> list2 = orderCrossCityService.queryInvoiceOrder(type, startTime, endTime, startMoney, endMoney, uid);
-				list.addAll(list2);
-				//同城小件物流
-				List<Map<String, Object>> list3 = orderLogisticsService.queryInvoiceOrder(type, startTime, endTime, startMoney, endMoney, uid, orderType);
-				list.addAll(list3);
-				//跨城小件物流
-				List<Map<String, Object>> list4 = orderLogisticsService.queryInvoiceOrder(type, startTime, endTime, startMoney, endMoney, uid, orderType);
-				list.addAll(list4);
-			}
-			
-			//分页
-			if (list.size() >= page * size) {
-				list = list.subList(pageNum, pageNum + size);
-			} else if (pageNum < list.size() && list.size() < page * size) {
-				list = list.subList(pageNum, list.size());
-			} else {
-				list = new ArrayList<>();
-			}
-			
-			return ResultUtil.success(OrderWarpper.getOrderWarpper(list));
-		} catch (Exception e) {
-			e.printStackTrace();
-			return ResultUtil.runErr();
-		}
-	}
-	
-	
-	/**
-	 * 继续等待推单操作
-	 *
-	 * @param id
-	 * @return
-	 */
-	@ResponseBody
-	@PostMapping("/api/taxi/pushOrderTaxi")
-	@ApiOperation(value = "继续等待推单操作", tags = {"用户端-出租车", "用户端-专车"}, notes = "")
-	@ApiImplicitParams({
-			@ApiImplicitParam(value = "订单id", name = "id", required = true, dataType = "int"),
-			@ApiImplicitParam(value = "订单类型(1=专车,2=出租车)", name = "orderType", required = true, dataType = "int"),
-			@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
-	})
-	public ResultUtil pushOrderTaxi(Integer id, Integer orderType) {
-		try {
-			switch (orderType) {
-				case 1:
-					return orderPrivateCarService.pushOrderPrivateCar(id);
-				case 2:
-					return orderTaxiService.pushOrderTaxi(id);
-			}
-			return ResultUtil.success();
-		} catch (Exception e) {
-			e.printStackTrace();
-			return ResultUtil.runErr();
-		}
-	}
-	
-	
-	/**
-	 * 获取服务中的详情数据
-	 *
-	 * @param orderId
-	 * @param orderType
-	 * @return
-	 */
-	@ResponseBody
-	@PostMapping("/api/order/queryOrderInfo")
-	@ApiOperation(value = "获取服务中的详情数据", tags = {"用户端-服务中"}, notes = "", response = OrderInfoWarpper.class)
-	@ApiImplicitParams({
-			@ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"),
-			@ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=城际)", name = "orderType", required = true, dataType = "int"),
-			@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
-	})
-	public ResultUtil<OrderInfoWarpper> queryOrderInfo(Integer orderId, Integer orderType, HttpServletRequest request) {
-		try {
-			Integer uid = userInfoService.getUserIdFormRedis(request);
-			if (null == uid) {
-				return ResultUtil.tokenErr();
-			}
-			Map<String, Object> map = null;
-			List<OrderAdditionalFeeWarpper> list = new ArrayList<>();
-			switch (orderType) {
-				case 1://专车
-					map = orderPrivateCarService.queryOrderInfo(uid, orderId);
-					break;
-				case 2://出租车
-					map = orderTaxiService.queryOrderInfo(orderId);
-					break;
-				case 3://跨城
-					map = orderCrossCityService.queryOrderInfo(orderId);
-					break;
-			}
-			
-			if (map.get("companyId") != null) {
-				Company companyId = companyService.selectById(map.get("companyId").toString());
-				map.put("companyName", companyId.getName());
-			} else {
-				map.put("companyName", "");
-			}
-			if (map.get("telX") != null) {
-				map.put("driverPhone", map.get("telX"));
-			}
-			List<OrderAdditionalFee> orderAdditionalFees = orderAdditionalFeeService.selectList(new EntityWrapper<OrderAdditionalFee>().eq("orderType", orderType).eq("orderId", orderId));
-			orderAdditionalFees.forEach(orderAdditionalFee -> {
-				AdditionalFee additionalFee = additionalFeeService.selectById(orderAdditionalFee.getAdditionalFeeId());
-				OrderAdditionalFeeWarpper orderAdditionalFeeWarpper = new OrderAdditionalFeeWarpper();
-				orderAdditionalFeeWarpper.setName(additionalFee.getName());
-				orderAdditionalFeeWarpper.setAdditionalFee(orderAdditionalFee.getAmount());
-				list.add(orderAdditionalFeeWarpper);
-			});
-			OrderInfoWarpper orderInfoWarpper = OrderInfoWarpper.getOrderInfoWarpper(map, list);
-			orderType = orderInfoWarpper.getOrderType();
-			if (orderType == 1) {
-				
-				if (orderInfoWarpper.getPid() != 0) {
-					orderId = orderInfoWarpper.getPid();
-				}
-				List<Map<String, Object>> orderList = orderPrivateCarService.queryOrderInfo2(orderId, 4, null, null);
-				if (!orderList.isEmpty()) {
-					orderInfoWarpper.setMeetOrderList(JSON.parseArray(JSON.toJSONString(orderList), OrderCrossCityInfoWrapper.class));
-				} else {
-					orderInfoWarpper.setMeetOrderList(new ArrayList<>());
-				}
-				orderList = orderPrivateCarService.queryOrderInfo2(orderId, 6, null, null);
-				if (orderInfoWarpper.getState() > 1 && orderInfoWarpper.getDriverId() != 0) {
-					String value = (String) redisTemplate.opsForValue().get("dache:DRIVER" + String.valueOf(orderInfoWarpper.getDriverId()));
-					if (value == null || value.equals("")) {
-						if (orderList.isEmpty()) {
-							orderList = orderPrivateCarService.queryOrderInfo2(orderId, 5, "0", "0");
-						} else {
-							List<Map<String, Object>> orderList1 = orderPrivateCarService.queryOrderInfo2(orderId, 5, "0", "0");
-							if (!orderList1.isEmpty()) {
-								orderList.addAll(orderList1);
-							}
-						}
-					} else {
-						if (orderList.isEmpty()) {
-							orderList = orderPrivateCarService.queryOrderInfo2(orderId, 5, value.split(",")[0], value.split(",")[1]);
-						} else {
-							List<Map<String, Object>> orderList1 = orderPrivateCarService.queryOrderInfo2(orderId, 5, value.split(",")[0], value.split(",")[1]);
-							if (!orderList1.isEmpty()) {
-								orderList.addAll(orderList1);
-							}
-						}
-					}
-				}
-				
-				
-				if (!orderList.isEmpty()) {
-					orderInfoWarpper.setGiveOrderList(JSON.parseArray(JSON.toJSONString(orderList), OrderCrossCityInfoWrapper.class));
-				} else {
-					orderInfoWarpper.setGiveOrderList(new ArrayList<>());
-				}
-				
-				OrderPrivateCar orderPrivateCar = orderPrivateCarService.selectById(orderId);
-				if (orderPrivateCar.getState() > 1) {
-					Map<String, String> geocode = gdMapGeocodingUtil.geocode(orderPrivateCar.getStartLon().toString(), orderPrivateCar.getStartLat().toString());
-					String provinceCode = geocode.get("provinceCode");
-					String cityCode = geocode.get("cityCode");
-					String districtCode = geocode.get("districtCode");
-					//获取匹配的城市价格配置
-					SystemPriceCity systemPriceCity = systemPriceCityService.queryOne(provinceCode, cityCode, districtCode);
-					if (null == systemPriceCity) {
-						return ResultUtil.error("请先配置价格规则");
-					}
-					if(orderPrivateCar.getServerCarModelId()==null){
-						orderPrivateCar.setServerCarModelId(0);
-					}
-					Map<String, Object> query1 = systemPriceMapper.query(orderPrivateCar.getCompanyId(), 1, orderPrivateCar.getServerCarModelId(), systemPriceCity.getId());
+                    break;
+                case 8:
+                    list = orderRideService.queryMyOrderList(uid, pageNum, size);
+                    break;
+            }
+            return ResultUtil.success(OrderWarpper.getOrderWarpper(list));
+        } catch (Exception e) {
+            e.printStackTrace();
+            return ResultUtil.runErr();
+        }
+    }
+
+    /**
+     * 获取消费记录
+     *
+     * @param pageNum
+     * @param size
+     * @param request
+     * @return
+     */
+    @ResponseBody
+    @PostMapping("/api/order/queryMyTravelRecord")
+    @ApiOperation(value = "获取消费记录", tags = {"用户端-个人中心"}, notes = "")
+    @ApiImplicitParams({
+            @ApiImplicitParam(value = "页码(首页1)", name = "pageNum", required = true, dataType = "int"),
+            @ApiImplicitParam(value = "页条数", name = "size", required = true, dataType = "int"),
+            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
+    })
+    public ResultUtil<List<TravelRecordWarpper>> queryMyTravelRecord(Integer pageNum, Integer size, HttpServletRequest request) {
+        try {
+            Integer uid = userInfoService.getUserIdFormRedis(request);
+            if (null == uid) {
+                return ResultUtil.tokenErr();
+            }
+            Integer page = pageNum;
+            pageNum = (pageNum - 1) * size;
+            List<TransactionDetails> transactionDetails = transactionDetailsService.selectList(new EntityWrapper<TransactionDetails>()
+                    .eq("type", 1).eq("userType", 1).eq("userId", uid).orderBy("insertTime desc limit " + pageNum + ", " + size));
+            List<Map<String, Object>> list = new ArrayList<>();
+            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
+            for (TransactionDetails t : transactionDetails) {
+                Map<String, Object> map = new HashMap<>();
+                map.put("money", t.getState() == 1 ? t.getMoney() : -1 * t.getMoney());
+                map.put("time", sdf.format(t.getInsertTime()));
+                map.put("name", t.getRemark());
+                map.put("insertTime", Double.valueOf(t.getInsertTime().getTime() / 1000).intValue());
+                list.add(map);
+            }
+
+            List<TravelRecordWarpper> orderWarpper = TravelRecordWarpper.getTravelRecordWarpper(list);
+            return ResultUtil.success(orderWarpper);
+        } catch (Exception e) {
+            e.printStackTrace();
+            return ResultUtil.runErr();
+        }
+    }
+
+
+    /**
+     * 发票页获取订单列表
+     *
+     * @param type
+     * @param orderType
+     * @param startTime
+     * @param endTime
+     * @param startMoney
+     * @param endMoney
+     * @param pageNum
+     * @param size
+     * @param request
+     * @return
+     */
+    @ResponseBody
+    @PostMapping("/api/order/queryInvoiceOrder")
+    @ApiOperation(value = "发票页获取订单列表", tags = {"用户端-个人中心"}, notes = "")
+    @ApiImplicitParams({
+            @ApiImplicitParam(value = "订单开票状态(1=未开票,2=其他)", name = "type", required = true, dataType = "int"),
+            @ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=跨城出行,4=同城小件物流,5=跨城小件物流)", name = "orderType", required = false, dataType = "int"),
+            @ApiImplicitParam(value = "开始日期", name = "startTime", required = false, dataType = "string"),
+            @ApiImplicitParam(value = "结束日期", name = "endTime", required = false, dataType = "string"),
+            @ApiImplicitParam(value = "开始金额", name = "startMoney", required = false, dataType = "double"),
+            @ApiImplicitParam(value = "结束金额", name = "endMoney", required = false, dataType = "double"),
+            @ApiImplicitParam(value = "页码(首页1)", name = "pageNum", required = true, dataType = "int"),
+            @ApiImplicitParam(value = "页条数", name = "size", required = true, dataType = "int"),
+            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
+    })
+    public ResultUtil<List<OrderWarpper>> queryInvoiceOrder(Integer type, Integer orderType, Date startTime,
+                                                            Date endTime, Double startMoney, Double endMoney,
+                                                            Integer pageNum, Integer size, HttpServletRequest request) {
+        Integer page = pageNum;
+        pageNum = (pageNum - 1) * size;
+        try {
+            Integer uid = userInfoService.getUserIdFormRedis(request);
+            if (null == uid) {
+                return ResultUtil.tokenErr();
+            }
+            List<Map<String, Object>> list = new ArrayList<>();
+            if (null != orderType) {
+                switch (orderType) {
+                    case 1://专车
+                        list = orderPrivateCarService.queryInvoiceOrder(type, startTime, endTime, startMoney, endMoney, uid);
+                        break;
+                    case 2://出租车
+                        list = orderTaxiService.queryInvoiceOrder(type, startTime, endTime, startMoney, endMoney, uid);
+                        break;
+                    case 3://跨城
+                        list = orderCrossCityService.queryInvoiceOrder(type, startTime, endTime, startMoney, endMoney, uid);
+                        break;
+                    case 4://同城小件物流
+                        list = orderLogisticsService.queryInvoiceOrder(type, startTime, endTime, startMoney, endMoney, uid, orderType);
+                        break;
+                    case 5://跨城小件物流
+                        list = orderLogisticsService.queryInvoiceOrder(type, startTime, endTime, startMoney, endMoney, uid, orderType);
+                        break;
+                }
+            } else {
+                //专车
+                List<Map<String, Object>> maps = orderPrivateCarService.queryInvoiceOrder(type, startTime, endTime, startMoney, endMoney, uid);
+                list.addAll(maps);
+                //出租车
+                List<Map<String, Object>> list1 = orderTaxiService.queryInvoiceOrder(type, startTime, endTime, startMoney, endMoney, uid);
+                list.addAll(list1);
+                //跨城
+                List<Map<String, Object>> list2 = orderCrossCityService.queryInvoiceOrder(type, startTime, endTime, startMoney, endMoney, uid);
+                list.addAll(list2);
+                //同城小件物流
+                List<Map<String, Object>> list3 = orderLogisticsService.queryInvoiceOrder(type, startTime, endTime, startMoney, endMoney, uid, orderType);
+                list.addAll(list3);
+                //跨城小件物流
+                List<Map<String, Object>> list4 = orderLogisticsService.queryInvoiceOrder(type, startTime, endTime, startMoney, endMoney, uid, orderType);
+                list.addAll(list4);
+            }
+
+            //分页
+            if (list.size() >= page * size) {
+                list = list.subList(pageNum, pageNum + size);
+            } else if (pageNum < list.size() && list.size() < page * size) {
+                list = list.subList(pageNum, list.size());
+            } else {
+                list = new ArrayList<>();
+            }
+
+            return ResultUtil.success(OrderWarpper.getOrderWarpper(list));
+        } catch (Exception e) {
+            e.printStackTrace();
+            return ResultUtil.runErr();
+        }
+    }
+
+
+    /**
+     * 继续等待推单操作
+     *
+     * @param id
+     * @return
+     */
+    @ResponseBody
+    @PostMapping("/api/taxi/pushOrderTaxi")
+    @ApiOperation(value = "继续等待推单操作", tags = {"用户端-出租车", "用户端-专车"}, notes = "")
+    @ApiImplicitParams({
+            @ApiImplicitParam(value = "订单id", name = "id", required = true, dataType = "int"),
+            @ApiImplicitParam(value = "订单类型(1=专车,2=出租车)", name = "orderType", required = true, dataType = "int"),
+            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
+    })
+    public ResultUtil pushOrderTaxi(Integer id, Integer orderType) {
+        try {
+            switch (orderType) {
+                case 1:
+                    return orderPrivateCarService.pushOrderPrivateCar(id);
+                case 2:
+                    return orderTaxiService.pushOrderTaxi(id);
+            }
+            return ResultUtil.success();
+        } catch (Exception e) {
+            e.printStackTrace();
+            return ResultUtil.runErr();
+        }
+    }
+
+
+    /**
+     * 获取服务中的详情数据
+     *
+     * @param orderId
+     * @param orderType
+     * @return
+     */
+    @ResponseBody
+    @PostMapping("/api/order/queryOrderInfo")
+    @ApiOperation(value = "获取服务中的详情数据", tags = {"用户端-服务中"}, notes = "", response = OrderInfoWarpper.class)
+    @ApiImplicitParams({
+            @ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"),
+            @ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=城际)", name = "orderType", required = true, dataType = "int"),
+            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
+    })
+    public ResultUtil<OrderInfoWarpper> queryOrderInfo(Integer orderId, Integer orderType, HttpServletRequest request) {
+        try {
+            Integer uid = userInfoService.getUserIdFormRedis(request);
+            if (null == uid) {
+                return ResultUtil.tokenErr();
+            }
+            Map<String, Object> map = null;
+            List<OrderAdditionalFeeWarpper> list = new ArrayList<>();
+            switch (orderType) {
+                case 1://专车
+                    map = orderPrivateCarService.queryOrderInfo(uid, orderId);
+                    break;
+                case 2://出租车
+                    map = orderTaxiService.queryOrderInfo(orderId);
+                    break;
+                case 3://跨城
+                    map = orderCrossCityService.queryOrderInfo(orderId);
+                    break;
+            }
+
+            if (map.get("companyId") != null) {
+                Company companyId = companyService.selectById(map.get("companyId").toString());
+                map.put("companyName", companyId.getName());
+            } else {
+                map.put("companyName", "");
+            }
+            if (map.get("telX") != null) {
+                map.put("driverPhone", map.get("telX"));
+            }
+            List<OrderAdditionalFee> orderAdditionalFees = orderAdditionalFeeService.selectList(new EntityWrapper<OrderAdditionalFee>().eq("orderType", orderType).eq("orderId", orderId));
+            orderAdditionalFees.forEach(orderAdditionalFee -> {
+                AdditionalFee additionalFee = additionalFeeService.selectById(orderAdditionalFee.getAdditionalFeeId());
+                OrderAdditionalFeeWarpper orderAdditionalFeeWarpper = new OrderAdditionalFeeWarpper();
+                orderAdditionalFeeWarpper.setName(additionalFee.getName());
+                orderAdditionalFeeWarpper.setAdditionalFee(orderAdditionalFee.getAmount());
+                list.add(orderAdditionalFeeWarpper);
+            });
+            OrderInfoWarpper orderInfoWarpper = OrderInfoWarpper.getOrderInfoWarpper(map, list);
+            orderType = orderInfoWarpper.getOrderType();
+            if (orderType == 1) {
+
+                if (orderInfoWarpper.getPid() != 0) {
+                    orderId = orderInfoWarpper.getPid();
+                }
+                List<Map<String, Object>> orderList = orderPrivateCarService.queryOrderInfo2(orderId, 4, null, null);
+                if (!orderList.isEmpty()) {
+                    orderInfoWarpper.setMeetOrderList(JSON.parseArray(JSON.toJSONString(orderList), OrderCrossCityInfoWrapper.class));
+                } else {
+                    orderInfoWarpper.setMeetOrderList(new ArrayList<>());
+                }
+                orderList = orderPrivateCarService.queryOrderInfo2(orderId, 6, null, null);
+                if (orderInfoWarpper.getState() > 1 && orderInfoWarpper.getDriverId() != 0) {
+                    String value = (String) redisTemplate.opsForValue().get("dache:DRIVER" + String.valueOf(orderInfoWarpper.getDriverId()));
+                    if (value == null || value.equals("")) {
+                        if (orderList.isEmpty()) {
+                            orderList = orderPrivateCarService.queryOrderInfo2(orderId, 5, "0", "0");
+                        } else {
+                            List<Map<String, Object>> orderList1 = orderPrivateCarService.queryOrderInfo2(orderId, 5, "0", "0");
+                            if (!orderList1.isEmpty()) {
+                                orderList.addAll(orderList1);
+                            }
+                        }
+                    } else {
+                        if (orderList.isEmpty()) {
+                            orderList = orderPrivateCarService.queryOrderInfo2(orderId, 5, value.split(",")[0], value.split(",")[1]);
+                        } else {
+                            List<Map<String, Object>> orderList1 = orderPrivateCarService.queryOrderInfo2(orderId, 5, value.split(",")[0], value.split(",")[1]);
+                            if (!orderList1.isEmpty()) {
+                                orderList.addAll(orderList1);
+                            }
+                        }
+                    }
+                }
+
+
+                if (!orderList.isEmpty()) {
+                    orderInfoWarpper.setGiveOrderList(JSON.parseArray(JSON.toJSONString(orderList), OrderCrossCityInfoWrapper.class));
+                } else {
+                    orderInfoWarpper.setGiveOrderList(new ArrayList<>());
+                }
+
+                OrderPrivateCar orderPrivateCar = orderPrivateCarService.selectById(orderId);
+                if (orderPrivateCar.getState() > 1) {
+                    Map<String, String> geocode = gdMapGeocodingUtil.geocode(orderPrivateCar.getStartLon().toString(), orderPrivateCar.getStartLat().toString());
+                    String provinceCode = geocode.get("provinceCode");
+                    String cityCode = geocode.get("cityCode");
+                    String districtCode = geocode.get("districtCode");
+                    //获取匹配的城市价格配置
+                    SystemPriceCity systemPriceCity = systemPriceCityService.queryOne(provinceCode, cityCode, districtCode);
+                    if (null == systemPriceCity) {
+                        return ResultUtil.error("请先配置价格规则");
+                    }
+                    if (orderPrivateCar.getServerCarModelId() == null) {
+                        orderPrivateCar.setServerCarModelId(0);
+                    }
+                    Map<String, Object> query1 = systemPriceMapper.query(orderPrivateCar.getCompanyId(), 1, orderPrivateCar.getServerCarModelId(), systemPriceCity.getId());
 //					System.out.println("参数:" + orderPrivateCar.getCompanyId() + "|" + orderPrivateCar.getServerCarModelId());
 //					System.out.println("query1:" + query1);
-					//开始根据不同的方式计算金额
-					if (query1 != null) {
-						JSONObject jsonObject = JSON.parseObject(query1.get("content").toString());//等待费
-						JSONObject contentPutOne = JSON.parseObject(query1.get("contentPutOne").toString());//一人拼成
-						JSONObject contentNotOne = JSON.parseObject(query1.get("contentNotOne").toString());//一人未拼成
-						JSONObject contentPutTwo = JSON.parseObject(query1.get("contentPutTwo").toString());//2人拼成
-						JSONObject contentNotTwo = JSON.parseObject(query1.get("contentNotTwo").toString());//2人未拼成
-						JSONObject contentPutThree = JSON.parseObject(query1.get("contentPutThree").toString());//3人拼成
-						JSONObject contentNotThree = JSON.parseObject(query1.get("contentNotThree").toString());//3人未拼成
-						JSONObject contentExclusive = JSON.parseObject(query1.get("contentExclusive").toString());//独享
-						JSONObject contentPrice = JSON.parseObject(query1.get("contentPrice").toString());//一口价
-						//一口价
-						orderInfoWarpper.setFareTypeNote1(query1.get("fareTypeNote1").toString());
-						orderInfoWarpper.setFareTypeNote2(query1.get("fareTypeNote2").toString());
-						orderInfoWarpper.setFareTypeNote3(query1.get("fareTypeNote3").toString());
-						orderInfoWarpper.setContentPutOne(contentPutOne);
-						orderInfoWarpper.setContentNotOne(contentNotOne);
-						
-						orderInfoWarpper.setContentPutTwo(contentPutTwo);
-						orderInfoWarpper.setContentNotTwo(contentNotTwo);
-						
-						orderInfoWarpper.setContentPutThree(contentPutThree);
-						orderInfoWarpper.setContentNotThree(contentNotThree);
-						
-						
-						orderInfoWarpper.setContentExclusive(contentExclusive);
-						orderInfoWarpper.setContentPrice(contentPrice);
-					}
-				} else {
-					orderInfoWarpper.setContentPutOne(new JSONObject());
-					orderInfoWarpper.setContentNotOne(new JSONObject());
-					
-					orderInfoWarpper.setContentPutTwo(new JSONObject());
-					orderInfoWarpper.setContentNotTwo(new JSONObject());
-					
-					orderInfoWarpper.setContentPutThree(new JSONObject());
-					orderInfoWarpper.setContentNotThree(new JSONObject());
-					
-					
-					orderInfoWarpper.setContentExclusive(new JSONObject());
-					orderInfoWarpper.setContentPrice(new JSONObject());
-				}
-				
-			} else {
-				orderInfoWarpper.setContentPutOne(new JSONObject());
-				orderInfoWarpper.setContentNotOne(new JSONObject());
-				
-				orderInfoWarpper.setContentPutTwo(new JSONObject());
-				orderInfoWarpper.setContentNotTwo(new JSONObject());
-				
-				orderInfoWarpper.setContentPutThree(new JSONObject());
-				orderInfoWarpper.setContentNotThree(new JSONObject());
-				
-				
-				orderInfoWarpper.setContentExclusive(new JSONObject());
-				orderInfoWarpper.setContentPrice(new JSONObject());
-			}
-			String arriveTime = orderInfoWarpper.getArriveTime();
-			if (ToolUtil.isNotEmpty(arriveTime)) {
-				orderInfoWarpper.setTime(arriveTime.substring(11, arriveTime.length() - 3));
-			}
-			return ResultUtil.success(orderInfoWarpper);
-		} catch (Exception e) {
-			e.printStackTrace();
-			return ResultUtil.runErr();
-		}
-	}
-	
-	
-	@ResponseBody
-	@PostMapping("/api/order/addAppeal")
-	@ApiOperation(value = "发起申诉", tags = {"用户端-服务中"}, notes = "", response = OrderInfoWarpper.class)
-	@ApiImplicitParams({
-			@ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"),
-			@ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=城际)", name = "orderType", required = true, dataType = "int"),
-			@ApiImplicitParam(value = "申诉描述", name = "abnormalIntro", required = true, dataType = "String"),
-			@ApiImplicitParam(value = "申诉图片", name = "abnormalImg", required = true, dataType = "String"),
-			@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
-	})
-	public ResultUtil<OrderInfoWarpper> addAppeal(Integer orderId, Integer orderType, String abnormalIntro, String abnormalImg, HttpServletRequest request) {
-		try {
-			Integer uid = userInfoService.getUserIdFormRedis(request);
-			if (null == uid) {
-				return ResultUtil.tokenErr();
-			}
-			switch (orderType) {
-				case 1://专车
-					orderPrivateCarService.addAppeal(uid, orderId, abnormalIntro, abnormalImg);
-					break;
-				case 2://出租车
-					orderTaxiService.addAppeal(uid, orderId, abnormalIntro, abnormalImg);
-					break;
-				case 3://跨城
-					orderCrossCityService.addAppeal(uid, orderId, abnormalIntro, abnormalImg);
-					break;
-			}
-			return ResultUtil.success();
-		} catch (Exception e) {
-			e.printStackTrace();
-			return ResultUtil.runErr();
-		}
-	}
-	
-	
-	/**
-	 * 获取服务中的详情数据
-	 *
-	 * @param orderId
-	 * @param orderType
-	 * @return
-	 */
-	@ResponseBody
-	@PostMapping("/base/order/queryOrderInfo_")
-	@ApiOperation(value = "获取服务中的详情数据", tags = {"分享专用"}, notes = "")
-	@ApiImplicitParams({
-			@ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"),
-			@ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=城际)", name = "orderType", required = true, dataType = "int"),
-	})
-	public ResultUtil<OrderInfoWarpper> queryOrderInfo_(Integer orderId, Integer orderType) {
-		try {
-			Map<String, Object> map = null;
-			List<OrderAdditionalFeeWarpper> list = new ArrayList<>();
-			switch (orderType) {
-				case 1://专车
-					map = orderPrivateCarService.queryOrderInfo(null, orderId);
-					break;
-				case 2://出租车
-					map = orderTaxiService.queryOrderInfo(orderId);
-					break;
-				case 3://跨城
-					map = orderCrossCityService.queryOrderInfo(orderId);
-					break;
-			}
-			if (null != map.get("telX")) {
-				map.put("driverPhone", map.get("telX"));
-			}
-			List<OrderAdditionalFee> orderAdditionalFees = orderAdditionalFeeService.selectList(new EntityWrapper<OrderAdditionalFee>().eq("orderType", orderType).eq("orderId", orderId));
-			orderAdditionalFees.forEach(orderAdditionalFee -> {
-				AdditionalFee additionalFee = additionalFeeService.selectById(orderAdditionalFee.getAdditionalFeeId());
-				OrderAdditionalFeeWarpper orderAdditionalFeeWarpper = new OrderAdditionalFeeWarpper();
-				orderAdditionalFeeWarpper.setName(additionalFee.getName());
-				orderAdditionalFeeWarpper.setAdditionalFee(orderAdditionalFee.getAmount());
-				list.add(orderAdditionalFeeWarpper);
-			});
-			return ResultUtil.success(OrderInfoWarpper.getOrderInfoWarpper(map, list));
-		} catch (Exception e) {
-			e.printStackTrace();
-			return ResultUtil.runErr();
-		}
-	}
-	
-	
-	/**
-	 * 获取订单取消支付页面详情
-	 *
-	 * @param orderId
-	 * @param orderType
-	 * @return
-	 */
-	@ResponseBody
-	@PostMapping("/api/order/queryCancelPage")
-	@ApiOperation(value = "获取订单取消支付页面详情", tags = {"用户端-服务中"}, notes = "")
-	@ApiImplicitParams({
-			@ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"),
-			@ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=城际)", name = "orderType", required = true, dataType = "int"),
-			@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
-	})
-	public ResultUtil<OrderInfoWarpper> queryCancelPage(Integer orderId, Integer orderType, HttpServletRequest request) {
-		try {
-			Integer uid = userInfoService.getUserIdFormRedis(request);
-			if (null == uid) {
-				return ResultUtil.tokenErr();
-			}
-			Map<String, Object> map = null;
-			List<OrderAdditionalFeeWarpper> list = new ArrayList<>();
-			switch (orderType) {
-				case 1://专车
-					map = orderPrivateCarService.queryOrderInfo(uid, orderId);
-					ResultUtil<BaseWarpper> res = orderPrivateCarService.queryCancleAmount(orderId);
-					map.put("cancelPayMoney", res.getData().getAmount());
-					break;
-				case 2://出租车
-					map = orderTaxiService.queryOrderInfo(orderId);
-					ResultUtil<BaseWarpper> re = orderTaxiService.queryCancleAmount(orderId);
-					map.put("cancelPayMoney", re.getData().getAmount());
-					break;
-				case 3://跨城
-					map = orderCrossCityService.queryOrderInfo(orderId);
-					ResultUtil<BaseWarpper> r = orderCrossCityService.queryCancleAmount(orderId);
-					map.put("cancelPayMoney", r.getData().getAmount());
-					break;
-			}
-			if (null != map.get("telX")) {
-				map.put("driverPhone", map.get("telX"));
-			}
-			List<OrderAdditionalFee> orderAdditionalFees = orderAdditionalFeeService.selectList(new EntityWrapper<OrderAdditionalFee>().eq("orderType", orderType).eq("orderId", orderId));
-			orderAdditionalFees.forEach(orderAdditionalFee -> {
-				AdditionalFee additionalFee = additionalFeeService.selectById(orderAdditionalFee.getAdditionalFeeId());
-				OrderAdditionalFeeWarpper orderAdditionalFeeWarpper = new OrderAdditionalFeeWarpper();
-				orderAdditionalFeeWarpper.setName(additionalFee.getName());
-				orderAdditionalFeeWarpper.setAdditionalFee(orderAdditionalFee.getAmount());
-				list.add(orderAdditionalFeeWarpper);
-			});
-			return ResultUtil.success(OrderInfoWarpper.getOrderInfoWarpper(map, list));
-		} catch (Exception e) {
-			e.printStackTrace();
-			return ResultUtil.runErr();
-		}
-	}
-	
-	
-	/**
-	 * 获取订单轨迹坐标
-	 *
-	 * @param orderId
-	 * @param orderType
-	 * @return
-	 */
-	@ResponseBody
-	@PostMapping("/api/order/queryTrack")
-	@ApiOperation(value = "获取订单轨迹坐标", tags = {"用户端-个人中心"}, notes = "")
-	@ApiImplicitParams({
-			@ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"),
-			@ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=城际)", name = "orderType", required = true, dataType = "int"),
-			@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
-	})
-	public ResultUtil queryTrack(Integer orderId, Integer orderType) {
-		try {
-			List<Map<String, Object>> list = orderPositionService.queryTrack(orderId, orderType);
-			return ResultUtil.success(list);
-		} catch (Exception e) {
-			e.printStackTrace();
-			return ResultUtil.runErr();
-		}
-	}
-	
-	
-	/**
-	 * 获取订单轨迹坐标
-	 *
-	 * @param orderId
-	 * @param orderType
-	 * @return
-	 */
-	@ResponseBody
-	@PostMapping("/base/order/queryTrack_")
-	@ApiOperation(value = "获取订单轨迹坐标", tags = {"分享专用"}, notes = "")
-	@ApiImplicitParams({
-			@ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"),
-			@ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=城际)", name = "orderType", required = true, dataType = "int"),
-	})
-	public ResultUtil queryTrack_(Integer orderId, Integer orderType) {
-		try {
-			List<Map<String, Object>> list = orderPositionService.queryTrack(orderId, orderType);
-			return ResultUtil.success(list);
-		} catch (Exception e) {
-			e.printStackTrace();
-			return ResultUtil.runErr();
-		}
-	}
-	
-	
-	/**
-	 * 发送订单状态
-	 *
-	 * @param id
-	 * @param orderType
-	 * @return
-	 */
-	@ResponseBody
-	@PostMapping("/base/order/sendOrderState")
-	public ResultUtil cancelOrder(Integer id, Integer orderType) {
-		try {
-			Integer driverId = null;
-			Integer userId = null;
-			Integer state = 0;
-			switch (orderType) {
-				case 1:
-					OrderPrivateCar orderPrivateCar = orderPrivateCarService.selectById(id);
-					driverId = orderPrivateCar.getDriverId();
-					userId = orderPrivateCar.getUserId();
-					state = orderPrivateCar.getState();
-					if (null != driverId) {
-						pushUtil.pushOrderState(2, driverId, id, orderType, state, 0);
-					}
-					break;
-				case 2:
-					OrderTaxi orderTaxi = orderTaxiService.selectById(id);
-					driverId = orderTaxi.getDriverId();
-					userId = orderTaxi.getUserId();
-					state = orderTaxi.getState();
-					if (null != driverId) {
-						pushUtil.pushOrderState(2, driverId, id, orderType, state, 0);
-					}
-					break;
-				case 3:
-					OrderCrossCity orderCrossCity = orderCrossCityService.selectById(id);
-					driverId = orderCrossCity.getDriverId();
-					userId = orderCrossCity.getUserId();
-					state = orderCrossCity.getState();
-					if (orderCrossCity.getPayMoney() == null && state == 10) {//支付的情况才推送取消
-						break;
-					} else {
-						pushUtil.pushOrderState(2, driverId, id, orderType, state, 0);
-					}
-					break;
-				case 4:
-					OrderLogistics orderLogistics = orderLogisticsService.selectById(id);
-					driverId = orderLogistics.getDriverId();
-					userId = orderLogistics.getUserId();
-					state = orderLogistics.getState();
-					if (orderLogistics.getPayMoney() == null && state == 10) {//支付的情况才推送取消
-						break;
-					} else {
-						pushUtil.pushOrderState(2, driverId, id, orderType, state, 0);
-					}
-					break;
-				case 5:
-					OrderLogistics orderLogistics1 = orderLogisticsService.selectById(id);
-					driverId = orderLogistics1.getDriverId();
-					userId = orderLogistics1.getUserId();
-					state = orderLogistics1.getState();
-					if (orderLogistics1.getPayMoney() == null && state == 10) {//支付的情况才推送取消
-						break;
-					} else {
-						pushUtil.pushOrderState(2, driverId, id, orderType, state, 0);
-					}
-					break;
-			}
-			pushUtil.pushOrderState(1, userId, id, orderType, state, 0);
-			return ResultUtil.success();
-		} catch (Exception e) {
-			e.printStackTrace();
-			return ResultUtil.runErr();
-		}
-	}
-	
-	
-	/**
-	 * APP调用微信小程序支付
-	 *
-	 * @param orderId
-	 * @param orderType
-	 * @param type
-	 * @param content
-	 * @return
-	 */
-	@ResponseBody
-	@PostMapping("/base/order/weChatPay")
-	@ApiOperation(value = "APP调用微信小程序支付", tags = {"用户端-服务中"}, notes = "")
-	@ApiImplicitParams({
-			@ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"),
-			@ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=城际,4=小件物流-同城,5=小件物流-跨城)", name = "orderType", required = true, dataType = "int"),
-			@ApiImplicitParam(value = "业务类型(1=订单完成支付,2=订单取消支付,3=司机端改派支付,4=余额充值,5=小件物流差价支付)", name = "type", required = true, dataType = "int"),
-			@ApiImplicitParam(value = "端口类型(1=用户端,2=司机端)", name = "userType", required = true, dataType = "int"),
-			@ApiImplicitParam(value = "用户id", name = "uid", required = true, dataType = "int"),
-			@ApiImplicitParam(value = "附加参数{\"key\":\"value\"}", name = "content", required = true, dataType = "string")
-	})
-	public ResultUtil weChatPay(Integer orderId, Integer orderType, Integer type, Integer userType, Integer uid, String content) {
-		try {
-			return orderService.weChatPay(orderId, orderType, type, userType, uid, content);
-		} catch (Exception e) {
-			e.printStackTrace();
-			return ResultUtil.runErr();
-		}
-	}
-	
-	
-	@ResponseBody
-	@PostMapping("/base/order/queryUserOpenId")
-	@ApiOperation(value = "获取用户的微信openid", tags = {"用户端-服务中"}, notes = "")
-	@ApiImplicitParams({
-			@ApiImplicitParam(value = "端口类型(1=用户端,2=司机端)", name = "userType", required = true, dataType = "int"),
-			@ApiImplicitParam(value = "用户id", name = "uid", required = true, dataType = "int")
-	})
-	public ResultUtil queryUserOpenId(Integer uid, Integer userType) {
-		if (userType == 2) {
-			Driver driver = driverService.selectById(uid);
-			return ResultUtil.success(driver.getAppletsOpenId());
-		}
-		if (userType == 1) {
-			UserInfo userInfo = userInfoService.selectById(uid);
-			return ResultUtil.success(userInfo.getAppletsOpenId());
-		}
-		return ResultUtil.success();
-	}
-	
-	
-	@ResponseBody
-	@PostMapping("/base/order/getWeChatOpenId")
-	@ApiOperation(value = "用户授权获取小程序openid", tags = {"用户端-服务中"}, notes = "")
-	@ApiImplicitParams({
-			@ApiImplicitParam(value = "端口类型(1=用户端,2=司机端)", name = "userType", required = true, dataType = "int"),
-			@ApiImplicitParam(value = "用户id", name = "uid", required = true, dataType = "int"),
-			@ApiImplicitParam(value = "小程序授权临时凭证", name = "jscode", required = true, dataType = "string"),
-	})
-	public ResultUtil getWeChatOpenId(Integer uid, Integer userType, String jscode) {
-		Map<String, String> map = weChatUtil.code2Session(jscode);
-		if (userType == 2) {
-			Driver driver = driverService.selectById(uid);
-			driver.setAppletsOpenId(map.get("openid"));
-			driverService.updateById(driver);
-		}
-		if (userType == 1) {
-			UserInfo userInfo = userInfoService.selectById(uid);
-			userInfo.setAppletsOpenId(map.get("openid"));
-			userInfoService.updateById(userInfo);
-		}
-		return ResultUtil.success();
-	}
-	
-	
-	/**
-	 * 获取预计行驶时间
-	 *
-	 * @param slon
-	 * @param slat
-	 * @param elon
-	 * @param elat
-	 * @return
-	 */
-	@ResponseBody
-	@PostMapping("/base/taxi/queryExpectedTime")
-	@ApiOperation(value = "选择地点和终点后获取预计行驶时长", tags = {"用户端-出租车", "用户端-专车"}, notes = "")
-	@ApiImplicitParams({
-			@ApiImplicitParam(value = "起点经度", name = "slon", required = true, dataType = "double"),
-			@ApiImplicitParam(value = "起点纬度", name = "slat", required = true, dataType = "double"),
-			@ApiImplicitParam(value = "终点经度", name = "elon", required = true, dataType = "double"),
-			@ApiImplicitParam(value = "终点纬度", name = "elat", required = true, dataType = "double")
-	})
-	public ResultUtil<BaseWarpper> queryExpectedTime(Double slon, Double slat, Double elon, Double elat) {
-		try {
-			return orderService.queryExpectedTime(slon, slat, elon, elat);
-		} catch (Exception e) {
-			e.printStackTrace();
-			return ResultUtil.runErr();
-		}
-	}
-	
-	
-	/**
-	 * 获取取消订单需要支付的费用金额
-	 *
-	 * @param id
-	 * @return
-	 */
-	@ResponseBody
-	@PostMapping("/api/taxi/queryCancleAmount")
-	@ApiOperation(value = "获取取消订单需要支付的费用金额", tags = {"用户端-出租车", "用户端-专车"}, notes = "返回金额为0则不需要支付")
-	@ApiImplicitParams({
-			@ApiImplicitParam(value = "订单id", name = "id", required = true, dataType = "int"),
-			@ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=跨城)", name = "orderType", required = true, dataType = "int"),
-			@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
-	})
-	public ResultUtil<BaseWarpper> queryCancleAmount(Integer id, Integer orderType) {
-		try {
-			switch (orderType) {
-				case 1:
-					return orderPrivateCarService.queryCancleAmount(id);
-				case 2:
-					return orderTaxiService.queryCancleAmount(id);
-				case 3:
-					return orderCrossCityService.queryCancleAmount(id);
-			}
-			return ResultUtil.success();
-		} catch (Exception e) {
-			e.printStackTrace();
-			return ResultUtil.runErr();
-		}
-	}
-	
-	
-	/**
-	 * 添加取消记录
-	 *
-	 * @param id
-	 * @param reason
-	 * @param remark
-	 * @param request
-	 * @return
-	 */
-	@ResponseBody
-	@PostMapping("/api/taxi/addCancle")
-	@ApiOperation(value = "添加取消记录", tags = {"用户端-出租车", "用户端-专车", "用户端-跨城"}, notes = "")
-	@ApiImplicitParams({
-			@ApiImplicitParam(value = "订单id", name = "id", required = true, dataType = "int"),
-			@ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=跨城)", name = "orderType", required = true, dataType = "int"),
-			@ApiImplicitParam(value = "取消原因", name = "reason", required = true, dataType = "string"),
-			@ApiImplicitParam(value = "备注", name = "remark", required = false, dataType = "string"),
-			@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
-	})
-	public ResultUtil addCancle(Integer id, Integer orderType, String reason, String remark, HttpServletRequest request) {
-		try {
-			Integer uid = userInfoService.getUserIdFormRedis(request);
-			if (null == uid) {
-				return ResultUtil.tokenErr();
-			}
-			switch (orderType) {
-				case 1:
-					return orderPrivateCarService.addCancle(id, reason, remark, uid);
-				case 2:
-					return orderTaxiService.addCancle(id, reason, remark, uid);
-				case 3:
-					return orderCrossCityService.addCancle(id, reason, remark, uid);
-				case 4:
-					return orderLogisticsService.addCancle(id, reason, remark, uid);
-				case 5:
-					return orderLogisticsService.addCancle(id, reason, remark, uid);
-				case 6:
-					return orderCharteredCarService.addCancle(id, reason, remark, uid);
-			}
-			return ResultUtil.success();
-		} catch (Exception e) {
-			e.printStackTrace();
-			return ResultUtil.runErr();
-		}
-	}
-	
-	
-	/**
-	 * 取消操作支付
-	 *
-	 * @param id
-	 * @param payType
-	 * @return
-	 */
-	@ResponseBody
-	@PostMapping("/api/taxi/cancleOrderTaxi")
-	@ApiOperation(value = "取消操作支付", tags = {"用户端-出租车", "用户端-专车", "用户端-跨城"}, notes = "")
-	@ApiImplicitParams({
-			@ApiImplicitParam(value = "订单id", name = "id", required = true, dataType = "int"),
-			@ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=跨城)", name = "orderType", required = true, dataType = "int"),
-			@ApiImplicitParam(value = "支付方式(1=微信,2=支付宝,3=余额)", name = "payType", required = true, dataType = "int"),
-			@ApiImplicitParam(value = "取消单id(取消操作返回)", name = "cancleId", required = false, dataType = "int"),
-			@ApiImplicitParam(value = "支付端(1=用户APP端,2=司机APP端,3=用户小程序端)", name = "type", required = true, dataType = "int"),
-			@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
-	})
-	public ResultUtil cancleOrderTaxi(Integer id, Integer orderType, Integer payType, Integer cancleId, Integer type, HttpServletRequest request) {
-		try {
-			Integer uid = userInfoService.getUserIdFormRedis(request);
-			if (null == uid) {
-				return ResultUtil.tokenErr();
-			}
-			switch (orderType) {
-				case 1:
-					return orderPrivateCarService.cancleOrderPrivateCar(id, payType, cancleId, type);
-				case 2:
-					return orderTaxiService.cancleOrderTaxi(id, payType, cancleId, type);
-				case 3:
-					return orderCrossCityService.cancleOrderCrossCity(id, payType, cancleId, type);
-			}
-			return ResultUtil.success();
-		} catch (Exception e) {
-			e.printStackTrace();
-			return ResultUtil.runErr();
-		}
-	}
-	
-	
-	/**
-	 * 投诉操作
-	 *
-	 * @param driverId
-	 * @param reason
-	 * @param description
-	 * @param request
-	 * @return
-	 */
-	@ResponseBody
-	@PostMapping("/api/taxi/complaintService")
-	@ApiOperation(value = "添加投诉操作", tags = {"用户端-出租车", "用户端-专车", "用户端-跨城"}, notes = "")
-	@ApiImplicitParams({
-			@ApiImplicitParam(value = "司机id", name = "driverId", required = true, dataType = "int"),
-			@ApiImplicitParam(value = "投诉原因", name = "reason", required = true, dataType = "String"),
-			@ApiImplicitParam(value = "投诉描述", name = "description", required = true, dataType = "String"),
-			@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
-	})
-	public ResultUtil complaintService(Integer driverId, String reason, String description, HttpServletRequest request) {
-		try {
-			Integer uid = userInfoService.getUserIdFormRedis(request);
-			if (null == uid) {
-				return ResultUtil.tokenErr();
-			}
-			complaintService.saveData(driverId, reason, description, uid);
-			return ResultUtil.success();
-		} catch (Exception e) {
-			e.printStackTrace();
-			return ResultUtil.runErr();
-		}
-	}
-	
-	
-	/**
-	 * 支付页面获取可用优惠券数量和余额
-	 *
-	 * @param orderId
-	 * @param request
-	 * @return
-	 */
-	@ResponseBody
-	@PostMapping("/api/taxi/queryBalance")
-	@ApiOperation(value = "支付页面获取可用优惠券数量和余额", tags = {"用户端-出租车", "用户端-专车", "用户端-跨城"}, notes = "balance=余额,coupon=优惠券")
-	@ApiImplicitParams({
-			@ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"),
-			@ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=跨城)", name = "orderType", required = true, dataType = "int"),
-			@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
-	})
-	public ResultUtil queryBalance(Integer orderId, Integer orderType, HttpServletRequest request) {
-		try {
-			Integer uid = userInfoService.getUserIdFormRedis(request);
-			if (null == uid) {
-				return ResultUtil.tokenErr();
-			}
-			Map<String, Object> map = new HashMap<>();
-			switch (orderType) {
-				case 1:
-					map = orderPrivateCarService.queryBalance(orderId, uid);
-					break;
-				case 2:
-					map = orderTaxiService.queryBalance(orderId, uid);
-					break;
-				case 3:
-					map = orderCrossCityService.queryBalance(orderId, uid);
-					break;
-				case 4:
-					map = orderLogisticsService.queryBalance(orderId, uid);
-					break;
-				case 5:
-					map = orderLogisticsService.queryBalance(orderId, uid);
-					break;
-			}
-			return ResultUtil.success(map);
-		} catch (Exception e) {
-			e.printStackTrace();
-			return ResultUtil.runErr();
-		}
-	}
-	
-	
-	/**
-	 * 支付页面获取余额和优惠数据
-	 *
-	 * @param orderId
-	 * @param request
-	 * @return
-	 */
-	@ResponseBody
-	@PostMapping("/api/taxi/queryBalance1")
-	@ApiOperation(value = "1.0-支付页面获取余额和优惠数据", tags = {"用户端-出租车", "用户端-专车", "用户端-跨城", "用户端-小件物流"})
-	@ApiImplicitParams({
-			@ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"),
-			@ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=跨城,4=同城小件物流,5=跨城小件物流)", name = "orderType", required = true, dataType = "int"),
-			@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
-	})
-	public ResultUtil<PreferentialDataVo> queryBalance1(Integer orderId, Integer orderType, HttpServletRequest request) {
-		try {
-			Integer uid = userInfoService.getUserIdFormRedis(request);
-			if (null == uid) {
-				return ResultUtil.tokenErr();
-			}
-			PreferentialDataVo map = new PreferentialDataVo();
-			switch (orderType) {
-				case 1:
-					map = orderPrivateCarService.queryBalance1(orderId, uid);
-					break;
-				case 2:
-					map = orderTaxiService.queryBalance1(orderId, uid);
-					break;
-				case 3:
-					map = orderCrossCityService.queryBalance1(orderId, uid);
-					break;
-				case 4:
-					map = orderLogisticsService.queryBalance1(orderId, uid);
-					break;
-				case 5:
-					map = orderLogisticsService.queryBalance1(orderId, uid);
-					break;
-				case 6:
-					map = orderCharteredCarService.queryBalance1(orderId, uid);
-					break;
-				case 7:
+                    //开始根据不同的方式计算金额
+                    if (query1 != null) {
+                        JSONObject jsonObject = JSON.parseObject(query1.get("content").toString());//等待费
+                        JSONObject contentPutOne = JSON.parseObject(query1.get("contentPutOne").toString());//一人拼成
+                        JSONObject contentNotOne = JSON.parseObject(query1.get("contentNotOne").toString());//一人未拼成
+                        JSONObject contentPutTwo = JSON.parseObject(query1.get("contentPutTwo").toString());//2人拼成
+                        JSONObject contentNotTwo = JSON.parseObject(query1.get("contentNotTwo").toString());//2人未拼成
+                        JSONObject contentPutThree = JSON.parseObject(query1.get("contentPutThree").toString());//3人拼成
+                        JSONObject contentNotThree = JSON.parseObject(query1.get("contentNotThree").toString());//3人未拼成
+                        JSONObject contentExclusive = JSON.parseObject(query1.get("contentExclusive").toString());//独享
+                        JSONObject contentPrice = JSON.parseObject(query1.get("contentPrice").toString());//一口价
+                        //一口价
+                        orderInfoWarpper.setFareTypeNote1(query1.get("fareTypeNote1").toString());
+                        orderInfoWarpper.setFareTypeNote2(query1.get("fareTypeNote2").toString());
+                        orderInfoWarpper.setFareTypeNote3(query1.get("fareTypeNote3").toString());
+                        orderInfoWarpper.setContentPutOne(contentPutOne);
+                        orderInfoWarpper.setContentNotOne(contentNotOne);
+
+                        orderInfoWarpper.setContentPutTwo(contentPutTwo);
+                        orderInfoWarpper.setContentNotTwo(contentNotTwo);
+
+                        orderInfoWarpper.setContentPutThree(contentPutThree);
+                        orderInfoWarpper.setContentNotThree(contentNotThree);
+
+
+                        orderInfoWarpper.setContentExclusive(contentExclusive);
+                        orderInfoWarpper.setContentPrice(contentPrice);
+                    }
+                } else {
+                    orderInfoWarpper.setContentPutOne(new JSONObject());
+                    orderInfoWarpper.setContentNotOne(new JSONObject());
+
+                    orderInfoWarpper.setContentPutTwo(new JSONObject());
+                    orderInfoWarpper.setContentNotTwo(new JSONObject());
+
+                    orderInfoWarpper.setContentPutThree(new JSONObject());
+                    orderInfoWarpper.setContentNotThree(new JSONObject());
+
+
+                    orderInfoWarpper.setContentExclusive(new JSONObject());
+                    orderInfoWarpper.setContentPrice(new JSONObject());
+                }
+
+            } else {
+                orderInfoWarpper.setContentPutOne(new JSONObject());
+                orderInfoWarpper.setContentNotOne(new JSONObject());
+
+                orderInfoWarpper.setContentPutTwo(new JSONObject());
+                orderInfoWarpper.setContentNotTwo(new JSONObject());
+
+                orderInfoWarpper.setContentPutThree(new JSONObject());
+                orderInfoWarpper.setContentNotThree(new JSONObject());
+
+
+                orderInfoWarpper.setContentExclusive(new JSONObject());
+                orderInfoWarpper.setContentPrice(new JSONObject());
+            }
+            String arriveTime = orderInfoWarpper.getArriveTime();
+            if (ToolUtil.isNotEmpty(arriveTime)) {
+                orderInfoWarpper.setTime(arriveTime.substring(11, arriveTime.length() - 3));
+            }
+            return ResultUtil.success(orderInfoWarpper);
+        } catch (Exception e) {
+            e.printStackTrace();
+            return ResultUtil.runErr();
+        }
+    }
+
+
+    @ResponseBody
+    @PostMapping("/api/order/addAppeal")
+    @ApiOperation(value = "发起申诉", tags = {"用户端-服务中"}, notes = "", response = OrderInfoWarpper.class)
+    @ApiImplicitParams({
+            @ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"),
+            @ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=城际)", name = "orderType", required = true, dataType = "int"),
+            @ApiImplicitParam(value = "申诉描述", name = "abnormalIntro", required = true, dataType = "String"),
+            @ApiImplicitParam(value = "申诉图片", name = "abnormalImg", required = true, dataType = "String"),
+            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
+    })
+    public ResultUtil<OrderInfoWarpper> addAppeal(Integer orderId, Integer orderType, String abnormalIntro, String abnormalImg, HttpServletRequest request) {
+        try {
+            Integer uid = userInfoService.getUserIdFormRedis(request);
+            if (null == uid) {
+                return ResultUtil.tokenErr();
+            }
+            switch (orderType) {
+                case 1://专车
+                    orderPrivateCarService.addAppeal(uid, orderId, abnormalIntro, abnormalImg);
+                    break;
+                case 2://出租车
+                    orderTaxiService.addAppeal(uid, orderId, abnormalIntro, abnormalImg);
+                    break;
+                case 3://跨城
+                    orderCrossCityService.addAppeal(uid, orderId, abnormalIntro, abnormalImg);
+                    break;
+            }
+            return ResultUtil.success();
+        } catch (Exception e) {
+            e.printStackTrace();
+            return ResultUtil.runErr();
+        }
+    }
+
+
+    /**
+     * 获取服务中的详情数据
+     *
+     * @param orderId
+     * @param orderType
+     * @return
+     */
+    @ResponseBody
+    @PostMapping("/base/order/queryOrderInfo_")
+    @ApiOperation(value = "获取服务中的详情数据", tags = {"分享专用"}, notes = "")
+    @ApiImplicitParams({
+            @ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"),
+            @ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=城际)", name = "orderType", required = true, dataType = "int"),
+    })
+    public ResultUtil<OrderInfoWarpper> queryOrderInfo_(Integer orderId, Integer orderType) {
+        try {
+            Map<String, Object> map = null;
+            List<OrderAdditionalFeeWarpper> list = new ArrayList<>();
+            switch (orderType) {
+                case 1://专车
+                    map = orderPrivateCarService.queryOrderInfo(null, orderId);
+                    break;
+                case 2://出租车
+                    map = orderTaxiService.queryOrderInfo(orderId);
+                    break;
+                case 3://跨城
+                    map = orderCrossCityService.queryOrderInfo(orderId);
+                    break;
+            }
+            if (null != map.get("telX")) {
+                map.put("driverPhone", map.get("telX"));
+            }
+            List<OrderAdditionalFee> orderAdditionalFees = orderAdditionalFeeService.selectList(new EntityWrapper<OrderAdditionalFee>().eq("orderType", orderType).eq("orderId", orderId));
+            orderAdditionalFees.forEach(orderAdditionalFee -> {
+                AdditionalFee additionalFee = additionalFeeService.selectById(orderAdditionalFee.getAdditionalFeeId());
+                OrderAdditionalFeeWarpper orderAdditionalFeeWarpper = new OrderAdditionalFeeWarpper();
+                orderAdditionalFeeWarpper.setName(additionalFee.getName());
+                orderAdditionalFeeWarpper.setAdditionalFee(orderAdditionalFee.getAmount());
+                list.add(orderAdditionalFeeWarpper);
+            });
+            return ResultUtil.success(OrderInfoWarpper.getOrderInfoWarpper(map, list));
+        } catch (Exception e) {
+            e.printStackTrace();
+            return ResultUtil.runErr();
+        }
+    }
+
+
+    /**
+     * 获取订单取消支付页面详情
+     *
+     * @param orderId
+     * @param orderType
+     * @return
+     */
+    @ResponseBody
+    @PostMapping("/api/order/queryCancelPage")
+    @ApiOperation(value = "获取订单取消支付页面详情", tags = {"用户端-服务中"}, notes = "")
+    @ApiImplicitParams({
+            @ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"),
+            @ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=城际)", name = "orderType", required = true, dataType = "int"),
+            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
+    })
+    public ResultUtil<OrderInfoWarpper> queryCancelPage(Integer orderId, Integer orderType, HttpServletRequest request) {
+        try {
+            Integer uid = userInfoService.getUserIdFormRedis(request);
+            if (null == uid) {
+                return ResultUtil.tokenErr();
+            }
+            Map<String, Object> map = null;
+            List<OrderAdditionalFeeWarpper> list = new ArrayList<>();
+            switch (orderType) {
+                case 1://专车
+                    map = orderPrivateCarService.queryOrderInfo(uid, orderId);
+                    ResultUtil<BaseWarpper> res = orderPrivateCarService.queryCancleAmount(orderId);
+                    map.put("cancelPayMoney", res.getData().getAmount());
+                    break;
+                case 2://出租车
+                    map = orderTaxiService.queryOrderInfo(orderId);
+                    ResultUtil<BaseWarpper> re = orderTaxiService.queryCancleAmount(orderId);
+                    map.put("cancelPayMoney", re.getData().getAmount());
+                    break;
+                case 3://跨城
+                    map = orderCrossCityService.queryOrderInfo(orderId);
+                    ResultUtil<BaseWarpper> r = orderCrossCityService.queryCancleAmount(orderId);
+                    map.put("cancelPayMoney", r.getData().getAmount());
+                    break;
+            }
+            if (null != map.get("telX")) {
+                map.put("driverPhone", map.get("telX"));
+            }
+            List<OrderAdditionalFee> orderAdditionalFees = orderAdditionalFeeService.selectList(new EntityWrapper<OrderAdditionalFee>().eq("orderType", orderType).eq("orderId", orderId));
+            orderAdditionalFees.forEach(orderAdditionalFee -> {
+                AdditionalFee additionalFee = additionalFeeService.selectById(orderAdditionalFee.getAdditionalFeeId());
+                OrderAdditionalFeeWarpper orderAdditionalFeeWarpper = new OrderAdditionalFeeWarpper();
+                orderAdditionalFeeWarpper.setName(additionalFee.getName());
+                orderAdditionalFeeWarpper.setAdditionalFee(orderAdditionalFee.getAmount());
+                list.add(orderAdditionalFeeWarpper);
+            });
+            return ResultUtil.success(OrderInfoWarpper.getOrderInfoWarpper(map, list));
+        } catch (Exception e) {
+            e.printStackTrace();
+            return ResultUtil.runErr();
+        }
+    }
+
+
+    /**
+     * 获取订单轨迹坐标
+     *
+     * @param orderId
+     * @param orderType
+     * @return
+     */
+    @ResponseBody
+    @PostMapping("/api/order/queryTrack")
+    @ApiOperation(value = "获取订单轨迹坐标", tags = {"用户端-个人中心"}, notes = "")
+    @ApiImplicitParams({
+            @ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"),
+            @ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=城际)", name = "orderType", required = true, dataType = "int"),
+            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
+    })
+    public ResultUtil queryTrack(Integer orderId, Integer orderType) {
+        try {
+            List<Map<String, Object>> list = orderPositionService.queryTrack(orderId, orderType);
+            return ResultUtil.success(list);
+        } catch (Exception e) {
+            e.printStackTrace();
+            return ResultUtil.runErr();
+        }
+    }
+
+
+    /**
+     * 获取订单轨迹坐标
+     *
+     * @param orderId
+     * @param orderType
+     * @return
+     */
+    @ResponseBody
+    @PostMapping("/base/order/queryTrack_")
+    @ApiOperation(value = "获取订单轨迹坐标", tags = {"分享专用"}, notes = "")
+    @ApiImplicitParams({
+            @ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"),
+            @ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=城际)", name = "orderType", required = true, dataType = "int"),
+    })
+    public ResultUtil queryTrack_(Integer orderId, Integer orderType) {
+        try {
+            List<Map<String, Object>> list = orderPositionService.queryTrack(orderId, orderType);
+            return ResultUtil.success(list);
+        } catch (Exception e) {
+            e.printStackTrace();
+            return ResultUtil.runErr();
+        }
+    }
+
+
+    /**
+     * 发送订单状态
+     *
+     * @param id
+     * @param orderType
+     * @return
+     */
+    @ResponseBody
+    @PostMapping("/base/order/sendOrderState")
+    public ResultUtil cancelOrder(Integer id, Integer orderType) {
+        try {
+            Integer driverId = null;
+            Integer userId = null;
+            Integer state = 0;
+            switch (orderType) {
+                case 1:
+                    OrderPrivateCar orderPrivateCar = orderPrivateCarService.selectById(id);
+                    driverId = orderPrivateCar.getDriverId();
+                    userId = orderPrivateCar.getUserId();
+                    state = orderPrivateCar.getState();
+                    if (null != driverId) {
+                        pushUtil.pushOrderState(2, driverId, id, orderType, state, 0);
+                    }
+                    break;
+                case 2:
+                    OrderTaxi orderTaxi = orderTaxiService.selectById(id);
+                    driverId = orderTaxi.getDriverId();
+                    userId = orderTaxi.getUserId();
+                    state = orderTaxi.getState();
+                    if (null != driverId) {
+                        pushUtil.pushOrderState(2, driverId, id, orderType, state, 0);
+                    }
+                    break;
+                case 3:
+                    OrderCrossCity orderCrossCity = orderCrossCityService.selectById(id);
+                    driverId = orderCrossCity.getDriverId();
+                    userId = orderCrossCity.getUserId();
+                    state = orderCrossCity.getState();
+                    if (orderCrossCity.getPayMoney() == null && state == 10) {//支付的情况才推送取消
+                        break;
+                    } else {
+                        pushUtil.pushOrderState(2, driverId, id, orderType, state, 0);
+                    }
+                    break;
+                case 4:
+                    OrderLogistics orderLogistics = orderLogisticsService.selectById(id);
+                    driverId = orderLogistics.getDriverId();
+                    userId = orderLogistics.getUserId();
+                    state = orderLogistics.getState();
+                    if (orderLogistics.getPayMoney() == null && state == 10) {//支付的情况才推送取消
+                        break;
+                    } else {
+                        pushUtil.pushOrderState(2, driverId, id, orderType, state, 0);
+                    }
+                    break;
+                case 5:
+                    OrderLogistics orderLogistics1 = orderLogisticsService.selectById(id);
+                    driverId = orderLogistics1.getDriverId();
+                    userId = orderLogistics1.getUserId();
+                    state = orderLogistics1.getState();
+                    if (orderLogistics1.getPayMoney() == null && state == 10) {//支付的情况才推送取消
+                        break;
+                    } else {
+                        pushUtil.pushOrderState(2, driverId, id, orderType, state, 0);
+                    }
+                    break;
+            }
+            pushUtil.pushOrderState(1, userId, id, orderType, state, 0);
+            return ResultUtil.success();
+        } catch (Exception e) {
+            e.printStackTrace();
+            return ResultUtil.runErr();
+        }
+    }
+
+
+    /**
+     * APP调用微信小程序支付
+     *
+     * @param orderId
+     * @param orderType
+     * @param type
+     * @param content
+     * @return
+     */
+    @ResponseBody
+    @PostMapping("/base/order/weChatPay")
+    @ApiOperation(value = "APP调用微信小程序支付", tags = {"用户端-服务中"}, notes = "")
+    @ApiImplicitParams({
+            @ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"),
+            @ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=城际,4=小件物流-同城,5=小件物流-跨城)", name = "orderType", required = true, dataType = "int"),
+            @ApiImplicitParam(value = "业务类型(1=订单完成支付,2=订单取消支付,3=司机端改派支付,4=余额充值,5=小件物流差价支付)", name = "type", required = true, dataType = "int"),
+            @ApiImplicitParam(value = "端口类型(1=用户端,2=司机端)", name = "userType", required = true, dataType = "int"),
+            @ApiImplicitParam(value = "用户id", name = "uid", required = true, dataType = "int"),
+            @ApiImplicitParam(value = "附加参数{\"key\":\"value\"}", name = "content", required = true, dataType = "string")
+    })
+    public ResultUtil weChatPay(Integer orderId, Integer orderType, Integer type, Integer userType, Integer uid, String content) {
+        try {
+            return orderService.weChatPay(orderId, orderType, type, userType, uid, content);
+        } catch (Exception e) {
+            e.printStackTrace();
+            return ResultUtil.runErr();
+        }
+    }
+
+
+    @ResponseBody
+    @PostMapping("/base/order/queryUserOpenId")
+    @ApiOperation(value = "获取用户的微信openid", tags = {"用户端-服务中"}, notes = "")
+    @ApiImplicitParams({
+            @ApiImplicitParam(value = "端口类型(1=用户端,2=司机端)", name = "userType", required = true, dataType = "int"),
+            @ApiImplicitParam(value = "用户id", name = "uid", required = true, dataType = "int")
+    })
+    public ResultUtil queryUserOpenId(Integer uid, Integer userType) {
+        if (userType == 2) {
+            Driver driver = driverService.selectById(uid);
+            return ResultUtil.success(driver.getAppletsOpenId());
+        }
+        if (userType == 1) {
+            UserInfo userInfo = userInfoService.selectById(uid);
+            return ResultUtil.success(userInfo.getAppletsOpenId());
+        }
+        return ResultUtil.success();
+    }
+
+
+    @ResponseBody
+    @PostMapping("/base/order/getWeChatOpenId")
+    @ApiOperation(value = "用户授权获取小程序openid", tags = {"用户端-服务中"}, notes = "")
+    @ApiImplicitParams({
+            @ApiImplicitParam(value = "端口类型(1=用户端,2=司机端)", name = "userType", required = true, dataType = "int"),
+            @ApiImplicitParam(value = "用户id", name = "uid", required = true, dataType = "int"),
+            @ApiImplicitParam(value = "小程序授权临时凭证", name = "jscode", required = true, dataType = "string"),
+    })
+    public ResultUtil getWeChatOpenId(Integer uid, Integer userType, String jscode) {
+        Map<String, String> map = weChatUtil.code2Session(jscode);
+        if (userType == 2) {
+            Driver driver = driverService.selectById(uid);
+            driver.setAppletsOpenId(map.get("openid"));
+            driverService.updateById(driver);
+        }
+        if (userType == 1) {
+            UserInfo userInfo = userInfoService.selectById(uid);
+            userInfo.setAppletsOpenId(map.get("openid"));
+            userInfoService.updateById(userInfo);
+        }
+        return ResultUtil.success();
+    }
+
+
+    /**
+     * 获取预计行驶时间
+     *
+     * @param slon
+     * @param slat
+     * @param elon
+     * @param elat
+     * @return
+     */
+    @ResponseBody
+    @PostMapping("/base/taxi/queryExpectedTime")
+    @ApiOperation(value = "选择地点和终点后获取预计行驶时长", tags = {"用户端-出租车", "用户端-专车"}, notes = "")
+    @ApiImplicitParams({
+            @ApiImplicitParam(value = "起点经度", name = "slon", required = true, dataType = "double"),
+            @ApiImplicitParam(value = "起点纬度", name = "slat", required = true, dataType = "double"),
+            @ApiImplicitParam(value = "终点经度", name = "elon", required = true, dataType = "double"),
+            @ApiImplicitParam(value = "终点纬度", name = "elat", required = true, dataType = "double")
+    })
+    public ResultUtil<BaseWarpper> queryExpectedTime(Double slon, Double slat, Double elon, Double elat) {
+        try {
+            return orderService.queryExpectedTime(slon, slat, elon, elat);
+        } catch (Exception e) {
+            e.printStackTrace();
+            return ResultUtil.runErr();
+        }
+    }
+
+
+    /**
+     * 获取取消订单需要支付的费用金额
+     *
+     * @param id
+     * @return
+     */
+    @ResponseBody
+    @PostMapping("/api/taxi/queryCancleAmount")
+    @ApiOperation(value = "获取取消订单需要支付的费用金额", tags = {"用户端-出租车", "用户端-专车"}, notes = "返回金额为0则不需要支付")
+    @ApiImplicitParams({
+            @ApiImplicitParam(value = "订单id", name = "id", required = true, dataType = "int"),
+            @ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=跨城)", name = "orderType", required = true, dataType = "int"),
+            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
+    })
+    public ResultUtil<BaseWarpper> queryCancleAmount(Integer id, Integer orderType) {
+        try {
+            switch (orderType) {
+                case 1:
+                    return orderPrivateCarService.queryCancleAmount(id);
+                case 2:
+                    return orderTaxiService.queryCancleAmount(id);
+                case 3:
+                    return orderCrossCityService.queryCancleAmount(id);
+            }
+            return ResultUtil.success();
+        } catch (Exception e) {
+            e.printStackTrace();
+            return ResultUtil.runErr();
+        }
+    }
+
+
+    /**
+     * 添加取消记录
+     *
+     * @param id
+     * @param reason
+     * @param remark
+     * @param request
+     * @return
+     */
+    @ResponseBody
+    @PostMapping("/api/taxi/addCancle")
+    @ApiOperation(value = "添加取消记录", tags = {"用户端-出租车", "用户端-专车", "用户端-跨城"}, notes = "")
+    @ApiImplicitParams({
+            @ApiImplicitParam(value = "订单id", name = "id", required = true, dataType = "int"),
+            @ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=跨城)", name = "orderType", required = true, dataType = "int"),
+            @ApiImplicitParam(value = "取消原因", name = "reason", required = true, dataType = "string"),
+            @ApiImplicitParam(value = "备注", name = "remark", required = false, dataType = "string"),
+            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
+    })
+    public ResultUtil addCancle(Integer id, Integer orderType, String reason, String remark, HttpServletRequest request) {
+        try {
+            Integer uid = userInfoService.getUserIdFormRedis(request);
+            if (null == uid) {
+                return ResultUtil.tokenErr();
+            }
+            switch (orderType) {
+                case 1:
+                    return orderPrivateCarService.addCancle(id, reason, remark, uid);
+                case 2:
+                    return orderTaxiService.addCancle(id, reason, remark, uid);
+                case 3:
+                    return orderCrossCityService.addCancle(id, reason, remark, uid);
+                case 4:
+                    return orderLogisticsService.addCancle(id, reason, remark, uid);
+                case 5:
+                    return orderLogisticsService.addCancle(id, reason, remark, uid);
+                case 6:
+                    return orderCharteredCarService.addCancle(id, reason, remark, uid);
+            }
+            return ResultUtil.success();
+        } catch (Exception e) {
+            e.printStackTrace();
+            return ResultUtil.runErr();
+        }
+    }
+
+
+    /**
+     * 取消操作支付
+     *
+     * @param id
+     * @param payType
+     * @return
+     */
+    @ResponseBody
+    @PostMapping("/api/taxi/cancleOrderTaxi")
+    @ApiOperation(value = "取消操作支付", tags = {"用户端-出租车", "用户端-专车", "用户端-跨城"}, notes = "")
+    @ApiImplicitParams({
+            @ApiImplicitParam(value = "订单id", name = "id", required = true, dataType = "int"),
+            @ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=跨城)", name = "orderType", required = true, dataType = "int"),
+            @ApiImplicitParam(value = "支付方式(1=微信,2=支付宝,3=余额)", name = "payType", required = true, dataType = "int"),
+            @ApiImplicitParam(value = "取消单id(取消操作返回)", name = "cancleId", required = false, dataType = "int"),
+            @ApiImplicitParam(value = "支付端(1=用户APP端,2=司机APP端,3=用户小程序端)", name = "type", required = true, dataType = "int"),
+            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
+    })
+    public ResultUtil cancleOrderTaxi(Integer id, Integer orderType, Integer payType, Integer cancleId, Integer type, HttpServletRequest request) {
+        try {
+            Integer uid = userInfoService.getUserIdFormRedis(request);
+            if (null == uid) {
+                return ResultUtil.tokenErr();
+            }
+            switch (orderType) {
+                case 1:
+                    return orderPrivateCarService.cancleOrderPrivateCar(id, payType, cancleId, type);
+                case 2:
+                    return orderTaxiService.cancleOrderTaxi(id, payType, cancleId, type);
+                case 3:
+                    return orderCrossCityService.cancleOrderCrossCity(id, payType, cancleId, type);
+            }
+            return ResultUtil.success();
+        } catch (Exception e) {
+            e.printStackTrace();
+            return ResultUtil.runErr();
+        }
+    }
+
+
+    /**
+     * 投诉操作
+     *
+     * @param driverId
+     * @param reason
+     * @param description
+     * @param request
+     * @return
+     */
+    @ResponseBody
+    @PostMapping("/api/taxi/complaintService")
+    @ApiOperation(value = "添加投诉操作", tags = {"用户端-出租车", "用户端-专车", "用户端-跨城"}, notes = "")
+    @ApiImplicitParams({
+            @ApiImplicitParam(value = "司机id", name = "driverId", required = true, dataType = "int"),
+            @ApiImplicitParam(value = "投诉原因", name = "reason", required = true, dataType = "String"),
+            @ApiImplicitParam(value = "投诉描述", name = "description", required = true, dataType = "String"),
+            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
+    })
+    public ResultUtil complaintService(Integer driverId, String reason, String description, HttpServletRequest request) {
+        try {
+            Integer uid = userInfoService.getUserIdFormRedis(request);
+            if (null == uid) {
+                return ResultUtil.tokenErr();
+            }
+            complaintService.saveData(driverId, reason, description, uid);
+            return ResultUtil.success();
+        } catch (Exception e) {
+            e.printStackTrace();
+            return ResultUtil.runErr();
+        }
+    }
+
+
+    /**
+     * 支付页面获取可用优惠券数量和余额
+     *
+     * @param orderId
+     * @param request
+     * @return
+     */
+    @ResponseBody
+    @PostMapping("/api/taxi/queryBalance")
+    @ApiOperation(value = "支付页面获取可用优惠券数量和余额", tags = {"用户端-出租车", "用户端-专车", "用户端-跨城"}, notes = "balance=余额,coupon=优惠券")
+    @ApiImplicitParams({
+            @ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"),
+            @ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=跨城)", name = "orderType", required = true, dataType = "int"),
+            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
+    })
+    public ResultUtil queryBalance(Integer orderId, Integer orderType, HttpServletRequest request) {
+        try {
+            Integer uid = userInfoService.getUserIdFormRedis(request);
+            if (null == uid) {
+                return ResultUtil.tokenErr();
+            }
+            Map<String, Object> map = new HashMap<>();
+            switch (orderType) {
+                case 1:
+                    map = orderPrivateCarService.queryBalance(orderId, uid);
+                    break;
+                case 2:
+                    map = orderTaxiService.queryBalance(orderId, uid);
+                    break;
+                case 3:
+                    map = orderCrossCityService.queryBalance(orderId, uid);
+                    break;
+                case 4:
+                    map = orderLogisticsService.queryBalance(orderId, uid);
+                    break;
+                case 5:
+                    map = orderLogisticsService.queryBalance(orderId, uid);
+                    break;
+            }
+            return ResultUtil.success(map);
+        } catch (Exception e) {
+            e.printStackTrace();
+            return ResultUtil.runErr();
+        }
+    }
+
+
+    /**
+     * 支付页面获取余额和优惠数据
+     *
+     * @param orderId
+     * @param request
+     * @return
+     */
+    @ResponseBody
+    @PostMapping("/api/taxi/queryBalance1")
+    @ApiOperation(value = "1.0-支付页面获取余额和优惠数据", tags = {"用户端-出租车", "用户端-专车", "用户端-跨城", "用户端-小件物流"})
+    @ApiImplicitParams({
+            @ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"),
+            @ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=跨城,4=同城小件物流,5=跨城小件物流)", name = "orderType", required = true, dataType = "int"),
+            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
+    })
+    public ResultUtil<PreferentialDataVo> queryBalance1(Integer orderId, Integer orderType, HttpServletRequest request) {
+        try {
+            Integer uid = userInfoService.getUserIdFormRedis(request);
+            if (null == uid) {
+                return ResultUtil.tokenErr();
+            }
+            PreferentialDataVo map = new PreferentialDataVo();
+            switch (orderType) {
+                case 1:
+                    map = orderPrivateCarService.queryBalance1(orderId, uid);
+                    break;
+                case 2:
+                    map = orderTaxiService.queryBalance1(orderId, uid);
+                    break;
+                case 3:
+                    map = orderCrossCityService.queryBalance1(orderId, uid);
+                    break;
+                case 4:
+                    map = orderLogisticsService.queryBalance1(orderId, uid);
+                    break;
+                case 5:
+                    map = orderLogisticsService.queryBalance1(orderId, uid);
+                    break;
+                case 6:
+                    map = orderCharteredCarService.queryBalance1(orderId, uid);
+                    break;
+                case 7:
 //                    map = orde.queryBalance1(orderId, uid);
-					break;
-			}
-			return ResultUtil.success(map);
-		} catch (Exception e) {
-			e.printStackTrace();
-			return ResultUtil.runErr();
-		}
-	}
-	
-	
-	/**
-	 * 获取支付页面的优惠券列表
-	 *
-	 * @param orderId
-	 * @param pageNum
-	 * @param size
-	 * @param request
-	 * @return
-	 */
-	@ResponseBody
-	@PostMapping("/api/taxi/queryCoupon")
-	@ApiOperation(value = "获取支付页面的优惠券列表", tags = {"用户端-出租车", "用户端-专车", "用户端-跨城"}, notes = "")
-	@ApiImplicitParams({
-			@ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"),
-			@ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=跨城)", name = "orderType", required = true, dataType = "int"),
-			@ApiImplicitParam(value = "页码,首页1", name = "pageNum", required = true, dataType = "int"),
-			@ApiImplicitParam(value = "页条数", name = "size", required = true, dataType = "int"),
-			@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
-	})
-	public ResultUtil queryCoupon(Integer orderId, Integer orderType, Integer pageNum, Integer size, HttpServletRequest request) {
-		try {
-			Integer uid = userInfoService.getUserIdFormRedis(request);
-			if (null == uid) {
-				return ResultUtil.tokenErr();
-			}
-			List<Map<String, Object>> list = new ArrayList<>();
-			switch (orderType) {
-				case 1:
-					list = orderPrivateCarService.queryCoupon(orderId, uid, pageNum, size);
-					break;
-				case 2:
-					list = orderTaxiService.queryCoupon(orderId, uid, pageNum, size);
-					break;
-				case 3:
-					list = orderCrossCityService.queryCoupon(orderId, uid, pageNum, size);
-					break;
-			}
-			return ResultUtil.success(CouponWarpper.getCouponWarppers(list));
-		} catch (Exception e) {
-			e.printStackTrace();
-			return ResultUtil.runErr();
-		}
-	}
-	
-	
-	@ResponseBody
-	@PostMapping("/api/taxi/queryCouponList")
-	@ApiOperation(value = "1.0-获取支付页面的优惠券和打车卡列表", tags = {"用户端-出租车", "用户端-专车", "用户端-跨城", "用户端-小件物流"}, notes = "")
-	@ApiImplicitParams({
-			@ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"),
-			@ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=跨城,4=同城小件物流,5=跨城小件物流)", name = "orderType", required = true, dataType = "int"),
-			@ApiImplicitParam(value = "页码,首页1", name = "pageNum", required = true, dataType = "int"),
-			@ApiImplicitParam(value = "页条数", name = "size", required = true, dataType = "int"),
-			@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
-	})
-	public ResultUtil<List<CouponsListVo>> queryCouponList(Integer orderId, Integer orderType, Integer pageNum, Integer size, HttpServletRequest request) {
-		try {
-			Integer uid = userInfoService.getUserIdFormRedis(request);
-			if (null == uid) {
-				return ResultUtil.tokenErr();
-			}
-			List<CouponsListVo> list = new ArrayList<>();
-			switch (orderType) {
-				case 1:
-					list = orderPrivateCarService.queryCouponList(orderId, uid, pageNum, size);
-					break;
-				case 2:
-					list = orderTaxiService.queryCouponList(orderId, uid, pageNum, size);
-					break;
-				case 3:
-					list = orderCrossCityService.queryCouponList(orderId, uid, pageNum, size);
-					break;
-				case 4:
-					list = orderLogisticsService.queryCouponList(orderId, uid, pageNum, size);
-					break;
-				case 5:
-					list = orderLogisticsService.queryCouponList(orderId, uid, pageNum, size);
-					break;
-			}
-			return ResultUtil.success(list);
-		} catch (Exception e) {
-			e.printStackTrace();
-			return ResultUtil.runErr();
-		}
-	}
-	
-	
-	/**
-	 * 订单完成支付订单操作
-	 *
-	 * @param payType
-	 * @param orderId
-	 * @param request
-	 * @return
-	 */
-	@ResponseBody
-	@PostMapping("/api/taxi/payTaxiOrder")
-	@ApiOperation(value = "订单完成支付订单操作", tags = {"用户端-出租车", "用户端-专车", "用户端-跨城", "用户端-小件物流"}, notes = "")
-	@ApiImplicitParams({
-			@ApiImplicitParam(value = "支付方式(1=微信,2=支付宝,3=余额)", name = "payType", required = true, dataType = "int"),
-			@ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"),
-			@ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=跨城,4=小件物流)", name = "orderType", required = true, dataType = "int"),
-			@ApiImplicitParam(value = "优惠券id", name = "couponId", required = false, dataType = "int"),
-			@ApiImplicitParam(value = "支付端(1=用户APP端,2=司机APP端,3=用户小程序端)", name = "type", required = true, dataType = "int"),
-			@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
-	})
-	public ResultUtil payTaxiOrder(Integer payType, Integer orderId, Integer orderType, Integer couponId, Integer type, HttpServletRequest request) {
-		try {
-			Integer uid = userInfoService.getUserIdFormRedis(request);
-			if (null == uid) {
-				return ResultUtil.tokenErr();
-			}
-			switch (orderType) {
-				case 1:
-					return orderPrivateCarService.payPrivateCarOrder(payType, orderId, couponId, type);
-				case 2:
-					return orderTaxiService.payTaxiOrder(payType, orderId, couponId, type);
-				case 3:
-					return orderCrossCityService.payCrossCityOrder(payType, orderId, couponId, type);
-				case 4:
-					return orderLogisticsService.payLogisticsOrder(payType, orderId, type);
-				case 5:
-					return orderLogisticsService.payLogisticsOrder(payType, orderId, type);
-			}
-			return ResultUtil.success();
-		} catch (Exception e) {
-			e.printStackTrace();
-			return ResultUtil.runErr();
-		}
-	}
-	
-	
-	@ResponseBody
-	@PostMapping("/api/taxi/payTaxiOrder1")
-	@ApiOperation(value = "1.0-订单完成支付订单操作", tags = {"用户端-出租车", "用户端-专车", "用户端-跨城", "用户端-小件物流"}, notes = "")
-	@ApiImplicitParams({
-			@ApiImplicitParam(value = "支付方式(1=微信,2=支付宝,3=余额)", name = "payType", required = true, dataType = "int"),
-			@ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"),
-			@ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=跨城,4=小件物流)", name = "orderType", required = true, dataType = "int"),
-			@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, String path, String ip, HttpServletRequest request) {
-		System.out.println(objectType);
-		System.out.println(objectId);
-		try {
-			Integer uid = userInfoService.getUserIdFormRedis(request);
-			if (null == uid) {
-				return ResultUtil.tokenErr();
-			}
-			switch (orderType) {
-				case 1:
-					return orderPrivateCarService.payPrivateCarOrder1(payType, orderId, objectId, objectType, type, path, ip);
-				case 2:
-					return orderTaxiService.payTaxiOrder1(payType, orderId, objectId, objectType, type, path, ip);
-				case 3:
-					ResultUtil resultUtil = orderCrossCityService.payCrossCityOrder1(payType, orderId, objectId, objectType, type);
+                    break;
+            }
+            return ResultUtil.success(map);
+        } catch (Exception e) {
+            e.printStackTrace();
+            return ResultUtil.runErr();
+        }
+    }
 
-					orderCrossCityService.promotion(orderId);
 
-					return resultUtil;
-				case 4:
-					return orderLogisticsService.payLogisticsOrder1(payType, orderId, objectId, objectType, type);
-				case 5:
-					return orderLogisticsService.payLogisticsOrder1(payType, orderId, objectId, objectType, type);
-			}
-			return ResultUtil.success();
-		} catch (Exception e) {
-			e.printStackTrace();
-			return ResultUtil.runErr();
-		}
-	}
-	
-	
-	/**
-	 * 订单完成后添加评价操作
-	 *
-	 * @param orderId
-	 * @param fraction
-	 * @param content
-	 * @return
-	 */
-	@ResponseBody
-	@PostMapping("/api/taxi/orderEvaluate")
-	@ApiOperation(value = "订单完成后添加评价操作", tags = {"用户端-出租车", "用户端-专车", "用户端-跨城"}, notes = "")
-	@ApiImplicitParams({
-			@ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"),
-			@ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=跨城)", name = "orderType", required = true, dataType = "int"),
-			@ApiImplicitParam(value = "评分", name = "fraction", required = true, dataType = "int"),
-			@ApiImplicitParam(value = "评价内容", name = "content", required = false, dataType = "String"),
-			@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
-	})
-	public ResultUtil orderEvaluate(Integer orderId, Integer orderType, Integer fraction, String content) {
-		try {
-			ResultUtil resultUtil = orderEvaluateService.saveData(orderId, orderType, fraction, content);
-			if (resultUtil.getCode() == 200) {
-				switch (orderType) {
-					case 1:
-						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() {
-								if (pushMinistryOfTransport) {//上传数据
-									pushMinistryOfTransportUtil.ratedPassenger(Integer.valueOf(resultUtil.getData().toString()));
-									pushMinistryOfTransportUtil.ratedDriver(orderPrivateCar.getDriverId());
-								}
-							}
-						}).start();
-						break;
-					case 2:
-						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);
-						orderCrossCity.setState(9);
-						orderCrossCityService.updateById(orderCrossCity);
-						break;
-				}
-			}
-			return resultUtil.getCode() == 200 ? ResultUtil.success() : resultUtil;
-		} catch (Exception e) {
-			e.printStackTrace();
-			return ResultUtil.runErr();
-		}
-	}
-	
-	
-	/**
-	 * 评论成功后获取红包金额
-	 *
-	 * @param orderId
-	 * @return
-	 */
-	@ResponseBody
-	@PostMapping("/api/taxi/queryRedMoney")
-	@ApiOperation(value = "评论成功后获取红包金额", tags = {"用户端-出租车", "用户端-专车", "用户端-跨城"}, notes = "")
-	@ApiImplicitParams({
-			@ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"),
-			@ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=跨城)", name = "orderType", required = true, dataType = "int"),
-			@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
-	})
-	public ResultUtil<BaseWarpper> queryRedMoney(Integer orderId, Integer orderType) {
-		try {
-			switch (orderType) {
-				case 1:
-					return orderPrivateCarService.queryRedMoney(orderId);
-				case 2:
-					return orderTaxiService.queryRedMoney(orderId);
-				case 3:
-					return orderCrossCityService.queryRedMoney(orderId);
-			}
-			return ResultUtil.success();
-		} catch (Exception e) {
-			e.printStackTrace();
-			return ResultUtil.runErr();
-		}
-	}
-	
-	
-	/**
-	 * 分享成功后添加红包操作
-	 *
-	 * @param orderId
-	 * @return
-	 */
-	@ResponseBody
-	@PostMapping("/api/taxi/shareRedEnvelope")
-	@ApiOperation(value = "分享成功后添加红包操作", tags = {"用户端-出租车", "用户端-专车", "用户端-跨城"}, notes = "")
-	@ApiImplicitParams({
-			@ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"),
-			@ApiImplicitParam(value = "订单类型", name = "orderType", required = true, dataType = "int"),
-			@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
-	})
-	public ResultUtil shareRedEnvelope(Integer orderId, Integer orderType) {
-		try {
-			switch (orderType) {
-				case 1:
-					return orderPrivateCarService.shareRedEnvelope(orderId);
-				case 2:
-					return orderTaxiService.shareRedEnvelope(orderId);
-				case 3:
-					return orderCrossCityService.shareRedEnvelope(orderId);
-			}
-			return ResultUtil.success();
-		} catch (Exception e) {
-			e.printStackTrace();
-			return ResultUtil.runErr();
-		}
-	}
-	
-	
-	/**
-	 * 取消订单微信回调
-	 *
-	 * @param request
-	 */
-	@ResponseBody
-	@PostMapping("/base/wxCancelOrderTaxi")
-	public void wxCancelOrderTaxi(HttpServletRequest request, HttpServletResponse response) {
-		try {
-			Map<String, String> map = payMoneyUtil.weixinpayCallback(request);
-			if (null != map) {
-				String order_id = map.get("transaction_id");
-				String out_trade_no = map.get("out_trade_no");
-				String result = map.get("result");
-				if (ToolUtil.isNotEmpty(out_trade_no) && ToolUtil.isNotEmpty(order_id)) {
-					PrintWriter out = response.getWriter();
-					out.write(result);
-					out.flush();
-					out.close();
-					
-					String[] split = out_trade_no.split("_");
-					Integer id = Integer.valueOf(split[0]);
-					Integer type = Integer.valueOf(split[1]);
-					switch (type) {
-						case 1:
-							orderPrivateCarService.payCancelOrderPrivateCar(id, order_id, 1);
-							break;
-						case 2:
-							orderTaxiService.payCancelOrderTaxi(id, order_id, 1);
-							break;
-						case 3:
-							orderCrossCityService.payCancelOrderCrossCity(id, order_id, 1);
-							break;
-					}
-				}
+    /**
+     * 获取支付页面的优惠券列表
+     *
+     * @param orderId
+     * @param pageNum
+     * @param size
+     * @param request
+     * @return
+     */
+    @ResponseBody
+    @PostMapping("/api/taxi/queryCoupon")
+    @ApiOperation(value = "获取支付页面的优惠券列表", tags = {"用户端-出租车", "用户端-专车", "用户端-跨城"}, notes = "")
+    @ApiImplicitParams({
+            @ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"),
+            @ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=跨城)", name = "orderType", required = true, dataType = "int"),
+            @ApiImplicitParam(value = "页码,首页1", name = "pageNum", required = true, dataType = "int"),
+            @ApiImplicitParam(value = "页条数", name = "size", required = true, dataType = "int"),
+            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
+    })
+    public ResultUtil queryCoupon(Integer orderId, Integer orderType, Integer pageNum, Integer size, HttpServletRequest request) {
+        try {
+            Integer uid = userInfoService.getUserIdFormRedis(request);
+            if (null == uid) {
+                return ResultUtil.tokenErr();
+            }
+            List<Map<String, Object>> list = new ArrayList<>();
+            switch (orderType) {
+                case 1:
+                    list = orderPrivateCarService.queryCoupon(orderId, uid, pageNum, size);
+                    break;
+                case 2:
+                    list = orderTaxiService.queryCoupon(orderId, uid, pageNum, size);
+                    break;
+                case 3:
+                    list = orderCrossCityService.queryCoupon(orderId, uid, pageNum, size);
+                    break;
+            }
+            return ResultUtil.success(CouponWarpper.getCouponWarppers(list));
+        } catch (Exception e) {
+            e.printStackTrace();
+            return ResultUtil.runErr();
+        }
+    }
+
+
+    @ResponseBody
+    @PostMapping("/api/taxi/queryCouponList")
+    @ApiOperation(value = "1.0-获取支付页面的优惠券和打车卡列表", tags = {"用户端-出租车", "用户端-专车", "用户端-跨城", "用户端-小件物流"}, notes = "")
+    @ApiImplicitParams({
+            @ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"),
+            @ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=跨城,4=同城小件物流,5=跨城小件物流)", name = "orderType", required = true, dataType = "int"),
+            @ApiImplicitParam(value = "页码,首页1", name = "pageNum", required = true, dataType = "int"),
+            @ApiImplicitParam(value = "页条数", name = "size", required = true, dataType = "int"),
+            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
+    })
+    public ResultUtil<List<CouponsListVo>> queryCouponList(Integer orderId, Integer orderType, Integer pageNum, Integer size, HttpServletRequest request) {
+        try {
+            Integer uid = userInfoService.getUserIdFormRedis(request);
+            if (null == uid) {
+                return ResultUtil.tokenErr();
+            }
+            List<CouponsListVo> list = new ArrayList<>();
+            switch (orderType) {
+                case 1:
+                    list = orderPrivateCarService.queryCouponList(orderId, uid, pageNum, size);
+                    break;
+                case 2:
+                    list = orderTaxiService.queryCouponList(orderId, uid, pageNum, size);
+                    break;
+                case 3:
+                    list = orderCrossCityService.queryCouponList(orderId, uid, pageNum, size);
+                    break;
+                case 4:
+                    list = orderLogisticsService.queryCouponList(orderId, uid, pageNum, size);
+                    break;
+                case 5:
+                    list = orderLogisticsService.queryCouponList(orderId, uid, pageNum, size);
+                    break;
+            }
+            return ResultUtil.success(list);
+        } catch (Exception e) {
+            e.printStackTrace();
+            return ResultUtil.runErr();
+        }
+    }
+
+
+    /**
+     * 订单完成支付订单操作
+     *
+     * @param payType
+     * @param orderId
+     * @param request
+     * @return
+     */
+    @ResponseBody
+    @PostMapping("/api/taxi/payTaxiOrder")
+    @ApiOperation(value = "订单完成支付订单操作", tags = {"用户端-出租车", "用户端-专车", "用户端-跨城", "用户端-小件物流"}, notes = "")
+    @ApiImplicitParams({
+            @ApiImplicitParam(value = "支付方式(1=微信,2=支付宝,3=余额)", name = "payType", required = true, dataType = "int"),
+            @ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"),
+            @ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=跨城,4=小件物流)", name = "orderType", required = true, dataType = "int"),
+            @ApiImplicitParam(value = "优惠券id", name = "couponId", required = false, dataType = "int"),
+            @ApiImplicitParam(value = "支付端(1=用户APP端,2=司机APP端,3=用户小程序端)", name = "type", required = true, dataType = "int"),
+            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
+    })
+    public ResultUtil payTaxiOrder(Integer payType, Integer orderId, Integer orderType, Integer couponId, Integer type, HttpServletRequest request) {
+        try {
+            Integer uid = userInfoService.getUserIdFormRedis(request);
+            if (null == uid) {
+                return ResultUtil.tokenErr();
+            }
+            switch (orderType) {
+                case 1:
+                    return orderPrivateCarService.payPrivateCarOrder(payType, orderId, couponId, type);
+                case 2:
+                    return orderTaxiService.payTaxiOrder(payType, orderId, couponId, type);
+                case 3:
+                    return orderCrossCityService.payCrossCityOrder(payType, orderId, couponId, type);
+                case 4:
+                    return orderLogisticsService.payLogisticsOrder(payType, orderId, type);
+                case 5:
+                    return orderLogisticsService.payLogisticsOrder(payType, orderId, type);
+            }
+            return ResultUtil.success();
+        } catch (Exception e) {
+            e.printStackTrace();
+            return ResultUtil.runErr();
+        }
+    }
+
+
+    @ResponseBody
+    @PostMapping("/api/taxi/payTaxiOrder1")
+    @ApiOperation(value = "1.0-订单完成支付订单操作", tags = {"用户端-出租车", "用户端-专车", "用户端-跨城", "用户端-小件物流"}, notes = "")
+    @ApiImplicitParams({
+            @ApiImplicitParam(value = "支付方式(1=微信,2=支付宝,3=余额)", name = "payType", required = true, dataType = "int"),
+            @ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"),
+            @ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=跨城,4=小件物流)", name = "orderType", required = true, dataType = "int"),
+            @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, String path, String ip, HttpServletRequest request) {
+        System.out.println(objectType);
+        System.out.println(objectId);
+        try {
+            Integer uid = userInfoService.getUserIdFormRedis(request);
+            if (null == uid) {
+                return ResultUtil.tokenErr();
+            }
+            switch (orderType) {
+                case 1:
+                    return orderPrivateCarService.payPrivateCarOrder1(payType, orderId, objectId, objectType, type, path, ip);
+                case 2:
+                    return orderTaxiService.payTaxiOrder1(payType, orderId, objectId, objectType, type, path, ip);
+                case 3:
+                    ResultUtil resultUtil = orderCrossCityService.payCrossCityOrder1(payType, orderId, objectId, objectType, type);
+
+                    orderCrossCityService.promotion(orderId);
+
+                    return resultUtil;
+                case 4:
+                    return orderLogisticsService.payLogisticsOrder1(payType, orderId, objectId, objectType, type);
+                case 5:
+                    return orderLogisticsService.payLogisticsOrder1(payType, orderId, objectId, objectType, type);
+            }
+            return ResultUtil.success();
+        } catch (Exception e) {
+            e.printStackTrace();
+            return ResultUtil.runErr();
+        }
+    }
+
+
+    /**
+     * 订单完成后添加评价操作
+     *
+     * @param orderId
+     * @param fraction
+     * @param content
+     * @return
+     */
+    @ResponseBody
+    @PostMapping("/api/taxi/orderEvaluate")
+    @ApiOperation(value = "订单完成后添加评价操作", tags = {"用户端-出租车", "用户端-专车", "用户端-跨城"}, notes = "")
+    @ApiImplicitParams({
+            @ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"),
+            @ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=跨城)", name = "orderType", required = true, dataType = "int"),
+            @ApiImplicitParam(value = "评分", name = "fraction", required = true, dataType = "int"),
+            @ApiImplicitParam(value = "评价内容", name = "content", required = false, dataType = "String"),
+            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
+    })
+    public ResultUtil orderEvaluate(Integer orderId, Integer orderType, Integer fraction, String content) {
+        try {
+            ResultUtil resultUtil = orderEvaluateService.saveData(orderId, orderType, fraction, content);
+            if (resultUtil.getCode() == 200) {
+                switch (orderType) {
+                    case 1:
+                        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() {
+                                if (pushMinistryOfTransport) {//上传数据
+                                    pushMinistryOfTransportUtil.ratedPassenger(Integer.valueOf(resultUtil.getData().toString()));
+                                    pushMinistryOfTransportUtil.ratedDriver(orderPrivateCar.getDriverId());
+                                }
+                            }
+                        }).start();
+                        break;
+                    case 2:
+                        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);
+                        orderCrossCity.setState(9);
+                        orderCrossCityService.updateById(orderCrossCity);
+                        break;
+                }
+            }
+            return resultUtil.getCode() == 200 ? ResultUtil.success() : resultUtil;
+        } catch (Exception e) {
+            e.printStackTrace();
+            return ResultUtil.runErr();
+        }
+    }
+
+
+    /**
+     * 评论成功后获取红包金额
+     *
+     * @param orderId
+     * @return
+     */
+    @ResponseBody
+    @PostMapping("/api/taxi/queryRedMoney")
+    @ApiOperation(value = "评论成功后获取红包金额", tags = {"用户端-出租车", "用户端-专车", "用户端-跨城"}, notes = "")
+    @ApiImplicitParams({
+            @ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"),
+            @ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=跨城)", name = "orderType", required = true, dataType = "int"),
+            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
+    })
+    public ResultUtil<BaseWarpper> queryRedMoney(Integer orderId, Integer orderType) {
+        try {
+            switch (orderType) {
+                case 1:
+                    return orderPrivateCarService.queryRedMoney(orderId);
+                case 2:
+                    return orderTaxiService.queryRedMoney(orderId);
+                case 3:
+                    return orderCrossCityService.queryRedMoney(orderId);
+            }
+            return ResultUtil.success();
+        } catch (Exception e) {
+            e.printStackTrace();
+            return ResultUtil.runErr();
+        }
+    }
+
+
+    /**
+     * 分享成功后添加红包操作
+     *
+     * @param orderId
+     * @return
+     */
+    @ResponseBody
+    @PostMapping("/api/taxi/shareRedEnvelope")
+    @ApiOperation(value = "分享成功后添加红包操作", tags = {"用户端-出租车", "用户端-专车", "用户端-跨城"}, notes = "")
+    @ApiImplicitParams({
+            @ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"),
+            @ApiImplicitParam(value = "订单类型", name = "orderType", required = true, dataType = "int"),
+            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
+    })
+    public ResultUtil shareRedEnvelope(Integer orderId, Integer orderType) {
+        try {
+            switch (orderType) {
+                case 1:
+                    return orderPrivateCarService.shareRedEnvelope(orderId);
+                case 2:
+                    return orderTaxiService.shareRedEnvelope(orderId);
+                case 3:
+                    return orderCrossCityService.shareRedEnvelope(orderId);
+            }
+            return ResultUtil.success();
+        } catch (Exception e) {
+            e.printStackTrace();
+            return ResultUtil.runErr();
+        }
+    }
+
+
+    /**
+     * 取消订单微信回调
+     *
+     * @param request
+     */
+    @ResponseBody
+    @PostMapping("/base/wxCancelOrderTaxi")
+    public void wxCancelOrderTaxi(HttpServletRequest request, HttpServletResponse response) {
+        try {
+            Map<String, String> map = payMoneyUtil.weixinpayCallback(request);
+            if (null != map) {
+                String order_id = map.get("transaction_id");
+                String out_trade_no = map.get("out_trade_no");
+                String result = map.get("result");
+                if (ToolUtil.isNotEmpty(out_trade_no) && ToolUtil.isNotEmpty(order_id)) {
+                    PrintWriter out = response.getWriter();
+                    out.write(result);
+                    out.flush();
+                    out.close();
+
+                    String[] split = out_trade_no.split("_");
+                    Integer id = Integer.valueOf(split[0]);
+                    Integer type = Integer.valueOf(split[1]);
+                    switch (type) {
+                        case 1:
+                            orderPrivateCarService.payCancelOrderPrivateCar(id, order_id, 1);
+                            break;
+                        case 2:
+                            orderTaxiService.payCancelOrderTaxi(id, order_id, 1);
+                            break;
+                        case 3:
+                            orderCrossCityService.payCancelOrderCrossCity(id, order_id, 1);
+                            break;
+                    }
+                }
 //                cloudPay(map.get("total_fee"),map.get("transaction_id"),1);
-			
-			}
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-	}
-	
-	
-	/**
-	 * 取消订单支付宝回调
-	 *
-	 * @param request
-	 */
-	@ResponseBody
-	@PostMapping("/base/aliCancelOrderTaxi")
-	public void aliCancelOrderTaxi(HttpServletRequest request, HttpServletResponse response) {
-		try {
-			Map<String, String> map = payMoneyUtil.alipayCallback(request);
-			if (null != map) {
-				String out_trade_no = map.get("out_trade_no");
-				String order_id = map.get("trade_no");
-				if (ToolUtil.isNotEmpty(out_trade_no) && ToolUtil.isNotEmpty(order_id)) {
-					String[] split = out_trade_no.split("_");
-					Integer id = Integer.valueOf(split[0]);
-					Integer type = Integer.valueOf(split[1]);
-					switch (type) {
-						case 1:
-							orderPrivateCarService.payCancelOrderPrivateCar(id, order_id, 2);
-							break;
-						case 2:
-							orderTaxiService.payCancelOrderTaxi(id, order_id, 2);
-							break;
-						case 3:
-							orderCrossCityService.payCancelOrderCrossCity(id, order_id, 2);
-							break;
-					}
-					PrintWriter out = response.getWriter();
-					out.print("success");
-					out.flush();
-					out.close();
-				}
+
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+
+    /**
+     * 取消订单支付宝回调
+     *
+     * @param request
+     */
+    @ResponseBody
+    @PostMapping("/base/aliCancelOrderTaxi")
+    public void aliCancelOrderTaxi(HttpServletRequest request, HttpServletResponse response) {
+        try {
+            Map<String, String> map = payMoneyUtil.alipayCallback(request);
+            if (null != map) {
+                String out_trade_no = map.get("out_trade_no");
+                String order_id = map.get("trade_no");
+                if (ToolUtil.isNotEmpty(out_trade_no) && ToolUtil.isNotEmpty(order_id)) {
+                    String[] split = out_trade_no.split("_");
+                    Integer id = Integer.valueOf(split[0]);
+                    Integer type = Integer.valueOf(split[1]);
+                    switch (type) {
+                        case 1:
+                            orderPrivateCarService.payCancelOrderPrivateCar(id, order_id, 2);
+                            break;
+                        case 2:
+                            orderTaxiService.payCancelOrderTaxi(id, order_id, 2);
+                            break;
+                        case 3:
+                            orderCrossCityService.payCancelOrderCrossCity(id, order_id, 2);
+                            break;
+                    }
+                    PrintWriter out = response.getWriter();
+                    out.print("success");
+                    out.flush();
+                    out.close();
+                }
 //                cloudPay(map.get("total_amount"),map.get("trade_no"),0);
-			}
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-	}
-	
-	
-	/**
-	 * 完成订单微信支付回调
-	 *
-	 * @param request
-	 */
-	@ResponseBody
-	@PostMapping("/base/wxPayOrderTaxi")
-	public void wxPayOrderTaxi(HttpServletRequest request, HttpServletResponse response) {
-		try {
-			System.out.println("完成订单微信支付回调");
-			Map<String, String> map = payMoneyUtil.weixinpayCallback(request);
-			System.out.println("wx支付信息:" + map);
-			if (null != map) {
-				String order_id = map.get("transaction_id");
-				String out_trade_no = map.get("out_trade_no");
-				String result = map.get("result");
-				String total_fee = map.get("total_fee");
-				String transaction_id = map.get("transaction_id");
-				if (ToolUtil.isNotEmpty(out_trade_no) && ToolUtil.isNotEmpty(order_id)) {
-					PrintWriter out = response.getWriter();
-					out.write(result);
-					out.flush();
-					out.close();
-					
-					String[] split = out_trade_no.split("_");
-					Integer id = Integer.valueOf(split[0]);
-					Integer type = Integer.valueOf(split[1]);
-					switch (type) {
-						case 1:
-							orderPrivateCarService.payOrderPrivateCarCallback(id, order_id, 1);
-							break;
-						case 2:
-							orderTaxiService.payOrderTaxiCallback(id, order_id, 1, 0);
-							break;
-						case 3:
-							orderCrossCityService.payOrderCrossCityCallback(id, order_id, 1, null);
-							break;
-						case 4:
-							orderLogisticsService.payOrderLogisticsCallback(id, order_id, 1);
-							break;
-						case 5:
-							orderLogisticsService.payOrderLogisticsCallback(id, order_id, 1);
-							break;
-					}
-					
-				}
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+
+    /**
+     * 完成订单微信支付回调
+     *
+     * @param request
+     */
+    @ResponseBody
+    @PostMapping("/base/wxPayOrderTaxi")
+    public void wxPayOrderTaxi(HttpServletRequest request, HttpServletResponse response) {
+        try {
+            System.out.println("完成订单微信支付回调");
+            Map<String, String> map = payMoneyUtil.weixinpayCallback(request);
+            System.out.println("wx支付信息:" + map);
+            if (null != map) {
+                String order_id = map.get("transaction_id");
+                String out_trade_no = map.get("out_trade_no");
+                String result = map.get("result");
+                String total_fee = map.get("total_fee");
+                String transaction_id = map.get("transaction_id");
+                if (ToolUtil.isNotEmpty(out_trade_no) && ToolUtil.isNotEmpty(order_id)) {
+                    PrintWriter out = response.getWriter();
+                    out.write(result);
+                    out.flush();
+                    out.close();
+
+                    String[] split = out_trade_no.split("_");
+                    Integer id = Integer.valueOf(split[0]);
+                    Integer type = Integer.valueOf(split[1]);
+                    switch (type) {
+                        case 1:
+                            orderPrivateCarService.payOrderPrivateCarCallback(id, order_id, 1);
+                            break;
+                        case 2:
+                            orderTaxiService.payOrderTaxiCallback(id, order_id, 1, 0);
+                            break;
+                        case 3:
+                            orderCrossCityService.payOrderCrossCityCallback(id, order_id, 1, null);
+                            break;
+                        case 4:
+                            orderLogisticsService.payOrderLogisticsCallback(id, order_id, 1);
+                            break;
+                        case 5:
+                            orderLogisticsService.payOrderLogisticsCallback(id, order_id, 1);
+                            break;
+                    }
+
+                }
 
 //                cloudPay(map.get("total_fee"),map.get("transaction_id"),1);
-			}
-			
-			
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-	}
-	
-	
-	/**
-	 * 完成订单支付宝支付回调
-	 *
-	 * @param request
-	 */
-	@ResponseBody
-	@PostMapping("/base/aliPayOrderTaxi")
-	public void aliPayOrderTaxi(HttpServletRequest request, HttpServletResponse response) {
-		try {
-			Map<String, String> map = payMoneyUtil.alipayCallback(request);
-			if (null != map) {
-				String out_trade_no = map.get("out_trade_no");
-				String order_id = map.get("trade_no");
-				if (ToolUtil.isNotEmpty(out_trade_no) && ToolUtil.isNotEmpty(order_id)) {
-					String[] split = out_trade_no.split("_");
-					Integer id = Integer.valueOf(split[0]);
-					Integer type = Integer.valueOf(split[1]);
-					switch (type) {
-						case 1:
-							orderPrivateCarService.payOrderPrivateCarCallback(id, order_id, 2);
-							break;
-						case 2:
-							orderTaxiService.payOrderTaxiCallback(id, order_id, 2, 0);
-							break;
-						case 3:
-							orderCrossCityService.payOrderCrossCityCallback(id, order_id, 2, null);
-							break;
-						case 4:
-							orderLogisticsService.payOrderLogisticsCallback(id, order_id, 2);
-							break;
-						case 5:
-							orderLogisticsService.payOrderLogisticsCallback(id, order_id, 2);
-							break;
-					}
-					PrintWriter out = response.getWriter();
-					out.print("success");
-					out.flush();
-					out.close();
-				}
+            }
+
+
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+
+    /**
+     * 完成订单支付宝支付回调
+     *
+     * @param request
+     */
+    @ResponseBody
+    @PostMapping("/base/aliPayOrderTaxi")
+    public void aliPayOrderTaxi(HttpServletRequest request, HttpServletResponse response) {
+        try {
+            Map<String, String> map = payMoneyUtil.alipayCallback(request);
+            if (null != map) {
+                String out_trade_no = map.get("out_trade_no");
+                String order_id = map.get("trade_no");
+                if (ToolUtil.isNotEmpty(out_trade_no) && ToolUtil.isNotEmpty(order_id)) {
+                    String[] split = out_trade_no.split("_");
+                    Integer id = Integer.valueOf(split[0]);
+                    Integer type = Integer.valueOf(split[1]);
+                    switch (type) {
+                        case 1:
+                            orderPrivateCarService.payOrderPrivateCarCallback(id, order_id, 2);
+                            break;
+                        case 2:
+                            orderTaxiService.payOrderTaxiCallback(id, order_id, 2, 0);
+                            break;
+                        case 3:
+                            orderCrossCityService.payOrderCrossCityCallback(id, order_id, 2, null);
+                            break;
+                        case 4:
+                            orderLogisticsService.payOrderLogisticsCallback(id, order_id, 2);
+                            break;
+                        case 5:
+                            orderLogisticsService.payOrderLogisticsCallback(id, order_id, 2);
+                            break;
+                    }
+                    PrintWriter out = response.getWriter();
+                    out.print("success");
+                    out.flush();
+                    out.close();
+                }
 //                cloudPay(map.get("total_amount"),map.get("trade_no"),0);
-			}
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-	}
-	
-	
-	/**
-	 * 小件物流差价微信支付回调
-	 *
-	 * @param request
-	 */
-	@ResponseBody
-	@PostMapping("/base/wxPayOrderLogisticsSpread")
-	public void wxPayOrderLogisticsSpread(HttpServletRequest request, HttpServletResponse response) {
-		try {
-			Map<String, String> map = payMoneyUtil.weixinpayCallback(request);
-			if (null != map) {
-				String order_id = map.get("transaction_id");
-				String out_trade_no = map.get("out_trade_no");
-				String result = map.get("result");
-				if (ToolUtil.isNotEmpty(out_trade_no) && ToolUtil.isNotEmpty(order_id)) {
-					PrintWriter out = response.getWriter();
-					out.write(result);
-					out.flush();
-					out.close();
-					
-					String[] split = out_trade_no.split("_");
-					Integer id = Integer.valueOf(split[0]);
-					Integer type = Integer.valueOf(split[1]);
-					orderLogisticsService.payOrderLogisticsSpreadCallback(id, order_id, 1);
-				}
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+
+    /**
+     * 小件物流差价微信支付回调
+     *
+     * @param request
+     */
+    @ResponseBody
+    @PostMapping("/base/wxPayOrderLogisticsSpread")
+    public void wxPayOrderLogisticsSpread(HttpServletRequest request, HttpServletResponse response) {
+        try {
+            Map<String, String> map = payMoneyUtil.weixinpayCallback(request);
+            if (null != map) {
+                String order_id = map.get("transaction_id");
+                String out_trade_no = map.get("out_trade_no");
+                String result = map.get("result");
+                if (ToolUtil.isNotEmpty(out_trade_no) && ToolUtil.isNotEmpty(order_id)) {
+                    PrintWriter out = response.getWriter();
+                    out.write(result);
+                    out.flush();
+                    out.close();
+
+                    String[] split = out_trade_no.split("_");
+                    Integer id = Integer.valueOf(split[0]);
+                    Integer type = Integer.valueOf(split[1]);
+                    orderLogisticsService.payOrderLogisticsSpreadCallback(id, order_id, 1);
+                }
 
 //                cloudPay(map.get("total_fee"),map.get("transaction_id"),1);
-			}
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-	}
-	
-	
-	/**
-	 * 小件物流差价支付宝支付回调
-	 *
-	 * @param request
-	 */
-	@ResponseBody
-	@PostMapping("/base/aliPayOrderLogisticsSpread")
-	public void aliPayOrderLogisticsSpread(HttpServletRequest request, HttpServletResponse response) {
-		try {
-			Map<String, String> map = payMoneyUtil.alipayCallback(request);
-			if (null != map) {
-				String out_trade_no = map.get("out_trade_no");
-				String order_id = map.get("trade_no");
-				if (ToolUtil.isNotEmpty(out_trade_no) && ToolUtil.isNotEmpty(order_id)) {
-					String[] split = out_trade_no.split("_");
-					Integer id = Integer.valueOf(split[0]);
-					Integer type = Integer.valueOf(split[1]);
-					orderLogisticsService.payOrderLogisticsSpreadCallback(id, order_id, 2);
-					
-					PrintWriter out = response.getWriter();
-					out.print("success");
-					out.flush();
-					out.close();
-				}
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+
+    /**
+     * 小件物流差价支付宝支付回调
+     *
+     * @param request
+     */
+    @ResponseBody
+    @PostMapping("/base/aliPayOrderLogisticsSpread")
+    public void aliPayOrderLogisticsSpread(HttpServletRequest request, HttpServletResponse response) {
+        try {
+            Map<String, String> map = payMoneyUtil.alipayCallback(request);
+            if (null != map) {
+                String out_trade_no = map.get("out_trade_no");
+                String order_id = map.get("trade_no");
+                if (ToolUtil.isNotEmpty(out_trade_no) && ToolUtil.isNotEmpty(order_id)) {
+                    String[] split = out_trade_no.split("_");
+                    Integer id = Integer.valueOf(split[0]);
+                    Integer type = Integer.valueOf(split[1]);
+                    orderLogisticsService.payOrderLogisticsSpreadCallback(id, order_id, 2);
+
+                    PrintWriter out = response.getWriter();
+                    out.print("success");
+                    out.flush();
+                    out.close();
+                }
 //                cloudPay(map.get("total_amount"),map.get("trade_no"),0);
-			}
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-	}
-	
-	/**
-	 * 取消订单微信退款成功回调
-	 *
-	 * @param request
-	 * @param response
-	 */
-	@ResponseBody
-	@PostMapping("/base/cancleOrderWXPay")
-	public void cancleOrderWXPay(HttpServletRequest request, HttpServletResponse response) {
-		try {
-			System.out.println("小件物流取消");
-			Map<String, String> map = payMoneyUtil.wxRefundCallback(request);
-			if (null != map) {
-				String order_id = map.get("refund_id");
-				String out_refund_no = map.get("out_refund_no");
-				String result = map.get("result");
-				if (ToolUtil.isNotEmpty(out_refund_no) && ToolUtil.isNotEmpty(order_id)) {
-					PrintWriter out = response.getWriter();
-					out.write(result);
-					out.flush();
-					out.close();
-					
-					String[] split = out_refund_no.split("_");
-					Integer id = Integer.valueOf(split[0]);
-					Integer type = Integer.valueOf(split[1]);
-					System.out.println("取消回调:" + type);
-					switch (type) {
-						case 1:
-							break;
-						case 2:
-							break;
-						case 3:
-							OrderCrossCity orderCrossCity = orderCrossCityService.selectById(id);
-							PaymentRecord query = paymentRecordService.query(1, orderCrossCity.getUserId(), 1, id, 3, orderCrossCity.getPayType(), 2);
-							//添加交易明细
-							transactionDetailsService.saveData(orderCrossCity.getUserId(), "跨城出行取消退款", query.getAmount(), 1, 1, 1, 3, id);
-							UserCouponRecord userCouponRecord = userCouponRecordService.selectById(orderCrossCity.getCouponId());
-							userCouponRecord.setState(1);
-							userCouponRecordService.updateById(userCouponRecord);
-							orderCrossCity.setCouponMoney(0.00);
-							orderCrossCityService.updateById(orderCrossCity);
-							break;
-						case 4:
-							OrderLogistics orderLogistics1 = orderLogisticsService.selectById(id);
-							PaymentRecord query1 = paymentRecordService.query(1, orderLogistics1.getUserId(), 1, id, 4, orderLogistics1.getPayType(), 2);
-							//添加交易明细
-							transactionDetailsService.saveData(orderLogistics1.getUserId(), "同城小件物流取消退款", query1.getAmount(), 1, 1, 1, 4, id);
-							UserCouponRecord userCouponRecord1 = userCouponRecordService.selectById(orderLogistics1.getCouponId());
-							userCouponRecord1.setState(1);
-							userCouponRecordService.updateById(userCouponRecord1);
-							orderLogistics1.setCouponMoney(0.00);
-							orderLogisticsService.updateById(orderLogistics1);
-							break;
-						case 5:
-							OrderLogistics orderLogistics2 = orderLogisticsService.selectById(id);
-							PaymentRecord query2 = paymentRecordService.query(1, orderLogistics2.getUserId(), 1, id, 5, orderLogistics2.getPayType(), 2);
-							//添加交易明细
-							transactionDetailsService.saveData(orderLogistics2.getUserId(), "跨城小件物流取消退款", query2.getAmount(), 1, 1, 1, 5, id);
-							UserCouponRecord userCouponRecord2 = userCouponRecordService.selectById(orderLogistics2.getCouponId());
-							userCouponRecord2.setState(1);
-							userCouponRecordService.updateById(userCouponRecord2);
-							orderLogistics2.setCouponMoney(0.00);
-							orderLogisticsService.updateById(orderLogistics2);
-							break;
-					}
-				}
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+    /**
+     * 取消订单微信退款成功回调
+     *
+     * @param request
+     * @param response
+     */
+    @ResponseBody
+    @PostMapping("/base/cancleOrderWXPay")
+    public void cancleOrderWXPay(HttpServletRequest request, HttpServletResponse response) {
+        try {
+            System.out.println("小件物流取消");
+            Map<String, String> map = payMoneyUtil.wxRefundCallback(request);
+            if (null != map) {
+                String order_id = map.get("refund_id");
+                String out_refund_no = map.get("out_refund_no");
+                String result = map.get("result");
+                if (ToolUtil.isNotEmpty(out_refund_no) && ToolUtil.isNotEmpty(order_id)) {
+                    PrintWriter out = response.getWriter();
+                    out.write(result);
+                    out.flush();
+                    out.close();
+
+                    String[] split = out_refund_no.split("_");
+                    Integer id = Integer.valueOf(split[0]);
+                    Integer type = Integer.valueOf(split[1]);
+                    System.out.println("取消回调:" + type);
+                    switch (type) {
+                        case 1:
+                            break;
+                        case 2:
+                            break;
+                        case 3:
+                            OrderCrossCity orderCrossCity = orderCrossCityService.selectById(id);
+                            PaymentRecord query = paymentRecordService.query(1, orderCrossCity.getUserId(), 1, id, 3, orderCrossCity.getPayType(), 2);
+                            //添加交易明细
+                            transactionDetailsService.saveData(orderCrossCity.getUserId(), "跨城出行取消退款", query.getAmount(), 1, 1, 1, 3, id);
+                            UserCouponRecord userCouponRecord = userCouponRecordService.selectById(orderCrossCity.getCouponId());
+                            userCouponRecord.setState(1);
+                            userCouponRecordService.updateById(userCouponRecord);
+                            orderCrossCity.setCouponMoney(0.00);
+                            orderCrossCityService.updateById(orderCrossCity);
+                            break;
+                        case 4:
+                            OrderLogistics orderLogistics1 = orderLogisticsService.selectById(id);
+                            PaymentRecord query1 = paymentRecordService.query(1, orderLogistics1.getUserId(), 1, id, 4, orderLogistics1.getPayType(), 2);
+                            //添加交易明细
+                            transactionDetailsService.saveData(orderLogistics1.getUserId(), "同城小件物流取消退款", query1.getAmount(), 1, 1, 1, 4, id);
+                            UserCouponRecord userCouponRecord1 = userCouponRecordService.selectById(orderLogistics1.getCouponId());
+                            userCouponRecord1.setState(1);
+                            userCouponRecordService.updateById(userCouponRecord1);
+                            orderLogistics1.setCouponMoney(0.00);
+                            orderLogisticsService.updateById(orderLogistics1);
+                            break;
+                        case 5:
+                            OrderLogistics orderLogistics2 = orderLogisticsService.selectById(id);
+                            PaymentRecord query2 = paymentRecordService.query(1, orderLogistics2.getUserId(), 1, id, 5, orderLogistics2.getPayType(), 2);
+                            //添加交易明细
+                            transactionDetailsService.saveData(orderLogistics2.getUserId(), "跨城小件物流取消退款", query2.getAmount(), 1, 1, 1, 5, id);
+                            UserCouponRecord userCouponRecord2 = userCouponRecordService.selectById(orderLogistics2.getCouponId());
+                            userCouponRecord2.setState(1);
+                            userCouponRecordService.updateById(userCouponRecord2);
+                            orderLogistics2.setCouponMoney(0.00);
+                            orderLogisticsService.updateById(orderLogistics2);
+                            break;
+                    }
+                }
 //                cloudPay(map.get("total_fee"),map.get("transaction_id"),1);
-			}
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-	}
-	
-	
-	/**
-	 * 购买出行卡微信支付回调
-	 *
-	 * @param request
-	 * @param response
-	 */
-	@ResponseBody
-	@PostMapping("/base/wxPayTaxiCardPaymentSpread")
-	public void wxPayTaxiCardPaymentSpread(HttpServletRequest request, HttpServletResponse response) {
-		try {
-			System.out.println("购买出行卡微信支付回调");
-			Map<String, String> map = payMoneyUtil.weixinpayCallback(request);
-			System.out.println("购买出行卡微信支付回调" + map);
-			if (null != map) {
-				String order_id = map.get("transaction_id");
-				String out_trade_no = map.get("out_trade_no");
-				String result = map.get("result");
-				System.out.println(out_trade_no + "_" + order_id);
-				if (ToolUtil.isNotEmpty(out_trade_no) && ToolUtil.isNotEmpty(order_id)) {
-					PrintWriter out = response.getWriter();
-					out.write(result);
-					out.flush();
-					out.close();
-					taxiCardService.payTaxiCardPaymentSpread(Integer.valueOf(out_trade_no), order_id);
-				}
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+
+    /**
+     * 购买出行卡微信支付回调
+     *
+     * @param request
+     * @param response
+     */
+    @ResponseBody
+    @PostMapping("/base/wxPayTaxiCardPaymentSpread")
+    public void wxPayTaxiCardPaymentSpread(HttpServletRequest request, HttpServletResponse response) {
+        try {
+            System.out.println("购买出行卡微信支付回调");
+            Map<String, String> map = payMoneyUtil.weixinpayCallback(request);
+            System.out.println("购买出行卡微信支付回调" + map);
+            if (null != map) {
+                String order_id = map.get("transaction_id");
+                String out_trade_no = map.get("out_trade_no");
+                String result = map.get("result");
+                System.out.println(out_trade_no + "_" + order_id);
+                if (ToolUtil.isNotEmpty(out_trade_no) && ToolUtil.isNotEmpty(order_id)) {
+                    PrintWriter out = response.getWriter();
+                    out.write(result);
+                    out.flush();
+                    out.close();
+                    taxiCardService.payTaxiCardPaymentSpread(Integer.valueOf(out_trade_no), order_id);
+                }
 //                cloudPay(map.get("total_fee"),map.get("transaction_id"),1);
-			}
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-	}
-	
-	
-	/**
-	 * 购买出行卡支付宝支付回调
-	 *
-	 * @param request
-	 * @param response
-	 */
-	@ResponseBody
-	@PostMapping("/base/aliPayTaxiCardPaymentSpread")
-	public void aliPayTaxiCardPaymentSpread(HttpServletRequest request, HttpServletResponse response) {
-		try {
-			Map<String, String> map = payMoneyUtil.alipayCallback(request);
-			if (null != map) {
-				String out_trade_no = map.get("out_trade_no");
-				String order_id = map.get("trade_no");
-				if (ToolUtil.isNotEmpty(out_trade_no) && ToolUtil.isNotEmpty(order_id)) {
-					taxiCardService.payTaxiCardPaymentSpread(Integer.valueOf(out_trade_no), order_id);
-					
-					PrintWriter out = response.getWriter();
-					out.print("success");
-					out.flush();
-					out.close();
-				}
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+
+    /**
+     * 购买出行卡支付宝支付回调
+     *
+     * @param request
+     * @param response
+     */
+    @ResponseBody
+    @PostMapping("/base/aliPayTaxiCardPaymentSpread")
+    public void aliPayTaxiCardPaymentSpread(HttpServletRequest request, HttpServletResponse response) {
+        try {
+            Map<String, String> map = payMoneyUtil.alipayCallback(request);
+            if (null != map) {
+                String out_trade_no = map.get("out_trade_no");
+                String order_id = map.get("trade_no");
+                if (ToolUtil.isNotEmpty(out_trade_no) && ToolUtil.isNotEmpty(order_id)) {
+                    taxiCardService.payTaxiCardPaymentSpread(Integer.valueOf(out_trade_no), order_id);
+
+                    PrintWriter out = response.getWriter();
+                    out.print("success");
+                    out.flush();
+                    out.close();
+                }
 //                cloudPay(map.get("total_amount"),map.get("trade_no"),0);
-			}
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-	}
-	
-	
-	@ResponseBody
-	@PostMapping("/api/taxi/payThankYouFee")
-	@ApiOperation(value = "1.0-支付感谢费", tags = {"用户端-出租车", "用户端-专车", "用户端-跨城", "用户端-小件物流", "用户端-包车", "用户端-助老模式"}, notes = "")
-	@ApiImplicitParams({
-			@ApiImplicitParam(value = "支付方式(1=微信,2=支付宝,3=余额)", name = "payType", required = true, dataType = "int"),
-			@ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"),
-			@ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=跨城,4=同城小件物流,5=跨城小件物流,6=包车,7=助老模式)", name = "orderType", required = true, dataType = "int"),
-			@ApiImplicitParam(value = "支付金额", name = "money", required = true, dataType = "double"),
-			@ApiImplicitParam(value = "支付端(1=用户APP端,2=司机APP端,3=用户小程序端)", name = "type", required = true, dataType = "int"),
-			@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
-	})
-	public ResultUtil payThankYouFee(Integer orderId, Integer orderType, Double money, Integer payType, Integer type, HttpServletRequest request) {
-		try {
-			Integer uid = userInfoService.getUserIdFormRedis(request);
-			if (null == uid) {
-				return ResultUtil.tokenErr();
-			}
-			switch (orderType) {
-				case 1:
-					return orderPrivateCarService.payThankYouFee(uid, orderId, money, payType, type);
-				case 2:
-					return orderTaxiService.payThankYouFee(uid, orderId, money, payType, type);
-				case 3:
-					return orderCrossCityService.payThankYouFee(uid, orderId, money, payType, type);
-				case 4:
-					return orderLogisticsService.payThankYouFee(uid, orderId, money, payType, type);
-				case 5:
-					return orderLogisticsService.payThankYouFee(uid, orderId, money, payType, type);
-				case 6:
-					return orderCharteredCarService.payThankYouFee(uid, orderId, money, payType, type);
-				case 7:
-					return orderCallService.payThankYouFee(uid, orderId, money, payType, type);
-			}
-		} catch (Exception e) {
-			e.printStackTrace();
-			return ResultUtil.runErr();
-		}
-		return ResultUtil.success();
-	}
-	
-	
-	/**
-	 * 感谢费支付回调
-	 *
-	 * @param request
-	 * @param response
-	 */
-	@ResponseBody
-	@PostMapping("/base/wxPayThankYouFee")
-	public void wxPayThankYouFee(HttpServletRequest request, HttpServletResponse response) {
-		try {
-			Map<String, String> map = payMoneyUtil.weixinpayCallback(request);
-			if (null != map) {
-				String order_id = map.get("transaction_id");
-				String out_trade_no = map.get("out_trade_no");
-				String result = map.get("result");
-				if (ToolUtil.isNotEmpty(out_trade_no) && ToolUtil.isNotEmpty(order_id)) {
-					PrintWriter out = response.getWriter();
-					out.write(result);
-					out.flush();
-					out.close();
-					
-					String[] s = out_trade_no.split("_");
-					switch (Integer.valueOf(s[1])) {
-						case 1:
-							orderPrivateCarService.payThankYouFeeCallback(Integer.valueOf(s[0]), order_id, 1);
-						case 2:
-							orderTaxiService.payThankYouFeeCallback(Integer.valueOf(s[0]), order_id, 1);
-						case 3:
-							orderCrossCityService.payThankYouFeeCallback(Integer.valueOf(s[0]), order_id, 1);
-						case 4:
-							orderLogisticsService.payThankYouFeeCallback(Integer.valueOf(s[0]), order_id, 1);
-						case 5:
-							orderLogisticsService.payThankYouFeeCallback(Integer.valueOf(s[0]), order_id, 1);
-						case 6:
-							orderCharteredCarService.payThankYouFeeCallback(Integer.valueOf(s[0]), order_id, 1);
-						case 7:
-							orderCallService.payThankYouFeeCallback(Integer.valueOf(s[0]), order_id, 1);
-					}
-				}
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+
+    @ResponseBody
+    @PostMapping("/api/taxi/payThankYouFee")
+    @ApiOperation(value = "1.0-支付感谢费", tags = {"用户端-出租车", "用户端-专车", "用户端-跨城", "用户端-小件物流", "用户端-包车", "用户端-助老模式"}, notes = "")
+    @ApiImplicitParams({
+            @ApiImplicitParam(value = "支付方式(1=微信,2=支付宝,3=余额)", name = "payType", required = true, dataType = "int"),
+            @ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"),
+            @ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=跨城,4=同城小件物流,5=跨城小件物流,6=包车,7=助老模式)", name = "orderType", required = true, dataType = "int"),
+            @ApiImplicitParam(value = "支付金额", name = "money", required = true, dataType = "double"),
+            @ApiImplicitParam(value = "支付端(1=用户APP端,2=司机APP端,3=用户小程序端)", name = "type", required = true, dataType = "int"),
+            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
+    })
+    public ResultUtil payThankYouFee(Integer orderId, Integer orderType, Double money, Integer payType, Integer type, HttpServletRequest request) {
+        try {
+            Integer uid = userInfoService.getUserIdFormRedis(request);
+            if (null == uid) {
+                return ResultUtil.tokenErr();
+            }
+            switch (orderType) {
+                case 1:
+                    return orderPrivateCarService.payThankYouFee(uid, orderId, money, payType, type);
+                case 2:
+                    return orderTaxiService.payThankYouFee(uid, orderId, money, payType, type);
+                case 3:
+                    return orderCrossCityService.payThankYouFee(uid, orderId, money, payType, type);
+                case 4:
+                    return orderLogisticsService.payThankYouFee(uid, orderId, money, payType, type);
+                case 5:
+                    return orderLogisticsService.payThankYouFee(uid, orderId, money, payType, type);
+                case 6:
+                    return orderCharteredCarService.payThankYouFee(uid, orderId, money, payType, type);
+                case 7:
+                    return orderCallService.payThankYouFee(uid, orderId, money, payType, type);
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+            return ResultUtil.runErr();
+        }
+        return ResultUtil.success();
+    }
+
+
+    /**
+     * 感谢费支付回调
+     *
+     * @param request
+     * @param response
+     */
+    @ResponseBody
+    @PostMapping("/base/wxPayThankYouFee")
+    public void wxPayThankYouFee(HttpServletRequest request, HttpServletResponse response) {
+        try {
+            Map<String, String> map = payMoneyUtil.weixinpayCallback(request);
+            if (null != map) {
+                String order_id = map.get("transaction_id");
+                String out_trade_no = map.get("out_trade_no");
+                String result = map.get("result");
+                if (ToolUtil.isNotEmpty(out_trade_no) && ToolUtil.isNotEmpty(order_id)) {
+                    PrintWriter out = response.getWriter();
+                    out.write(result);
+                    out.flush();
+                    out.close();
+
+                    String[] s = out_trade_no.split("_");
+                    switch (Integer.valueOf(s[1])) {
+                        case 1:
+                            orderPrivateCarService.payThankYouFeeCallback(Integer.valueOf(s[0]), order_id, 1);
+                        case 2:
+                            orderTaxiService.payThankYouFeeCallback(Integer.valueOf(s[0]), order_id, 1);
+                        case 3:
+                            orderCrossCityService.payThankYouFeeCallback(Integer.valueOf(s[0]), order_id, 1);
+                        case 4:
+                            orderLogisticsService.payThankYouFeeCallback(Integer.valueOf(s[0]), order_id, 1);
+                        case 5:
+                            orderLogisticsService.payThankYouFeeCallback(Integer.valueOf(s[0]), order_id, 1);
+                        case 6:
+                            orderCharteredCarService.payThankYouFeeCallback(Integer.valueOf(s[0]), order_id, 1);
+                        case 7:
+                            orderCallService.payThankYouFeeCallback(Integer.valueOf(s[0]), order_id, 1);
+                    }
+                }
 //                cloudPay(map.get("total_fee"),map.get("transaction_id"),1);
-			}
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-	}
-	
-	
-	/**
-	 * 感谢费支付宝支付回调
-	 *
-	 * @param request
-	 * @param response
-	 */
-	@ResponseBody
-	@PostMapping("/base/aliPayThankYouFee")
-	public void aliPayThankYouFee(HttpServletRequest request, HttpServletResponse response) {
-		try {
-			Map<String, String> map = payMoneyUtil.alipayCallback(request);
-			if (null != map) {
-				String out_trade_no = map.get("out_trade_no");
-				String order_id = map.get("trade_no");
-				if (ToolUtil.isNotEmpty(out_trade_no) && ToolUtil.isNotEmpty(order_id)) {
-					String[] s = out_trade_no.split("_");
-					switch (Integer.valueOf(s[1])) {
-						case 1:
-							orderPrivateCarService.payThankYouFeeCallback(Integer.valueOf(s[0]), order_id, 2);
-						case 2:
-							orderTaxiService.payThankYouFeeCallback(Integer.valueOf(s[0]), order_id, 2);
-						case 3:
-							orderCrossCityService.payThankYouFeeCallback(Integer.valueOf(s[0]), order_id, 2);
-						case 4:
-							orderLogisticsService.payThankYouFeeCallback(Integer.valueOf(s[0]), order_id, 2);
-						case 5:
-							orderLogisticsService.payThankYouFeeCallback(Integer.valueOf(s[0]), order_id, 2);
-						case 6:
-							orderCharteredCarService.payThankYouFeeCallback(Integer.valueOf(s[0]), order_id, 2);
-						case 7:
-							orderCallService.payThankYouFeeCallback(Integer.valueOf(s[0]), order_id, 2);
-					}
-					
-					PrintWriter out = response.getWriter();
-					out.print("success");
-					out.flush();
-					out.close();
-				}
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+
+    /**
+     * 感谢费支付宝支付回调
+     *
+     * @param request
+     * @param response
+     */
+    @ResponseBody
+    @PostMapping("/base/aliPayThankYouFee")
+    public void aliPayThankYouFee(HttpServletRequest request, HttpServletResponse response) {
+        try {
+            Map<String, String> map = payMoneyUtil.alipayCallback(request);
+            if (null != map) {
+                String out_trade_no = map.get("out_trade_no");
+                String order_id = map.get("trade_no");
+                if (ToolUtil.isNotEmpty(out_trade_no) && ToolUtil.isNotEmpty(order_id)) {
+                    String[] s = out_trade_no.split("_");
+                    switch (Integer.valueOf(s[1])) {
+                        case 1:
+                            orderPrivateCarService.payThankYouFeeCallback(Integer.valueOf(s[0]), order_id, 2);
+                        case 2:
+                            orderTaxiService.payThankYouFeeCallback(Integer.valueOf(s[0]), order_id, 2);
+                        case 3:
+                            orderCrossCityService.payThankYouFeeCallback(Integer.valueOf(s[0]), order_id, 2);
+                        case 4:
+                            orderLogisticsService.payThankYouFeeCallback(Integer.valueOf(s[0]), order_id, 2);
+                        case 5:
+                            orderLogisticsService.payThankYouFeeCallback(Integer.valueOf(s[0]), order_id, 2);
+                        case 6:
+                            orderCharteredCarService.payThankYouFeeCallback(Integer.valueOf(s[0]), order_id, 2);
+                        case 7:
+                            orderCallService.payThankYouFeeCallback(Integer.valueOf(s[0]), order_id, 2);
+                    }
+
+                    PrintWriter out = response.getWriter();
+                    out.print("success");
+                    out.flush();
+                    out.close();
+                }
 //                cloudPay(map.get("total_amount"),map.get("trade_no"),0);
-			}
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-	}
-	
-	
-	/**
-	 * 管理后台推单
-	 *
-	 * @param orderType
-	 * @return
-	 */
-	@ResponseBody
-	@PostMapping("/base/taxi/pushOrder")
-	public ResultUtil pushOrder(Integer orderId, Integer orderType) {
-		try {
-			switch (orderType) {
-				case 1:
-					return orderPrivateCarService.pushOrderPrivateCar(orderId);
-				case 2:
-					return orderTaxiService.pushOrderTaxi(orderId);
-			}
-			return ResultUtil.success();
-		} catch (Exception e) {
-			e.printStackTrace();
-			return ResultUtil.runErr();
-		}
-	}
-	
-	
-	/**
-	 * 黔云通支付回调通知
-	 *
-	 * @param qytPaymentCallback
-	 * @return
-	 */
-	@ResponseBody
-	@PostMapping("/base/order/qytPaymentCallback")
-	public String qytPaymentCallback(@RequestBody QYTPaymentCallback qytPaymentCallback) {
-		log.info("【黔云通支付回调通知】请求参数:" + JSON.toJSONString(qytPaymentCallback));
-		try {
-			if (null == qytPaymentCallback) {
-				return "error";
-			}
-			QYTPaymentCallbackData data = qytPaymentCallback.getData();
-			if("1".equals(data.getStatus())){
-				return "error";
-			}
-			String orderNo = data.getOrderNo();
-			String payId = data.getPayId();
-			//网约车
-			if(orderNo.contains("PR")){
-				orderNo = orderNo.substring(2);
-				orderPrivateCarService.payOrderPrivateCarCallback(Integer.valueOf(orderNo), payId, 1);
-				orderPrivateCarService.promotion(Integer.valueOf(orderNo));
-			}
-			//出租车
-			if(orderNo.contains("TA")){
-				orderNo = orderNo.substring(2);
-				orderTaxiService.payOrderTaxiCallback(Integer.valueOf(orderNo), payId, 1, 0);
-				orderTaxiService.promotion(Integer.valueOf(orderNo));
-			}
-		}catch (Exception e){
-			e.printStackTrace();
-			return "error";
-		}
-		return "success";
-	}
-	
-	
-	/**
-	 * 推广订单支付成功回调
-	 *
-	 * @param orderId
-	 * @return
-	 */
-	private void promotion(Integer orderType, Integer orderId) {
-		switch (orderType) {
-			case 3:
-				orderCrossCityService.promotion(orderId);
-				break;
-			default:
-				break;
-		}
-	}
-	
-	
-	@ResponseBody
-	@PostMapping("/api/get/unPayOrder")
-	@ApiOperation(value = "获取未支付订单", tags = {"用户端-首页"}, notes = "")
-	@ApiImplicitParams({
-			@ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=跨城,4=小件物流,null=全部)", name = "orderType", required = false, dataType = "int"),
-			@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
-	})
-	public ResultUtil getUnPayOrder(Integer orderType, HttpServletRequest request) {
-		try {
-			// 从Redis中获取当前用户ID
-			Integer uid = userInfoService.getUserIdFormRedis(request);
-			if (null == uid) {
-				return ResultUtil.tokenErr();
-			}
-			
-			List<UnPayOrderVO> unpaidOrders = new ArrayList<>();
-			
-			// 根据订单类型查询对应未支付订单
-			if (orderType == null || orderType == 1) {
-				// 查询未支付的专车订单
-				List<UnPayOrderVO> privateCarOrders = orderPrivateCarService.getUnpayPrivateOrders(uid);
-				unpaidOrders.addAll(privateCarOrders);
-			}
-			
-			if (orderType == null || orderType == 2) {
-				// 查询未支付的出租车订单
-				List<UnPayOrderVO> taxiOrders = orderTaxiService.getUnpayTaxiOrders(uid);
-				unpaidOrders.addAll(taxiOrders);
-			}
-			
-			if (orderType == null || orderType == 3) {
-				// 查询未支付的跨城订单
-				List<UnPayOrderVO> crossCityOrders = orderCrossCityService.getUnpayCrossCityOrders(uid);
-				unpaidOrders.addAll(crossCityOrders);
-			}
-			
-			if (orderType == null || orderType == 4 || orderType == 5) {
-				// 查询未支付的物流订单(包含类型4和5)
-				List<UnPayOrderVO> logisticsOrders = orderLogisticsService.getUnpayLogisticsOrders(uid);
-				unpaidOrders.addAll(logisticsOrders);
-			}
-			
-			// 按创建时间倒序排序(最新的订单在前)
-			unpaidOrders.sort(Comparator.comparing(UnPayOrderVO::getInsertTime).reversed());
-			
-			Map<String, Object> result = new HashMap<>();
-			result.put("total", unpaidOrders.size());
-			result.put("orders", unpaidOrders);
-			
-			return ResultUtil.success(result);
-		} catch (Exception e) {
-			e.printStackTrace();
-			return ResultUtil.runErr();
-		}
-	}
-    
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+
+    /**
+     * 管理后台推单
+     *
+     * @param orderType
+     * @return
+     */
+    @ResponseBody
+    @PostMapping("/base/taxi/pushOrder")
+    public ResultUtil pushOrder(Integer orderId, Integer orderType) {
+        try {
+            switch (orderType) {
+                case 1:
+                    return orderPrivateCarService.pushOrderPrivateCar(orderId);
+                case 2:
+                    return orderTaxiService.pushOrderTaxi(orderId);
+            }
+            return ResultUtil.success();
+        } catch (Exception e) {
+            e.printStackTrace();
+            return ResultUtil.runErr();
+        }
+    }
+
+
+    /**
+     * 黔云通支付回调通知
+     *
+     * @param qytPaymentCallback
+     * @return
+     */
+    @ResponseBody
+    @PostMapping("/base/order/qytPaymentCallback")
+    public String qytPaymentCallback(@RequestBody QYTPaymentCallback qytPaymentCallback) {
+        log.info("【黔云通支付回调通知】请求参数:" + JSON.toJSONString(qytPaymentCallback));
+        try {
+            if (null == qytPaymentCallback) {
+                return "error";
+            }
+            QYTPaymentCallbackData data = qytPaymentCallback.getData();
+            if ("1".equals(data.getStatus())) {
+                return "error";
+            }
+            String orderNo = data.getOrderNo();
+            String payId = data.getPayId();
+            //网约车
+            if (orderNo.contains("PR")) {
+                orderNo = orderNo.substring(2);
+                orderPrivateCarService.payOrderPrivateCarCallback(Integer.valueOf(orderNo), payId, 1);
+                orderPrivateCarService.promotion(Integer.valueOf(orderNo));
+            }
+            //出租车
+            if (orderNo.contains("TA")) {
+                orderNo = orderNo.substring(2);
+                orderTaxiService.payOrderTaxiCallback(Integer.valueOf(orderNo), payId, 1, 0);
+                orderTaxiService.promotion(Integer.valueOf(orderNo));
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+            return "error";
+        }
+        return "success";
+    }
+
+
+    /**
+     * 推广订单支付成功回调
+     *
+     * @param orderId
+     * @return
+     */
+    private void promotion(Integer orderType, Integer orderId) {
+        switch (orderType) {
+            case 3:
+                orderCrossCityService.promotion(orderId);
+                break;
+            default:
+                break;
+        }
+    }
+
+
+    @ResponseBody
+    @PostMapping("/api/get/unPayOrder")
+    @ApiOperation(value = "获取未支付订单", tags = {"用户端-首页"}, notes = "")
+    @ApiImplicitParams({
+            @ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=跨城,4=小件物流,null=全部)", name = "orderType", required = false, dataType = "int"),
+            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
+    })
+    public ResultUtil getUnPayOrder(Integer orderType, HttpServletRequest request) {
+        try {
+            // 从Redis中获取当前用户ID
+            Integer uid = userInfoService.getUserIdFormRedis(request);
+            if (null == uid) {
+                return ResultUtil.tokenErr();
+            }
+
+            List<UnPayOrderVO> unpaidOrders = new ArrayList<>();
+
+            // 根据订单类型查询对应未支付订单
+            if (orderType == null || orderType == 1) {
+                // 查询未支付的专车订单
+                List<UnPayOrderVO> privateCarOrders = orderPrivateCarService.getUnpayPrivateOrders(uid);
+                unpaidOrders.addAll(privateCarOrders);
+            }
+
+            if (orderType == null || orderType == 2) {
+                // 查询未支付的出租车订单
+                List<UnPayOrderVO> taxiOrders = orderTaxiService.getUnpayTaxiOrders(uid);
+                unpaidOrders.addAll(taxiOrders);
+            }
+
+            if (orderType == null || orderType == 3) {
+                // 查询未支付的跨城订单
+                List<UnPayOrderVO> crossCityOrders = orderCrossCityService.getUnpayCrossCityOrders(uid);
+                unpaidOrders.addAll(crossCityOrders);
+            }
+
+            if (orderType == null || orderType == 4 || orderType == 5) {
+                // 查询未支付的物流订单(包含类型4和5)
+                List<UnPayOrderVO> logisticsOrders = orderLogisticsService.getUnpayLogisticsOrders(uid);
+                unpaidOrders.addAll(logisticsOrders);
+            }
+
+            // 按创建时间倒序排序(最新的订单在前)
+            unpaidOrders.sort(Comparator.comparing(UnPayOrderVO::getInsertTime).reversed());
+
+            Map<String, Object> result = new HashMap<>();
+            result.put("total", unpaidOrders.size());
+            result.put("orders", unpaidOrders);
+
+            return ResultUtil.success(result);
+        } catch (Exception e) {
+            e.printStackTrace();
+            return ResultUtil.runErr();
+        }
+    }
+
+
     @PostMapping("/api/order/queryMyTripList")
     @ApiOperation(value = "获取我的行程列表", tags = {"用户端-个人中心"}, notes = "")
     @ApiImplicitParams({
@@ -2269,29 +2268,30 @@
             @ApiImplicitParam(value = "页条数", name = "size", required = true, dataType = "int"),
             @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
     })
-    public ResultUtil<List<TripOrderVo>> queryMyTripList(Integer type, Integer pageNum, Integer size, HttpServletRequest request){
+    public ResultUtil<List<TripOrderVo>> queryMyTripList(Integer type, Integer pageNum, Integer size, HttpServletRequest request) {
         try {
             Integer uid = userInfoService.getUserIdFormRedis(request);
-            if(null == uid){
+            if (null == uid) {
                 return ResultUtil.tokenErr();
             }
-            
-            List<Map<String,Object>> raw = fetchTrips(uid, type, pageNum, size);
+
+            List<Map<String, Object>> raw = fetchTrips(uid, type, pageNum, size);
             return ResultUtil.success(TripOrderVo.getTripOrderVo(raw));
-            
-        }catch (Exception e){
+        } catch (Exception e) {
             e.printStackTrace();
             return ResultUtil.runErr();
         }
     }
+
+
     /**
      * 私有:拉取指定 type 的行程列表。
      * type=0 → 全部类型;1/2/3 → 对应三种服务;pageNum/size 负责分页。
      * 对于 type==1 或 3,内部额外加载 serverCarModel 信息。
      */
-    private List<Map<String,Object>> fetchTrips(
+    private List<Map<String, Object>> fetchTrips(
             Integer uid, Integer type, Integer pageNum, Integer size) throws Exception {
-        
+
         List<Map<String, Object>> list = new ArrayList<>();
         if (type == null || type == 0) {
             list.addAll(orderPrivateCarService.queryMyTripListAll(uid));
@@ -2319,7 +2319,7 @@
             if (da == null && db == null) return 0;
             if (da == null) return 1;   // a 在后面
             if (db == null) return -1;  // b 在后面
-            return da.compareTo(db);    // 按时间正序(升序)排列
+            return da.compareTo(db) * -1;    // 按时间正序(升序)排列
         });
         // 将经纬度转换为城市并设置到数据中
         if (list != null && !list.isEmpty()) {
@@ -2329,20 +2329,20 @@
                 Object latObj = orderMap.get("boardingLat");
                 //获取公司id
                 Object companyId = orderMap.get("companyId");
-                
-                Object serverCarModelId =null;
+
+                Object serverCarModelId = null;
                 ServerCarModel serverCarModel = null;
-                if (orderMap.get("serverCarModelId") != null ){
+                if (orderMap.get("serverCarModelId") != null) {
                     //获取车型id
                     serverCarModelId = orderMap.get("serverCarModelId");
                     serverCarModel = serverCarModelService.selectById((Serializable) serverCarModelId);
                 }
-                
+
                 if (lonObj != null && latObj != null) {
                     String lon = lonObj.toString();
                     String lat = latObj.toString();
                     Company company = companyService.selectById((Serializable) companyId);
-                    
+
                     try {
                         // 调用逆地理编码接口获取城市信息
                         Map<String, String> geoInfo = gdMapGeocodingUtil.geocode(lon, lat);
@@ -2364,6 +2364,8 @@
         }
         return list;
     }
+
+
     @PostMapping("/api/user/sendTripSheetEmail")
     @ApiOperation(value = "发送行程单邮件", tags = {"用户端-个人中心"}, notes = "")
     @ApiImplicitParams({
@@ -2371,7 +2373,7 @@
             @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
     })
     public ResultUtil sendTripSheetEmail(@RequestBody TripSheetVo tripSheet,
-                                         HttpServletRequest  request) {
+                                         HttpServletRequest request) {
         try {
             // 从Redis中获取当前用户ID
             Integer uid = userInfoService.getUserIdFormRedis(request);
@@ -2395,16 +2397,17 @@
             String filePath = tripSheetGenerator.generatePdf(tripOrderVos);
             File attachment = new File(filePath);
             String displayFileName = "贵人家园出行-行程单.pdf";
-            emailUtil.sendEmailWithAttachment(tripSheet.getRecipientEmail(), "贵人家园出行-行程单", "贵人家园出行-行程单", attachment,displayFileName);
+            emailUtil.sendEmailWithAttachment(tripSheet.getRecipientEmail(), "贵人家园出行-行程单", "请查收您的行程单", attachment, displayFileName);
             attachment.delete(); // 发送成功后删除临时文件
             Map<String, Object> result = new HashMap<>();
             result.put("orderNum", orderList.size());
             return ResultUtil.success(result);
         } catch (Exception e) {
             e.printStackTrace();
-            return ResultUtil.error("邮件发送失败"+e.getMessage());
+            return ResultUtil.error("邮件发送失败" + e.getMessage());
         }
     }
+
     /**
      * 根据订单类型和ID集合查询订单
      */
@@ -2450,18 +2453,18 @@
                 throw new IllegalArgumentException("无效的订单类型:" + orderType);
         }
         orderList.sort((a, b) -> {
-            Date da =  a.getBoardingTime();
-            Date db =  b.getBoardingTime();
+            Date da = a.getBoardingTime();
+            Date db = b.getBoardingTime();
             if (da == null && db == null) return 0;
             if (da == null) return 1;   // a 在后面
             if (db == null) return -1;  // b 在后面
             return da.compareTo(db);    // 按时间正序(升序)排列
         });
-        
-        
-        return  orderList;
+
+
+        return orderList;
     }
-    
+
     /**
      * 处理行程订单VO列表,补充经纬度、公司和车型信息
      */
@@ -2469,21 +2472,21 @@
         if (orderVoList == null || orderVoList.isEmpty()) {
             return new ArrayList<>();
         }
-        
+
         for (TripOrderVo orderVo : orderVoList) {
             // 处理经纬度转城市信息
             handleGeoInfoForVo(orderVo);
-            
+
             // 处理公司信息
             handleCompanyInfoForVo(orderVo);
-            
+
             // 处理车型信息
             handleCarModelInfoForVo(orderVo);
         }
-        
+
         return orderVoList;
     }
-    
+
     /**
      * 处理经纬度转城市信息
      */
@@ -2491,12 +2494,12 @@
         // 直接从VO获取经纬度(假设VO中有对应的getter方法)
         String lon = String.valueOf(orderVo.getBoardingLon());
         String lat = String.valueOf(orderVo.getBoardingLat());
-        
+
         if (StringUtils.isEmpty(lon) || StringUtils.isEmpty(lat)) {
             orderVo.setCity("");
             return;
         }
-        
+
         try {
             // 调用逆地理编码接口获取城市信息
             Map<String, String> geoInfo = gdMapGeocodingUtil.geocode(lon, lat);
@@ -2507,7 +2510,7 @@
             orderVo.setCity("");
         }
     }
-    
+
     /**
      * 处理公司信息
      */
@@ -2518,7 +2521,7 @@
             orderVo.setCompanyName("");
             return;
         }
-        
+
         Company company = companyService.selectById(companyId);
         if (company != null) {
             orderVo.setCompanyName(company.getName());
@@ -2526,7 +2529,7 @@
             orderVo.setCompanyName("");
         }
     }
-    
+
     /**
      * 处理车型信息
      */
@@ -2537,7 +2540,7 @@
             orderVo.setServerCarModel("");
             return;
         }
-        
+
         ServerCarModel serverCarModel = serverCarModelService.selectById(serverCarModelId);
         if (serverCarModel != null) {
             orderVo.setServerCarModel(serverCarModel.getName());
@@ -2545,5 +2548,5 @@
             orderVo.setServerCarModel("");
         }
     }
-	
+
 }

--
Gitblit v1.7.1