diff --git a/blade-service/blade-transport/src/main/java/org/springblade/transport/controller/HcsSyncController.java b/blade-service/blade-transport/src/main/java/org/springblade/transport/controller/HcsSyncController.java index f18be7eb..0a721310 100644 --- a/blade-service/blade-transport/src/main/java/org/springblade/transport/controller/HcsSyncController.java +++ b/blade-service/blade-transport/src/main/java/org/springblade/transport/controller/HcsSyncController.java @@ -217,14 +217,15 @@ public class HcsSyncController { /** * 客商风险等级查询(C101-1,展示用,前端接入设计 §3.3;强制校验仍在推送/付款链路): * 内部组织类型客商默认无风险不调合规,外部客商高风险/黑名单返回提示文案; - * creditCode 供新增客商(档案未落库)查金蝶黑名单兜底,档案存在时以档案为准 + * creditCode/customerName 供新增客商(档案未落库)查金蝶黑名单、拼装提示名称兜底,档案存在时以档案为准 */ @GetMapping("/risk") @ApiOperationSupport(order = 10) - @Operation(summary = "客商风险等级查询", description = "C101-1 按客商编号查询风险等级与黑名单状态(展示用),内部客商默认无风险,高风险/黑名单返回风险提示文案,结果留痕;creditCode 为新增客商场景金蝶黑名单查询兜底") + @Operation(summary = "客商风险等级查询", description = "C101-1 按客商编号查询风险等级与黑名单状态(展示用),内部客商默认无风险,高风险/黑名单返回风险提示文案,结果留痕;creditCode/customerName 为新增客商场景兜底入参") public R risk(@Parameter(description = "客商编号", required = true) @RequestParam String customerCode, - @Parameter(description = "统一社会信用代码(新增客商档案未落库时兜底查金蝶黑名单)") @RequestParam(required = false) String creditCode) { - return R.data(hcsCreditCheckSupport.queryCustomerRisk(customerCode, creditCode)); + @Parameter(description = "统一社会信用代码(新增客商档案未落库时兜底查金蝶黑名单)") @RequestParam(required = false) String creditCode, + @Parameter(description = "客商名称(新增客商档案未落库时提示文案名称兜底)") @RequestParam(required = false) String customerName) { + return R.data(hcsCreditCheckSupport.queryCustomerRisk(customerCode, creditCode, customerName)); } /** diff --git a/blade-service/blade-transport/src/main/java/org/springblade/transport/support/hcs/HcsCreditCheckSupport.java b/blade-service/blade-transport/src/main/java/org/springblade/transport/support/hcs/HcsCreditCheckSupport.java index 2bd22cf2..235443a4 100644 --- a/blade-service/blade-transport/src/main/java/org/springblade/transport/support/hcs/HcsCreditCheckSupport.java +++ b/blade-service/blade-transport/src/main/java/org/springblade/transport/support/hcs/HcsCreditCheckSupport.java @@ -212,19 +212,21 @@ public class HcsCreditCheckSupport { * @return 风险展示信息(customerKind/fdBlackStatus/fdRiskLevel/risky/riskTip) */ public CustomerRiskVO queryCustomerRisk(String customerCode) { - return this.queryCustomerRisk(customerCode, null); + return this.queryCustomerRisk(customerCode, null, null); } /** - * 客商风险查询(带信用代码,新增客商档案表单实时校验用): + * 客商风险查询(带信用代码/名称,新增客商档案表单实时校验用): * 金蝶带出的客商尚未落库(本地档案反查不到)时,信用代码无法从档案取得, - * 由前端将金蝶档案带出的统一社会信用代码随编号一并传入,保证 A801-5 黑名单段不缺失 + * 由前端将金蝶档案带出的统一社会信用代码随编号一并传入,保证 A801-5 黑名单段不缺失; + * 档案缺失时客商名称同样兜底用传入名称(否则提示文案里只能回显编号) * - * @param customerCode 客商编号(金蝶档案带出的编码) + * @param customerCode 客商编号(金蝶档案带出的编码或手输编号) * @param creditCode 统一社会信用代码(档案存在时以档案为准,档案缺失时兜底入参) + * @param customerNameParam 客商名称(档案缺失时兜底展示用) * @return 风险展示信息 */ - public CustomerRiskVO queryCustomerRisk(String customerCode, String creditCode) { + public CustomerRiskVO queryCustomerRisk(String customerCode, String creditCode, String customerNameParam) { if (StringUtil.isBlank(customerCode)) { throw new ServiceException("客商编号不能为空"); } @@ -232,7 +234,10 @@ public class HcsCreditCheckSupport { .eq(CustomerArchive::getCustomerCode, customerCode) .eq(CustomerArchive::getIsDeleted, 0) .last("limit 1")); - String customerName = customerArchive == null ? customerCode : customerArchive.getFullName(); + // 档案存在以档案名称为准;档案缺失(新增客商实时校验)兜底用前端传入名称,最后才回显编号 + String customerName = customerArchive == null + ? (StringUtil.isNotBlank(customerNameParam) ? customerNameParam : customerCode) + : customerArchive.getFullName(); // 内部组织类型客商默认无风险;档案不存在按外部客商查询(不静默放行) if (isInternalCustomer(customerArchive)) { CustomerRiskVO riskVO = new CustomerRiskVO();