fix: 金蝶A801-5黑名单查询补必填分页参数并循环翻页取全量,查询异常上抛阻断客商提审

- BfiBlacklistQueryDTO 补 pageNo/pageSize 必填字段,pageSize 取值范围[1,2000]
- BfiConstant 新增 BLACKLIST_QUERY_PAGE_SIZE=2000,IBfiClient.blacklistQuery 返回契约改为 BfiPageVO 分页结构
- BfiServiceImpl.queryBlacklist 复用 BfiUtil.queryAllPages 循环翻页聚合全量黑名单
- CustomerArchiveServiceImpl.validateBlacklist 移除吞异常放行逻辑,金蝶查询失败直接上抛 BfiException 阻断提审
This commit is contained in:
刘泉佳
2026-10-08 17:32:20 +08:00
parent 7b41128db7
commit f4a4f1780e
5 changed files with 25 additions and 14 deletions
@@ -1054,7 +1054,7 @@ public class CustomerArchiveServiceImpl extends BaseServiceImpl<CustomerArchiveM
* 国资委黑名单校验(A801-5):客商提审进入准入审批前实时查询金蝶黑名单,
* 按统一社会信用代码精确匹配;命中禁止交易类(A)硬拦截,
* 风险警示类(B)默认放行告警、可经 {@code thirdparty.bfi.blacklist.blockRiskWarning} 配置拦截,
* 其他类别放行告警;黑名单查询异常不阻断准入(放行并记录错误日志),金蝶可用性口径待联调确认
* 其他类别放行告警;金蝶黑名单查询异常时向上抛出,阻断提审
*
* @param customer 客商
*/
@@ -1063,14 +1063,7 @@ public class CustomerArchiveServiceImpl extends BaseServiceImpl<CustomerArchiveM
if (Func.isEmpty(creditCode)) {
return;
}
List<BfiBlacklistVO> blacklist;
try {
blacklist = bfiService.queryBlacklist("1");
} catch (Exception exception) {
log.error("查询金蝶黑名单失败,黑名单校验放行,fullName={},unifiedCreditCode={}",
customer.getFullName(), creditCode, exception);
return;
}
List<BfiBlacklistVO> blacklist = bfiService.queryBlacklist("1");
String code = creditCode.trim().toUpperCase();
BfiBlacklistVO hit = blacklist.stream()
.filter(item -> Func.isNotEmpty(item.getNumber()) && code.equals(item.getNumber().trim().toUpperCase()))