diff --git a/src/main/java/com/yn/bftl/thirdparty/modules/business/service/impl/SubaccountServiceImpl.java b/src/main/java/com/yn/bftl/thirdparty/modules/business/service/impl/SubaccountServiceImpl.java index 05ba311..4787f0f 100644 --- a/src/main/java/com/yn/bftl/thirdparty/modules/business/service/impl/SubaccountServiceImpl.java +++ b/src/main/java/com/yn/bftl/thirdparty/modules/business/service/impl/SubaccountServiceImpl.java @@ -1,6 +1,7 @@ package com.yn.bftl.thirdparty.modules.business.service.impl; import cn.hutool.core.util.ObjectUtil; +import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.yn.bftl.common.common.exception.YnceError; import com.yn.bftl.common.common.util.ByxRouteUtil; @@ -1344,9 +1345,9 @@ .reduce(BigDecimal.ZERO, BigDecimal::add); if (totalSubaccountAmount.compareTo(order.getPayAmount().subtract(order.getRefundAmount())) == 0) { return true; - } else { - return false; } + log.error("分账金额不正确, orderId:" + order.getId() + "subaccountList的json:" + JSON.toJSONString(subaccountList)); + return false; } /** @@ -2402,10 +2403,15 @@ try { String externalId = walletService.paySettlementConfirms(byxChinaumsGuaranteePayConfirmsDTO); writeSeparateLog(String.format("[分账][生成][普通订单][%s],生成分账单成功,银联结算单号[%s]。", order.getSn(), externalId)); + if (StringUtils.isEmpty(externalId)) { + log.error("银联结算接口调用失败."); + throw new YnceErrorException("银联结算接口调用失败"); + } for (Subaccount subaccount : platformSubaccountList) { subaccount.setExternalId(externalId); + subaccount.setSubaccountState(SubaccountState.SEPARATE_SUCC); subaccountRepository.saveAndFlush(subaccount); - handleSubaccountStatus(subaccount, false); +// handleSubaccountStatus(subaccount, false); } subaccountList.addAll(platformSubaccountList); } catch (Exception e) {