diff --git a/src/main/java/com/yn/bftl/thirdparty/modules/chinaums/service/impl/ChinaumsCallBackServiceImpl.java b/src/main/java/com/yn/bftl/thirdparty/modules/chinaums/service/impl/ChinaumsCallBackServiceImpl.java index 0fbf680..21e3ccb 100644 --- a/src/main/java/com/yn/bftl/thirdparty/modules/chinaums/service/impl/ChinaumsCallBackServiceImpl.java +++ b/src/main/java/com/yn/bftl/thirdparty/modules/chinaums/service/impl/ChinaumsCallBackServiceImpl.java @@ -86,9 +86,23 @@ isSuccess = walletService.tradeResult(byxMchApplicationsNoticeDTO.getMsgBodyObject().toJavaObject(TradeResultDTO.class)); break; // 转账入金 - case "transfer_deposit": - log.info("转账入金 交易类型为:{}", byxMchApplicationsNoticeDTO.getMsgBodyObject().get("tradeType")); - ExternalIncomeDTO externalIncomeDTO = byxMchApplicationsNoticeDTO.getMsgBodyObject().toJavaObject(ExternalIncomeDTO.class); +// case "transfer_deposit": + case "TRANS_NOTIFY": + JSONObject jsonObject = byxMchApplicationsNoticeDTO.getMsgBodyObject(); + log.info("转账入金 交易类型为:{}", jsonObject.get("transTypeName")); + ExternalIncomeDTO externalIncomeDTO = new ExternalIncomeDTO(); + externalIncomeDTO.setAmount(jsonObject.getLong("transAmt")); + externalIncomeDTO.setBalanceAcctId(jsonObject.getString("walletId")); + externalIncomeDTO.setBalanceAcctNo(jsonObject.getString("bankAcctNo")); + externalIncomeDTO.setPayBankAcctName(jsonObject.getString("payBankAcctName")); + externalIncomeDTO.setPayBankAcctNo(jsonObject.getString("payBankAcctNo")); + externalIncomeDTO.setPayBankCode(jsonObject.getString("payBankCode")); + externalIncomeDTO.setBankMemo(jsonObject.getString("procResultDscrb")); + externalIncomeDTO.setRecordedAt(DateTimeUtils.setDateTimeToRFC3339(jsonObject.getString("transTime")) ); + externalIncomeDTO.setTradeId(jsonObject.getString("transOrderNo")); + externalIncomeDTO.setOrigOutOrderNo(jsonObject.getString("mctOrderNo")); + + externalIncomeDTO.setTradeType("11"); // 加锁,避免并发请求 String lockKeyTradeId = externalIncomeDTO.getTradeId(); Boolean lockTradeId = stringRedisTemplate.opsForValue().setIfAbsent(lockKeyTradeId, lockKeyTradeId);