This repository has been archived on 2020-08-02. You can view files and clone it, but cannot push or open issues or pull requests.
e-commerce/prototype/src/main/java/org/hso/ecommerce/controller/UserController.java

97 lines
2.5 KiB
Java

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<CustomerOrder> 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";
}
}