From 21835db89359dc5d4f89a406f006d79a473cbe9e Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期六, 16 五月 2026 17:36:27 +0800
Subject: [PATCH] 免密支付

---
 xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/controller/XpOrderController.java |   56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 56 insertions(+), 0 deletions(-)

diff --git a/xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/controller/XpOrderController.java b/xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/controller/XpOrderController.java
index d8ce167..b50c0f3 100644
--- a/xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/controller/XpOrderController.java
+++ b/xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/controller/XpOrderController.java
@@ -42,6 +42,8 @@
 import com.xiaopeng.order.config.BluetoothDebugConfig;
 import com.xiaopeng.order.dto.OrderNavigationDto;
 import com.xiaopeng.api.model.order.OrderTrajectory;
+import com.xiaopeng.order.model.dto.CreditPayCallDto;
+import com.xiaopeng.order.model.dto.CreditPaySuccessCallDto;
 import com.xiaopeng.order.model.dto.XpOrderCommentDto;
 import com.xiaopeng.order.model.dto.XpOrderOperateDTO;
 import com.xiaopeng.order.model.dto.XpOrderPayDto;
@@ -50,6 +52,7 @@
 import com.xiaopeng.order.model.query.XpHistoryOrderListQuery;
 import com.xiaopeng.order.model.query.XpOrderExcelQuery;
 import com.xiaopeng.order.model.query.XpOrderPageQuery;
+import com.xiaopeng.order.model.vo.CreditPayCallVo;
 import com.xiaopeng.order.model.vo.XpOrderDetailVO;
 import com.xiaopeng.order.model.vo.XpOrderHistoryVO;
 import com.xiaopeng.order.model.vo.XpOrderPageVO;
@@ -930,4 +933,57 @@
 
     }
 
+
+
+
+    /**
+     * 信用支付下单回调
+     */
+    @PostMapping("/base/v1/mini-program/order/creditPayCall")
+    @ApiOperation(value = "信用支付下单回调", tags = {"小程序-发起支付"}, response = CreditPayCallVo.class)
+    public CreditPayCallVo creditPayCall(@RequestBody CreditPayCallDto dto) {
+        CreditPayCallVo vo = new CreditPayCallVo();
+        vo.setRetCode("0");
+        vo.setRetMsg("成功");
+
+        if (dto == null || (StringUtils.isBlank(dto.getAuthOrderId()) || StringUtils.isBlank(dto.getBusinessOrderId()))) {
+            return vo;
+        }
+
+        LambdaQueryWrapper<XpOrder> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(XpOrder::getAuthOrderId, dto.getAuthOrderId());
+        XpOrder order = xpOrderService.getOne(wrapper.last("LIMIT 1"));
+        if (order == null) {
+            return vo;
+        }
+        if ("SUCCESS".equals(dto.getCreditOrderStatus())) {
+            // 发起扣款
+            xpOrderService.creditPayCall(order);
+        }
+        return vo;
+    }
+
+    /**
+     * 信用扣款回调
+     */
+    @PostMapping("/base/v1/mini-program/order/creditPaySuccessCall")
+    @ApiOperation(value = "信用扣款回调", tags = {"小程序-发起支付"}, response = CreditPayCallVo.class)
+    public CreditPayCallVo creditPaySuccessCall(@RequestBody CreditPaySuccessCallDto dto) {
+
+        LambdaQueryWrapper<XpOrder> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(XpOrder::getAuthOrderId, dto.getAuthOrderId());
+        XpOrder order = xpOrderService.getOne(wrapper.last("LIMIT 1"));
+        if(dto.getPayStatus()==1){
+            order.setStatus(9);
+            order.setAppUserId(null);
+            xpOrderService.updateById(order);
+            CreditPayCallVo vo = new CreditPayCallVo();
+            vo.setRetCode("0");
+            vo.setRetMsg("成功");
+            return vo;
+        }
+        return null;
+
+    }
+
 }

--
Gitblit v1.7.1