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