Browse Source

银行卡

release
张彭杰 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 OPEN_ID = "openId";
public static final String PAYER_CLIENT_IP = "payerClientIp"; public static final String PAYER_CLIENT_IP = "payerClientIp";
public static final String H5_INFO_TYPE = "h5InfoType"; 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(); Long identityId = Objects.nonNull(withdrawAudit.getWalletAccountOrgId()) ? withdrawAudit.getWalletAccountOrgId() : withdrawAudit.getWalletAccountUserId();
synchronized (identityId.toString().intern()) { synchronized (identityId.toString().intern()) {
WalletAccount walletAccount = walletAccountQueryService.queryByType(identityId, withdrawAudit.getIdentityType()); 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("超出可提现金额"); throw new BizException("超出可提现金额");
} }
//todo 改成策略模式 //todo 改成策略模式
@ -52,6 +52,12 @@ public class WithdrawAuditApplicationService extends BaseApplicationService {
Map<String, String> extDetails = new HashMap<>(); Map<String, String> extDetails = new HashMap<>();
extDetails.put(ThirdPartyField.OPEN_ID, sessionVo.getOpenid()); extDetails.put(ThirdPartyField.OPEN_ID, sessionVo.getOpenid());
withdrawAudit.setExtDetailsInfo(extDetails); 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()); withdrawAudit.setWalletAccountId(walletAccount.getId());
walletAccount.setAvailableBalance(walletAccount.getAvailableBalance().subtract(withdrawAudit.getWithdrawAmount())); 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.dam.domian.aggregate.walletaccount.constant.IdentityTypeEnum;
import com.qniao.framework.utils.PageUtil; import com.qniao.framework.utils.PageUtil;
import java.math.BigDecimal;
public interface WalletAccountQueryService { public interface WalletAccountQueryService {
WalletAccount queryByUserId(Long userId); WalletAccount queryByUserId(Long userId);
@ -17,4 +19,6 @@ public interface WalletAccountQueryService {
UserGetWalletAccountVo getWalletAccountView(Long userId, Long orgId); UserGetWalletAccountVo getWalletAccountView(Long userId, Long orgId);
WalletAccount queryByType(Long identityId, IdentityTypeEnum identityTypeEnum); 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 * @param walletAccount
* @return * @return
*/ */
private BigDecimal countAvailableWithdrawBalance(WalletAccount walletAccount) {
public BigDecimal countAvailableWithdrawBalance(WalletAccount walletAccount) {
BigDecimal availableBalance = walletAccount.getAvailableBalance(); BigDecimal availableBalance = walletAccount.getAvailableBalance();
LocalDate date = LocalDate.now(); LocalDate date = LocalDate.now();
int month = 0; int month = 0;

Loading…
Cancel
Save