diff --git a/src/main/java/com/yn/bftl/thirdparty/modules/chinaums/service/impl/WalletServiceImpl.java b/src/main/java/com/yn/bftl/thirdparty/modules/chinaums/service/impl/WalletServiceImpl.java index 8d0f721..91a2351 100644 --- a/src/main/java/com/yn/bftl/thirdparty/modules/chinaums/service/impl/WalletServiceImpl.java +++ b/src/main/java/com/yn/bftl/thirdparty/modules/chinaums/service/impl/WalletServiceImpl.java @@ -12,7 +12,9 @@ import com.yn.bftl.common.common.util.RouteUtil; import com.yn.bftl.common.modules.account.dto.*; import com.yn.bftl.common.modules.account.entity.*; +import com.yn.bftl.common.modules.account.enums.AccountChangeType; import com.yn.bftl.common.modules.account.enums.AccountState; +import com.yn.bftl.common.modules.account.enums.ChangeDirection; import com.yn.bftl.common.modules.account.enums.TransferState; import com.yn.bftl.common.modules.account.vo.AccountPaymentsVO; import com.yn.bftl.common.modules.account.vo.BalanceAcctsVO; @@ -2498,10 +2500,6 @@ List data = balanceTransactionsPageVO.getData(); for (BalanceTransactionsPageVO.BalanceTransactionsVO d : data) { log.error("BalanceTransactionsVO:{}",d); - // 只处理交易类型为入金的流水 - if (d.getTradeType() != 11 && d.getTradeType() != 93) { - continue; - } if (externalIncomeDTO.getTradeId().equals(d.getTradeId())) { flag = true; @@ -2517,12 +2515,28 @@ if (StringUtils.isNotEmpty(d.getRemark())) { rechargeDTO.setRemarks(d.getRemark()); } else { - rechargeDTO.setRemarks("银联钱包充值"); + rechargeDTO.setRemarks("银联钱包转账"); } rechargeDTO.setPaymentMethod("银联支付"); // rechargeDTO.setFinishedDate(LocalDateTime.parse(d.getSucceededAt(), DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSSzzz"))); rechargeDTO.setFinishedDate(DateTimeUtils.getLocalDateTimeByRFC3339(d.getSucceededAt())); rechargeDTO.setSourceNo(d.getTradeId()); + rechargeDTO.setChangeDirection(ChangeDirection.REDUCE); + rechargeDTO.setAccountChangeType(AccountChangeType.TRANSFER); + // 转出账号生成转账记录 + unionpayAccountService.rechargeMoney(rechargeDTO); + + // 转入账号生成充值记录 + RechargeDTO transferIntoDTO = new RechargeDTO(); + ChinaumsAuthInfo transferIntoAuthInfo = chinaumsAuthInfoRepository.findFirstByBalanceAcctId(externalIncomeDTO.getBalanceAcctId()); + transferIntoDTO.setCompanyId(transferIntoAuthInfo.getCompany().getId()); + transferIntoDTO.setRechargeAmount(rechargeAmount); + transferIntoDTO.setRemarks("银联钱包转账"); + transferIntoDTO.setPaymentMethod("银联支付"); + transferIntoDTO.setFinishedDate(DateTimeUtils.getLocalDateTimeByRFC3339(d.getSucceededAt())); + transferIntoDTO.setSourceNo(d.getTradeId()); + transferIntoDTO.setChangeDirection(ChangeDirection.ADD); + transferIntoDTO.setAccountChangeType(AccountChangeType.TOPUP); unionpayAccountService.rechargeMoney(rechargeDTO); break; }