package com.controller; import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.HashMap; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import com.alibaba.fastjson.JSONObject; import com.github.pagehelper.Page; import com.entity.Admin; import com.service.AdminService; import com.util.PageHelper; import com.util.VeDate; //定义为控制器 @Controller // 设置路径 @RequestMapping(value = "/admin" , produces = "text/plain;charset=utf-8") public class AdminController extends BaseController { // @Autowired的作用是自动注入依赖的ServiceBean @Autowired private AdminService adminService; // 管理员准备 @RequestMapping("index.action") public String index() { return "admin/index"; } // 管理员登录 1 验证用户名是否存在 2 验证密码是否正确 @RequestMapping("login.action") public String login() { String username = this.getRequest().getParameter("username"); String password = this.getRequest().getParameter("password"); Admin adminEntity = new Admin(); adminEntity.setUsername(username); List adminlist = this.adminService.getAdminByCond(adminEntity); if (adminlist.size() == 0) { this.getRequest().setAttribute("message", "用户名不存在"); return "redirect:/admin/index.action"; } else { Admin admin = adminlist.get(0); if (password.equals(admin.getPassword())) { this.getSession().setAttribute("adminid", admin.getAdminid()); this.getSession().setAttribute("adminname", admin.getUsername()); this.getSession().setAttribute("realname", admin.getRealname()); this.getSession().setAttribute("role", "管理员"); } else { this.getRequest().setAttribute("message", "密码错误"); return "redirect:/admin/index.action"; } } return "admin/main"; } // 管理员准备修改密码 @RequestMapping("prePwd.action") public String prePwd() { return "admin/editpwd"; } // 修改密码 @RequestMapping("editpwd.action") public String editpwd() { String adminid = (String) this.getSession().getAttribute("adminid"); String password = this.getRequest().getParameter("password"); String repassword = this.getRequest().getParameter("repassword"); Admin admin = this.adminService.getAdminById(adminid); if (password.equals(admin.getPassword())) { admin.setPassword(repassword); this.adminService.updateAdmin(admin); } else { this.getRequest().setAttribute("message", "旧密码错误"); } return "redirect:/admin/prePwd.action"; } // 管理员退出登录 @RequestMapping("exit.action") public String exit() { this.getSession().removeAttribute("adminid"); this.getSession().removeAttribute("adminname"); this.getSession().removeAttribute("realname"); return "redirect:/admin/index.action"; } // 准备添加数据 @RequestMapping("createAdmin.action") public String createAdmin() { return "admin/addadmin"; } // 添加数据 @RequestMapping("addAdmin.action") public String addAdmin(Admin admin) { admin.setAddtime(VeDate.getStringDateShort()); this.adminService.insertAdmin(admin); return "redirect:/admin/createAdmin.action"; } // AJAX添加数据 @RequestMapping("xaddAdmin.action") @ResponseBody //将java对象转为json格式的数据 public String xaddAdmin(Admin admin) { admin.setAddtime(VeDate.getStringDateShort()); int x = this.adminService.insertAdmin(admin); JSONObject json = new JSONObject(); json.put("result", x); //System.out.println(json.toString()); return json.toString(); } // 通过主键删除数据 @RequestMapping("deleteAdmin.action") public String deleteAdmin(String id) { this.adminService.deleteAdmin(id); return "redirect:/admin/getAllAdmin.action"; } // AJAX通过主键删除数据 @RequestMapping("xdeleteAdmin.action") @ResponseBody //将java对象转为json格式的数据 public String xdeleteAdmin(String id) { int x = this.adminService.deleteAdmin(id); JSONObject json = new JSONObject(); json.put("result", x); //System.out.println(json.toString()); return json.toString(); } // 批量删除数据 @RequestMapping("deleteAdminByIds.action") public String deleteAdminByIds() { String[] ids = this.getRequest().getParameterValues("adminid"); if (ids != null) { for (String adminid : ids) { this.adminService.deleteAdmin(adminid); } } return "redirect:/admin/getAllAdmin.action"; } // 更新数据 @RequestMapping("updateAdmin.action") public String updateAdmin(Admin admin) { this.adminService.updateAdmin(admin); return "redirect:/admin/getAllAdmin.action"; } // AJAX更新数据 @RequestMapping("xupdateAdmin.action") @ResponseBody //将java对象转为json格式的数据 public String xupdateAdmin(Admin admin) { int x = this.adminService.updateAdmin(admin); JSONObject json = new JSONObject(); json.put("result", x); //System.out.println(json.toString()); return json.toString(); } // 显示全部数据 @RequestMapping("getAllAdmin.action") public String getAllAdmin(String number) { List adminList = this.adminService.getAllAdmin(); PageHelper.getUserPage(adminList, "admin", "getAllAdmin", 10, number, this.getRequest()); return "admin/listadmin"; } // AJAX显示全部数据 @RequestMapping(value = "getDataList.action", produces = "application/json; charset=utf-8") @ResponseBody //将java对象转为json格式的数据 public Map getDataList(@RequestParam(defaultValue = "1") Integer page, @RequestParam(defaultValue = "10") Integer limit) { // 定义一个Map对象 用来返回数据 Map map = new HashMap(); Page pager = com.github.pagehelper.PageHelper.startPage(page, limit);// 定义当前页和分页条数 List list = this.adminService.getAllAdmin(); // 返回的map中定义Layui的数据格式 map.put("count", pager.getTotal()); map.put("data", list); map.put("code", 0); map.put("msg", ""); return map; } // 按条件查询数据 (模糊查询) @RequestMapping("queryAdminByCond.action") public String queryAdminByCond(String cond, String name, String number) { Admin admin = new Admin(); if(cond != null){ if ("username".equals(cond)) { admin.setUsername(name); } if ("password".equals(cond)) { admin.setPassword(name); } if ("realname".equals(cond)) { admin.setRealname(name); } if ("contact".equals(cond)) { admin.setContact(name); } if ("addtime".equals(cond)) { admin.setAddtime(name); } } List nameList = new ArrayList(); List valueList = new ArrayList(); nameList.add(cond); valueList.add(name); PageHelper.getPage(this.adminService.getAdminByLike(admin), "admin", nameList, valueList, 10, number, this.getRequest(), "query"); name = null; cond = null; return "admin/queryadmin"; } // 按主键查询数据 @RequestMapping("getAdminById.action") public String getAdminById(String id) { Admin admin = this.adminService.getAdminById(id); this.getRequest().setAttribute("admin", admin); return "admin/editadmin"; } }