diff --git a/prototype/src/main/java/org/hso/ecommerce/controller/UserController.java b/prototype/src/main/java/org/hso/ecommerce/controller/UserController.java
index 05280ab..45c4d32 100644
--- a/prototype/src/main/java/org/hso/ecommerce/controller/UserController.java
+++ b/prototype/src/main/java/org/hso/ecommerce/controller/UserController.java
@@ -3,7 +3,6 @@ package org.hso.ecommerce.controller;
import org.hso.ecommerce.action.user.CreateDeliveryData;
import org.hso.ecommerce.action.user.UpdateUserSettingsAction;
import org.hso.ecommerce.api.RestServiceForDelivery;
-import org.hso.ecommerce.entities.shop.Address;
import org.hso.ecommerce.entities.shop.CustomerOrder;
import org.hso.ecommerce.entities.user.User;
import org.hso.ecommerce.repos.shop.CustomerOrderRepository;
@@ -12,16 +11,11 @@ import org.hso.ecommerce.uimodel.DeliveryData;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import java.util.List;
-import java.util.Map;
-import java.util.function.Function;
import java.util.stream.Collectors;
@Controller
@@ -44,32 +38,48 @@ public class UserController {
@GetMapping("/settings")
public String userSettings(Model model,
- HttpSession session
+ @RequestAttribute("user") User user
) {
- long userId = (long) session.getAttribute("userId");
- User user = userRepository.findById(userId).get();
- if(user.defaultDeliveryAddress == null){
- user.defaultDeliveryAddress = new Address();
- }
model.addAttribute("user", user);
return "user/settings";
}
@GetMapping("/orders/")
- public String userOrders(HttpSession session,
- Model model
+ public String userOrders(
+ @RequestAttribute("user") User user,
+ Model model
) {
- List orders = customerOrderRepository.getAllOrders();
+ List orders = customerOrderRepository.getOrdersByUserId(user.id);
- Map customerOrderDeliveryDataMap = orders.stream().
- collect(Collectors.toMap(Function.identity(), c -> CreateDeliveryData.getDeliveryDataFromCustomerOrder(c, customerOrderRepository, restServiceForDelivery)));
+ List customerOrderDeliveryDataMap = orders
+ .stream()
+ .map(o -> new CustomerOrderDelivery(o, CreateDeliveryData.getDeliveryDataFromCustomerOrder(o, customerOrderRepository, restServiceForDelivery)))
+ .collect(Collectors.toList());
model.addAttribute("orderDeliveryDataMap", customerOrderDeliveryDataMap);
return "user/orders/index";
}
+ static class CustomerOrderDelivery {
+ private CustomerOrder customerOrder;
+ private DeliveryData deliveryData;
+
+ public CustomerOrderDelivery(CustomerOrder customerOrder, DeliveryData deliveryData) {
+ this.customerOrder = customerOrder;
+ this.deliveryData = deliveryData;
+ }
+
+ public CustomerOrder getCustomerOrder() {
+ return customerOrder;
+ }
+
+ public DeliveryData getDeliveryData() {
+ return deliveryData;
+ }
+ }
+
@PostMapping("/settings/changeMail")
public String changeMail(HttpSession session,
@RequestParam("email") String email,
diff --git a/prototype/src/main/java/org/hso/ecommerce/controller/intern/customers/CustomerOrderController.java b/prototype/src/main/java/org/hso/ecommerce/controller/intern/customers/CustomerOrderController.java
index 1ab17b9..76020cd 100644
--- a/prototype/src/main/java/org/hso/ecommerce/controller/intern/customers/CustomerOrderController.java
+++ b/prototype/src/main/java/org/hso/ecommerce/controller/intern/customers/CustomerOrderController.java
@@ -12,8 +12,7 @@ import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
-import java.util.*;
-import java.util.function.Function;
+import java.util.List;
import java.util.stream.Collectors;
@Controller
@@ -27,22 +26,42 @@ public class CustomerOrderController {
@GetMapping("")
public String internCustomerOrder(Model model) {
- List orders = customerOrderRepository.getAllOrders();
+ List orders = customerOrderRepository.getAllOrders();
- Map customerOrderDeliveryDataMap = orders.stream().collect
- (Collectors.toMap
- (Function.identity(), c-> CreateDeliveryData.getDeliveryDataFromCustomerOrder(c,customerOrderRepository,restServiceForDelivery)));
+ List customerOrderDeliveryDataMap = orders
+ .stream()
+ .map(o -> new CustomerOrderDelivery(o, CreateDeliveryData.getDeliveryDataFromCustomerOrder(o, customerOrderRepository, restServiceForDelivery)))
+ .collect(Collectors.toList());
model.addAttribute("orderDeliveryDataMap", customerOrderDeliveryDataMap);
+
return "intern/customerOrders/index";
}
+ static class CustomerOrderDelivery {
+ private CustomerOrder customerOrder;
+ private DeliveryData deliveryData;
+
+ public CustomerOrderDelivery(CustomerOrder customerOrder, DeliveryData deliveryData) {
+ this.customerOrder = customerOrder;
+ this.deliveryData = deliveryData;
+ }
+
+ public CustomerOrder getCustomerOrder() {
+ return customerOrder;
+ }
+
+ public DeliveryData getDeliveryData() {
+ return deliveryData;
+ }
+ }
+
@GetMapping("/{id}")
public String internCustomerOrdersId(Model model,
@PathVariable("id") String id
) {
CustomerOrder order = customerOrderRepository.findById(Long.parseLong(id)).get();
- DeliveryData deliveryData = CreateDeliveryData.getDeliveryDataFromCustomerOrder(order, customerOrderRepository,restServiceForDelivery);
+ DeliveryData deliveryData = CreateDeliveryData.getDeliveryDataFromCustomerOrder(order, customerOrderRepository, restServiceForDelivery);
model.addAttribute("order", order);
model.addAttribute("deliveryData", deliveryData);
diff --git a/prototype/src/main/resources/templates/intern/customerOrders/index.html b/prototype/src/main/resources/templates/intern/customerOrders/index.html
index e682721..71a530a 100644
--- a/prototype/src/main/resources/templates/intern/customerOrders/index.html
+++ b/prototype/src/main/resources/templates/intern/customerOrders/index.html
@@ -41,14 +41,16 @@
|
- 101 |
- |
- |
- |
- |
- Bestellung wurde elektronisch angekündigt |
- DHL-Server ist gerade nicht erreichbar |
- Details |
+ 101 |
+ |
+ |
+ |
+ |
+ Bestellung wurde elektronisch angekündigt |
+ DHL-Server ist gerade nicht erreichbar |
+ Details
+ |
diff --git a/prototype/src/main/resources/templates/user/orders/index.html b/prototype/src/main/resources/templates/user/orders/index.html
index a55beae..d54074e 100644
--- a/prototype/src/main/resources/templates/user/orders/index.html
+++ b/prototype/src/main/resources/templates/user/orders/index.html
@@ -29,23 +29,30 @@
Lieferstatus |
- |
- Bestellung wurde elektronisch angekündigt |
- DHL-Server ist gerade nicht erreichbar |
+
+ |
+ Bestellung wurde elektronisch angekündigt |
+ DHL-Server ist gerade nicht erreichbar |
|
- Vorraussichtliche Ankunft: |
- Vorraussichtliche Ankunft: --:--:---- |
- Angekommen Ankunft: |
+
+ Vorraussichtliche Ankunft:
+ |
+
+ Vorraussichtliche Ankunft: --:--:----
+ |
+
+ Angekommen Ankunft:
+ |
Sendeverfolgungsnummer |
- |
+ |
|
- |
+ |
@@ -56,11 +63,13 @@
Menge |
Preis (Brutto) |
-
- |
- |
- |
- |
+
+ |
+ |
+ |
+ |
|
@@ -72,13 +81,13 @@
|
|
Artikel (Netto) |
- |
+ |
|
|
Umsatzsteuer |
- |
+ |
|
@@ -87,7 +96,7 @@
Gesammtpreis
-
+
|