From 4275ffd2707f4c27abdfeff847735140a0c7a69e Mon Sep 17 00:00:00 2001 From: KKSU <15274802129@163.com> Date: Fri, 03 Jan 2025 17:19:22 +0800 Subject: [PATCH] feat(mall): 优化充值功能并添加失败处理机制 --- src/main/java/cc/mrbird/febs/mall/service/impl/RunVipServiceImpl.java | 21 +++++++++++++++++++-- 1 files changed, 19 insertions(+), 2 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/RunVipServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/RunVipServiceImpl.java index dd07c6f..69534ef 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/impl/RunVipServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/mall/service/impl/RunVipServiceImpl.java @@ -563,12 +563,14 @@ agentProducer.sendBuyVipSuccessMsg(mallCharge.getId()); - return new FebsResponse().success().data("操作成功"); + return new FebsResponse().success().message("操作成功"); } @Override public FebsResponse growCharge(ApiGrowChargeDto apiGrowChargeDto) { Long memberId = LoginUserUtil.getLoginUser().getId(); + + ApiGoChargeVo apiGoChargeVo = new ApiGoChargeVo(); BigDecimal amount = apiGrowChargeDto.getAmount(); if(BigDecimal.ZERO.compareTo(amount) >= 0){ @@ -667,7 +669,22 @@ } mallChargeMapper.insert(mallCharge); - return new FebsResponse().success().data("操作成功"); + + apiGoChargeVo.setFailTime(mallCharge.getFailTime()); + apiGoChargeVo.setAddress(mallCharge.getAddress()); + apiGoChargeVo.setAmount(mallCharge.getAmount()); + apiGoChargeVo.setSysAddress(mallCharge.getSysAddress()); + apiGoChargeVo.setSysAddressType(mallCharge.getType()); + + /** + * 充值接口调用后,发送一个延时队列 + * 功能:延迟时间为【failMinutes】后,更新充值记录为失败。 + */ + ApiMemberChargeFailDto apiMemberChargeFailDto = new ApiMemberChargeFailDto(); + apiMemberChargeFailDto.setChargeId(mallCharge.getId()); + apiMemberChargeFailDto.setFailTime(Integer.parseInt(failMinutes) * 60L* 1000L); + agentProducer.sendMemberChargeFailMsg(apiMemberChargeFailDto); + return new FebsResponse().success().data(apiGoChargeVo); } @Override -- Gitblit v1.9.1