| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- package space.anyi.controller.admin;
- import space.anyi.entity.User;
- import space.anyi.service.UserService;
- import space.anyi.util.Converter;
- 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;
- import java.util.Date;
- import java.util.List;
- @Controller
- @RequestMapping("/admin")
- public class AdminUserController {
- @Autowired private UserService userService;
- @GetMapping("/user")
- public ModelAndView list(@RequestParam(defaultValue = "1") Integer page) {
- ModelAndView mv = new ModelAndView("admin/user");
- List<User> userList = userService.findAll(page, 10);
- int totalPages = 1;
- if (userList instanceof com.github.pagehelper.Page) {
- com.github.pagehelper.Page<User> p = (com.github.pagehelper.Page<User>) userList;
- totalPages = p.getPages();
- }
- mv.addObject("users", Converter.toUserVOList(userList));
- mv.addObject("page", page);
- mv.addObject("totalPages", totalPages);
- return mv;
- }
- @PostMapping("/user/toggleStatus")
- public String toggleStatus(@RequestParam Integer id, RedirectAttributes attr) {
- userService.toggleStatus(id);
- attr.addFlashAttribute("success", "状态已更改");
- return "redirect:/admin/user";
- }
- @GetMapping("/user/edit/{id}")
- public ModelAndView editPage(@PathVariable Integer id) {
- ModelAndView mv = new ModelAndView("admin/userEdit");
- mv.addObject("user", Converter.toUserVO(userService.findById(id)));
- return mv;
- }
- @PostMapping("/user/edit")
- public String edit(User user, RedirectAttributes attr) {
- User existing = userService.findById(user.getId());
- if (existing != null) {
- user.setUsername(existing.getUsername());
- user.setAvatar(existing.getAvatar());
- }
- user.setUpdateTime(new Date());
- userService.update(user);
- attr.addFlashAttribute("success", "用户信息已更新");
- return "redirect:/admin/user";
- }
- @PostMapping("/user/delete/{id}")
- public String delete(@PathVariable Integer id, RedirectAttributes attr) {
- userService.deleteById(id);
- attr.addFlashAttribute("success", "用户已删除");
- return "redirect:/admin/user";
- }
- }
|