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 fe4b9f34..992297eb 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 @@ -1052,21 +1052,29 @@ public class CustomerArchiveServiceImpl extends BaseServiceImpl invoices = customer.getInvoices(); + if (Func.isEmpty(invoices)) { return; } - List blacklist = bfiService.queryBlacklist("1"); - String code = creditCode.trim().toUpperCase(); + List taxNos = invoices.stream() + .map(CustomerInvoiceInfoVO::getTaxNo) + .filter(Func::isNotEmpty) + .map(taxNo -> taxNo.trim().toUpperCase()) + .distinct() + .toList(); + if (Func.isEmpty(taxNos)) { + return; + } + List blacklist = bfiService.queryBlacklist("1", taxNos); BfiBlacklistVO hit = blacklist.stream() - .filter(item -> Func.isNotEmpty(item.getNumber()) && code.equals(item.getNumber().trim().toUpperCase())) + .filter(item -> Func.isNotEmpty(item.getNumber()) && taxNos.contains(item.getNumber().trim().toUpperCase())) .findFirst() .orElse(null); if (hit == null) { @@ -1079,8 +1087,8 @@ public class CustomerArchiveServiceImpl extends BaseServiceImpl number; + /** + * 企业名称,数组 + */ + private List name; + /** * 【必填】页码,从1开始 */ diff --git a/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/service/IBfiService.java b/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/service/IBfiService.java index 687fb8ba..dc8e2973 100644 --- a/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/service/IBfiService.java +++ b/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/service/IBfiService.java @@ -129,9 +129,10 @@ public interface IBfiService { * A801-5 黑名单查询 * * @param enable 使用状态[1:可用, 0:禁用] + * @param number 企业税号数组,按税号过滤时传 * @return 黑名单列表 */ - List queryBlacklist(String enable); + List queryBlacklist(String enable, List number); /** * A103-1 付款申请保存(根据星瀚应付下推付款申请) 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 98a74661..d49a7852 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 @@ -31,6 +31,7 @@ import feign.Response; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springblade.core.redis.cache.BladeRedis; +import org.springblade.core.tool.utils.Func; import org.springblade.core.tool.utils.StringUtil; import org.springblade.thirdparty.bfi.config.BfiProperties; import org.springblade.thirdparty.bfi.constant.BfiConstant; @@ -222,12 +223,15 @@ public class BfiServiceImpl implements IBfiService { } @Override - public List queryBlacklist(String enable) { + public List queryBlacklist(String enable, List number) { if (StringUtil.isBlank(enable)) { throw new BfiException("查询BFI黑名单失败,使用状态不能为空"); } BfiBlacklistQueryDTO param = new BfiBlacklistQueryDTO(); param.setEnable(enable); + if (Func.isNotEmpty(number)) { + param.setNumber(number); + } String accessToken = getAccessToken(); return BfiUtil.queryAllPages(pageNo -> { param.setPageNo(pageNo);