目录
- 一、摘要
- 1.1 项目介绍
- 1.2 项目录屏
- 二、功能模块
- 2.1 用例设计
- 2.2 功能设计
- 2.2.1 租客角色
- 2.2.2 房主角色
- 2.2.3 系统管理员角色
- 三、系统展示
- 四、核心代码
- 4.1 查询民宿
- 4.2 新增民宿
- 4.3 新增民宿评价
- 4.4 查询留言
- 4.5 新增民宿订单
- 五、免责说明
一、摘要
1.1 项目介绍
基于JAVA+Vue+SpringBoot+MySQL的民宿预定管理系统,包含了民宿档案模块、民宿订单模块、民宿评价模块、民宿留言模块,还包含系统自带的用户管理、部门管理、角色管理、菜单管理、日志管理、数据字典管理、文件管理、图表展示等基础模块,民宿预定管理系统基于角色的访问控制,给民宿管理员、旅客使用,可将权限精确到按钮级别,您可以自定义角色并分配权限,系统适合设计精确的权限约束需求。
1.2 项目录屏
二、功能模块
2.1 用例设计
民宿预订管理系统,使用Spring Boot、Vue.js 框架进行开发,后台服务器使用了Tomcat,数据库使用MySQL。
该系统实现了登录注册、上传房源、预订民宿、我的留言、评价功能、订单生成等模块功能。
本系统分为以下三种用户类型。
租客:指那些在平台上注册的想要租民宿的消费者。
房主:指上传房源的当前民宿经营者。
系统管理员:指管理房源、用户与评论,帮助租客和房主解决问题的系统管理者。
2.2 功能设计
民宿预订管理系统本系统分为使用用户类型分为租客、房主、系统管理员三种,具体功能结构如下。
2.2.1 租客角色
- 注册、登录功能
- 搜索功能:根据某些特定项模糊匹配民宿。
- 预订功能:在线预订民宿房间。
- 留言和评论功能:可以跟其他角色留言、评论民宿房间。
- 订单功能:查看生成的订单详情,进行退订操作。
2.2.2 房主角色
- 注册、登录功能
- 搜索功能:根据某些特定项模糊匹配民宿。
- 民宿房源管理功能:修改房源状态与信息、上传房源照片、新增房源、搜索房源。
- 留言和评论功能:可以跟其他角色留言、评论民宿房间。
- 订单功能:可以查看生成的订单信息。
2.2.3 系统管理员角色
- 注册、登录功能
- 搜索功能:根据某些特定项模糊匹配民宿。
- 用户管理:按条件查询所有类型的用户,删除用户,修改自己的信息。
- 房源管理:修改房源上下线状态。
- 留言和评论管理:可以回复租客和房主的问题且可以删除评论。
三、系统展示
四、核心代码
4.1 查询民宿
@RequestMapping(value = "/getByPage", method = RequestMethod.GET) @ApiOperation(value = "查询民宿") public Result
> getByPage(@ModelAttribute Homestay homestay ,@ModelAttribute PageVo page){ QueryWrapper qw = new QueryWrapper<>(); User currUser = securityUtil.getCurrUser(); // 如果是房主,自己看自己 QueryWrapper 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 data = iHomestayService.page(PageUtil.initMpPage(page),qw); return new ResultUtil >().setData(data); } 4.2 新增民宿
@RequestMapping(value = "/insert", method = RequestMethod.POST) @ApiOperation(value = "新增民宿") public Result
insert(Homestay homestay){ User currUser = securityUtil.getCurrUser(); homestay.setUserId(currUser.getId()); iHomestayService.saveOrUpdate(homestay); return new ResultUtil ().setData(homestay); } 4.3 新增民宿评价
@RequestMapping(value = "/insert", method = RequestMethod.POST) @ApiOperation(value = "新增评价") public Result
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 ().setData(appraise); } 4.4 查询留言
@RequestMapping(value = "/getByPage", method = RequestMethod.GET) @ApiOperation(value = "查询留言") public Result
> getByPage(@ModelAttribute Message message ,@ModelAttribute PageVo page){ QueryWrapper qw = new QueryWrapper<>(); User currUser = securityUtil.getCurrUser(); // 如果是租客,自己看自己 QueryWrapper 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 data = iMessageService.page(PageUtil.initMpPage(page),qw); return new ResultUtil >().setData(data); } 4.5 新增民宿订单
@RequestMapping(value = "/insert", method = RequestMethod.POST) @ApiOperation(value = "新增订单") public Result
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 ().setData(order); }
五、免责说明
- 本项目仅供个人学习使用,商用授权请联系博主,否则后果自负。
- 博主拥有本软件构建后的应用系统全部内容所有权及独立的知识产权,拥有最终解释权。
- 如有问题,欢迎在仓库 Issue 留言,看到后会第一时间回复,相关意见会酌情考虑,但没有一定被采纳的承诺或保证。
下载本系统代码或使用本系统的用户,必须同意以下内容,否则请勿下载!
- 出于自愿而使用/开发本软件,了解使用本软件的风险,且同意自己承担使用本软件的风险。
- 利用本软件构建的网站的任何信息内容以及导致的任何版权纠纷和法律争议及后果和博主无关,博主对此不承担任何责任。
- 在任何情况下,对于因使用或无法使用本软件而导致的任何难以合理预估的损失(包括但不仅限于商业利润损失、业务中断与业务信息丢失),博主概不承担任何责任。
- 必须了解使用本软件的风险,博主不承诺提供一对一的技术支持、使用担保,也不承担任何因本软件而产生的难以预料的问题的相关责任。
猜你喜欢
- 16天前(兰州旅游文化产业发展有限公司)甘肃省兰州市2023年乡村旅游暨A级旅游景区管理工作培训班开班
- 16天前(兵团猛进秦剧团持续开展“戏曲进校园”活动)兵团猛进秦剧团持续开展“戏曲进校园”活动
- 16天前(罗马尼亚的匈牙利族自治)江苏赴匈牙利、罗马尼亚开展文旅交流推广活动
- 16天前(甘肃文化旅游宣传片)甘肃文旅推介走进重庆
- 16天前(花王伴你乐享五一好“趣”处)花王伴你乐享五一好“趣”处
- 16天前(曼谷丽思卡尔顿公寓价格)在曼谷丽思卡尔顿酒店CALEŌ 邂逅鸡尾酒的浪漫艺术
- 16天前(大黄山景区高质量发展联盟成立多少年)大黄山景区高质量发展联盟成立
- 16天前(新西兰旅游局×时差岛:黄觉的“长白云之乡”奇遇)新西兰旅游局×时差岛:黄觉的“长白云之乡”奇遇
- 16天前(北京香港航班动态查询)香港快运航空北京大兴新航线今日首航
- 16天前(第三届“堡里有年味·回村过大年”民俗花灯会活动)第三届“堡里有年味·回村过大年”民俗花灯会活动
网友评论
- 搜索
- 最新文章
- (2020广州车展哈弗)你的猛龙 独一无二 哈弗猛龙广州车展闪耀登场
- (哈弗新能源suv2019款)智能科技颠覆出行体验 哈弗重塑新能源越野SUV价值认知
- (2021款全新哈弗h5自动四驱报价)新哈弗H5再赴保障之旅,无惧冰雪护航哈弗全民电四驱挑战赛
- (海南航空现况怎样)用一场直播找到市场扩张新渠道,海南航空做对了什么?
- (visa jcb 日本)优惠面面俱到 JCB信用卡邀您畅玩日本冰雪季
- (第三届“堡里有年味·回村过大年”民俗花灯会活动)第三届“堡里有年味·回村过大年”民俗花灯会活动
- (展示非遗魅力 长安启源助力铜梁龙舞出征)展示非遗魅力 长安启源助力铜梁龙舞出征
- (阿斯塔纳航空公司)阿斯塔纳航空机队飞机数量增至50架
- (北京香港航班动态查询)香港快运航空北京大兴新航线今日首航
- (我在港航“呵护”飞机 每一次安全着陆就是最好的荣誉)我在港航“呵护”飞机 每一次安全着陆就是最好的荣誉
- 热门文章