| | |
| | | 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 |
| | |
| | | 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(); |
| | |
| | | task.setComment(reason); |
| | | approvalTaskMapper.updateById(task); |
| | | approvalEngineService.rejectInstance(inst, reason); |
| | | postApprovalOrchestrationService.onOrderRejected(order, reason); |
| | | applicationEventPublisher.publishEvent(new AppointmentRejectedEvent(order.getId(), reason)); |
| | | return; |
| | | } |
| | | |
| | |
| | | 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())); |
| | | } |
| | | } |
| | | } |