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 575f1ee..12f54be 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,8 +1,10 @@ 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; import com.yn.bftl.common.common.util.RouteUtil; import com.yn.bftl.common.modules.account.entity.Payment; import com.yn.bftl.common.modules.account.enums.AccountChangeType; @@ -1395,15 +1397,25 @@ return; } } else { - try { - JSONObject jsonObject = new JSONObject(); - jsonObject.put("combinedGuaranteeConfirmId", subaccount.getExternalId()); - ChinaumsGuaranteePayConfirmsVO chinaumsGuaranteePayConfirmsVO = chinaumsUtil.execute(RouteUtil.ROUTE_WALLET_COMBINED_GUARANTEE_PAYMENTS_CONFIRMS_BY_SYS_NO, jsonObject, ChinaumsGuaranteePayConfirmsVO.class); - subaccountStatus = chinaumsGuaranteePayConfirmsVO.getStatus(); - finishedAt = chinaumsGuaranteePayConfirmsVO.getFinishedAt(); - } catch (Exception exception) { + + JSONObject params = new JSONObject(); + params.put("settOrderNo", subaccount.getExternalId()); + JSONObject result = byxChinaumsUtil.execute(ByxRouteUtil.ROUTE_WALLET_COMBINED_GUARANTEE_PAYMENTS_CONFIRMS_QUERY, params, JSONObject.class); + if (result == null || result.get("settStatus") == null || result.get("settDate") == null) { return; } + subaccountStatus = result.get("settStatus").toString(); + finishedAt = result.get("settDate").toString(); + // subaccountStatus:  + //00:未处理 + //01:处理中 + //02:结算成功 + //03:部分结算成功 + //04:结算失败 + switch (subaccountStatus) { + case "02": subaccountStatus = "succeeded";break; + case "04": subaccountStatus = "failed";break; + } } handleSubaccountStatus(subaccount, subaccountStatus, finishedAt); }