基于JAVA+Vue+SpringBoot+MySQL的民宿预定管理系统,包含了民宿档案模块、民宿订单模块、民宿评价模块、民宿留言模块,还包含系统自带的用户管理、部门管理、角色管理、菜单管理、日志管理、数据字典管理、文件管理、图表展示等基础模块,民宿预定管理系统基于角色的访问控制,给民宿管理员、旅客使用,可将权限精确到按钮级别,您可以自定义角色并分配权限,系统适合设计精确的权限约束需求。
民宿预订管理系统,使用Spring Boot、Vue.js 框架进行开发,后台服务器使用了Tomcat,数据库使用MySQL。
该系统实现了登录注册、上传房源、预订民宿、我的留言、评价功能、订单生成等模块功能。
本系统分为以下三种用户类型。
租客:指那些在平台上注册的想要租民宿的消费者。
房主:指上传房源的当前民宿经营者。
系统管理员:指管理房源、用户与评论,帮助租客和房主解决问题的系统管理者。
民宿预订管理系统本系统分为使用用户类型分为租客、房主、系统管理员三种,具体功能结构如下。
@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "查询民宿")
public Result<IPage<Homestay>> getByPage(@ModelAttribute Homestay homestay ,@ModelAttribute PageVo page){
QueryWrapper<Homestay> qw = new QueryWrapper<>();
User currUser = securityUtil.getCurrUser();
// 如果是房主,自己看自己
QueryWrapper<User> userQw = new QueryWrapper<>();
userQw.eq("id",currUser.getId());
userQw.inSql("id","SELECT user_id FROM a_user_role WHERE del_flag = 0 and role_id = '1635922262441988096'");
if(iUserService.count(userQw) > 0L) {
qw.eq("user_id",currUser.getId());
}
if(!ZwzNullUtils.isNull(homestay.getTitle())) {
qw.like("title",homestay.getTitle());
}
if(!ZwzNullUtils.isNull(homestay.getStatus())) {
qw.eq("status",homestay.getStatus());
}
IPage<Homestay> data = iHomestayService.page(PageUtil.initMpPage(page),qw);
return new ResultUtil<IPage<Homestay>>().setData(data);
}
@RequestMapping(value = "/insert", method = RequestMethod.POST)
@ApiOperation(value = "新增民宿")
public Result<Homestay> insert(Homestay homestay){
User currUser = securityUtil.getCurrUser();
homestay.setUserId(currUser.getId());
iHomestayService.saveOrUpdate(homestay);
return new ResultUtil<Homestay>().setData(homestay);
}
@RequestMapping(value = "/insert", method = RequestMethod.POST)
@ApiOperation(value = "新增评价")
public Result<Appraise> insert(Appraise appraise){
Homestay h = iHomestayService.getById(appraise.getDormId());
if(h == null) {
return ResultUtil.error("民宿不存在");
}
appraise.setDormName(h.getTitle());
User currUser = securityUtil.getCurrUser();
appraise.setUserId(currUser.getId());
appraise.setUserName(currUser.getNickname());
iAppraiseService.saveOrUpdate(appraise);
return new ResultUtil<Appraise>().setData(appraise);
}
@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "查询留言")
public Result<IPage<Message>> getByPage(@ModelAttribute Message message ,@ModelAttribute PageVo page){
QueryWrapper<Message> qw = new QueryWrapper<>();
User currUser = securityUtil.getCurrUser();
// 如果是租客,自己看自己
QueryWrapper<User> userQw = new QueryWrapper<>();
userQw.eq("id",currUser.getId());
userQw.inSql("id","SELECT user_id FROM a_user_role WHERE del_flag = 0 and role_id = '1536606659751841795'");
if(iUserService.count(userQw) > 0L) {
qw.eq("user_id",currUser.getId());
}
if(!ZwzNullUtils.isNull(message.getContent())) {
qw.like("content",message.getContent());
}
if(!ZwzNullUtils.isNull(message.getUserName())) {
qw.like("user_name",message.getUserName());
}
IPage<Message> data = iMessageService.page(PageUtil.initMpPage(page),qw);
return new ResultUtil<IPage<Message>>().setData(data);
}
@RequestMapping(value = "/insert", method = RequestMethod.POST)
@ApiOperation(value = "新增订单")
public Result<Order> insert(Order order){
Homestay h = iHomestayService.getById(order.getDormId());
if(h == null) {
return ResultUtil.error("民宿不存在");
}
order.setDormName(h.getTitle());
User currUser = securityUtil.getCurrUser();
order.setUserId(currUser.getId());
order.setUserName(currUser.getNickname());
order.setUserMobile(currUser.getMobile());
order.setDate(DateUtil.today());
iOrderService.saveOrUpdate(order);
return new ResultUtil<Order>().setData(order);
}
下载本系统代码或使用本系统的用户,必须同意以下内容,否则请勿下载!