From 7f0f418c272bdaafd8c067a3559f9c38b99a6778 Mon Sep 17 00:00:00 2001
From: “mitao” <“2763622819@qq.com”>
Date: 星期一, 13 四月 2026 15:24:08 +0800
Subject: [PATCH] feat:原微信支付切换为第三方
---
DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ReassignServiceImpl.java | 47 +++++++++++++++++++++++++++++++++++++++--------
1 files changed, 39 insertions(+), 8 deletions(-)
diff --git a/DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ReassignServiceImpl.java b/DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ReassignServiceImpl.java
index 75d5bac..0fa1ddd 100644
--- a/DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ReassignServiceImpl.java
+++ b/DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ReassignServiceImpl.java
@@ -65,6 +65,9 @@
private PayMoneyUtil payMoneyUtil;
@Autowired
+ private CbyzxOrderPayHelper cbyzxOrderPayHelper;
+
+ @Autowired
private IOrderTaxiService orderTaxiService;
@Autowired
@@ -153,9 +156,16 @@
if (null != reassign.getPayType()) {
if (reassign.getPayType() == 1) {//微信支付
reassign.setState(1);
-
- resultUtil = payMoneyUtil.weixinpay("改派订单", "", reassign.getId() + "_" + reassign.getOrderType() + "_" + UUIDUtil.getRandomCode(5), "0", "/base/wxReassign", "APP", "");
- paymentRecordService.saveData(1, uid, 2, reassign.getOrderId(), reassign.getOrderType(), 1, 0.0, "", 1);//添加预支付数据
+ if(ToolUtil.isEmpty(driver.getAppletsOpenId())){
+ return ResultUtil.error("司机未绑定微信小程序openid,无法发起微信支付");
+ }
+ String outTradeNo = buildCbyzxReassignOutTradeNo(reassign.getId(), reassign.getOrderType());
+ JSONObject response = cbyzxOrderPayHelper.createOrder(uid, driver.getAppletsOpenId(), outTradeNo, aDouble);
+ if(!cbyzxOrderPayHelper.isCreateSuccess(response)){
+ return ResultUtil.error(cbyzxOrderPayHelper.extractMessage(response), response);
+ }
+ resultUtil = ResultUtil.success(response);
+ paymentRecordService.saveData(1, uid, 2, reassign.getOrderId(), reassign.getOrderType(), 1, aDouble, outTradeNo, 1);//添加预支付数据
}
if (reassign.getPayType() == 2) {//支付宝
reassign.setState(1);
@@ -446,10 +456,17 @@
if (null != reassign.getPayType()) {
if (reassign.getPayType() == 1) {//微信支付
String[] split1 = ids.split(",");
-
- resultUtil = payMoneyUtil.weixinpay("改派订单", "", ids + "_3_" + UUIDUtil.getRandomCode(5), totalMoney.toString(), "/base/wxReassign", "APP", "");
+ if(ToolUtil.isEmpty(driver.getAppletsOpenId())){
+ return ResultUtil.error("司机未绑定微信小程序openid,无法发起微信支付");
+ }
+ String outTradeNo = buildCbyzxBatchReassignOutTradeNo(ids);
+ JSONObject response = cbyzxOrderPayHelper.createOrder(uid, driver.getAppletsOpenId(), outTradeNo, totalMoney);
+ if(!cbyzxOrderPayHelper.isCreateSuccess(response)){
+ return ResultUtil.error(cbyzxOrderPayHelper.extractMessage(response), response);
+ }
+ resultUtil = ResultUtil.success(response);
for (String id : split1) {
- paymentRecordService.saveData(1, uid, 2, Integer.valueOf(id), 3, 1, aDouble, "", 1);//添加预支付数据
+ paymentRecordService.saveData(1, uid, 2, Integer.valueOf(id), 3, 1, aDouble, outTradeNo, 1);//添加预支付数据
}
}
if (reassign.getPayType() == 2) {//支付宝
@@ -532,6 +549,20 @@
return reassignMapper.queryList(uid, pageNum, size);
}
+ /**
+ * 创博优单条改派支付单号,保留原有 reassignId_orderType 结构用于回调复用旧逻辑。
+ */
+ private String buildCbyzxReassignOutTradeNo(Integer reassignId, Integer orderType) {
+ return "reassign_" + reassignId + "_" + orderType + "_" + UUIDUtil.getRandomCode(5);
+ }
+
+ /**
+ * 创博优批量跨城改派支付单号,使用前缀避免与跨城完成订单支付冲突。
+ */
+ private String buildCbyzxBatchReassignOutTradeNo(String reassignIds) {
+ return "reassignBatch_" + reassignIds + "_3_" + UUIDUtil.getRandomCode(5);
+ }
+
public static List<Integer> orderIds = new ArrayList<>();
@@ -541,8 +572,8 @@
/**
* 改派支付完成后的操作
- * @param id 改派单id
- * @param order_id 工行支付订单
+ * @param id 改派回调中的平台业务单号,格式仍按 reassignId_orderType_random 解析
+ * @param order_id 第三方支付流水号
* @param type 1=微信,2=支付宝,4=云闪付
* @throws Exception
*/
--
Gitblit v1.7.1