From 89db573c1b753ad197c2ce35430048ba4b18505d Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Fri, 07 Feb 2025 16:03:51 +0800
Subject: [PATCH] refactor(pay): 优化 FIUU 支付回调逻辑
---
src/main/java/cc/mrbird/febs/pay/controller/FIUUController.java | 25 +++++++++++--------------
1 files changed, 11 insertions(+), 14 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/pay/controller/FIUUController.java b/src/main/java/cc/mrbird/febs/pay/controller/FIUUController.java
index c162297..a4e7930 100644
--- a/src/main/java/cc/mrbird/febs/pay/controller/FIUUController.java
+++ b/src/main/java/cc/mrbird/febs/pay/controller/FIUUController.java
@@ -145,15 +145,13 @@
ValidateEntityUtils.ensureNotEqual(mallOrderInfo.getPayResult(), "1", "订单已支付");
ValidateEntityUtils.ensureEqual(mallOrderInfo.getAmount().toString(), amount, "订单金额异常");
// 更新订单状态
- if ("00".equals(status)) {
- mallOrderInfo.setPayMethod("FIUU支付");
- mallOrderInfo.setStatus(OrderStatusEnum.WAIT_SHIPPING.getValue());
- mallOrderInfo.setPayResult("1");
- mallOrderInfo.setPayTime(DateUtil.parseDateTime(paydate));
- mallOrderInfo.setDeliveryState(OrderDeliveryStateEnum.DELIVERY_WAIT.getValue());
- mallOrderInfo.setPayOrderNo(tranID);
- mallOrderInfoMapper.updateById(mallOrderInfo);
- }
+ mallOrderInfo.setPayMethod("FIUU支付");
+ mallOrderInfo.setStatus(OrderStatusEnum.WAIT_SHIPPING.getValue());
+ mallOrderInfo.setPayResult("1");
+ mallOrderInfo.setPayTime(DateUtil.parseDateTime(paydate));
+ mallOrderInfo.setDeliveryState(OrderDeliveryStateEnum.DELIVERY_WAIT.getValue());
+ mallOrderInfo.setPayOrderNo(tranID);
+ mallOrderInfoMapper.updateById(mallOrderInfo);
}
// Java 通知接口 暂时停止使用
@@ -174,20 +172,19 @@
String calculatedSkey = DigestUtils.md5Hex(paydate + domain + preSkey + secretKey);
MallOrderInfo mallOrderInfo = ValidateEntityUtils
.ensureColumnReturnEntity(orderId, MallOrderInfo::getId, mallOrderInfoMapper::selectOne, "订单不存在");
+ log.info("callback status: {}", status);
+ log.info("callback skey: {}", preSkey);
+ log.info("callback calculatedSkey: {}", calculatedSkey);
log.info("callback payResult: {}", mallOrderInfo.getPayResult());
if("1".equals(mallOrderInfo.getPayResult())){
return new FebsResponse().success().data("/pages/order/pay/paySuccess?amount="+ amount +"&type=3");
}
- log.info("callback skey: {}", preSkey);
- log.info("callback calculatedSkey: {}", calculatedSkey);
-
if (!calculatedSkey.equals(skey)) {
throw new FebsException("订单回调失败,---"+orderId);
}
-
- updateOrderStatus(orderId, status, amount, paydate, tranID);
if ("00".equals(status)) {
+ updateOrderStatus(orderId, status, amount, paydate, tranID);
return new FebsResponse().success().data("/pages/order/pay/paySuccess?amount="+ amount +"&type=3");
}else{
return new FebsResponse().fail().message("支付失败");
--
Gitblit v1.9.1