From 2d0312de30b3783ecf254d146dc6322d74690762 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期二, 19 五月 2026 09:28:57 +0800
Subject: [PATCH] Merge branch '1.1' of http://120.76.84.145:10101/gitblit/r/java/Robotaxi into 1.0
---
xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/controller/XpOrderController.java | 85 ++++++++++++++++++++++++++++++++++++++++--
1 files changed, 80 insertions(+), 5 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 8bc7575..201b275 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
@@ -16,6 +16,7 @@
import com.xiaopeng.api.dto.vehicleConvoy.BaseVehicleUserDto;
import com.xiaopeng.api.dto.vehicleConvoy.BleInfoResponseDto;
import com.xiaopeng.api.feignClient.account.SysGroupMenuClient;
+import com.xiaopeng.api.feignClient.frdXfipEvent.XpFrdXfipEventClient;
import com.xiaopeng.api.feignClient.operation.XpSystemSettingClient;
import com.xiaopeng.api.feignClient.operation.XpWhiteListClient;
import com.xiaopeng.api.feignClient.vehicleConvoy.BluetoothUnlockClient;
@@ -24,6 +25,7 @@
import com.xiaopeng.api.model.operation.XpOfficialPartner;
import com.xiaopeng.api.model.operation.XpSystemSetting;
import com.xiaopeng.api.model.operation.XpWhitelist;
+import com.xiaopeng.api.model.order.OrderTrajectory;
import com.xiaopeng.api.model.order.XpOrder;
import com.xiaopeng.api.model.vehicleConvoy.XpVehicle;
import com.xiaopeng.api.vo.account.LoginUser;
@@ -40,13 +42,11 @@
import com.xiaopeng.common.core.utils.StringUtils;
import com.xiaopeng.common.core.utils.WebUtils;
import com.xiaopeng.common.core.web.page.PageInfo;
-import com.xiaopeng.common.log.annotation.AdminOperationLog;
-import com.xiaopeng.common.log.enums.AdminBusinessType;
-import com.xiaopeng.common.log.enums.AdminOperationType;
import com.xiaopeng.common.redis.service.RedisService;
import com.xiaopeng.common.security.service.TokenService;
import com.xiaopeng.order.config.BluetoothDebugConfig;
import com.xiaopeng.order.dto.OrderNavigationDto;
+import com.xiaopeng.order.model.dto.*;
import com.xiaopeng.api.model.order.OrderTrajectory;
import com.xiaopeng.order.mangodb.service.OrderTrajectoryService;
import com.xiaopeng.order.model.dto.XpOrderCommentDto;
@@ -57,6 +57,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;
@@ -116,8 +117,6 @@
@Resource
private VehicleMacClient vehicleMacClient;
- @Resource
- private SysGroupMenuClient groupMenuClient;
@Resource
private XpWhiteListClient xpWhiteListClient;
@@ -164,6 +163,23 @@
}
return R.ok(0L);
+ }
+
+ /**
+ * 查询是否有未支付订单
+ * 返回0 可以下单,非0为未支付订单ID
+ */
+ @PostMapping("/logan/inner/order/has-unpay-order")
+ @ApiOperation(value = "查询是否有未支付订单", tags = {"内部接口"})
+ public R<Long> hasUnPayOrder(String uid) {
+ XpOrder order = xpOrderService.getOne(new LambdaQueryWrapper<XpOrder>()
+ .eq(XpOrder::getAppUserId, Long.parseLong(uid))
+ .eq(XpOrder::getStatus, 8)
+ .last("LIMIT 1"));
+ if (order != null) {
+ return R.ok(order.getId());
+ }
+ return R.ok(0L);
}
/**
@@ -1011,6 +1027,7 @@
}
+
/**
* 将订单推单状态还原重新推单
* @param orderId
@@ -1028,4 +1045,62 @@
}
return R.ok();
}
+
+
+
+
+ /**
+ * 信用支付下单回调
+ */
+ @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("成功");
+
+ // 对接财务
+ xpOrderService.xpFrdXfipEventPush(order,dto.getPayFee(),dto.getOrderId());
+
+ return vo;
+ }
+ return null;
+
+ }
+
}
--
Gitblit v1.7.1