package org.hso.ecommerce.controller; import org.hso.ecommerce.entities.shop.CustomerOrder; import org.hso.ecommerce.entities.user.User; import org.hso.ecommerce.repos.shop.CustomerOrderRepository; import org.hso.ecommerce.repos.user.UserRepository; 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 javax.servlet.http.HttpSession; import java.util.List; @Controller @RequestMapping("/user") public class UserController { @Autowired private final UserRepository userRepository = null; @Autowired private final CustomerOrderRepository customerOrderRepository = null; @GetMapping("/") public String user() { return "redirect:/user/settings"; } @GetMapping("/settings") public String userSettings(Model model, HttpSession session ) { long userId = (long) session.getAttribute("userId"); User user = userRepository.findById(userId).get(); model.addAttribute("user", user); //TODO: klären wegen Geschäftskundenunterscheidung return "user/settings"; } @GetMapping("/orders/") public String userOrdeers(HttpSession session, Model model) { List orders = customerOrderRepository.getOrdersByUserId((long) session.getAttribute("userId")); model.addAttribute("orders", orders); return "user/orders/index"; } @PostMapping("/settings/changeMail") public String changeMail(@RequestParam("email") String email){ //TODO: implement this return "user/settings"; } @PostMapping("/settings/changePwd") public String changePwd(){ //TODO: implement this return "user/settings"; } @PostMapping("/settings/changeAddress") public String changeAddress(){ //TODO: implement this return "user/settings"; } @PostMapping("/settings/changeAdSettings") public String changeAdSettings(){ //TODO: implement this return "user/settings"; } @PostMapping("/settings/changePaymentInfo") public String changePaymentInfo(){ //TODO: implement this return "user/settings"; } }