SpringBoot + Vue 简单实现学生饭卡管理系统

哈哈 阅读:702 2021-03-31 13:26:29 评论:0

需求分析:

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

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

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

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

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

声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号