longz
2026-04-21 c4db0a4526f61758272c92396aa788d84f098102
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()));
            }
        }
    }