package com.cl.privilege.controller; import java.util.List; import javax.servlet.http.HttpServletRequest; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import com.cl.privilege.api.IPrivilegeBaseApiService; import com.cl.privilege.biz.IDepartmentService; import com.cl.privilege.biz.IRoleService; import com.cl.privilege.biz.IUserService; import com.cl.privilege.model.Department; import com.cl.privilege.model.User; import com.cl.privilege.model.UserSearchModel; import com.cl.privilege.utils.ConfigUtil; import com.cl.privilege.utils.ConstantUtil; import com.cl.privilege.utils.JsonUtil; import com.cl.privilege.utils.SessionUtil; import com.cl.privilege.utils.StringUtil; /** *用户管理相关的控制器 */ @Controller @RequestMapping("/controller/user") public class UserController { @Autowired private IPrivilegeBaseApiService privilegeBaseApiService; @Autowired private ConfigUtil configUtil; @Autowired private IRoleService roleService; @Autowired private IUserService userService; @Autowired private IDepartmentService departmentService; @RequestMapping("/list") public String main(String visitedModule,String visitedResource,HttpServletRequest request,ModelMap map) { //初始化用户、菜单 User user = SessionUtil.getSessionUser(request); String menus = privilegeBaseApiService.getModuleTree(user.getId(),visitedModule,visitedResource); map.put("user", user); map.put("menus", menus); return "user/list.ftl"; } @ResponseBody @RequestMapping("/getUserDataTables") public String getUserDataTables(UserSearchModel searchModel,ModelMap map) { return userService.getUserDataTables(searchModel); } @ResponseBody @RequestMapping("/getUserDataRow") public String getUserDataRow(@RequestParam("id") Integer id) throws Exception{ return userService.getUserDataRow(id); } @ResponseBody @RequestMapping("/get") public String get(@RequestParam("id") Integer id) throws Exception{ User user = userService.getUserById(id); return JsonUtil.convertObj2json(user).toString(); } @RequestMapping("/addform") public String addform(ModelMap map) { List<Department> departments = departmentService.getDepartmentListForOption(); map.put("departments", departments); return "user/addform.ftl"; } @ResponseBody @RequestMapping("/add") public String add(@ModelAttribute("user")User user,HttpServletRequest request) { //从session取出User对象 User operator = SessionUtil.getSessionUser(request); userService.createUser(user, operator); return ConstantUtil.Success; } @RequestMapping("/updateform") public String updateform(Integer id,HttpServletRequest request,ModelMap map) { List<Department> departments = departmentService.getDepartmentListForOption(); User user = userService.getUserById(id); map.put("departments", departments); map.put("user", user); return "user/updateform.ftl"; } @ResponseBody @RequestMapping("/update") public String update(@ModelAttribute("user") User user,HttpServletRequest request) { //从session取出User对象 User operator = SessionUtil.getSessionUser(request); userService.updateUserById(user,operator); return ConstantUtil.Success; } @ResponseBody @RequestMapping("/delete") public String delete(@RequestParam("id") Integer id,HttpServletRequest request){ //从session取出User对象 User operator = SessionUtil.getSessionUser(request); User user = new User(); user.setId(id); user.setIsDelete(true); userService.updateUserById(user, operator); return ConstantUtil.Success; } @ResponseBody @RequestMapping("/resetpass") public String resetpass(@RequestParam("id") Integer id,HttpServletRequest request){ //从session取出User对象 User operator = SessionUtil.getSessionUser(request); User user = new User(); user.setId(id); user.setPassword(ConstantUtil.DefaultMd5Password); userService.updateUserById(user, operator); return ConstantUtil.Success; } @ResponseBody @RequestMapping("/lock") public String lock(@RequestParam("id") Integer id,HttpServletRequest request){ //从session取出User对象 User operator = SessionUtil.getSessionUser(request); User user = new User(); user.setId(id); user.setIsLock(true); userService.updateUserById(user, operator); return ConstantUtil.Success; } @ResponseBody @RequestMapping("/unlock") public String unlock(@RequestParam("id") Integer id,HttpServletRequest request){ //从session取出User对象 User operator = SessionUtil.getSessionUser(request); User user = new User(); user.setId(id); user.setIsLock(false); userService.updateUserById(user, operator); return ConstantUtil.Success; } @RequestMapping("/assignform") public String assignform(Integer id,ModelMap map) { map.put("options", roleService.getRoleForOptions(id)); map.put("id", id); return "user/assignform.ftl"; } @ResponseBody @RequestMapping("/assign") public String assign(Integer id,String selectedStr) { if(id==null || StringUtil.isStrEmpty(id.toString()) || StringUtil.isStrEmpty(selectedStr)) { return ConstantUtil.Fail; } userService.assignRole(id, selectedStr); return ConstantUtil.Success; } }