diff --git a/smart-switch-service/src/main/java/com/ruoyi/ss/transactionBill/service/impl/TransactionBillServiceImpl.java b/smart-switch-service/src/main/java/com/ruoyi/ss/transactionBill/service/impl/TransactionBillServiceImpl.java index 772ffd14..9bbf61e2 100644 --- a/smart-switch-service/src/main/java/com/ruoyi/ss/transactionBill/service/impl/TransactionBillServiceImpl.java +++ b/smart-switch-service/src/main/java/com/ruoyi/ss/transactionBill/service/impl/TransactionBillServiceImpl.java @@ -450,7 +450,8 @@ public class TransactionBillServiceImpl implements TransactionBillService { @Override public boolean passWithdraw(WithdrawApprovalDTO dto) { ServiceUtil.assertion(dto.getBillId() == null, "提现申请ID不允许为空"); - ServiceUtil.assertion(!redisLock.lock(RedisLockKey.APPROVAL_WITHDRAW, dto.getBillId()), "该提现申请正在审核,请刷新后重试"); + Long lockKey = dto.getBillId(); + ServiceUtil.assertion(!redisLock.lock(RedisLockKey.APPROVAL_WITHDRAW, lockKey), "该提现申请正在审核,请刷新后重试"); try { transactionTemplate.execute(status -> { int updateCount = this.approvalWithdraw(dto, TransactionBillStatus.WITHDRAW_PASSED); @@ -462,7 +463,7 @@ public class TransactionBillServiceImpl implements TransactionBillService { return true; } finally { - redisLock.unlock(RedisLockKey.APPROVAL_WITHDRAW, dto.toString()); + redisLock.unlock(RedisLockKey.APPROVAL_WITHDRAW, lockKey); } } @@ -486,7 +487,8 @@ public class TransactionBillServiceImpl implements TransactionBillService { @Override public boolean rejectWithdraw(WithdrawApprovalDTO dto) { ServiceUtil.assertion(dto.getBillId() == null, "提现申请ID不允许为空"); - ServiceUtil.assertion(!redisLock.lock(RedisLockKey.APPROVAL_WITHDRAW, dto.getBillId()), "该提现申请正在审核,请刷新后重试"); + Long lockKey = dto.getBillId(); + ServiceUtil.assertion(!redisLock.lock(RedisLockKey.APPROVAL_WITHDRAW, lockKey), "该提现申请正在审核,请刷新后重试"); try { transactionTemplate.execute(status -> { // 审核 @@ -503,7 +505,7 @@ public class TransactionBillServiceImpl implements TransactionBillService { return true; } finally { - redisLock.unlock(RedisLockKey.APPROVAL_WITHDRAW, dto.toString()); + redisLock.unlock(RedisLockKey.APPROVAL_WITHDRAW, lockKey); } }