From 22365a84b9e181c2fc2d9084c90024a2728d200e Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Tue, 30 Jun 2026 17:02:03 +0800
Subject: [PATCH] feat(order): 添加XT支付功能和确认收款功能
---
src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallOrderService.java | 30 ++++++++++++++++++++++++++++++
1 files changed, 30 insertions(+), 0 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallOrderService.java b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallOrderService.java
index 35c863c..900fa2d 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallOrderService.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallOrderService.java
@@ -5,6 +5,7 @@
import cc.mrbird.febs.common.enumerates.*;
import cc.mrbird.febs.common.exception.FebsException;
import cc.mrbird.febs.common.utils.ValidateEntityUtils;
+import cc.mrbird.febs.mall.controller.dependentStation.constant.OrderConstants;
import cc.mrbird.febs.mall.dto.*;
import cc.mrbird.febs.mall.entity.*;
import cc.mrbird.febs.mall.mapper.*;
@@ -16,6 +17,7 @@
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.best.javaSdk.ClientParamEnum;
@@ -31,6 +33,7 @@
import java.math.BigDecimal;
import java.util.ArrayList;
+import java.util.Date;
import java.util.List;
@Slf4j
@@ -617,6 +620,33 @@
}
@Override
+ public FebsResponse insurePay(Long id) {
+ // 1. 查询订单
+ MallOrderInfo order = mallOrderInfoMapper.selectById(id);
+ if (order == null) {
+ return new FebsResponse().fail().message("订单不存在,刷新后重试");
+ }
+
+ // 2. 幂等检查(避免重复回调)
+ if (OrderStatusEnum.WAIT_PAY.getValue() != order.getStatus()) {
+ return new FebsResponse().fail().message("订单不是代付款状态");
+ }
+
+ // 3. 更新订单状态为待发货
+ mallOrderInfoMapper.update(
+ null,
+ Wrappers.lambdaUpdate(MallOrderInfo.class)
+ .set(MallOrderInfo::getStatus, OrderStatusEnum.WAIT_SHIPPING.getValue())
+ .set(MallOrderInfo::getPayTime, new Date())
+ .set(MallOrderInfo::getPayMethod, "XT支付")
+ .set(MallOrderInfo::getPayResult, "1")
+ .eq(MallOrderInfo::getId, order.getId())
+ );
+
+ return new FebsResponse().success();
+ }
+
+ @Override
public void deliverGoodsByOrderNo(DeliverGoodsDto deliverGoodsDto) {
MallOrderInfo mallOrderInfo = mallOrderInfoMapper.selectByOrderNo(deliverGoodsDto.getOrderNo());
if (mallOrderInfo == null) {
--
Gitblit v1.9.1