FavoriteController.java 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. package space.anyi.controller.front;
  2. import space.anyi.entity.User;
  3. import space.anyi.service.FavoriteService;
  4. import space.anyi.util.Converter;
  5. import org.springframework.beans.factory.annotation.Autowired;
  6. import org.springframework.stereotype.Controller;
  7. import org.springframework.web.bind.annotation.*;
  8. import org.springframework.web.servlet.ModelAndView;
  9. import org.springframework.web.servlet.mvc.support.RedirectAttributes;
  10. import javax.servlet.http.HttpSession;
  11. @Controller
  12. @RequestMapping("/favorite")
  13. public class FavoriteController {
  14. @Autowired
  15. private FavoriteService favoriteService;
  16. @GetMapping
  17. public ModelAndView list(HttpSession session) {
  18. User user = (User) session.getAttribute("user");
  19. ModelAndView mv = new ModelAndView("favorite/list");
  20. mv.addObject("favorites", favoriteService.getFavoriteVOs(user.getId()));
  21. return mv;
  22. }
  23. @PostMapping("/add")
  24. public String add(@RequestParam Integer cakeId, HttpSession session) {
  25. User user = (User) session.getAttribute("user");
  26. favoriteService.add(user.getId(), cakeId);
  27. return "redirect:/favorite";
  28. }
  29. @PostMapping("/remove")
  30. public String remove(@RequestParam Integer cakeId, HttpSession session,
  31. RedirectAttributes attr) {
  32. User user = (User) session.getAttribute("user");
  33. favoriteService.remove(user.getId(), cakeId);
  34. attr.addFlashAttribute("success", "已取消收藏");
  35. return "redirect:/favorite";
  36. }
  37. }