From af1bdf94021985a93f7e95854915653b6a2e9580 Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期一, 20 四月 2026 11:50:10 +0800
Subject: [PATCH] update
---
DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 51 insertions(+), 0 deletions(-)
diff --git a/DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java b/DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java
index c55bab2..ea0559b 100644
--- a/DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java
+++ b/DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java
@@ -1541,4 +1541,55 @@
baseWarpper.setId(orderCrossCity.getId());
return ResultUtil.success(baseWarpper);
}
+
+ @Override
+ public ResultUtil orderOnBehalfPay(int crossCityOrderId, int type, Integer driverId) throws Exception {
+ OrderCrossCity order = orderCrossCityMapper.selectById(crossCityOrderId);
+ if (order == null) {
+ return ResultUtil.error("订单不存在");
+ }
+ if (!order.getDriverId().equals(driverId)) {
+ return ResultUtil.error("您没有权限支付此订单");
+ }
+ if (order.getState() != 7) {
+ return ResultUtil.error("订单不在待支付,无法完成订单");
+ }
+ if (type == 1) {
+ UserInfo userInfo = userInfoMapper.selectById(order.getUserId());
+ if (userInfo == null) {
+ return ResultUtil.error("乘客不存在");
+ }
+ if (ToolUtil.isEmpty(userInfo.getAppletsOpenId())) {
+ return ResultUtil.errorOpenId("乘客未绑定微信小程序openid,无法发起微信支付");
+ }
+ String outTradeNo = buildCbyzxOnBehalfOutTradeNo(crossCityOrderId);
+ JSONObject response = cbyzxOrderPayHelper.createOrder(
+ order.getUserId(),
+ userInfo.getAppletsOpenId(),
+ outTradeNo,
+ order.getOrderMoney()
+ );
+ if (!cbyzxOrderPayHelper.isCreateSuccess(response)) {
+ return ResultUtil.error(cbyzxOrderPayHelper.extractMessage(response), response);
+ }
+ paymentRecordService.saveData(1, order.getDriverId(), 2, crossCityOrderId, 3, 1, order.getOrderMoney(), outTradeNo, 1);
+ return ResultUtil.success(response);
+ } else if (type == 3) {
+ order.setState(2);
+ orderCrossCityMapper.updateById(order);
+
+
+ //添加交易明细
+ transactionDetailsService.saveData(driverId, "跨城出行订单", order.getOrderMoney(), 2, 1, 2, 3, order.getId());
+ return ResultUtil.success();
+ }
+ return ResultUtil.error("支付失败");
+ }
+
+ /**
+ * 创博优代客支付单号,增加业务前缀便于统一回调路由。
+ */
+ private String buildCbyzxOnBehalfOutTradeNo(Integer orderId) throws Exception {
+ return "onBehalf_" + orderId + "_3_" + UUIDUtil.getRandomCode(5);
+ }
}
--
Gitblit v1.7.1