| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- package space.anyi.controller.admin;
- import space.anyi.entity.Cake;
- import space.anyi.entity.Review;
- import space.anyi.service.CakeService;
- import space.anyi.service.ReviewService;
- import space.anyi.util.Converter;
- import space.anyi.entity.vo.ReviewVO;
- import java.util.List;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Controller;
- import org.springframework.web.bind.annotation.*;
- import org.springframework.web.servlet.ModelAndView;
- import org.springframework.web.servlet.mvc.support.RedirectAttributes;
- @Controller
- @RequestMapping("/admin")
- public class AdminReviewController {
- @Autowired private ReviewService reviewService;
- @Autowired private CakeService cakeService;
- @GetMapping("/review")
- public ModelAndView list(@RequestParam(defaultValue = "1") Integer page) {
- ModelAndView mv = new ModelAndView("admin/review");
- List<Review> reviewList = reviewService.findAll(page, 10);
- int totalPages = 1;
- if (reviewList instanceof com.github.pagehelper.Page) {
- com.github.pagehelper.Page<Review> p = (com.github.pagehelper.Page<Review>) reviewList;
- totalPages = p.getPages();
- }
- List<ReviewVO> reviewVOs = Converter.toReviewVOList(reviewList);
- for (ReviewVO vo : reviewVOs) {
- if (vo.getCakeId() != null) {
- Cake cake = cakeService.findById(vo.getCakeId());
- if (cake != null) {
- vo.setCakeName(cake.getName());
- }
- }
- }
- mv.addObject("reviews", reviewVOs);
- mv.addObject("page", page);
- mv.addObject("totalPages", totalPages);
- return mv;
- }
- @PostMapping("/review/toggleStatus")
- public String toggleStatus(@RequestParam Integer id, RedirectAttributes attr) {
- reviewService.toggleStatus(id);
- attr.addFlashAttribute("success", "状态已更改");
- return "redirect:/admin/review";
- }
- @PostMapping("/review/reply")
- public String reply(@RequestParam Integer id, @RequestParam String replyContent, RedirectAttributes attr) {
- reviewService.reply(id, replyContent);
- attr.addFlashAttribute("success", "回复成功");
- return "redirect:/admin/review";
- }
- }
|