feat(pay): 添加 FIUU充值功能并优化支付流程
- 新增 FIUU 充值接口和相关请求模型
- 更新 FIUU 支付流程,支持订单和充值操作
- 优化 FIUU 回调处理,增加对充值订单的支持
- 调整订单状态更新逻辑,确保支付成功后正确更新
2 files modified
11 ■■■■■ changed files
src/main/java/cc/mrbird/febs/pay/controller/FIUUController.java 6 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/pay/controller/FiuuReturnController.java 5 ●●●●● patch | view | raw | blame | history
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;
@@ -186,6 +190,8 @@
                // 更新订单状态为已支付
                mallMoneyFlow.setStatus(2);
                mallMoneyFlowService.getBaseMapper().updateById(mallMoneyFlow);
                memberWalletService.addBalance(mallMoneyFlow.getAmount(),mallMoneyFlow.getMemberId());
            }
            MallOrderInfo mallOrderInfo = mallOrderInfoMapper.selectById(Long.parseLong(orderId));
            if(mallOrderInfo != null){
src/main/java/cc/mrbird/febs/pay/controller/FiuuReturnController.java
@@ -8,6 +8,7 @@
import cc.mrbird.febs.mall.entity.MallOrderInfo;
import cc.mrbird.febs.mall.mapper.MallMoneyFlowMapper;
import cc.mrbird.febs.mall.mapper.MallOrderInfoMapper;
import cc.mrbird.febs.mall.service.IApiMallMemberWalletService;
import cn.hutool.core.date.DateUtil;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
@@ -37,6 +38,8 @@
    private MallOrderInfoMapper mallOrderInfoMapper;
    @Resource
    private MallMoneyFlowMapper mallMoneyFlowMapper;
    @Resource
    private IApiMallMemberWalletService memberWalletService;
    @PostMapping("/payment/callback")
    public String handlePaymentCallback(
@@ -95,6 +98,8 @@
            // 更新订单状态为已支付
            mallMoneyFlow.setStatus(2);
            mallMoneyFlowMapper.updateById(mallMoneyFlow);
            memberWalletService.addBalance(mallMoneyFlow.getAmount(),mallMoneyFlow.getMemberId());
        }
        MallOrderInfo mallOrderInfo = mallOrderInfoMapper.selectById(Long.parseLong(orderId));
        if(mallOrderInfo != null){