#308 Код-ревью обновления статуса заказа

Компании:
Иннотех
Темы:
SpringТранзакцииКод ревью

Ниже приведен код обновления статуса заказа. Необходимо найти проблемы и внести изменения в код:

Java
@Service
public class OrderService {

    @Autowired
    private OrderRepository orderRepository;

    private final NotificationService notificationService;

    @Autowired
    public OrderService(NotificationService notificationService) {
        this.notificationService = notificationService;
    }

    public void updateOrderStatus(Long orderId, String newStatus) {
        Order order = orderRepository.findById(orderId).get();

        if (newStatus.equals("COMPLETED")) {
            order.setStatus("COMPLETED");
            orderRepository.save(order);
            notificationService.notifyUser(order.getUserId(), "Your order is completed");
        } else if (newStatus.equals("CANCELLED")) {
            order.setStatus("CANCELLED");
            orderRepository.save(order);
            notificationService.notifyUser(order.getUserId(), "Your order is cancelled");
        } else if (newStatus.equals("PENDING")) {
            order.setStatus("PENDING");
            orderRepository.save(order);
        } else if (newStatus.equals("IN_PROGRESS")) {
            order.setStatus("IN_PROGRESS");
            orderRepository.save(order);
        } else {
            throw new IllegalArgumentException("Unsupported status: " + newStatus);
        }
    }
}

Разбор вопроса

Ментор
Ответь как на реальном собеседовании. Я задам уточняющие вопросы, а затем сравню твой ответ с эталонным и покажу точность в %.
Войди, чтобы начать диалог Ментор ведёт диалог по текущему вопросу и учитывает предыдущие сообщения.
Войти