-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathOrderController.java
More file actions
52 lines (44 loc) · 1.6 KB
/
OrderController.java
File metadata and controls
52 lines (44 loc) · 1.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
package onlineshop.controllers;
import onlineshop.Billing;
import onlineshop.Cart;
import onlineshop.Customer;
import onlineshop.Shop;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.*;
@Controller
@RequestMapping(value = "/order")
public class OrderController extends BaseController {
private final static Logger log = LogManager.getLogger(OrderController.class);
@Autowired
Shop shop;
@Autowired
Cart cart;
@Autowired
Customer customer;
@PostMapping(value = "/place")
public String placeOrder(Model view, @ModelAttribute Billing newOrder) {
// TODO:
// 1. create a new order using 'newOrder'
// 2. add this order to customer's order list
// 3. redirect to '/order/{orderNumber}' and pass new orderId to path variable
int orderNumber = 1;
return "redirect:/order/" + orderNumber;
}
@GetMapping(value = "/{orderNumber}")
public String showOrder(Model view, @PathVariable(name="orderNumber") Integer orderNumber) {
loadCartItems(view);
// TODO: show details of order with {orderNumber}
// 1. get order with 'orderNumber
view.addAttribute("orderItems", cart.getItems());
return "order";
}
@GetMapping(value = "/all")
public String listOrders(Model view) {
// TODO: list all orders of the current customer
return "order-list";
}
}