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 94b9ce5..da27e4c 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 @@ -167,7 +167,8 @@ @Override public BalanceAcctsVO balanceAcctsQryByAcctId(String balanceAcctId) { - ChinaumsAuthInfo chinaumsAuthInfo = getUser().getCompany().getChinaumsAuthInfo(); + Company company = getUser().getCompany(); + ChinaumsAuthInfo chinaumsAuthInfo = company.getChinaumsAuthInfo(); if (StringUtils.isBlank(balanceAcctId)) { balanceAcctId = chinaumsAuthInfo.getBalanceAcctId(); } @@ -177,6 +178,7 @@ BalanceAcctsVO balanceAcctsVO = new BalanceAcctsVO(); ByxQueryAcctBalDTO byxQueryAcctBalDTO = new ByxQueryAcctBalDTO(); byxQueryAcctBalDTO.setWalletId(balanceAcctId); + byxTradeWayService.setTradeWayInCert(byxQueryAcctBalDTO, company.getWalletId()); ByxQueryAcctBalVO byxQueryAcctBalVO = byxChinaumsUtil.execute(ByxRouteUtil.ROUTE_WALLET_BALANCE_ACCTS_QRY,(JSONObject) JSONObject.toJSON(byxQueryAcctBalDTO),ByxQueryAcctBalVO.class); if(Constant.RETURN_SUCCESS_CODE.equals(byxQueryAcctBalVO.getRspCode())){ balanceAcctsVO.setBalanceAcctId(byxQueryAcctBalVO.getWalletId()); @@ -185,7 +187,7 @@ balanceAcctsVO.setFrozenSettledAmount(Convert.toLong(byxQueryAcctBalVO.getFrznAmt())); ByxQueryAcctInfoDTO byxQueryAcctInfoDTO = new ByxQueryAcctInfoDTO(); - byxQueryAcctInfoDTO.setWalletId(byxQueryAcctBalVO.getWalletId()); + byxQueryAcctInfoDTO.setWalletId(company.getWalletId()); ByxQueryAcctInfoVO byxQueryAcctInfoVO = byxChinaumsUtil.execute(ByxRouteUtil.ROUTE_WALLET_QUERY_ACCOUNT_INFORMATION,(JSONObject) JSONObject.toJSON(byxQueryAcctInfoDTO),ByxQueryAcctInfoVO.class); if(Constant.RETURN_SUCCESS_CODE.equals(byxQueryAcctInfoVO.getRspCode())){ if("2".equals(byxQueryAcctInfoVO.getAcctStatus())){ @@ -381,19 +383,19 @@ } ByxChinaumsGuaranteeOrderParamsDTO byxChinaumsGuaranteeOrderParamsDTO = ByxChinaumsGuaranteeOrderParamsDTO - .builder() - .mctOrderNo(order.getId()) - .oprType(1) - .buyerWalletId(order.getBuyerCompany().getWalletId()) - .platformWalletId(order.getSellerCompany().getWalletId()) - .merWalletId(order.getSellerCompany().getWalletId()) - .merName(order.getSellerCompany().getName()) - .orderAmt(order.getAmount().multiply(new BigDecimal(100)).longValue()) - .subject(subject) - .payTimeoutExpress("1h") - .notifyUrl(thirdPartyPaySet.getThirdPartyUrl() + "/byx/chinaums/call_back/result") - .remark(order.getRemark()) - .build(); + .builder() + .mctOrderNo(order.getId()) + .oprType(1) + .buyerWalletId(order.getBuyerCompany().getWalletId()) + .platformWalletId(order.getSellerCompany().getWalletId()) + .merWalletId(order.getSellerCompany().getWalletId()) + .merName(order.getSellerCompany().getName()) + .orderAmt(order.getAmount().multiply(new BigDecimal(100)).longValue()) + .subject(subject) + .payTimeoutExpress("1h") + .notifyUrl(thirdPartyPaySet.getThirdPartyUrl() + "/byx/chinaums/call_back/result") + .remark(order.getRemark()) + .build(); JSONObject requestJsonObject = (JSONObject) JSONObject.toJSON(byxChinaumsGuaranteeOrderParamsDTO); try { JSONObject jsonObject = byxChinaumsUtil.execute(ByxRouteUtil.ROUTE_WALLECT_COMBINED_GUARANTEE_ORDER, requestJsonObject, JSONObject.class); @@ -1626,7 +1628,7 @@ if (CollectionUtils.isNotEmpty(orderChinaumsRefundList)) { // 根据原始系统订单号以及分账类型查询已退款金额(因为品牌费和品牌授权费是同一家公司收取,所以这里需要通过分账类型区分) refundedAmount = orderChinaumsRefundList.stream().filter(orderChinaumsRefund -> orderChinaumsRefund.getOrigTradeId().equals(chinaumsPayment.getGuaranteePaymentId()) - && orderChinaumsRefund.getSubaccountType().equals(chinaumsPayment.getSubaccountType())) + && orderChinaumsRefund.getSubaccountType().equals(chinaumsPayment.getSubaccountType())) .collect(Collectors.toList()).stream().map(ChinaumsRefund::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add); } refundAmount = chinaumsPayment.getAmount().subtract(refundedAmount);