#308 Код-ревью обновления статуса заказа
Ниже приведен код обновления статуса заказа. Необходимо найти проблемы и внести изменения в код:
@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);
}
}
}Разбор вопроса
Войди, чтобы начать диалог
Ментор ведёт диалог по текущему вопросу и учитывает предыдущие сообщения.
Войти
Доступно с Premium
Это лишь одно из решений, доступных с Premium. А ещё:
- 250+ продвинутых лекций
- 1300+ практических заданий
- 500+ решений задач с реальных собеседований
- Именные сертификаты Java Hub
- Расширенный доступ к AI-ментору