11package com .baeldung .dddhexagonalspring .application .cli ;
22
3+ import java .math .BigDecimal ;
34import java .util .UUID ;
45
6+ import org .slf4j .Logger ;
7+ import org .slf4j .LoggerFactory ;
58import org .springframework .beans .factory .annotation .Autowired ;
69import org .springframework .stereotype .Component ;
710
811import com .baeldung .dddhexagonalspring .domain .Product ;
912import com .baeldung .dddhexagonalspring .domain .service .OrderService ;
1013
1114@ Component
12- public class CliOrderController {
15+ public class CliOrderController {
16+
17+ private static final Logger LOG = LoggerFactory .getLogger (CliOrderController .class );
1318
1419 private final OrderService orderService ;
1520
@@ -18,20 +23,25 @@ public CliOrderController(OrderService orderService) {
1823 this .orderService = orderService ;
1924 }
2025
21- public UUID createOrder (Product product ) {
22- return orderService .createOrder (product );
23- }
24-
25- public void addProduct (UUID orderId , Product product ) {
26- orderService .addProduct (orderId , product );
26+ public void createCompleteOrder () {
27+ LOG .info ("<<Create complete order>>" );
28+ UUID orderId = createOrder ();
29+ orderService .completeOrder (orderId );
2730 }
2831
29- public void deleteProduct (UUID orderId , UUID productId ) {
30- orderService .deleteProduct (orderId , productId );
32+ public void createIncompleteOrder () {
33+ LOG .info ("<<Create incomplete order>>" );
34+ UUID orderId = createOrder ();
3135 }
3236
33- public void completeOrder (UUID orderId ) {
34- orderService .completeOrder (orderId );
37+ private UUID createOrder () {
38+ LOG .info ("Placing a new order with two products" );
39+ Product mobilePhone = new Product (UUID .randomUUID (), BigDecimal .valueOf (200 ), "mobile" );
40+ Product razor = new Product (UUID .randomUUID (), BigDecimal .valueOf (50 ), "razor" );
41+ LOG .info ("Creating order with mobile phone" );
42+ UUID orderId = orderService .createOrder (mobilePhone );
43+ LOG .info ("Adding a razor to the order" );
44+ orderService .addProduct (orderId , razor );
45+ return orderId ;
3546 }
36-
3747}
0 commit comments