From 8c42bbb5c9494895543a273ba9d58836634f874a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E6=B3=89=E4=BD=B3?= <1107186916@qq.com> Date: Fri, 9 Oct 2026 12:00:23 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20HCS=E4=B8=80=E6=9C=9F=E8=8C=83=E5=9B=B4?= =?UTF-8?q?=E8=B0=83=E6=95=B4=EF=BC=8CC103-9/C106-1/C108-1/2=E6=9A=82?= =?UTF-8?q?=E4=B8=8D=E5=AF=B9=E6=8E=A5=E6=94=B9=E4=B8=BA=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E5=BC=80=E5=85=B3=E9=BB=98=E8=AE=A4=E5=85=B3=EF=BC=88exe-stage?= =?UTF-8?q?/credit/perf-record=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../support/hcs/HcsContractSyncSupport.java | 5 ++++- .../transport/support/hcs/HcsCreditCheckSupport.java | 5 ++++- .../transport/support/hcs/HcsPaymentSyncSupport.java | 10 ++++++++-- .../org/springblade/hcs/config/HcsProperties.java | 12 ++++++++++++ 4 files changed, 28 insertions(+), 4 deletions(-) diff --git a/blade-service/blade-transport/src/main/java/org/springblade/transport/support/hcs/HcsContractSyncSupport.java b/blade-service/blade-transport/src/main/java/org/springblade/transport/support/hcs/HcsContractSyncSupport.java index 4cbaf90e..f98a1e61 100644 --- a/blade-service/blade-transport/src/main/java/org/springblade/transport/support/hcs/HcsContractSyncSupport.java +++ b/blade-service/blade-transport/src/main/java/org/springblade/transport/support/hcs/HcsContractSyncSupport.java @@ -130,7 +130,10 @@ public class HcsContractSyncSupport { markSynced(contractManage, contractManage.getHcsFdId(), "C103-11 合同更新成功"); resultMessage = "C103-11 合同更新成功"; } - // ⑤ 履约规则 C103-9 行级同步(随合同链路,§5.3;失败抛出由任务落 failed,下轮凭 hcs_fd_id 走更新补偿) + // ⑤ 履约规则 C103-9 行级同步(随合同链路,§5.3;一期暂不对接默认关,打开后失败抛出由任务落 failed,下轮凭 hcs_fd_id 走更新补偿) + if (!hcsProperties.getExeStage().isSyncEnabled()) { + return resultMessage; + } String exeStageResult = hcsExeStageSyncSupport.syncExeStages(contractManage); return resultMessage + ";" + exeStageResult; } 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 34c9be20..371098cb 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 @@ -90,7 +90,10 @@ public class HcsCreditCheckSupport { if (hcsProperties.getRisk().isCheckOnPayment()) { checkRelativeRisk(payment); } - // ② 额度校验(超额不拦截,转特批) + // ② 额度校验(超额不拦截,转特批);一期暂不对接默认关,关闭后特批无自动触发 + if (!hcsProperties.getCredit().isCheckEnabled()) { + return; + } checkCredit(payment); } diff --git a/blade-service/blade-transport/src/main/java/org/springblade/transport/support/hcs/HcsPaymentSyncSupport.java b/blade-service/blade-transport/src/main/java/org/springblade/transport/support/hcs/HcsPaymentSyncSupport.java index 8fbb1062..dab33eb7 100644 --- a/blade-service/blade-transport/src/main/java/org/springblade/transport/support/hcs/HcsPaymentSyncSupport.java +++ b/blade-service/blade-transport/src/main/java/org/springblade/transport/support/hcs/HcsPaymentSyncSupport.java @@ -29,6 +29,7 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springblade.core.log.exception.ServiceException; import org.springblade.core.tool.utils.StringUtil; +import org.springblade.hcs.config.HcsProperties; import org.springblade.transport.constant.HcsSyncConstant; import org.springblade.transport.mapper.PaymentApplicationMapper; import org.springblade.transport.pojo.entity.PaymentApplication; @@ -56,6 +57,7 @@ public class HcsPaymentSyncSupport { private static final List APPROVED_STATUSES = List.of("approved"); private final PaymentApplicationMapper paymentApplicationMapper; + private final HcsProperties hcsProperties; private final HcsSpecPaySyncSupport hcsSpecPaySyncSupport; private final HcsPerfRecordSyncSupport hcsPerfRecordSyncSupport; @@ -67,11 +69,15 @@ public class HcsPaymentSyncSupport { */ public String pushPayment(PaymentApplication payment) { StringBuilder result = new StringBuilder(); - // ① 结算付款特批:提交时额度超额(hcs_spec_status=need)且未发起时发起 C106-3 + // ① 结算付款特批:提交时额度超额(hcs_spec_status=need)且未发起时发起 C106-3(C106-1 暂不对接后无自动置 need,仅历史数据/人工场景可达) if (HcsSyncConstant.SPEC_STATUS_NEED.equals(payment.getHcsSpecStatus())) { result.append(hcsSpecPaySyncSupport.pushSpecPay(payment)); } - // ② 履约记录:审批通过新建 C108-1 / 实际付款推进更新 C108-2 + // ② 履约记录:审批通过新建 C108-1 / 实际付款推进更新 C108-2(一期暂不对接默认关) + if (!hcsProperties.getPerfRecord().isSyncEnabled()) { + markSynced(payment, result.toString()); + return result.toString(); + } if (result.length() > 0) { result.append(";"); } diff --git a/blade-third-party-api/blade-hcs-api/src/main/java/org/springblade/hcs/config/HcsProperties.java b/blade-third-party-api/blade-hcs-api/src/main/java/org/springblade/hcs/config/HcsProperties.java index 8f490dde..caa2da84 100644 --- a/blade-third-party-api/blade-hcs-api/src/main/java/org/springblade/hcs/config/HcsProperties.java +++ b/blade-third-party-api/blade-hcs-api/src/main/java/org/springblade/hcs/config/HcsProperties.java @@ -163,6 +163,10 @@ public class HcsProperties { @Data public static class ExeStage { + /** + * 履约规则同步开关(C103-9 行级同步,一期暂不对接,默认关) + */ + private boolean syncEnabled = false; /** * 履约规则金额类型默认值(fdFundType) */ @@ -187,6 +191,10 @@ public class HcsProperties { @Data public static class Credit { + /** + * 额度校验开关(C106-1,一期暂不对接,默认关;关闭后特批无自动触发) + */ + private boolean checkEnabled = false; /** * 付款提交校验是否要求合同已推送合规(hcs_fd_id 存在) */ @@ -239,6 +247,10 @@ public class HcsProperties { @Data public static class PerfRecord { + /** + * 履约记录同步开关(C108-1/2,一期暂不对接,默认关) + */ + private boolean syncEnabled = false; /** * 履约记录表单模板ID(fd_xform_id,环境相关值,§9-U9 待合规方提供) */