基于微信小程序的付费自习室

博主介绍:✌程序员徐师兄、7年大厂程序员经历。全网粉丝30W+、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌

文章目录

  • 1 简介
  • 2 技术栈
  • 3 需求分析
    • 3.1用户需求分析
      • 3.1.1 学生用户
      • 3.1.3 管理员用户
  • 4 数据库设计
      • 4.4.1 ER图设计
      • 4.4.2 数据库表设计
  • **第五章 系统实现**
    • 5.1小程序功能的实现
    • 5.2管理员模块的实现
      • 5.2.1 留言管理
      • 5.2.2 学生信息管理
      • 5.2.3 公告管理
      • 5.2.4 高校自习室信息管理
      • 5.2.5 自习室预约审核管理
  • 6 源码咨询

1 简介

Java 基于微信小程序的自习室预约系统

本文研发的基于微信小程序的新乡学院自习室预约系统结合高校具体的实际,利用编程基础和数据库实现教务信息化管理。充分利用校园的现有资源,把目前落后的管理现状提升到信息化管理模式中,减轻自习室管理工作量,有助于教学工作规范。基于微信小程序的新乡学院自习室预约系统帮助教师有效的管理自习室信息,学生通过系统了解自习室的使用情况,变化情况。减少徒步到自习室查看状态的时间,并通过系统可以查看各种公告以及教学公告信息。在交流模块也可以和其他同学或者老师在线交流。获取校园生活中的问题和解决方法,有效提升在校时间利用情况,提高了学习效率

2 技术栈

说明技术栈备注
后台Java
前端小程序
数据库MYSql
架构B/S 结构

3 需求分析

3.1用户需求分析

基于微信小程序的新乡学院自习室预约系统的用户是系统最根本使用者,按需要分析系统包括两类用户:学生、管理员。这两类用户对系统的需求简要如下。

3.1.1 学生用户

学生用户只要实现了前台信息的查看,打开首页,查看网站介绍、自习室信息、在线留言、轮播图信息公告等,通过点击首页的菜单跳转到对应的功能页面菜单,包括网站首页、自习室信息、注册登录、个人中心、后台登录。

学生用户通过账户账号登录,登录后具有所有的操作权限,如果没有登录,不能在线预约。学生用户退出系统将注销个人的登录信息。

3.1.3 管理员用户

管理员通过后台的登录页面,选择管理员权限后进行登录,管理员的权限包括轮播公告管理、老师学生信息管理和信息审核管理,管理员管理后点击退出,注销登录信息。

管理员用户具有在线交流的管理,自习室信息管理、自习室预约管理。

在线交流是对前台用户留言内容进行管理,删除留言信息,查看留言信息。自习室类型管理,添加某一个自习室类型信息。高校自习室管理,用户添加高校自习室信息,包括高校自习室名称、最大容纳数、高校自习室的位置、高校自习室的状态、对应高校自习室的图片,添加后在高校自习室管理中对信息进行。操作后退出系统。

4 数据库设计

4.4.1 ER图设计

本基于微信小程序的新乡学院自习室预约系统实体清晰,所以这里只绘制系统整体E-R图,其它的略去E—R图的绘制。

(1)管理员信息实体E-R图:

img

图4.3管理员E-R图

(2)公告信息实体E-R图

img

图4.4公告信息实体E-R图

(3)类型信息实体E-R图

img

图4.5自习室类型信息E-R图

(4)学生信息实体E-R图

img

图4.6 学生信息实体E-R图

(5) 高校自习室信息E-R图

img

图4.7 高校自习室信息实体E-R图

(6)留言交流信息E-R图

img

图4.8 留言交流信息实体E-R图

4.4.2 数据库表设计

基于微信小程序的新乡学院自习室预约系统包括多个数据库表,下面对数据表进行详细的介绍,每个数据库表包括这个名称,对于类型是否逐渐、是否与空字段的备注信息等。

表: 自习室信息表

编号数据字段名称对应类型主键允许空字段的备注信息
No1C_idbigint(8)PKNo主键
No2C_addtimetimestamp(8)NONo创建时间
No3C_bianhaonvarchar(400)NONull编号
No4C_jifanghaonvarchar(400)NONull自习室类型
No5C_tupiannvarchar(400)NONull图片
No6C_riqinvarchar(400)NONull日期
No7C_shiduannvarchar(400)NONull时段
No8C_kongxianzuoweitext(16)NONull楼栋
No9C_xiangqingtext(16)NONull详情
No10C_zhuangtainvarchar(400)NONull状态

表: config信息表

编号数据字段名称对应类型主键允许空字段的备注信息
No1C_idbigint(8)PKNo主键
No2C_namenvarchar(200)NONo配置参数名称
No3C_valuenvarchar(200)NONull配置参数值

表: quxiaoyuyue信息表

编号数据字段名称对应类型主键允许空字段的备注信息
No1C_idbigint(8)PKNo主键
No2C_addtimetimestamp(8)NONo创建时间
No3C_bianhaonvarchar(400)NONull编号
No4C_jifanghaonvarchar(400)NONull自习室类型
No5C_riqinvarchar(400)NONull日期
No6C_shiduannvarchar(400)NONull时段
No7C_zuoweihaonvarchar(400)NONull座位号
No8C_quxiaoliyoutext(16)NONull取消理由
No9C_xuehaonvarchar(400)NONull学号
No10C_xingmingnvarchar(400)NONull姓名
No11C_shenfenzhengnvarchar(400)NONull身份证
No12C_sfshnvarchar(400)NONull是否审核
No13C_shhftext(16)NONull审核回复

表: users信息表

编号数据字段名称对应类型主键允许空字段的备注信息
No1C_idbigint(8)PKNo主键
No2C_usernamenvarchar(200)NONo用户名
No3C_passwordnvarchar(200)NONo密码
No4C_rolenvarchar(200)NONull角色
No5C_addtimetimestamp(8)NONo新增时间

表: shenqingyuyue信息表

编号数据字段名称对应类型主键允许空字段的备注信息
No1C_idbigint(8)PKNo主键
No2C_addtimetimestamp(8)NONo创建时间
No3C_bianhaonvarchar(400)NONull编号
No4C_jifanghaonvarchar(400)NONull自习室类型
No5C_riqidatetime(8)NONull日期
No6C_shiduannvarchar(400)NONull时段
No7C_zuoweihaonvarchar(400)NONull座位号
No8C_shenqingneirongnvarchar(400)NONull申请内容
No9C_xuehaonvarchar(400)NONull学号
No10C_xingmingnvarchar(400)NONull姓名
No11C_shenfenzhengnvarchar(400)NONull身份证
No12C_sfshnvarchar(400)NONull是否审核
No13C_shhftext(16)NONull审核回复

表: forum信息表

编号数据字段名称对应类型主键允许空字段的备注信息
No1C_idbigint(8)PKNo主键
No2C_addtimetimestamp(8)NONo创建时间
No3C_titlenvarchar(400)NONull帖子标题
No4C_contenttext(16)NONull帖子内容
No5C_parentidbigint(8)NONull父节点id
No6C_useridbigint(8)NONo用户id
No7C_usernamenvarchar(400)NONull用户名
No8C_isdonenvarchar(400)NONull状态

表: messages信息表

编号数据字段名称对应类型主键允许空字段的备注信息
No1C_idbigint(8)PKNo主键
No2C_addtimetimestamp(8)NONo创建时间
No3C_useridbigint(8)NONo留言人id
No4C_usernamenvarchar(400)NONull用户名
No5C_contenttext(16)NONull留言内容
No6C_replytext(16)NONull回复内容

表: xuesheng信息表

编号数据字段名称对应类型主键允许空字段的备注信息
No1C_idbigint(8)PKNo主键
No2C_addtimetimestamp(8)NONo创建时间
No3C_xuehaonvarchar(400)NONo学号
No4C_mimanvarchar(400)NONo密码
No5C_xingmingnvarchar(400)NONo姓名
No6C_xingbienvarchar(400)NONull性别
No7C_touxiangnvarchar(400)NONull头像
No8C_zhuanyenvarchar(400)NONull专业
No9C_shoujihaonvarchar(400)NONull手机号
No10C_shenfenzhengnvarchar(400)NONull身份证

第五章 系统实现

5.1小程序功能的实现

5.1.1 学生注册界面

点击导航菜单中的注册即可打开注册页面,注册页面是由文本框、选择框、和注册按钮组成,在文本框中输入需要填写的基本注册信息,点击注册进行信息提交。

如下图所示:

img

图5-1学生注册界面

首先验证填写的信息是否为空,如果通过验证,才把信息构造为插入语句,调用数据库保存操作,插入信息到数据库,返回保存成功的信息到界面,进行登陆,或者返回到首页。

5.1.2 首页界面

搭建微信小程序环境后,进入到系统首页,首页包括头部的logo,导航条,中间为文章公告信息。

小程序首页如下图所示:

img

图5-2 首页

首页是在index页面中,该页面包括头部文件header、文章公告读取数据库中最新的信息,显示图片和对应的链接。在首页中先引入相关的JS和CSS样式。在对应模块中调用数据库操作方法,把读取的结果赋赋给RS数据集合对象,通过循环显示信息。

5.1.3 自习室列表界面

用户打开本系统后,可以查看自习室列表信息。如下图所示:

img

图5-4自习室界面

点击自习室,先打开自习室的列表界面,在列表界面读取信息,详细表达所有相关自习室信息,通过JAVA的数据库操作,把列表绑定到result数据集合中,使用while循环,把所有的信息显示到自习室界面。点击自习室,通过该条信息的ID值传递到自习室的详情页面,在详情页面根据当前的ID值查询对应的具体信息。包括标题名称和内容。

5.1.4 高校自习室预约界面

用户打开本系统后,可以查看高校自习室信息,并进行预约。如下图所示:

img

图5-5高校自习室预约界面

输入预约信息后,添加预约记录到数据库中,在个人中心可以查看预约记录,管理员对预约记录进行审核。

5.1.5 在线交流界面

用户登录本系统后,可以发表在线交流信息。如下图所示:

img

图5-6在线交流界面

在线交流包括评论信息的提交和查询显示,在线交流前需要先进行登录,如果没有登。录界面提示登录后才能进行评论,登陆后的信息是通过session进行判断。如果session存在登录信息,就说明已经登录,在评论中输入评论的内容,点击提交,把评论信息保存到数据库中,评论结束之后进行查询。查询通过当前信息的ID进行条件查询,查询的结果保存在数据集合中,对数据集合进行循环显示。

5.2管理员模块的实现

5.2.1 留言管理

在系统主界面中的导航菜单中,有留言按钮,点击按钮,就可以在留言界面进行信息添加和管理。

其中,留言管理界面为5.7所示:

img

图5.7:留言管理页面

5.2.2 学生信息管理

在系统主界面中的导航菜单中,有学生信息按钮,点击按钮,就可以在学生信息界面进行信息添加和管理。

其中,学生信息管理界面为5.8所示:

img

图5.8:学生信息管理页面

在学生页面加载学生的信息列表,当执行该页面初始化的时候,调用业务逻辑层的学生查询方法。该方法先定义学生实体类,然后调用数据库中的学生查询方法,把查询结果绑定在list集合中。循环集合,把数据逐条绑定在学生实体对象,最终返回到界面。将得到的学生集合循环绑定到界面控件,根据字段名和数据结果进行映射,最终显示。

5.2.3 公告管理

管理员查看公告信息。其中,公告信息管理界面为5.9所示:

img

图5.9:公告页面

在公告页面加载公告的信息列表,当执行该页面初始化的时候,调用业务逻辑层的公告查询方法。该方法先定义公告实体类,然后调用数据库中的公告查询方法,把查询结果绑定在list集合中。循环集合,把数据逐条绑定在公告实体对象,最终返回到界面。将得到的公告集合循环绑定到界面控件,根据字段名和数据结果进行映射,最终显示。

5.2.4 高校自习室信息管理

在系统主界面中的导航菜单中,有高校自习室管理按钮,点击按钮,就可以在高校自习室管理界面进行高校自习室信息添加和管理。其中高校自习室添加的界面如下:

img

图5.6:高校自习室添加页面

首先对高校自习室页面进行布局,完成界面设计。在高校自习室页,输入高校自习室的内容,点击保存,执行保存事件,在该事件中进行数据保存操作。该事件方法先获取用户输入的高校自习室内容,把这些数据绑定到高校自习室实体方法中,对高校自习室的信息进行验证,包括是否为空,是否符合规范数据格式等。通过验证后,调用高校自习室的业务逻辑方法,业务逻辑层先执行高校自习室的唯一性验证,通过验证后,调用数据库操作方法。将在线保修的数据使用插入语句,提交到数据库中。数据库操作方法返回操作成功的信息到业务逻辑层,业务逻辑层再把结果返回到在线保修页面,完成插入操作。

5.2.5 自习室预约审核管理

在系统主界面中的导航菜单中,有自习室预约管理按钮,点击按钮,就可以在自习室预约管理界面进行信息审核和管理。

其中,自习室预约管理界面为5.7所示:

img

图5.7:自习室预约管理页面

在自习室预约页面加载自习室预约的信息列表,当执行该页面初始化的时候,调用业务逻辑层的自习室预约查询方法。该方法先定义自习室预约实体类,然后调用数据库中的自习室预约查询方法,把查询结果绑定在list集合中。循环集合,把数据逐条绑定在自习室预约实体对象,最终返回到界面。将得到的自习室预约集合循环绑定到界面控件,根据字段名和数据结果进行映射,最终显示。

点击自习室预约信息审核,在自习室预约信息页面中,先通过ID值查询对于的自习室预约信息,把自习室预约信息保存在临时对象中。把变量值绑定到页面中自习室预约信息栏,然后加载页面,把需要审核的信息完成编辑后点击保存,将对这些数据进行验证,如果通过将执行审核操作,验证失败将会提示具体的错误消息。执行审核语句,调用审核的业务逻辑方法,在审核的方法中判断是否存在该自习室预约,如果不存在该自习室预约,调用数据库操作层去执行审核操作,审核成功后返回。

点击自习室预约信息删除,通过ID值查询自习室预约信息是否存在外键关联,先删除外键关联的数据,然后调用删除的数据库方法,删除成功后返回自习室预约信息列表界面。

6 源码咨询

Github 更多题目

200 道Java 精品项目

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/149114.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

《计算机视觉中的多视图几何》笔记(13)

13 Scene planes and homographies 本章主要讲述两个摄像机和一个世界平面之间的射影几何关系。 我们假设空间有一平面 π \pi π,平面上的一点为 x π x_{\pi} xπ​。 x π x_{\pi} xπ​分别在两幅图像 P , P ′ P, P P,P′上形成了 x , x ′ x, x x,x′。 那…

[架构之路-225]:计算机硬件与体系结构 - 分类方法大汇总: RISC, CISC

目录 一、分类方法汇总 二、指令流和数据流的关系分类 三、Flynn 分类:指令并行处理 四、根据指令集架构(ISA)分类 4.1 分类 4.2 开源的RISC-V与封闭的RISC指令集架构比较 4.3 RISC-V的演进路径 4.4 RISC-V与中国芯片自研 4.4 五阶流…

Open X-Embodiment Robotic Learning Datasets and RT-X Models

文章目录 简介论文链接项目链接Reference 简介 为什么机器人技术远远落后于 NLP、视觉和其他 AI 领域?除其他困难外,数据短缺是罪魁祸首。谷歌 DeepMind 联合其他机构推出了 Open X-Embodiment 数据集,并训练出了能力更强的 RT-X 模型。 Dee…

WEB3 创建React前端Dapp环境并整合solidity项目,融合项目结构便捷前端拿取合约 Abi

好 各位 经过我们上文 WEB3 solidity 带着大家编写测试代码 操作订单 创建/取消/填充操作 我们自己写了一个测试订单业务的脚本 没想到运行的还挺好的 那么 今天开始 我们就可以开始操作我们前端 Dapp 的一个操作了 在整个过程中 确实是没有我们后端的操作 或者说 我们自己就…

【网站】让自己的个人主页能被Google检索

参考: https://zhuanlan.zhihu.com/p/129022264

容器内获得apiserver地址

1.容器的Env的KUBENETES_SERVICE_HOST字段 roottomcat01-69fc8f859b-w9btn:/tmp# env | grep KUBERNETES_SERVICE_HOST10.96.0.1 KUBERNETES_SERVICE_HOST10.96.0.12.通过域名查询 nslookup getent hosts roottomcat01-69fc8f859b-w9btn:/tmp# getent hosts kubernetes.def…

Python综合案例:学生管理系统

目录 需求说明: 功能: 创建入口函数: 实现菜单函数: 实现增删查操作: 1. 新增学生 2. 展示学生 3. 查找学生 4. 删除学生 加入存档读档: 1. 约定存档格式 2. 实现存档函数 3. 实现读档函数 打…

CentOS 7 上编译和安装 SQLite 3.9.0

文章目录 可能报错分析详细安装过程 可能报错分析 报错如下: django.core.exceptions.ImproperlyConfigured: SQLite 3.9.0 or later is required (found 3.7.17). 原因:版本为3.7.太低了,需要升级到3.9.0至少 详细安装过程 1.安装所需的…

六、vpp 流表+负载均衡

草稿!!! vpp node其实就是三个部分 1、plugin init 2、set command 3、function 实现功能,比如这里的流表 今天我们再用VPP实现一个流表的功能 一、流表 1.1流表----plugin init VLIB_REGISTER_NODE 注册流表节点 // 注册流…

window环境下Redis7服务器的安装和运行

一、readis7的下载 由于在官网上没有window版本的redis下载,需要到github中去搜索,以下以redis7为例介绍redis的下载 下载地址:https://github.com/zkteco-home/redis-windows 也可以到百度网盘下载 链接:https://pan.baidu.com…

算法导论笔记:桶排序 线性时间完成

P112 8.4桶排序 总能线性时间完成 桶排序概念: 桶排序(Bucket Sort)又称箱排序,是一种比较常用的排序算法。其算法原理是将数组分到有限数量的桶里,再对每个桶分别排好序(可以是递归使用桶排序,…

MATLAB算法实战应用案例精讲-【优化算法】沙丁鱼优化算法(SOA)(附MATLAB代码实现)

前言 沙丁鱼优化算法(Sardine optimization algorithm,SOA)由Zhang HongGuang等人于2023年提出,该算法模拟沙丁鱼的生存策略,具有搜索能力强,求解精度高等特点。 沙丁鱼主要以浮游生物为食,这些生物包括细菌、腔肠动物、软体动物、原生动物、十足目、幼小藤壶、鱼卵、甲藻…

笔记--总线舵机YB-SD15M--stm32

文章目录 前言一、官方文档的理解1.发送格式2.命令地址 二、控制文件1.c2.h 文件 前言 使用stm32控制这个总线舵机。 舵机为总线舵机。一定要配合控制板一起用,不然只使用stm32无法控制。 一、官方文档的理解 1.发送格式 发送格式如下,其中的指令类型…

linux入门---信号的理解

目录标题 如何理解计算机中的信号如何查看计算机中的信号初步了解信号的保存和发送如何向目标进程发送信号情景一:使用键盘发送信号情景二:系统调用发送信号情景三:硬件异常产生信号情景四:软件条件产生信号 核心转储信号的两个问…

React项目部署 - Nginx配置

写在前面:博主是一只经过实战开发历练后投身培训事业的“小山猪”,昵称取自动画片《狮子王》中的“彭彭”,总是以乐观、积极的心态对待周边的事物。本人的技术路线从Java全栈工程师一路奔向大数据开发、数据挖掘领域,如今终有小成…

纯css实现3D鼠标跟随倾斜

老规矩先上图 为什么今天会想起来整这个呢?这是因为和我朋友吵架, 就是关于这个效果的,就是这个 卡片懸停毛玻璃效果, 我朋友认为纯css也能写, 我则坦言他就是在放狗屁,这种跟随鼠标的3D效果要怎么可能能用纯css写, 然后吵着吵着发现,欸,好像真能用css写哦,我以前还写过这种…

深度学习-卷积神经网络-AlexNET

文章目录 前言1.不同卷积神经网络模型的精度2.不同神经网络概述3.卷积神经网络-单通道4.卷积神经网络-多通道5.池化层6.全连接层7.网络架构8.Relu激活函数9.双GPU10.单GPU模型 1.LeNet-52.AlexNet1.架构2.局部响应归一化(VGG中取消了)3.重叠/不重叠池化4…

Nginx与Spring Boot的错误模拟实践:探索502和504错误的原因

文章目录 前言502和504区别---都是Nginx返回的access.log和error.log介绍SpringBoot结合Nginx实战502 and 504准备工作Nginx配置host配置SpringBoot 502模拟access.logerror.log 504模拟access.logerror.log 500模拟access.logerror.log 总结 前言 刚工作那会,最常…

beego-简单项目写法--后续放到git上

Beego案例-新闻发布系统 1.注册 后台代码和昨天案例代码一致。,所以这里面只写一个注册的业务流程图。 **业务流程图 ** 2.登陆 业务流程图 登陆和注册业务和我们昨天登陆和注册基本一样,所以就不再重复写这个代码 但是我们遇到的问题是如何做代码的迁移&…

Folium 笔记:MarkerCluster

在一张地图上以聚簇的形式显示大量的标记(markers) 举例: import folium from folium.plugins import MarkerCluster import randomm folium.Map(location[45.5236, -122.6750], zoom_start13) # 创建一个基本的地图marker_cluster Marker…