当前位置: 首页 > news >正文

JAVA毕业设计173—基于Java+Springboot+vue3的酒店民宿管理系统(源代码+数据库)

毕设所有选题:
https://blog.csdn.net/2303_76227485/article/details/131104075

基于Java+Springboot+vue3的酒店民宿管理系统(源代码+数据库)173

一、系统介绍

本项目前后端分离(可以改为ssm版本),分为用户、员工、管理员三种角色

1、用户:

  • 注册、登录、房间预订、公告信息、在线咨询、留言反馈、订单管理、退房、个人信息、密码修改

2、员工:

  • 预定管理、入住管理、退房管理、客房清理管理

3、管理员:

  • 员工所有功能、房间统计、入住统计、预定统计、入住率统计、客房管理、类型管理、用户管理、员工管理、留言管理、轮播图管理、公告管理

二、所用技术

后端技术栈:

  • Springboot
  • mybatisPlus
  • Mysql
  • Maven

前端技术栈:

  • Vue3
  • Vue-router
  • axios
  • elementPlus
  • echart

三、环境介绍

基础环境 :IDEA/eclipse, JDK1.8, Mysql5.7及以上, Maven3.6, node14, navicat

所有项目以及源代码本人均调试运行无问题 可支持远程调试运行

四、页面截图

1、用户:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2、员工:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3、管理员:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

五、浏览地址

前台地址:http://localhost:8082

用户账号密码:用户账号1/123456

后台地址:http://localhost:8081

员工账号密码:员工工号1/123456

管理员账户密码:admin/admin

六、部署教程

  1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并执行项目的sql文件

  2. 使用IDEA/Eclipse导入server_code项目,若为maven项目请选择maven,等待依赖下载完成

  3. 修改application.yml里面的数据库配置,src/main/java/com/SpringbootSchemaApplication.java启动后端项目

  4. vscode或idea打开client_code后台项目

  5. 在编译器中打开terminal,执行npm install 依赖下载完成后执行 npm run serve,执行成功后会显示访问地址

  6. vscode或idea打开manage_code后台项目

  7. 在编译器中打开terminal,执行npm install 依赖下载完成后执行 npm run serve,执行成功后会显示访问地址

七、核心代码

/*** 登录相关*/
@RequestMapping("users")
@RestController
public class UsersController{@Autowiredprivate UsersService userService;@Autowiredprivate TokenService tokenService;/*** 登录*/@IgnoreAuth@RequestMapping(value = "/login")public R login(String username, String password, String captcha, HttpServletRequest request) {UsersEntity user = userService.selectOne(new EntityWrapper<UsersEntity>().eq("username", username));if(user==null || !user.getPassword().equals(password)) {return R.error("账号或密码不正确");}String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());return R.ok().put("token", token);}/*** 注册*/@IgnoreAuth@PostMapping(value = "/register")public R register(@RequestBody UsersEntity user){
//    	ValidatorUtils.validateEntity(user);if(userService.selectOne(new EntityWrapper<UsersEntity>().eq("username", user.getUsername())) !=null) {return R.error("用户已存在");}userService.insert(user);return R.ok();}/*** 退出*/@GetMapping(value = "logout")public R logout(HttpServletRequest request) {request.getSession().invalidate();return R.ok("退出成功");}/*** 密码重置*/@IgnoreAuth@RequestMapping(value = "/resetPass")public R resetPass(String username, HttpServletRequest request){UsersEntity user = userService.selectOne(new EntityWrapper<UsersEntity>().eq("username", username));if(user==null) {return R.error("账号不存在");}user.setPassword("123456");userService.update(user,null);return R.ok("密码已重置为:123456");}/*** 列表*/@RequestMapping("/page")public R page(@RequestParam Map<String, Object> params,UsersEntity user){EntityWrapper<UsersEntity> ew = new EntityWrapper<UsersEntity>();PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));return R.ok().put("data", page);}/*** 列表*/@RequestMapping("/list")public R list( UsersEntity user){EntityWrapper<UsersEntity> ew = new EntityWrapper<UsersEntity>();ew.allEq(MPUtil.allEQMapPre( user, "user")); return R.ok().put("data", userService.selectListView(ew));}/*** 信息*/@RequestMapping("/info/{id}")public R info(@PathVariable("id") String id){UsersEntity user = userService.selectById(id);return R.ok().put("data", user);}/*** 获取用户的session用户信息*/@RequestMapping("/session")public R getCurrUser(HttpServletRequest request){Long id = (Long)request.getSession().getAttribute("userId");UsersEntity user = userService.selectById(id);return R.ok().put("data", user);}/*** 保存*/@PostMapping("/save")public R save(@RequestBody UsersEntity user){
//    	ValidatorUtils.validateEntity(user);if(userService.selectOne(new EntityWrapper<UsersEntity>().eq("username", user.getUsername())) !=null) {return R.error("用户已存在");}userService.insert(user);return R.ok();}/*** 修改*/@RequestMapping("/update")public R update(@RequestBody UsersEntity user){
//        ValidatorUtils.validateEntity(user);UsersEntity u = userService.selectOne(new EntityWrapper<UsersEntity>().eq("username", user.getUsername()));if(u!=null && u.getId()!=user.getId() && u.getUsername().equals(user.getUsername())) {return R.error("用户名已存在。");}userService.updateById(user);//全部更新return R.ok();}/*** 删除*/@RequestMapping("/delete")public R delete(@RequestBody Long[] ids){userService.deleteBatchIds(Arrays.asList(ids));return R.ok();}
}

相关文章:

  • 浙大数据结构:03-树2 List Leaves
  • 数据库MySQL
  • 源码到class字节码的编译流程 字节码到内存的Java类加载流程
  • 算法提高模板强连通分量tarjan算法
  • AIoTedge边缘计算+边缘物联网平台
  • sed awk 第二版学习(四)—— 基本 sed 命令
  • Matlab如何配置小波工具(Wavelet Toolbox)
  • C++ STL库的使用总结
  • 【项目】云备份
  • Oracle(122)如何进行控制文件的恢复?
  • Linux rm命令详解使用:掌握安全删除技巧
  • 多输入多输出 | Matlab实现SO-BP蛇群算法优化BP神经网络多输入多输出预测
  • PROTOTYPICAL II - The Practice of FPGA Prototyping for SoC Design
  • 身份证实名认证接口如何用C#实现
  • Ubuntu上安装与配置MySQL‌
  • 【个人向】《HTTP图解》阅后小结
  • codis proxy处理流程
  • Docker下部署自己的LNMP工作环境
  • Mysql数据库的条件查询语句
  • react-native 安卓真机环境搭建
  • React中的“虫洞”——Context
  • sessionStorage和localStorage
  • Shell编程
  • Vue.js 移动端适配之 vw 解决方案
  • vue2.0项目引入element-ui
  • web标准化(下)
  • 闭包--闭包之tab栏切换(四)
  • 关键词挖掘技术哪家强(一)基于node.js技术开发一个关键字查询工具
  • 如何在 Tornado 中实现 Middleware
  • 试着探索高并发下的系统架构面貌
  • nb
  • 国内唯一,阿里云入选全球区块链云服务报告,领先AWS、Google ...
  • 摩拜创始人胡玮炜也彻底离开了,共享单车行业还有未来吗? ...
  • 如何通过报表单元格右键控制报表跳转到不同链接地址 ...
  • 如何用纯 CSS 创作一个货车 loader
  • ​低代码平台的核心价值与优势
  • ​软考-高级-信息系统项目管理师教程 第四版【第14章-项目沟通管理-思维导图】​
  • ​数据结构之初始二叉树(3)
  • #常见电池型号介绍 常见电池尺寸是多少【详解】
  • $NOIp2018$劝退记
  • ( 用例图)定义了系统的功能需求,它是从系统的外部看系统功能,并不描述系统内部对功能的具体实现
  • (007)XHTML文档之标题——h1~h6
  • (6)设计一个TimeMap
  • (C语言)字符分类函数
  • (附源码)计算机毕业设计SSM疫情居家隔离服务系统
  • (免费领源码)Python#MySQL图书馆管理系统071718-计算机毕业设计项目选题推荐
  • (一)使用IDEA创建Maven项目和Maven使用入门(配图详解)
  • (转)Groupon前传:从10个月的失败作品修改,1个月找到成功
  • (转)Oracle存储过程编写经验和优化措施
  • (转)socket Aio demo
  • (转)总结使用Unity 3D优化游戏运行性能的经验
  • **PHP二维数组遍历时同时赋值
  • . ./ bash dash source 这五种执行shell脚本方式 区别
  • .ai域名是什么后缀?
  • .bat批处理(三):变量声明、设置、拼接、截取