From 70b65a25b5792b6277fa6ce61df61a7399c2dcfc Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Wed, 12 Feb 2025 11:25:16 +0800
Subject: [PATCH] fix(mall): 修改获取字典数据的类型和代码
---
src/main/java/cc/mrbird/febs/pay/controller/FIUUController.java | 34 +++++++++++++++++++++++-----------
1 files changed, 23 insertions(+), 11 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 9c49d0f..817567b 100644
--- a/src/main/java/cc/mrbird/febs/pay/controller/FIUUController.java
+++ b/src/main/java/cc/mrbird/febs/pay/controller/FIUUController.java
@@ -15,6 +15,7 @@
import cc.mrbird.febs.mall.entity.MallOrderItem;
import cc.mrbird.febs.mall.mapper.MallMemberMapper;
import cc.mrbird.febs.mall.mapper.MallOrderInfoMapper;
+import cc.mrbird.febs.mall.service.IApiMallMemberWalletService;
import cc.mrbird.febs.mall.service.IMallMoneyFlowService;
import cc.mrbird.febs.pay.model.FIUUInitChargeRequest;
import cc.mrbird.febs.pay.model.FIUUInitPayRequest;
@@ -49,6 +50,9 @@
@Resource
private IMallMoneyFlowService mallMoneyFlowService;
+
+ @Resource
+ private IApiMallMemberWalletService memberWalletService;
@Resource
private MallMemberMapper mallMemberMapper;
@@ -181,19 +185,27 @@
log.info("notify status: {}", status);
// 4. 根据状态码更新订单
if ("00".equals(status)) {
- MallMoneyFlow mallMoneyFlow = mallMoneyFlowService.getBaseMapper().selectOne(new LambdaQueryWrapper<MallMoneyFlow>().eq(MallMoneyFlow::getOrderNo, orderId));
- if (mallMoneyFlow != null) {
- // 更新订单状态为已支付
- mallMoneyFlow.setStatus(2);
- mallMoneyFlowService.getBaseMapper().updateById(mallMoneyFlow);
- }
- MallOrderInfo mallOrderInfo = mallOrderInfoMapper.selectById(Long.parseLong(orderId));
- if(mallOrderInfo != null){
- // 支付成功,更新订单状态
- updateOrderStatus(orderId, status, amount, paydate, tranID);
- }
+
// 可选:记录交易ID防止重复处理
log.info("Payment succeeded for order: {}", orderId);
+ MallMoneyFlow mallMoneyFlow = mallMoneyFlowService.getBaseMapper().selectOne(new LambdaQueryWrapper<MallMoneyFlow>().eq(MallMoneyFlow::getOrderNo, orderId));
+ if (mallMoneyFlow != null) {
+ if(1 == mallMoneyFlow.getStatus()){
+ memberWalletService.addBalance(mallMoneyFlow.getAmount(),mallMoneyFlow.getMemberId());
+ // 更新订单状态为已支付
+ mallMoneyFlow.setStatus(2);
+ mallMoneyFlowService.getBaseMapper().updateById(mallMoneyFlow);
+ }
+ }else{
+ MallOrderInfo mallOrderInfo = mallOrderInfoMapper.selectById(Long.parseLong(orderId));
+ if(mallOrderInfo != null){
+ if("1" == mallOrderInfo.getPayResult()){
+ return;
+ }
+ // 支付成功,更新订单状态
+ updateOrderStatus(orderId, status, amount, paydate, tranID);
+ }
+ }
} else {
// 支付失败或待处理
log.warn("Payment failed/pending for order: {}", orderId);
--
Gitblit v1.9.1