民宿管理系统5
管理员管理:
新增管理员信息:
前端效果:
前端代码:
后端代码:
AdminController:
/**
* 新增管理员页面
*/
@GetMapping("/addadminpage")
public String addadminpage() {
return "admin/addadminpage";
}
/**
* 新增管理员,判断新增管理员登录名是否重复
*/
@GetMapping("/checkloginname")
@ResponseBody
public boolean checkaddadminloginname(@RequestParam("loginname") String loginname) {
return adminService.checkaddadminloginname(loginname);
}
/**
* 新增管理员信息
*/
@PostMapping("/addadmin")
@ResponseBody
public boolean addadmin(@RequestParam("loginname") String loginname,@RequestParam("loginpassword") String loginpassword,@RequestParam("confirmloginpassword") String confirmloginpassword) {
return adminService.addadmin(loginname,loginpassword);
}
AdminService:
/**
* 新增管理员,判断新增管理员登录名是否重复
*/
boolean checkaddadminloginname(String loginname);
/**
* 新增管理员
*/
boolean addadmin(String loginname, String loginpassword);
AdminServicelpml:
/**
* 新增管理员,判断新增管理员登录名是否重复
*/
@Override
public boolean checkaddadminloginname(String loginname) {
Admin admin = adminMapper.selectaddadminloginname(loginname);
return admin==null;
}
/**
* 新增管理员
*/
@Override
public boolean addadmin(String loginname, String loginpassword) {
Admin admin=new Admin();
admin.setGname(loginname);
admin.setGpassword(loginpassword);
Admin admin1=adminMapper.selectaddadminloginname(loginname);
if(admin1==null)
return adminMapper.addadmin(admin);
else return false;
AdminMapper:
/**
* 新增管理员,判断新增管理员登录名是否重复
*/
Admin selectaddadminloginname(@Param("loginname")String loginname);
/**
* 新增管理员
*/
boolean addadmin(Admin admin);
AdminMapper.xml:
insert into admin(gname,gpassword)
values (#{gname,jdbcType=VARCHAR},#{gpassword,jdbcType=VARCHAR})
测试:
登录名重复:
必填项为空:
两次密码不一样:
新增成功:
管理员分页查询:
前端效果:
前端代码:
后端代码:
AdminController:
/**
* 编辑管理员页面
*/
@GetMapping("/updateadminpage")
public String updateadminnpage() {
return "admin/updateadminpage";
}
/**
* 管理员分页查询
* @return
*/
@GetMapping("/pagequaryadmin")
@ResponseBody
public Result pagequaryadmin(@RequestParam Map map) {
int page = Integer.parseInt(map.get("page").toString());
int limit = Integer.parseInt(map.get("limit").toString());
int start=(page-1)*limit;
return adminService.getadminList(start,limit);
}
AdminService:
/**
* 管理员分页查询
* @param start
* @param limit
* @return
*/
Result getadminList(int start, int limit);
AdminServicelpml:
/**
* 管理员分页查询
* @param start
* @param limit
* @return
*/
@Override
public Result getadminList(int start, int limit) {
int totaladmin=adminMapper.getTotaladmin();//获取管理员总数
List adminList=adminMapper.findadminList(start, limit);//获取管理员数据
Result result = new Result();
result.setCode(0);
result.setMsg("查询成功");
result.setCount(totaladmin);
result.setData(adminList);
return result;
}
AdminMapper:
/**
* 获取管理员总数
* @return
*/
int getTotaladmin();
/**
* 获取管理员数据
* @param start
* @param limit
* @return
*/
List findadminList(@Param("start")int start,@Param("limit") int limit);
AdminMappe.xml:
测试:
选择5页:
选择10页:
搜索框模糊查询:
后端代码:
AdminController:
/**
* 模糊查询
* @param map
* @return
*/
@GetMapping("/listbyname")
@ResponseBody
public Result listbyname(@RequestParam Map map) {
int page = Integer.parseInt(map.get("page").toString());
int limit = Integer.parseInt(map.get("limit").toString());
int start=(page-1)*limit;
String dname=map.get("dname").toString();
return adminService.listbyname(start,limit,dname);
}
AdminService:
/**
* 模糊查询
* @param start
* @param limit
* @param dname
* @return
*/
Result listbyname(int start, int limit, String dname);
AdminServicelpml:
/**
* 模糊查询
* @param start
* @param limit
* @param dname
* @return
*/
@Override
public Result listbyname(int start, int limit, String dname) {
int totaladmin=adminMapper.getTotaladminbyname(dname);//获取管理员总数
List adminList=adminMapper.findadminListbyname(start, limit,dname);//获取管理员数据
Result result = new Result();
result.setCode(0);
result.setMsg("查询成功");
result.setCount(totaladmin);
result.setData(adminList);
return result;
}
AdminMapper:
/**
* 模糊查询获取总数
* @param dname
* @return
*/
int getTotaladminbyname(@Param("dname") String dname);
/**
* 模糊查询
* @param start
* @param limit
* @param dname
* @return
*/
List findadminListbyname(@Param("start")int start,@Param("limit") int limit, @Param("dname") String dname);
AdminMapper.xml:
测试:
编辑、删除管理员:
需要输入该管理员密码才能进行编辑信息,包括删除该管理员
前端效果:
检查管理员密码:
密码正确后:
前端代码:
检查密码页面:
编辑页面:
6到16个字符
删除管理员
后端代码:
AdminController:
/**
* 编辑管理员,检查密码页面
*/
@GetMapping("/checkadminpasswordpage")
public String checkadminpasswordpage(@RequestParam("gid") String gid,@RequestParam("gname")String gname,
@RequestParam("gpassword")String gpassword, HttpSession session) {
session.setAttribute("gid",gid);
session.setAttribute("adminname",gname);
session.setAttribute("adminpassword",gpassword);
return "admin/updatecheckadminpasswordpage";
}
/**
* 检查密码
*/
@PostMapping("/checkadminpassword")
@ResponseBody
public boolean checkadminpassword(@RequestParam("gid") String gid,@RequestParam("adminpassword") String adminpassword) {
return adminService.checkadminpassword(gid,adminpassword);
}
/**
* 跳转修改弹窗
* @return
*/
@GetMapping("/updateadmin")
public String updateadmin() {
return "admin/updateadmin";
}
/**
* 修改管理员信息
* @param gid
* @param newgpassword
* @param newadminname
* @return
*/
@PostMapping("/updateadmininformation")
@ResponseBody
public boolean updateadmininformation(@RequestParam("gid")String gid,@RequestParam("newgpassword")String newgpassword,
@RequestParam("newadminname")String newadminname ) {
return adminService.updateadmininformation(gid,newgpassword,newadminname);
}
/**
* 删除管理员
*/
@PostMapping("/delete")
@ResponseBody
public boolean delete(@RequestParam("gid")String gid) {
return adminService.deleteadmin(gid);
}
@GetMapping("/reload")
@ResponseBody
public boolean reload() {
return true;
}
AdminService:
/**
* 编辑管理员时,检查密码
* @param gid
* @param adminpassword
* @return
*/
boolean checkadminpassword(String gid, String adminpassword);
/**
* 修改管理员信息
* @param gid
* @param newgpassword
* @param newadminname
* @return
*/
boolean updateadmininformation(String gid, String newgpassword, String newadminname);
/**
* 删除管理员
* @param gid
* @return
*/
boolean deleteadmin(String gid);
AdminServicelpml:
/**
* 编辑管理员时,检查密码
* @param gid
* @param adminpassword
* @return
*/
@Override
public boolean checkadminpassword(String gid, String adminpassword) {
String gpassword=adminMapper.selectaddminpassword(gid);
if(adminpassword.equals(gpassword))
return true;
else return false;
}
/**
* 修改管理员信息
* @param gid
* @param newgpassword
* @param newadminname
* @return
*/
@Override
public boolean updateadmininformation(String gid, String newgpassword, String newadminname) {
//检查登录名是否重复
try {
int count=adminMapper.countadminid(gid,newadminname);
if(count>0)
{
throw new RuntimeException("登录名重复");
}
}
catch (RuntimeException e) {
return false;
}
//没有重复修改信息
adminMapper.updateadmininformation(gid,newadminname,newgpassword);
return true;
}
/**
* 删除管理员
* @param gid
* @return
*/
@Override
public boolean deleteadmin(String gid) {
return adminMapper.deleteadmin(gid);
}
AdminMapper:
/**
* 编辑管理员时,检查密码是否正确
* @param gid
* @return
*/
String selectaddminpassword(String gid);
/**
* 检查登录名是否重复
* @param gid
* @param newadminname
* @return
*/
int countadminid(@Param("gid") String gid,@Param("newadminname") String newadminname);
/**
* 修改信息
* @param gid
* @param newadminname
* @param newgpassword
*/
void updateadmininformation(@Param("gid") String gid,@Param("newadminname") String newadminname,@Param("newgpassword") String newgpassword);
/**
* 删除管理员
* @param gid
* @return
*/
boolean deleteadmin(String gid);
AdminMapper.xml:
update admin
set
gpassword=#{newgpassword},
gname=#{newadminname}
where gid=#{gid}
delete from admin
where gid = #{gid,jdbcType=INTEGER}
测试:
检查密码错误:
正确后:
提示:
密码两次不一样
登录名重复:
删除: