基于JAVA+Vue+SpringBoot+MySQL的假日旅社管理系统,包含了民宿管理模块、民宿订单模块、民宿评论模块和民宿新闻模块,还包含系统自带的用户管理、部门管理、角色管理、菜单管理、日志管理、数据字典管理、文件管理、图表展示等基础模块,假日旅社管理系统基于角色的访问控制,给旅社管理员、旅客使用,可将权限精确到按钮级别,您可以自定义角色并分配权限,系统适合设计精确的权限约束需求。
随着国民生活水平的逐渐提高,每逢假期或空闲时节走出家门游山玩水已渐渐成为人们生活的一部分,那么外出住宿是必然要考虑到的问题。互联网的普及给人们带来的便利不需多说。
因此如果把假日旅社与互联网结合起来,利用 spring boot 框架,mysql 技术建设民宿短租系统,实现假日旅社管理的网络化。则对于进一步提高国民经济发展,丰富人们的精神生活定能起到不少的促进作用。
根据本系统的研究现状和发展趋势,系统从需求分析、结构设计、数据库设计,在到系统实现,分别为前端实现和后端实现。
假日旅社管理系统的使用对象有两个,分别是宿舍管理员和旅客。
宿舍管理员可以对旅社的宿舍进行管理维护;对旅社的时政新闻进行管理;监控查询旅客的预约、评论信息;系统权限的配置;旅社组织架构的设计;系统用户的管理
旅客可以查询旅社的宿舍;查询旅社的新闻;在对旅社的宿舍进行预约;对宿舍进行评论
假日旅社管理系统拥有以下六个功能模块。
承载旅社的宿舍管理功能。也就是宿舍管理员可以对旅社的宿舍进行增删改查操作。
宿舍是假日旅社系统的基础数据,所以需要这个模块。
承载旅客档案管理功能。也就是宿舍管理员可以对旅客的档案进行增删改查操作。比如维护手机号、姓名等。
旅客也是假日旅社系统的基础数据,所以需要这个模块。
承载宿舍预约的功能,和模拟付款功能。
旅客可以查询宿舍管理员发布的宿舍,并且进行预定,支持模拟付款功能,模拟整个预定的过程。
承载旅社的新闻时政功能。
一家旅社要能够得到旅客的信赖,新闻时政肯定是必不可少的
所以需要这个模块,由宿舍管理员维护,开放给旅客查询。
承载旅社宿舍的留言功能。
旅客可以对宿舍进行评论,可以被给其他旅客看到,给与决策支持。
承载可能需要的其他功能。
在设计这个系统的时候,可能会用到其他功能,比如日志、文件管理
我会把这些功能封装成独立的模块,利用Vue的组件化优势提供给别的模块调用
这个系统前端采用了国内流行的Vue技术,采用View UI作为组件库;后端采用SpringBoot整合MybatisPlus。采用maven构建项目,采用Mysql数据库,使用Redis缓存加密的用户临时数据。
@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "查询民宿")
public Result<IPage<Dormitory>> getByPage(@ModelAttribute Dormitory dormitory,@ModelAttribute PageVo page){
QueryWrapper<Dormitory> qw = new QueryWrapper<>();
if(!ZwzNullUtils.isNull(dormitory.getTitle())) {
qw.like("title",dormitory.getTitle());
}
if(!ZwzNullUtils.isNull(dormitory.getType())) {
qw.eq("type",dormitory.getType());
}
if(!ZwzNullUtils.isNull(dormitory.getBreakfast())) {
qw.eq("breakfast",dormitory.getBreakfast());
}
IPage<Dormitory> data = iDormitoryService.page(PageUtil.initMpPage(page),qw);
return new ResultUtil<IPage<Dormitory>>().setData(data);
}
@RequestMapping(value = "/addMyDiscuss", method = RequestMethod.POST)
@ApiOperation(value = "新增民宿评论")
public Result<Object> addMyDiscuss(@RequestParam String id,@RequestParam String reply,@RequestParam String text){
Dormitory dormitory = iDormitoryService.getById(id);
if(dormitory == null) {
return ResultUtil.error("民宿不存在");
}
User currUser = securityUtil.getCurrUser();
DormitoryDiscuss discuss = new DormitoryDiscuss();
discuss.setUserId(currUser.getId());
discuss.setUserName(currUser.getNickname());
discuss.setReply(reply);
discuss.setDormitoryId(dormitory.getId());
discuss.setDiscussTime(DateUtil.now());
discuss.setContent(text);
iDormitoryDiscussService.saveOrUpdate(discuss);
return ResultUtil.success();
}
@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "查询民宿新闻")
public Result<IPage<DormitoryNews>> getByPage(@ModelAttribute DormitoryNews dormitoryNews,@ModelAttribute PageVo page){
QueryWrapper<DormitoryNews> qw = new QueryWrapper<>();
if(!ZwzNullUtils.isNull(dormitoryNews.getNewTitle())) {
qw.like("new_title",dormitoryNews.getNewTitle());
}
if(!ZwzNullUtils.isNull(dormitoryNews.getNewDescribe())) {
qw.like("new_describe",dormitoryNews.getNewDescribe());
}
if(!ZwzNullUtils.isNull(dormitoryNews.getPeriodTime())) {
qw.like("period_time",dormitoryNews.getPeriodTime());
}
if(!ZwzNullUtils.isNull(dormitoryNews.getIsPublic())) {
qw.like("is_public",dormitoryNews.getIsPublic());
}
if(!ZwzNullUtils.isNull(dormitoryNews.getIsTop())) {
qw.like("is_top",dormitoryNews.getIsTop());
}
IPage<DormitoryNews> data = iDormitoryNewsService.page(PageUtil.initMpPage(page),qw);
return new ResultUtil<IPage<DormitoryNews>>().setData(data);
}
@RequestMapping(value = "/addMyOrder", method = RequestMethod.POST)
@ApiOperation(value = "新建民宿预订单")
public Result<Object> addMyOrder(@RequestParam String id,@RequestParam String date){
Dormitory dormitory = iDormitoryService.getById(id);
if(dormitory == null) {
return ResultUtil.error("民宿不存在");
}
QueryWrapper<DormitoryOrder> qw = new QueryWrapper<>();
qw.eq("dormitory_id",id);
qw.eq("order_date",date);
long count = iDormitoryOrderService.count(qw);
if(count > 0) {
return ResultUtil.error("民宿当日已被预定");
}
User currUser = securityUtil.getCurrUser();
DormitoryOrder order = new DormitoryOrder();
order.setUserId(currUser.getId());
order.setUserName(currUser.getNickname());
order.setOrderTime(DateUtil.now());
order.setPayFlag("否");
order.setDormitoryId(dormitory.getId());
order.setPrice(dormitory.getPrice());
order.setRemark("");
order.setDormitoryName(dormitory.getTitle());
order.setOrderDate(date);
iDormitoryOrderService.saveOrUpdate(order);
return ResultUtil.success();
}
@RequestMapping(value = "/getMyPage", method = RequestMethod.GET)
@ApiOperation(value = "查询我的民宿预订单")
public Result<IPage<DormitoryOrder>> getMyPage(@ModelAttribute DormitoryOrder order,@ModelAttribute PageVo page){
User currUser = securityUtil.getCurrUser();
QueryWrapper<DormitoryOrder> qw = new QueryWrapper<>();
qw.eq("user_id",currUser.getId());
if(!ZwzNullUtils.isNull(order.getDormitoryId())) {
qw.eq("dormitory_id",order.getDormitoryId());
}
if(!ZwzNullUtils.isNull(order.getUserName())) {
qw.eq("user_name",order.getUserName());
}
IPage<DormitoryOrder> data = iDormitoryOrderService.page(PageUtil.initMpPage(page),qw);
return new ResultUtil<IPage<DormitoryOrder>>().setData(data);
}
下载本系统代码或使用本系统的用户,必须同意以下内容,否则请勿下载!