You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
177 lines
4.9 KiB
177 lines
4.9 KiB
package com.liuyanzhao.ssm.blog.controller.admin;
|
|
|
|
|
|
import com.liuyanzhao.ssm.blog.entity.User;
|
|
import com.liuyanzhao.ssm.blog.enums.UserRole;
|
|
import com.liuyanzhao.ssm.blog.service.UserService;
|
|
import org.json.JSONObject;
|
|
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 javax.servlet.http.HttpServletRequest;
|
|
import javax.servlet.http.HttpSession;
|
|
import java.util.Date;
|
|
import java.util.HashMap;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
|
|
|
|
/**
|
|
* @author liuyanzhao
|
|
*/
|
|
@Controller
|
|
@RequestMapping("/admin/user")
|
|
public class BackUserController {
|
|
|
|
@Autowired
|
|
private UserService userService;
|
|
|
|
/**
|
|
* 后台用户列表显示
|
|
*
|
|
* @return
|
|
*/
|
|
@RequestMapping(value = "")
|
|
public ModelAndView userList() {
|
|
ModelAndView modelandview = new ModelAndView();
|
|
|
|
List<User> userList = userService.listUser();
|
|
modelandview.addObject("userList", userList);
|
|
|
|
modelandview.setViewName("Admin/User/index");
|
|
return modelandview;
|
|
|
|
}
|
|
|
|
/**
|
|
* 后台添加用户页面显示
|
|
*
|
|
* @return
|
|
*/
|
|
@RequestMapping(value = "/insert")
|
|
public ModelAndView insertUserView() {
|
|
ModelAndView modelAndView = new ModelAndView();
|
|
modelAndView.setViewName("Admin/User/insert");
|
|
return modelAndView;
|
|
}
|
|
|
|
/**
|
|
* 检查用户名是否存在
|
|
*
|
|
* @param request
|
|
* @return
|
|
*/
|
|
@RequestMapping(value = "/checkUserName", method = RequestMethod.POST, produces = {"text/plain;charset=UTF-8"})
|
|
@ResponseBody
|
|
public String checkUserName(HttpServletRequest request) {
|
|
Map<String, Object> map = new HashMap<String, Object>();
|
|
String username = request.getParameter("username");
|
|
User user = userService.getUserByName(username);
|
|
int id = Integer.valueOf(request.getParameter("id"));
|
|
//用户名已存在,但不是当前用户(编辑用户的时候,不提示)
|
|
if (user != null) {
|
|
if (user.getUserId() != id) {
|
|
map.put("code", 1);
|
|
map.put("msg", "用户名已存在!");
|
|
}
|
|
} else {
|
|
map.put("code", 0);
|
|
map.put("msg", "");
|
|
}
|
|
String result = new JSONObject(map).toString();
|
|
return result;
|
|
}
|
|
|
|
/**
|
|
* 检查Email是否存在
|
|
*
|
|
* @param request
|
|
* @return
|
|
*/
|
|
@RequestMapping(value = "/checkUserEmail", method = RequestMethod.POST, produces = {"text/plain;charset=UTF-8"})
|
|
@ResponseBody
|
|
public String checkUserEmail(HttpServletRequest request) {
|
|
Map<String, Object> map = new HashMap<String, Object>();
|
|
String email = request.getParameter("email");
|
|
User user = userService.getUserByEmail(email);
|
|
int id = Integer.valueOf(request.getParameter("id"));
|
|
//用户名已存在,但不是当前用户(编辑用户的时候,不提示)
|
|
if (user != null) {
|
|
if (user.getUserId() != id) {
|
|
map.put("code", 1);
|
|
map.put("msg", "电子邮箱已存在!");
|
|
}
|
|
} else {
|
|
map.put("code", 0);
|
|
map.put("msg", "");
|
|
}
|
|
String result = new JSONObject(map).toString();
|
|
return result;
|
|
}
|
|
|
|
|
|
/**
|
|
* 后台添加用户页面提交
|
|
*
|
|
* @param user
|
|
* @return
|
|
*/
|
|
@RequestMapping(value = "/insertSubmit", method = RequestMethod.POST)
|
|
public String insertUserSubmit(User user) {
|
|
User user2 = userService.getUserByName(user.getUserName());
|
|
User user3 = userService.getUserByEmail(user.getUserEmail());
|
|
if (user2 == null && user3 == null) {
|
|
user.setUserRegisterTime(new Date());
|
|
user.setUserStatus(1);
|
|
user.setUserRole(UserRole.USER.getValue());
|
|
userService.insertUser(user);
|
|
}
|
|
return "redirect:/admin/user";
|
|
}
|
|
|
|
/**
|
|
* 删除用户
|
|
*
|
|
* @param id
|
|
* @return
|
|
*/
|
|
@RequestMapping(value = "/delete/{id}")
|
|
public String deleteUser(@PathVariable("id") Integer id) {
|
|
userService.deleteUser(id);
|
|
return "redirect:/admin/user";
|
|
}
|
|
|
|
/**
|
|
* 编辑用户页面显示
|
|
*
|
|
* @param id
|
|
* @return
|
|
*/
|
|
@RequestMapping(value = "/edit/{id}")
|
|
public ModelAndView editUserView(@PathVariable("id") Integer id) {
|
|
ModelAndView modelAndView = new ModelAndView();
|
|
|
|
User user = userService.getUserById(id);
|
|
modelAndView.addObject("user", user);
|
|
|
|
modelAndView.setViewName("Admin/User/edit");
|
|
return modelAndView;
|
|
}
|
|
|
|
|
|
/**
|
|
* 编辑用户提交
|
|
*
|
|
* @param user
|
|
* @return
|
|
*/
|
|
@RequestMapping(value = "/editSubmit", method = RequestMethod.POST)
|
|
public String editUserSubmit(User user) {
|
|
userService.updateUser(user);
|
|
return "redirect:/admin/user";
|
|
}
|
|
|
|
}
|