基于web的酒店管理系统_新锐酒店管理系统

基于web的酒店管理系统_新锐酒店管理系统小型酒店管理系统一、前言小型酒店管理系统采用Vue前端框架、SpringBoot框架实现项目前后端分离,并通过Mysql存储数据。本系统实现针对不同用户的登录验证;客户信息、前台管理员以及超级管理员等信息存取;客户信息登记、预约、入住、消费等功能;前台管理员对客户操作的管理;超级管理员对客户以及前台管理员操作进行控制等的功能,系统功能基本实现,测试良好。二、系统可行性分析(一)系统开发工具及平台操作系统:Windows10编程语言:Vue、SpringBoot开发工具:WebStorm、I

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

小型酒店管理系统

一、前言

小型酒店管理系统采用Vue前端框架、SpringBoot框架实现项目前后端分离,并通过Mysql存储数据。本系统实现针对不同用户的登录验证;客户信息、前台管理员以及超级管理员等信息存取;客户信息登记、预约、入住、消费等功能;前台管理员对客户操作的管理;超级管理员对客户以及前台管理员操作进行控制等的功能,系统功能基本实现,测试良好。

二、系统可行性分析

(一)系统开发工具及平台

  • 操作系统:Windows 10
  • 编程语言:Vue、SpringBoot
  • 开发工具:WebStorm、IDEA、Navicat
  • 数据库管理系统:Mysql 5.5(建议使用较高版本的数据库)
  • 网站快速成型工具:Element

(二)操作可行性

本系统采用界面化设计,简单易用,各项数据都用表格形式显示出来,酒店营业情况一目了然。并且提供了大量的操作提示以及出错信息,大大的方便用户的使用,同时也减少了出错的可能,确保了数据的正确性、完整性和一致性。

三、系统需求分析

(一)系统功能需求

  • 实现客房预订、登记入住,以及退房结账等客房营销功能;
  • 实现房间列表和房间状态信息的实时查询、更新
  • 实现消费的一次性结账处理功能;
  • 实现快速准确的顾客信息查询功能;
  • 实现前台管理功能;
  • 实现系统数据库维护功能,能够对数据库进行备份和还原操作;
  • 实现账号验证功能,只有拥有合法账号的用户才能进入并使用本系统。

四、数据库设计

(一)数据库结构

在这里插入图片描述

(二)数据库表设计

本系统一共设计8个数据库表,数据库表设计如下,数据库文件见附件

避坑——数据库表在设计过程发现时间戳(timestamp)类型在数据库5.5版本和5.5以上版本的表示有所区别,建议小伙伴导入数据库过程自行查询它们在数据库表中的表示

------------------------------------
-- Table structure for background --
-- ---------------------------------
DROP TABLE IF EXISTS `background`;
CREATE TABLE `background`  (
  `back_id` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '后台管理的工号',
  `password` varchar(1000) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '后台登录密码',
  PRIMARY KEY (`back_id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact;
----------------------------------
-- Table structure for book_msg --
----------------------------------
DROP TABLE IF EXISTS `book_msg`;
CREATE TABLE `book_msg`  (
  `id` int(50) NOT NULL AUTO_INCREMENT COMMENT '预定信息id',
  `guest_id_card` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '用户的身份证号',
  `from_time` timestamp(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '预计入住时间',
  `to_time` timestamp(0) NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '预计退房时间',
  `rank` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '预定的级别,分A,B,C,D级,级别一次降低',
  `state` int(10) NOT NULL DEFAULT 0 COMMENT '预定处理状态,0代表未处理,1代表已处理,11代表已入住(失效)',
  `result_room` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '预定到的房间',
  PRIMARY KEY (`id`) USING BTREE,
  INDEX `type_id`(`rank`) USING BTREE,
  INDEX `guest_id_card`(`guest_id_card`) USING BTREE,
  INDEX `result_room`(`result_room`) USING BTREE,
  CONSTRAINT `book_msg_ibfk_1` FOREIGN KEY (`guest_id_card`) REFERENCES `guest` (`id_card`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB AUTO_INCREMENT = 17 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact;
----------------------------------
-- Table structure for check_in --
----------------------------------
DROP TABLE IF EXISTS `check_in`;
CREATE TABLE `check_in`  (
  `id` int(20) NOT NULL AUTO_INCREMENT COMMENT '入住情况的id',
  `guest_id_card` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '客户的身份证号',
  `room_id` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '房间号',
  `from_time` timestamp(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '入住日期',
  `to_time` timestamp(0) NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '预计退房时间',
  `state` int(10) NOT NULL COMMENT '状态,0代表已退房,1代表正在入住',
  PRIMARY KEY (`id`) USING BTREE,
  INDEX `guest_id_card`(`guest_id_card`) USING BTREE,
  INDEX `room_id`(`room_id`) USING BTREE,
  CONSTRAINT `check_in_ibfk_1` FOREIGN KEY (`guest_id_card`) REFERENCES `guest` (`id_card`) ON DELETE RESTRICT ON UPDATE RESTRICT,
  CONSTRAINT `check_in_ibfk_2` FOREIGN KEY (`room_id`) REFERENCES `room` (`room_id`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB AUTO_INCREMENT = 18 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact;
------------------------------
-- Table structure for cost --
------------------------------
DROP TABLE IF EXISTS `cost`;
CREATE TABLE `cost`  (
  `id` int(20) NOT NULL AUTO_INCREMENT COMMENT '消费信息的id',
  `cost_type_id` int(20) NOT NULL COMMENT '消费的名称',
  `room_id` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '房间的id',
  `num` int(10) NOT NULL DEFAULT 1 COMMENT '数量',
  `state` int(20) NOT NULL DEFAULT 0 COMMENT '状态,0表示未结算,1表示已结算,11表示该次入住的用户全部结算',
  PRIMARY KEY (`id`) USING BTREE,
  INDEX `cost_type_id`(`cost_type_id`) USING BTREE,
  INDEX `room_id`(`room_id`) USING BTREE,
  CONSTRAINT `cost_ibfk_2` FOREIGN KEY (`cost_type_id`) REFERENCES `cost_type` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
  CONSTRAINT `cost_ibfk_3` FOREIGN KEY (`room_id`) REFERENCES `room` (`room_id`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB AUTO_INCREMENT = 72 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact;
-----------------------------------
-- Table structure for cost_type --
-----------------------------------
DROP TABLE IF EXISTS `cost_type`;
CREATE TABLE `cost_type`  (
  `id` int(50) NOT NULL AUTO_INCREMENT COMMENT '消费类型的id',
  `name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '消费项目的名称',
  `money` float NOT NULL COMMENT '金额',
  PRIMARY KEY (`id`, `name`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 39 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact;
-------------------------------
-- Table structure for front --
-------------------------------
DROP TABLE IF EXISTS `front`;
CREATE TABLE `front`  (
  `front_id` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '前台管理员的工号',
  `name` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '前台管理员的姓名',
  `password` varchar(1000) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '前台管理的登录密码',
  `phone` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '前台管理员的电话',
  PRIMARY KEY (`front_id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact;
-------------------------------
-- Table structure for guest --
-------------------------------
DROP TABLE IF EXISTS `guest`;
CREATE TABLE `guest`  (
  `id_card` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '客户的身份证号',
  `name` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '客户的姓名',
  `contact` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '客户的联系方式',
  PRIMARY KEY (`id_card`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact;
------------------------------
-- Table structure for room --
------------------------------
DROP TABLE IF EXISTS `room`;
CREATE TABLE `room`  (
  `room_id` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '房间编号',
  `size` double NOT NULL COMMENT '房间大小,以平方米为单位',
  `rank` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '级别,分A,B,C,D级,级别一次降低',
  `rent` double NOT NULL COMMENT '租金,单位是人民币元',
  `earnest` double NOT NULL COMMENT '入住定金,单位是人民币元',
  `max_num` int(5) NOT NULL COMMENT '最大人数',
  `position` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '地理位置',
  PRIMARY KEY (`room_id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact;

五、系统功能设计

(一)登录模块

  • 针对不同用户设置不同的用户名和密码
    前台管理员
    用户名:0001
    密码:123456
    超级管理员
    用户名:admin
    密码:981028
    客户
    用户名:暂无(后续设计)
    密码:暂无(后续设计)
  • 设计效果图展示
    在这里插入图片描述
  • 关键代码
submitForm () { 
   
         // console.log(this.param.username);
            let state = this.param.username;
            if (state === 'admin') { 
   
                this.$http.post('http://localhost:8081/backgroundLogin?backId=' + this.param.username + '&password=' + this.param.password).then(res => { 
   
                    console.log(res);
                    if (res.data.code === 200) { 
   
                        console.log(res.data.data);
                        this.$message.success('登录成功');
                        // 将用户token保存到vuex中
                        localStorage.setItem('token', res.data.data);
                        localStorage.setItem('ms_username', this.param.username);
                        this.$router.push('/');
                    } else { 
   
                        this.$message.error('请输入正确的账号和密码');
                        console.log('error submit!!');
                        return false;
                    }
                });
            } else { 
   

                this.$http.post('http://localhost:8081/frontLogin?frontId=' + this.param.username + '&password=' + this.param.password).then(res => { 
   
                // console.log(res);
                    if (res.data.code === 200) { 
   
                        console.log(res.data.data);
                        this.$message.success('登录成功');

                        // 将用户token保存到vuex中
                        localStorage.setItem('token', res.data.data);
                        localStorage.setItem('ms_username', this.param.username);
                        this.$router.push('/');
                    } else { 
   
                        this.$message.error('请输入正确的账号和密码');
                        console.log('error submit!!');
                        return false;
                    }
                });
            }
        }
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/189786.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 华为verilog代码规范(wps初学者入门教程)

    对于初学者,可大致了解VerologHDL所提供的能力,掌握VerilogHDL语言的核心子集。1VerilogHDL语言具有:设计的行为特性、设计的数据流特性、设计的结构组成以及包括响应监控和设计验证方面的时延和波形产生机制。2如何描述自顶向下的设计思想:每个模块实现特定的功能,模块间可进行层次的嵌套,因此可以将大型的数字电路设计分割成大小不一的小模块来实现特定的功能,最后通过由顶层模块调用子模块来实现整体功能。3三种建模方式3.1结构化描述方式结构化建模方式就是通过对电

    2022年4月15日
    110
  • 网站10大常见安全漏洞及解决方案

    网站10大常见安全漏洞及解决方案

    2021年10月31日
    42
  • wsus补丁服务器如何给自己打补丁(windows补丁服务器)

    WSUS,全称Windowsserverupdateservices,是微软在其网络结构中提供的关于系统补丁更新的一个解决方案,完全免费,现在最新的版本是WSUS3.0SP2,在生产环境中部署WSUS的应用价值主要是提高网络资源的利用率,节省带宽,同时对于客户端计算机来说呢,更新效率也更高一些。在日常大家都习惯了用第三方工具给系统打补丁,局域网的PC数量少了便罢,如果多于50台,只是给系统以及微软产品打补丁这一项工作对于网络资源的占用就不可小觑,在Windowsserver2003以前…

    2022年4月18日
    422
  • 素数算法

    素数算法一、引言在平时做题目或者进行运算的时候,素数的出现次数总是十分频繁。这里总结了一些常见的判定素数和计算某个范围内素数个数的一些算法。部分代码来源于kuangbin的模板,嗯毕竟都是跟着这个学的…二、朴素判断素数算法就判断素数而言,事实上是非常简单的了。根据定义,判断一个整数n是否是素数,只需要去判断在整数区间[2,n-1]之内,是否具有某个数m,使得n%m==0。代码可以这么写:…

    2022年6月18日
    22
  • 上位机控制plc输出教程_上位机读取plc

    上位机控制plc输出教程_上位机读取plc图解PLC编程入门可编程逻辑控制器是种专门为在工业环境下应用而设计的数字运算操作电子系统,它采用一种可编程的存储器在其内部存储执行逻辑运算、顺序控制、定时、计数和算术运算等操作的指令,通过数字式或模拟式的输入输出来控制各种类型的机械设备或生产过程。PLC的定义可编程序控制器是一种数字运算操作电子系统,专为在工业环境下应用而设计。它采用了可编程序的存储器,用来在其内部存储执行逻辑运算、顺序控制、定时…

    2022年9月8日
    0
  • postman最新版_postcrossing中文版

    postman最新版_postcrossing中文版PostmanCn最新版本:7.36.1更新时间:2020-12-18点击下载https://www.postman.com/downloads/这个是Postman官网的下载页面https://gitee.com/hlmd/PostmanCn/attach_files/492931/download/postman_EnToCn.zip这个是这里的汉化的介绍Postman中文版汉化持续更新中安装教程WindowsPostman-*-win64-中文版…

    2022年9月28日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号