From c4db0a4526f61758272c92396aa788d84f098102 Mon Sep 17 00:00:00 2001
From: longz <longzhaoz@qq.com>
Date: 星期二, 21 四月 2026 17:04:30 +0800
Subject: [PATCH] 风险规避

---
 backend/src/main/java/com/sinata/appointment/service/ApprovalApplicationService.java |   10 ++++++----
 1 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/backend/src/main/java/com/sinata/appointment/service/ApprovalApplicationService.java b/backend/src/main/java/com/sinata/appointment/service/ApprovalApplicationService.java
index c788437..520d2bd 100644
--- a/backend/src/main/java/com/sinata/appointment/service/ApprovalApplicationService.java
+++ b/backend/src/main/java/com/sinata/appointment/service/ApprovalApplicationService.java
@@ -15,10 +15,13 @@
 import com.sinata.appointment.mapper.AppointmentOrderMapper;
 import com.sinata.appointment.mapper.ApprovalInstanceMapper;
 import com.sinata.appointment.mapper.ApprovalTaskMapper;
+import com.sinata.appointment.service.event.AppointmentApprovedEvent;
+import com.sinata.appointment.service.event.AppointmentRejectedEvent;
 import com.sinata.appointment.util.UuidAssert;
 import lombok.RequiredArgsConstructor;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
+import org.springframework.context.ApplicationEventPublisher;
 
 @Service
 @RequiredArgsConstructor
@@ -28,7 +31,7 @@
     private final ApprovalInstanceMapper approvalInstanceMapper;
     private final AppointmentOrderMapper appointmentOrderMapper;
     private final ApprovalEngineService approvalEngineService;
-    private final PostApprovalOrchestrationService postApprovalOrchestrationService;
+    private final ApplicationEventPublisher applicationEventPublisher;
 
     public IPage<ApprovalTask> pageMyTodo(long page, long size) {
         Long uid = StpUtil.getLoginIdAsLong();
@@ -64,7 +67,7 @@
             task.setComment(reason);
             approvalTaskMapper.updateById(task);
             approvalEngineService.rejectInstance(inst, reason);
-            postApprovalOrchestrationService.onOrderRejected(order, reason);
+            applicationEventPublisher.publishEvent(new AppointmentRejectedEvent(order.getId(), reason));
             return;
         }
 
@@ -77,8 +80,7 @@
             approvalEngineService.advanceOrComplete(inst, order);
             ApprovalInstance latest = approvalInstanceMapper.selectById(inst.getId());
             if (ApprovalInstanceStatus.APPROVED.equals(latest.getStatus())) {
-                AppointmentOrder fresh = appointmentOrderMapper.selectById(order.getId());
-                postApprovalOrchestrationService.onOrderFullyApproved(fresh);
+                applicationEventPublisher.publishEvent(new AppointmentApprovedEvent(order.getId()));
             }
         }
     }

--
Gitblit v1.7.1