From dea477eba29c8e9c3982449e0bb8ef5cb89158fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E6=B3=89=E4=BD=B3?= <1107186916@qq.com> Date: Tue, 20 Oct 2026 21:45:14 +0800 Subject: [PATCH] =?UTF-8?q?:feat:=20=E9=A1=B9=E7=9B=AE=E7=AB=8B=E9=A1=B9?= =?UTF-8?q?=E5=AE=A1=E6=89=B9=E9=80=9A=E8=BF=87=E5=90=8C=E6=AD=A5=E6=8E=A8?= =?UTF-8?q?=E9=80=81HCS=E5=B9=B6=E5=9B=9E=E4=BC=A0=E5=A4=B1=E8=B4=A5?= =?UTF-8?q?=E5=8E=9F=E5=9B=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../transport/controller/ProjectApplyController.java | 11 ++++++++++- .../service/impl/ProjectApplyServiceImpl.java | 5 +---- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/blade-service/blade-transport/src/main/java/org/springblade/transport/controller/ProjectApplyController.java b/blade-service/blade-transport/src/main/java/org/springblade/transport/controller/ProjectApplyController.java index 29b3962c..83b96682 100644 --- a/blade-service/blade-transport/src/main/java/org/springblade/transport/controller/ProjectApplyController.java +++ b/blade-service/blade-transport/src/main/java/org/springblade/transport/controller/ProjectApplyController.java @@ -40,6 +40,7 @@ import org.springblade.transport.excel.ProjectApplyExcel; import org.springblade.transport.pojo.entity.ProjectApply; import org.springblade.transport.pojo.vo.ProjectApplyVO; import org.springblade.transport.service.IProjectApplyService; +import org.springblade.transport.support.hcs.HcsImmediatePushSupport; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -63,6 +64,7 @@ import java.util.Map; public class ProjectApplyController extends BladeController { private final IProjectApplyService projectApplyService; + private final HcsImmediatePushSupport hcsImmediatePushSupport; @GetMapping("/detail") @ApiOperationSupport(order = 1) @@ -119,7 +121,14 @@ public class ProjectApplyController extends BladeController { @ApiOperationSupport(order = 6) @Operation(summary = "审批通过", description = "传入id") public R approve(@Parameter(description = "主键", required = true) @RequestParam Long id) { - return R.status(projectApplyService.approve(id)); + projectApplyService.approve(id); + // 审批事务已提交,再同步推送合规;失败原因以警告文案返回(data=false 供前端区分提示样式),照正式结算单审批接口 + hcsImmediatePushSupport.pushProjectAndWait(id); + String syncFailure = HcsImmediatePushSupport.pollSyncFailure(); + if (syncFailure != null) { + return R.data(Boolean.FALSE, "审批通过,但合规推送失败:" + syncFailure); + } + return R.success("审批通过"); } @PostMapping("/reject") diff --git a/blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/ProjectApplyServiceImpl.java b/blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/ProjectApplyServiceImpl.java index 46f9b3fe..56815594 100644 --- a/blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/ProjectApplyServiceImpl.java +++ b/blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/ProjectApplyServiceImpl.java @@ -49,7 +49,6 @@ import org.springblade.transport.pojo.entity.TemporaryCreditLimit; import org.springblade.transport.pojo.vo.ProjectApplyVO; import org.springblade.transport.service.IProjectApplyService; import org.springblade.transport.support.TransportBusinessSupport; -import org.springblade.transport.support.hcs.HcsImmediatePushSupport; import org.springblade.transport.wrapper.ProjectApplyWrapper; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -96,7 +95,6 @@ public class ProjectApplyServiceImpl extends BaseServiceImpl selectProjectApplyPage(IPage page, ProjectApplyVO projectApply) { @@ -214,9 +212,8 @@ public class ProjectApplyServiceImpl extends BaseServiceImpl