|
|
|
@ -41,7 +41,7 @@ public class WithdrawAuditApplicationService extends BaseApplicationService { |
|
|
|
Long identityId = Objects.nonNull(withdrawAudit.getWalletAccountOrgId()) ? withdrawAudit.getWalletAccountOrgId() : withdrawAudit.getWalletAccountUserId(); |
|
|
|
synchronized (identityId.toString().intern()) { |
|
|
|
WalletAccount walletAccount = walletAccountQueryService.queryByType(identityId, withdrawAudit.getIdentityType()); |
|
|
|
if (Objects.isNull(walletAccount) || withdrawAudit.getWithdrawAmount().compareTo(walletAccount.getAvailableBalance()) > 0) { |
|
|
|
if (Objects.isNull(walletAccount) || walletAccountQueryService.countAvailableWithdrawBalance(walletAccount).compareTo(withdrawAudit.getWithdrawAmount()) >= 0) { |
|
|
|
throw new BizException("超出可提现金额"); |
|
|
|
} |
|
|
|
//todo 改成策略模式 |
|
|
|
@ -52,6 +52,12 @@ public class WithdrawAuditApplicationService extends BaseApplicationService { |
|
|
|
Map<String, String> extDetails = new HashMap<>(); |
|
|
|
extDetails.put(ThirdPartyField.OPEN_ID, sessionVo.getOpenid()); |
|
|
|
withdrawAudit.setExtDetailsInfo(extDetails); |
|
|
|
} else { |
|
|
|
//银行卡 |
|
|
|
String bankCardId = ThirdPartyField.findFiledValueByKey(ThirdPartyField.BANK_CARD_ID, fieldList); |
|
|
|
Map<String, String> extDetails = new HashMap<>(); |
|
|
|
extDetails.put(ThirdPartyField.BANK_CARD_ID, bankCardId); |
|
|
|
withdrawAudit.setExtDetailsInfo(extDetails); |
|
|
|
} |
|
|
|
withdrawAudit.setWalletAccountId(walletAccount.getId()); |
|
|
|
walletAccount.setAvailableBalance(walletAccount.getAvailableBalance().subtract(withdrawAudit.getWithdrawAmount())); |
|
|
|
|