From 4ba65bfad8422385efe0cac3e36b343746123dda Mon Sep 17 00:00:00 2001 From: dzc <2388224167@qq.com> Date: Thu, 23 Jan 2025 17:00:47 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E6=81=A2=E5=A4=8D=E5=85=85=E5=80=BC?= =?UTF-8?q?=E9=87=91=E9=A2=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../WalletRechargeImportController.java | 8 ++++ .../service/WalletRechargeImportService.java | 2 + .../WalletRechargeApplyServiceImpl.java | 2 +- .../WalletRechargeImportServiceImpl.java | 38 ++++++++++++++++++- 4 files changed, 47 insertions(+), 3 deletions(-) diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/controller/recharge/WalletRechargeImportController.java b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/controller/recharge/WalletRechargeImportController.java index 44b8526ef..d110e5e36 100644 --- a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/controller/recharge/WalletRechargeImportController.java +++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/controller/recharge/WalletRechargeImportController.java @@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.bsd.pjcloud.common.core.util.R; import com.bsd.pjcloud.common.data.datascope.DataScope; +import com.bsd.pjcloud.common.idempotent.annotation.Idempotent; import com.bsd.pjcloud.common.log.annotation.SysLog; import com.bsd.pjcloud.wallet.api.dto.recharge.WalletRechargeImportDto; import com.bsd.pjcloud.wallet.api.entity.recharge.WalletRechargeImportEntity; @@ -39,6 +40,13 @@ public class WalletRechargeImportController { private final WalletRechargeImportService walletRechargeImportService; + @Operation(summary = "恢复", description = "恢复") + @Idempotent(expireTime = 5, info = "正在处理中,请勿重复操作") + @GetMapping("/recover") + public R recover(@RequestParam Long id) { + return R.ok(walletRechargeImportService.recover(id)); + } + @Operation(summary = "分页查询", description = "分页查询") @GetMapping("/page") @PreAuthorize("@pms.hasPermission('wallet_walletRechargeImport_view')") diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/WalletRechargeImportService.java b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/WalletRechargeImportService.java index c3ef45338..49fb414bd 100644 --- a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/WalletRechargeImportService.java +++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/WalletRechargeImportService.java @@ -17,4 +17,6 @@ public interface WalletRechargeImportService extends IService listJoin(WalletRechargeImportDto dto); Page scopePageList(Page page, WalletRechargeImportDto dto, DataScope dataScope); + + Boolean recover(Long id); } \ No newline at end of file diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/recharge/WalletRechargeApplyServiceImpl.java b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/recharge/WalletRechargeApplyServiceImpl.java index 1f5e9a8e8..3bc6b2c0e 100644 --- a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/recharge/WalletRechargeApplyServiceImpl.java +++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/recharge/WalletRechargeApplyServiceImpl.java @@ -312,7 +312,7 @@ public class WalletRechargeApplyServiceImpl extends ServiceImpl implements WalletRechargeImportService { + @Lazy + private final WalletRechargeApplyService walletRechargeApplyService; + private final WalletTransactionService walletTransactionService; + private final WalletManageService walletManageService; + private final WalletTypeMapper walletTypeMapper; private final RemoteUserService userService; @@ -104,4 +116,26 @@ public class WalletRechargeImportServiceImpl extends ServiceImpl() + .eq(WalletTransactionEntity::getBizId, String.valueOf(rechargeImport.getId())) + ); + if (ObjectUtil.isNotEmpty(walletTransaction)) throw new RuntimeException("钱包已经充值过"); + WalletManageEntity wallet = walletManageService.getOrCreateWallet(rechargeImport.getUserId(), walletTypeEnum); + if (ObjectUtil.isEmpty(wallet)) throw new RuntimeException("钱包错误"); + walletTransactionService.addWalletBalance(wallet.getId(), rechargeImport.getPrice(), String.valueOf(rechargeImport.getId()), WalletBizEnum.BATCH); + return true; + } } \ No newline at end of file