content: package com.food.order.system;
  
  import com.food.order.system.dto.message.RestaurantApprovalResponse;
  import com.food.order.system.ports.input.message.listener.restaurantapproval.RestaurantApprovalResponseMessageListener;
  import com.food.order.system.saga.OrderApprovalSaga;
  import lombok.RequiredArgsConstructor;
  import lombok.extern.slf4j.Slf4j;
  import org.springframework.stereotype.Service;
  
  @Slf4j
  @RequiredArgsConstructor
  @Service
  public class RestaurantApprovalResponseMessageListenerImpl implements RestaurantApprovalResponseMessageListener {
  
      private final OrderApprovalSaga orderApprovalSaga;
  
      @Override
      public void orderApproved(RestaurantApprovalResponse restaurantApprovalResponse) {
          orderApprovalSaga.process(restaurantApprovalResponse);
          log.info("Order Approved: {}", restaurantApprovalResponse);
      }
  
      @Override
      public void orderRejected(RestaurantApprovalResponse restaurantApprovalResponse) {
          orderApprovalSaga.rollback(restaurantApprovalResponse);
          log.info("Order Rejected: {}", restaurantApprovalResponse);
      }
  }
  