需求分析:

系统分析:在实际饭堂中,学生可以拿饭卡到各个窗口(终端)消费,为了安全,学生还可以修改自己饭卡的密码、查询饭卡的余额和还应该要有查询消费记录,但充值、挂失等必须到管理员处才能办理。而管理员必须能看到系统里的所有记录,还能实现充值、挂失、开户等一系列功能。

该系统主要分成两大模块:学生模块和管理员模块。

学生模块:本模块给学生使用,需要实现的功能有:学生登录、消费、查询消费记录、修改密码和查询余额。

管理员模块:本模块给管理员使用,需要实现的功能有:修改相应管理员的密码、新增用户、删除用户、修改用户、充值、对学生表的操作、终端表的操作和能够查询所有表记录。

E-R模型图

数据库建库脚本

-- --------------------------------------------------------
-- 主机:                           127.0.0.1
-- 服务器版本:                        8.0.11 - MySQL Community Server - GPL
-- 服务器操作系统:                      Win64
-- HeidiSQL 版本:                  9.5.0.5196
-- --------------------------------------------------------

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET NAMES utf8 */;
/*!50503 SET NAMES utf8mb4 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;


-- 导出 meal_card 的数据库结构
CREATE DATABASE IF NOT EXISTS `meal_card` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci */;
USE `meal_card`;

-- 导出  表 meal_card.t_admin 结构
CREATE TABLE IF NOT EXISTS `t_admin` (
  `sid` int(12) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `name` varchar(64) DEFAULT '0' COMMENT '用户名',
  `password` varchar(64) DEFAULT '0' COMMENT '密码',
  PRIMARY KEY (`sid`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='管理员表';

-- 正在导出表  meal_card.t_admin 的数据:~3 rows (大约)
/*!40000 ALTER TABLE `t_admin` DISABLE KEYS */;
INSERT INTO `t_admin` (`sid`, `name`, `password`) VALUES
	(2, 'zcx', '123456'),
	(3, 'wz', '123456'),
	(5, 'zzg修改', '123456');
/*!40000 ALTER TABLE `t_admin` ENABLE KEYS */;

-- 导出  表 meal_card.t_card 结构
CREATE TABLE IF NOT EXISTS `t_card` (
  `sid` int(12) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `password` varchar(64) NOT NULL COMMENT '密码',
  `state` varchar(32) NOT NULL COMMENT '状态:启用、禁用',
  `money` decimal(10,2) DEFAULT NULL COMMENT '金额',
  `star_time` date DEFAULT NULL COMMENT '当前时间',
  `end_time` date DEFAULT NULL COMMENT '失效时间',
  `student_sid` int(12) DEFAULT NULL COMMENT '学生SID',
  PRIMARY KEY (`sid`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='饭卡表';

-- 正在导出表  meal_card.t_card 的数据:~3 rows (大约)
/*!40000 ALTER TABLE `t_card` DISABLE KEYS */;
INSERT INTO `t_card` (`sid`, `password`, `state`, `money`, `star_time`, `end_time`, `student_sid`) VALUES
	(2, '123456', '启用', 1102.00, '2020-11-21', '2020-11-22', 1),
	(3, '123456', '启用', 100.00, '2020-11-21', '2020-11-21', 1),
	(4, '123456', '启用', 100.00, '2020-11-21', '2020-11-21', 1);
/*!40000 ALTER TABLE `t_card` ENABLE KEYS */;

-- 导出  表 meal_card.t_consume 结构
CREATE TABLE IF NOT EXISTS `t_consume` (
  `sid` int(12) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `money` decimal(10,2) DEFAULT NULL COMMENT '消费金额',
  `consume_date` date DEFAULT NULL COMMENT '消费日期',
  `card_sid` int(12) NOT NULL COMMENT '卡Sid',
  `terminal_sid` int(12) NOT NULL COMMENT '终端SID',
  `state` varchar(50) NOT NULL COMMENT '状态:成功,失败',
  PRIMARY KEY (`sid`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='消费表';

-- 正在导出表  meal_card.t_consume 的数据:~2 rows (大约)
/*!40000 ALTER TABLE `t_consume` DISABLE KEYS */;
INSERT INTO `t_consume` (`sid`, `money`, `consume_date`, `card_sid`, `terminal_sid`, `state`) VALUES
	(1, 10.00, '2020-11-21', 2, 1, '成功');
/*!40000 ALTER TABLE `t_consume` ENABLE KEYS */;

-- 导出  表 meal_card.t_recharge 结构
CREATE TABLE IF NOT EXISTS `t_recharge` (
  `sid` int(12) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `recharge_date` date NOT NULL COMMENT '充值日期',
  `recharge_money` decimal(10,2) NOT NULL COMMENT '充值金额',
  `card_sid` int(12) NOT NULL COMMENT '饭卡Sid',
  `admin_sid` int(12) NOT NULL COMMENT '管理员Sid',
  PRIMARY KEY (`sid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='充值表';

-- 正在导出表  meal_card.t_recharge 的数据:~0 rows (大约)
/*!40000 ALTER TABLE `t_recharge` DISABLE KEYS */;
/*!40000 ALTER TABLE `t_recharge` ENABLE KEYS */;

-- 导出  表 meal_card.t_student 结构
CREATE TABLE IF NOT EXISTS `t_student` (
  `sid` int(12) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `name` varchar(64) DEFAULT NULL COMMENT '学生姓名',
  `sex` enum('男','女') DEFAULT '男' COMMENT '性别',
  `age` int(2) DEFAULT NULL COMMENT '年龄',
  `college` varchar(64) DEFAULT NULL COMMENT '学院',
  `class_name` varchar(64) DEFAULT NULL COMMENT '班级',
  PRIMARY KEY (`sid`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='学生表';

-- 正在导出表  meal_card.t_student 的数据:~2 rows (大约)
/*!40000 ALTER TABLE `t_student` DISABLE KEYS */;
INSERT INTO `t_student` (`sid`, `name`, `sex`, `age`, `college`, `class_name`) VALUES
	(1, '周晨曦', '男', 23, '湖南农业大学信息技术学院', '2020-01');
/*!40000 ALTER TABLE `t_student` ENABLE KEYS */;

-- 导出  表 meal_card.t_terminal 结构
CREATE TABLE IF NOT EXISTS `t_terminal` (
  `sid` int(12) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `name` varchar(64) NOT NULL COMMENT '终端设备名称',
  `admin_sid` int(12) NOT NULL COMMENT '管理员Sid',
  PRIMARY KEY (`sid`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='终端设备';

-- 正在导出表  meal_card.t_terminal 的数据:~2 rows (大约)
/*!40000 ALTER TABLE `t_terminal` DISABLE KEYS */;
INSERT INTO `t_terminal` (`sid`, `name`, `admin_sid`) VALUES
	(1, '饮水终端设备001', 3);
/*!40000 ALTER TABLE `t_terminal` ENABLE KEYS */;

/*!40101 SET SQL_MODE=IFNULL(@OLD_SQL_MODE, '') */;
/*!40014 SET FOREIGN_KEY_CHECKS=IF(@OLD_FOREIGN_KEY_CHECKS IS NULL, 1, @OLD_FOREIGN_KEY_CHECKS) */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;

SpringBoot 项目结构

VUE项目结构

效果演示

 

 

源码GitHub

VUE前端:https://github.com/zhouzhiwengang/seven.git

SpringBoot后端:https://github.com/zhouzhiwengang/hotel-system.git

Logo

前往低代码交流专区

更多推荐