#441 Код-ревью сервиса создания заказа
Сделать рефакторинг:
@RestController
@RequestMapping("/orders")
public class OrderController {
@Autowired
private OrderService orderService;
@PostMapping
public ResponseEntity<String> createOrder(@RequestBody OrderRequest request) {
orderService.processOrder(request);
return ResponseEntity.ok("ok");
}
}
@Service
public class OrderService {
@Autowired
private OrderRepository orderRepository;
@Autowired
private KafkaTemplate<String, String> kafkaTemplate;
public void processOrder(OrderRequest request) {
Order order = new Order();
order.setUserId(request.getUserId());
order.setTotal(request.getTotal());
order.setStatus("NEW");
orderRepository.save(order);
kafkaTemplate.send("orders", String.valueOf(order.getId()), "order_created");
}
}
@Entity
@Data
public class Order {
@Id
@GeneratedValue
private long id;
private String userId;
private String status;
private BigDecimal total;
}
@Data
public class OrderRequest {
private String userId;
private BigDecimal total;
}
Разбор вопроса
Войди, чтобы начать диалог
Ментор ведёт диалог по текущему вопросу и учитывает предыдущие сообщения.
Войти
Доступно с Premium
Это лишь одно из решений, доступных с Premium. А ещё:
- 250+ продвинутых лекций
- 1300+ практических заданий
- 500+ решений задач с реальных собеседований
- Именные сертификаты Java Hub
- Расширенный доступ к AI-ментору