Browse Source

银行卡

master
张彭杰 1 year ago
parent
commit
df01474265
4 changed files with 14 additions and 2 deletions
  1. 2
      dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/paymentchannelorder/user/request/ThirdPartyField.java
  2. 8
      dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/withdrawaudit/WithdrawAuditApplicationService.java
  3. 4
      dating-agency-mall-server/src/main/java/com/qniao/dam/query/walletaccount/WalletAccountQueryService.java
  4. 2
      dating-agency-mall-server/src/main/java/com/qniao/dam/query/walletaccount/impl/WalletAccountQueryServiceImpl.java

2
dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/paymentchannelorder/user/request/ThirdPartyField.java

@ -30,4 +30,6 @@ public class ThirdPartyField {
public static final String OPEN_ID = "openId";
public static final String PAYER_CLIENT_IP = "payerClientIp";
public static final String H5_INFO_TYPE = "h5InfoType";
public static final String BANK_CARD_ID = "bankCardId";
}

8
dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/withdrawaudit/WithdrawAuditApplicationService.java

@ -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()));

4
dating-agency-mall-server/src/main/java/com/qniao/dam/query/walletaccount/WalletAccountQueryService.java

@ -8,6 +8,8 @@ import com.qniao.dam.domain.aggregate.walletaccount.entity.WalletAccount;
import com.qniao.dam.domian.aggregate.walletaccount.constant.IdentityTypeEnum;
import com.qniao.framework.utils.PageUtil;
import java.math.BigDecimal;
public interface WalletAccountQueryService {
WalletAccount queryByUserId(Long userId);
@ -17,4 +19,6 @@ public interface WalletAccountQueryService {
UserGetWalletAccountVo getWalletAccountView(Long userId, Long orgId);
WalletAccount queryByType(Long identityId, IdentityTypeEnum identityTypeEnum);
BigDecimal countAvailableWithdrawBalance(WalletAccount walletAccount);
}

2
dating-agency-mall-server/src/main/java/com/qniao/dam/query/walletaccount/impl/WalletAccountQueryServiceImpl.java

@ -77,7 +77,7 @@ public class WalletAccountQueryServiceImpl implements WalletAccountQueryService
* @param walletAccount
* @return
*/
private BigDecimal countAvailableWithdrawBalance(WalletAccount walletAccount) {
public BigDecimal countAvailableWithdrawBalance(WalletAccount walletAccount) {
BigDecimal availableBalance = walletAccount.getAvailableBalance();
LocalDate date = LocalDate.now();
int month = 0;

Loading…
Cancel
Save