From f4a4f1780ed01bdc5c94691b07315008c993f627 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E6=B3=89=E4=BD=B3?= <1107186916@qq.com> Date: Thu, 8 Oct 2026 17:32:20 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E9=87=91=E8=9D=B6A801-5=E9=BB=91?= =?UTF-8?q?=E5=90=8D=E5=8D=95=E6=9F=A5=E8=AF=A2=E8=A1=A5=E5=BF=85=E5=A1=AB?= =?UTF-8?q?=E5=88=86=E9=A1=B5=E5=8F=82=E6=95=B0=E5=B9=B6=E5=BE=AA=E7=8E=AF?= =?UTF-8?q?=E7=BF=BB=E9=A1=B5=E5=8F=96=E5=85=A8=E9=87=8F=EF=BC=8C=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E5=BC=82=E5=B8=B8=E4=B8=8A=E6=8A=9B=E9=98=BB=E6=96=AD?= =?UTF-8?q?=E5=AE=A2=E5=95=86=E6=8F=90=E5=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - BfiBlacklistQueryDTO 补 pageNo/pageSize 必填字段,pageSize 取值范围[1,2000] - BfiConstant 新增 BLACKLIST_QUERY_PAGE_SIZE=2000,IBfiClient.blacklistQuery 返回契约改为 BfiPageVO 分页结构 - BfiServiceImpl.queryBlacklist 复用 BfiUtil.queryAllPages 循环翻页聚合全量黑名单 - CustomerArchiveServiceImpl.validateBlacklist 移除吞异常放行逻辑,金蝶查询失败直接上抛 BfiException 阻断提审 --- .../service/impl/CustomerArchiveServiceImpl.java | 11 ++--------- .../thirdparty/bfi/constant/BfiConstant.java | 5 +++++ .../springblade/thirdparty/bfi/feign/IBfiClient.java | 6 +++--- .../thirdparty/bfi/pojo/dto/BfiBlacklistQueryDTO.java | 10 ++++++++++ .../thirdparty/bfi/service/impl/BfiServiceImpl.java | 7 +++++-- 5 files changed, 25 insertions(+), 14 deletions(-) diff --git a/blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/CustomerArchiveServiceImpl.java b/blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/CustomerArchiveServiceImpl.java index eb2fe1fc..fe4b9f34 100644 --- a/blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/CustomerArchiveServiceImpl.java +++ b/blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/CustomerArchiveServiceImpl.java @@ -1054,7 +1054,7 @@ public class CustomerArchiveServiceImpl extends BaseServiceImpl blacklist; - try { - blacklist = bfiService.queryBlacklist("1"); - } catch (Exception exception) { - log.error("查询金蝶黑名单失败,黑名单校验放行,fullName={},unifiedCreditCode={}", - customer.getFullName(), creditCode, exception); - return; - } + List 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())) diff --git a/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/constant/BfiConstant.java b/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/constant/BfiConstant.java index f8744c62..608c39b2 100644 --- a/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/constant/BfiConstant.java +++ b/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/constant/BfiConstant.java @@ -84,6 +84,11 @@ public class BfiConstant { */ public static final long TOKEN_EXPIRE_BUFFER_MILLIS = 120_000L; + /** + * A801-5 黑名单查询页大小上限,取值范围[1, 2000]的正整数 + */ + public static final int BLACKLIST_QUERY_PAGE_SIZE = 2000; + /** * A303-5 开票申请发票查询 接口编码,固定值 */ diff --git a/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/feign/IBfiClient.java b/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/feign/IBfiClient.java index 7f1d805d..454fc8cb 100644 --- a/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/feign/IBfiClient.java +++ b/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/feign/IBfiClient.java @@ -153,14 +153,14 @@ public interface IBfiClient { BfiResultVO> forexQuery(@RequestHeader(BfiConstant.HEADER_ACCESS_TOKEN) String accessToken, @SpringQueryMap BfiExchangeRateQueryDTO param); /** - * A801-5 黑名单查询 + * A801-5 黑名单查询(分页,pageSize 取值范围[1, 2000]的正整数) * * @param accessToken 访问令牌,通过 getToken 获取 * @param param 请求参数 - * @return 黑名单列表 + * @return 黑名单分页数据 */ @GetMapping(BLACKLIST_QUERY_URL) - BfiResultVO> blacklistQuery(@RequestHeader(BfiConstant.HEADER_ACCESS_TOKEN) String accessToken, @SpringQueryMap BfiBlacklistQueryDTO param); + BfiResultVO> blacklistQuery(@RequestHeader(BfiConstant.HEADER_ACCESS_TOKEN) String accessToken, @SpringQueryMap BfiBlacklistQueryDTO param); /** * A103-1 付款申请保存(根据星瀚应付下推付款申请) diff --git a/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/pojo/dto/BfiBlacklistQueryDTO.java b/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/pojo/dto/BfiBlacklistQueryDTO.java index 2dfb8bb6..2b6eab1d 100644 --- a/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/pojo/dto/BfiBlacklistQueryDTO.java +++ b/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/pojo/dto/BfiBlacklistQueryDTO.java @@ -46,4 +46,14 @@ public class BfiBlacklistQueryDTO implements Serializable { * 使用状态[1:可用, 0:禁用] */ private String enable; + + /** + * 【必填】页码,从1开始 + */ + private Integer pageNo; + /** + * 【必填】页大小 + */ + private Integer pageSize; + } diff --git a/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/service/impl/BfiServiceImpl.java b/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/service/impl/BfiServiceImpl.java index db15dfd7..98a74661 100644 --- a/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/service/impl/BfiServiceImpl.java +++ b/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/service/impl/BfiServiceImpl.java @@ -229,8 +229,11 @@ public class BfiServiceImpl implements IBfiService { BfiBlacklistQueryDTO param = new BfiBlacklistQueryDTO(); param.setEnable(enable); String accessToken = getAccessToken(); - BfiResultVO> result = commonCall("黑名单查询", () -> client.blacklistQuery(accessToken, param)); - return result.getData() != null ? result.getData() : List.of(); + return BfiUtil.queryAllPages(pageNo -> { + param.setPageNo(pageNo); + param.setPageSize(BfiConstant.BLACKLIST_QUERY_PAGE_SIZE); + return commonCall("黑名单查询", () -> client.blacklistQuery(accessToken, param)).getData(); + }); } @Override