feat: 客商信用代码为空改为抛出异常阻断风险校验
This commit is contained in:
+5
-6
@@ -337,8 +337,8 @@ public class HcsContractSyncSupport {
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询单方客商风险:按名称反查客商档案(§9-U6 编码体系联调确认),反查不到档案或信用代码为空记 skip 留痕不阻断;
|
||||
* 内部组织客商默认无风险跳过(与展示/提交/付款链路口径一致,不调 C101-1)
|
||||
* 查询单方客商风险:按名称反查客商档案(§9-U6 编码体系联调确认),反查不到档案记 skip 留痕不阻断;
|
||||
* 内部组织客商默认无风险跳过(与展示/提交/付款链路口径一致,不调 C101-1);信用代码为空抛出业务异常阻断推送
|
||||
*/
|
||||
private RiskResult queryRisk(ContractManage contractManage, String standing, String partyName) {
|
||||
CustomerArchive customerArchive = queryCustomerArchive(partyName);
|
||||
@@ -353,12 +353,11 @@ public class HcsContractSyncSupport {
|
||||
standing + "方[" + partyName + "]为内部组织客商,默认无风险跳过校验", null);
|
||||
return new RiskResult(false, null);
|
||||
}
|
||||
// C101-1 改按统一社会信用代码查询:信用代码为空无法查询,跳过并留痕(同反查不到口径)
|
||||
// C101-1 改按统一社会信用代码查询:信用代码为空无法查询,阻断推送
|
||||
String creditCode = customerArchive.getUnifiedCreditCode();
|
||||
if (StringUtil.isBlank(creditCode)) {
|
||||
writeCheckLog(contractManage, HcsSyncConstant.CHECK_RESULT_SKIP,
|
||||
standing + "方[" + partyName + "]信用代码为空,跳过风险校验", null);
|
||||
return new RiskResult(false, null);
|
||||
log.warn("HCS合同推送风险校验阻断:contractNo={},{}方信用代码为空", contractManage.getContractNo(), standing);
|
||||
throw new ServiceException(standing + "方[" + partyName + "]统一社会信用代码为空,请先完善客商档案后再推送合同");
|
||||
}
|
||||
HcsRiskQueryDTO param = new HcsRiskQueryDTO();
|
||||
// 【必填】统一社会信用代码:按甲乙方名称反查 CustomerArchive(C101-1 改按信用代码查询)
|
||||
|
||||
+7
-19
@@ -133,13 +133,11 @@ public class HcsCreditCheckSupport {
|
||||
"收款方[" + payment.getPayeeName() + "]为内部组织客商,默认无风险跳过校验", null);
|
||||
return;
|
||||
}
|
||||
// C101-1 改按统一社会信用代码查询:信用代码为空无法查询,跳过并留痕(同反查不到口径)
|
||||
// C101-1 改按统一社会信用代码查询:信用代码为空无法查询,阻断提交
|
||||
String creditCode = customerArchive.getUnifiedCreditCode();
|
||||
if (StringUtil.isBlank(creditCode)) {
|
||||
writeCheckLog(payment, HcsSyncConstant.CHECK_TYPE_RISK, HcsSyncConstant.CHECK_RESULT_SKIP,
|
||||
"收款方[" + payment.getPayeeName() + "]信用代码为空,跳过风险校验", null);
|
||||
log.warn("HCS付款提交风险校验跳过:paymentNo={},收款方信用代码为空", payment.getPaymentNo());
|
||||
return;
|
||||
log.warn("HCS付款提交风险校验阻断:paymentNo={},收款方信用代码为空", payment.getPaymentNo());
|
||||
throw new ServiceException("收款方[" + payment.getPayeeName() + "]统一社会信用代码为空,请先完善客商档案后再提交");
|
||||
}
|
||||
HcsRiskQueryDTO param = new HcsRiskQueryDTO();
|
||||
// 【必填】统一社会信用代码:按收款方名称反查 CustomerArchive(C101-1 改按信用代码查询)
|
||||
@@ -285,7 +283,7 @@ public class HcsCreditCheckSupport {
|
||||
/**
|
||||
* C101-1 单客商远程查询并组装展示信息(不查档案、不写留痕,供单查与定时批量刷新复用);
|
||||
* riskTip 不在本方法组装,由调用方经 {@link #buildRiskDetail} 统一组装;
|
||||
* C101-1 改按统一社会信用代码查询,信用代码为空时不调远程、按无风险数据返回
|
||||
* C101-1 改按统一社会信用代码查询,信用代码为空时抛出业务异常、不调远程
|
||||
*
|
||||
* @param customerCode 客商编号(留痕与展示用)
|
||||
* @param creditCode 统一社会信用代码(C101-1 查询键)
|
||||
@@ -294,13 +292,8 @@ public class HcsCreditCheckSupport {
|
||||
*/
|
||||
private RelativeRiskResult fetchRelativeRisk(String customerCode, String creditCode, String customerName) {
|
||||
if (StringUtil.isBlank(creditCode)) {
|
||||
log.warn("HCS客商风险查询跳过:customerCode={}, 信用代码为空", customerCode);
|
||||
CustomerRiskVO emptyRisk = new CustomerRiskVO();
|
||||
emptyRisk.setCustomerCode(customerCode);
|
||||
emptyRisk.setCustomerName(customerName);
|
||||
emptyRisk.setCustomerKind("external");
|
||||
emptyRisk.setRisky(Boolean.FALSE);
|
||||
return new RelativeRiskResult(emptyRisk, null);
|
||||
log.warn("HCS客商风险查询阻断:customerCode={}, customerName={}, 信用代码为空", customerCode, customerName);
|
||||
throw new ServiceException("客商[" + (StringUtil.isNotBlank(customerName) ? customerName : customerCode) + "]统一社会信用代码为空,请先完善客商档案");
|
||||
}
|
||||
HcsRiskQueryDTO param = new HcsRiskQueryDTO();
|
||||
// 【必填】统一社会信用代码(C101-1 改按信用代码查询,字段名 fdNumber 保持合规侧定义)
|
||||
@@ -535,12 +528,7 @@ public class HcsCreditCheckSupport {
|
||||
List<HcsContractCheckLog> batchCheckLogs = new ArrayList<>();
|
||||
for (CustomerArchive customerArchive : batch) {
|
||||
try {
|
||||
// C101-1 改按信用代码查询:信用代码为空的档案跳过刷新(不计入失败数)
|
||||
if (Func.isEmpty(customerArchive.getUnifiedCreditCode())) {
|
||||
log.warn("定时刷新客商风险跳过:customerCode={}, fullName={}, 信用代码为空",
|
||||
customerArchive.getCustomerCode(), customerArchive.getFullName());
|
||||
continue;
|
||||
}
|
||||
// C101-1 按信用代码查询:信用代码为空在 fetchRelativeRisk 内抛出异常,由下方 catch 记为失败不中断批次
|
||||
RelativeRiskResult fetch = this.fetchRelativeRisk(customerArchive.getCustomerCode(),
|
||||
customerArchive.getUnifiedCreditCode(), customerArchive.getFullName());
|
||||
CustomerRiskVO risk = fetch.risk();
|
||||
|
||||
Reference in New Issue
Block a user