基于全注解 SSM 和 Bootstrap 的两码一查系统

2024-01-14 12:30

本文主要是介绍基于全注解 SSM 和 Bootstrap 的两码一查系统,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Spring-_-Bear 的 CSDN 博客导航

文章目录

  • 一、快速开始
  • 二、背景调查
  • 三、需求分析
  • 四、系统设计
    • 4.1 数据库设计
      • 4.1.1 实体及属性
      • 4.1.2 实体间关系
      • 4.1.3 逻辑结构设计
    • 4.2 功能设计
  • 五、效果展示
    • 5.1 用户登录
    • 5.2 重置密码
    • 5.3 超级管理员
      • 5.3.1 导入班级
      • 5.3.2 添加主任
      • 5.3.3 班级管理
      • 5.3.4 角色修改
    • 5.4 学生
      • 5.4.1 图片上传
      • 5.4.2 修改密码
      • 5.4.3 历史记录
      • 5.4.4 个人资料
    • 5.5 班长
    • 5.6 班主任
    • 5.7 年级主任
      • 5.7.1 主任资料
      • 5.7.2 年级记录
  • 六、技术选型
  • 七、待办事项

开发时间SpringMyBatisBootstrap开源项目
22/06/02 - 22/09/155.3.13.5.73.4.1images-gather

一、快速开始

  1. 克隆仓库:使用 Git 克隆仓库或直接下载仓库压缩包到您的计算机来获取源代码。
  2. 打开工程:使用 IntelliJ IDEA 开发工具打开克隆的仓库或解压的工程文件,而后使用 Maven 项目构建工具更新工程模块依赖。
  3. 创建数据库并导入数据:登录 MySQL 控制台,创建一个名为 images_gather 的数据库,并将 document/sql/images_gather.sql 脚本中的建表语句和数据导入到 images_gather 数据库中。
  4. 修改配置:
    • 修改 src/main/webapp/static/js/gather-common.js 中的 contextPath 变量值,此为后端接口请求路径。
    • 修改 src/main/resources/jdbc.properties 文件中的数据库连接信息,设置你自己的数据库用户名和密码。
    • 修改 src/main/resources/email.properties 中的邮箱服务器信息,设置你自己的邮箱账号和服务器。
    • 修改 src/main/resources/qiniu.properties 中的七牛云配置信息,设置你自己的七牛云令牌信息。
    • 修改 src/main/resources/baidu.properties 中的百度地图配置信息,设置你自己的百度地图 IP 解析 URL。
  5. 部署访问:在 IntelliJ IDEA 中部署 Tomcat 并启动即可访问两码一查首页,需要注意工程上下文路径需与配置的后端接口请求路径相同。
  6. 登录系统:
    • 学生:用户名和密码均为 10086。
    • 班长:用户名和密码均为 10087。
    • 班主任:用户名和密码均为 10088。
    • 年级主任:用户名和密码均为 10089。
    • 超级管理员:用户名和密码均为 admin。

二、背景调查

2019 年底开始流行的新型冠状病毒(2019-nCoV)疫情给全世界人民带来了无法考量的灾难。新冠疫情泛滥两年多来,已夺走数百万条声明,世界经济几乎陷入停顿,习以为常的生活无法复原,损失极其惨重,全世界都在期盼疫情尽快结束,期待后疫情时代早日到来。

在全国人民众志成城地抗疫下,如今国内疫情形势得到了有效的控制。疫情初期由杭州市于 2020 年 2 月 11 日率先在全国推出的基于绿色、黄色和红色的健康码以个人健康数据为基础,由居民自主通过健康登记系统网上申报,结合新冠肺炎疫情相关数据进行比对核验,生成的个人专属二维码。该二维码作为个人在当地出入通行的一个电子凭证,实现一次申报,全市通用。

健康码的应用涵盖了社区管理、企业复工、交通出行、学校开学、买药登记、超市商场等使用场景,可以协助社区、企业、学校等做好防疫管理及疫情控制等重点工作。在疫情防控和复产复工中,健康码可以实现高效率的人员流动管理,在办公楼、商场、地铁、火车站等人流密集的地点提高过检效率,避免过多的人员接触和聚集。

2020 年 12 月 10 日,国家卫健委、国家医保局、国家中医药管理局联合发布《关于深入推进“互联网+医疗健康”“五个一”服务行动的通知》,明确要求各地落实 “健康码” 全国互认、一码通行。

2021 年 3 月 23 日,国家卫生健康委员会在发布会上介绍,全国基本实现了健康码的 “一码通行”。3 月 30 日,国家政务服务平台 “防疫健康码” 已整合 “通信大数据行程卡” 相关信息,可在健康码中显示用户是否去过中高风险地区等行程信息,助力健康码 “一码通行”。后续由国家政务服务平台推出的同行密接人员自查与健康码、行程码同属一类防疫工具,旨在为大众提供更加便捷的防疫信息查询和个人健康管理。

三、需求分析

如今,各高校内核酸采集检测已为常态化,使用核酸结果验证区域内是否存在患者的同时亦可以通过验证学生健康码、行程码、密接自查(后续简称为两码一查)数据信息的方式监测管理学生的健康状态。

经走访调查,湖北省武汉市某高校要求学生每日上传个人两码一查图片信息以配合防疫,该方式实际实施的过程中相当耗费学生精力。两码一查图片收集信息管理大致过程概述如下:首先由学生个人从健康码、行程码、密接查查询入口查询个人当天的健康信息并截图保存,而后按照统一格式要求对图片进行命名并打包发送给相关负责人。接下来由班长负责校验当天该班所有学生两码一查健康信息,需解压每一位同学的压缩包并依次点击查看两码一查图片信息,过程繁重琐碎易出错,班长还需要劳苦地核对有哪些同学尚未提交今日两码一查,需要对尚未上传同学进行督促并私聊该同学尽快上传两码一查图片信息,并且图片数据的保留保存问题也较为困难。

针对图片收集、文件命名、文件解压、信息查看管理等繁杂过程,我们的两码一查图片收集信息管理系统应运而生,旨在提高学生每日上传图片和信息管理的效率,愿景是减轻每一位同学的负担。主要功能包括由学生自主上传两码一查图片信息、自动规范化命名、后台自动校验健康信息是否存在异常、系统通过邮箱或短信方式自动提醒当天未完成同学、管理员查看班级上传信息、管理员对已上传同学的数据进行复核以及历史记录(上传和登录)查看等功能。该系统作为校园防疫健康信息管理的一站式解决方案,包括学院管理、班级管理、教师管理、学生管理、健康信息查询与统计等功能。

四、系统设计

4.1 数据库设计

4.1.1 实体及属性

  1. 用户:用户 ID,用户名,密码,电话,邮箱,用户类型,用户状态,姓名,性别,学校 ID,年级 ID,班级 ID,登录时间,创建时间
  2. 学校:学校 ID,校名
  3. 年级:年级 ID,年级名称
  4. 班级:班级ID,班级名称
  5. 上传记录:上传记录 ID,上传记录状态,上传时间,健康码本地 url,行程码本地 url,密接查本地 url,健康码云 url,行程码云 url,密接查云 url,用户 ID,创建时间
  6. 登录记录:登录记录 ID,IP,登录地点,登录时间,用户 ID
  7. 邮件记录:邮件记录 ID,邮箱,验证码,发送时间,用户ID

4.1.2 实体间关系

  1. 用户与学校:一个用户对应一个学校,一个学校下包含多个用户,故用户与学校间是多对一关系。
  2. 用户与年级:一个用户对应一个年级,一个年级下包含多个用户,故用户与年级间是多对一关系。
  3. 用户与班级:一个用户对应一个班级,一个班级下包含多个用户,故用户与班级间是多对一关系。
  4. 用户与上传记录:一个用户可以有多条上传记录,一条上传记录对应一个用户,所以用户与上传记录间是一对多关系。
  5. 用户与登录记录:一个用户可以有多条登录记录,一条登录记录对应一个用户,所以用户与登录记录间是一对多关系。
  6. 用户与邮件记录:一个用户可以有多条邮件记录,一条邮件记录对应一个用户,所以用户与邮件记录间是一对多关系。
  7. 学校与年级:一所学校下可有多个年级,一个年级对应一所学校,所以学校与年级间是一多对关系。
  8. 年级与班级:一个年级下可有多个班级,一个班级对应一个年级,所以年级与班级间是一对多关系。

4.1.3 逻辑结构设计

  1. 用户:用户 ID,用户名,密码,电话,邮箱,用户类型,用户状态,姓名,性别,学校 ID,年级 ID,班级 ID,登录时间,创建时间

    数据项数据类型
    id(主键、自增)int
    username(唯一索引)varchar(255)
    passwordchar(32)
    phonevarchar(255)
    emailvarchar(255)
    user_typeint
    user_statusint
    namevarchar(255)
    sexchar(2)
    school_id(外键)int
    grade_id(外键)int
    class_id(外键)int
    last_login_datetimedatetime
    create_datetimedatetime
  2. 上传记录:上传记录 ID,上传记录状态,上传时间,健康码本地 url,行程码本地 url,密接查本地 url,健康码云 url,行程码云 url,密接查云 url,用户 ID

    数据项数据类型
    id(主键、自增)int
    upload_statusint
    upload_datetimedatetime
    local_health_urlvarchar(255)
    local_schedule_urlvarchar(255)
    local_closed_urlvarchar(255)
    cloud_health_urlvarchar(255)
    cloud_schedule_urlvarchar(255)
    cloud_closed_urlvarchar(255)
    user_id(外键)int
  3. 登录记录:登录记录 ID,IP,登录地点,登录时间,用户 ID

    数据项数据类型
    id(主键、自增)int
    ipchar(15)
    locationvarchar(255)
    login_datetimedatetime
    user_id(外键)int
  4. 邮件记录:邮件记录 ID,邮箱,验证码,发送时间,用户 ID

    数据项数据类型
    id(主键、自增)int
    emailvarchar(255)
    codevarchar(255)
    delivery_datetimedatetime
    user_id(外键)int
  5. 学校:学校 ID,校名

    数据项数据类型
    id(主键、自增)int
    schoolvarchar(255)
  6. 年级:年级 ID,年级名称

    数据项数据类型
    id(主键、自增)int
    gradevarchar(255)
  7. 班级:班级ID,班级名

    数据项数据类型
    id(主键、自增)int
    class_namevarchar(255)

4.2 功能设计

在这里插入图片描述

五、效果展示

5.1 用户登录

  1. 用户名不存或密码:当用户选择登陆时进行用户名和密码正确性校验,当用户名不存在或密码错误时友好提示用户。
  2. 记住我:当用户勾选记住我并且输入的用户名和密码无误时,服务器将从响应头中告知浏览器保存用户名和密码信息到 Cookie 中,当用户下次登录系统时直接从 Cookie 中读取用户名和密码的值并自动填充到输入框中。
  3. 用户类型和用户状态判断,若用户状态异常或类型不存在则不允许用户使用系统。

在这里插入图片描述

5.2 重置密码

  1. 获取邮箱验证码时用户名非空校验,邮箱地址格式校验。
  2. 用户名和邮箱地址不匹配时不允许修改密码。
  3. 点击确认按钮时再次校验邮箱、用户名格式,额外校验验证码长度位数必须为 6 位,新密码长度不小于 6 位。
  4. 在用户点击确认按钮重置个人密码之前,必须点击获取按钮获取邮箱验证码。
  5. 邮箱验证码发送,用户填入正确的用户名和邮箱,即可请求服务器发送一封邮箱验证码邮件到个人邮箱中作为重置密码的身份校验。

在这里插入图片描述

5.3 超级管理员

5.3.1 导入班级

管理员可上传班级信息模板 Excel 文件,根据自定义的 sheet-bean-converter.jar 包完成 Excel 数据与 Java Bean 对象间的转换,后可将相应的学生数据转换为用户数据并批量导入到数据库中。

在这里插入图片描述

5.3.2 添加主任

管理员可填入年级主任信息并选择学校和班级,从而设置对应的年级主任用户账号。

在这里插入图片描述

5.3.3 班级管理

管理员可选择学校、年级、班级,后显示改班级下的所有学生,并供管理员修改学生类型的功能。

在这里插入图片描述

5.3.4 角色修改

管理员选择操作学生,并修改其用户角色,可修改为学生、班长或班主任。

在这里插入图片描述

5.4 学生

5.4.1 图片上传

  1. 选择个人健康码图片、行程码图片、密接查图片后方可上传。
  2. 图片上传完成,在服务器留存的同时在七牛云平台留存图片信息,数据安全双重保障。

在这里插入图片描述

5.4.2 修改密码

  1. 系统点击主页面右上角的改密按钮,弹出密码修改模态框。
  2. 新密码长度不小于 6 位且两次输入的新密码需保持一致,新密码与原密码一致时不允许修改。
  3. 服务端校验新旧密码是否一致,一致时不允许修改个人密码,原密码有误时亦不允许修改个人密码。

在这里插入图片描述

5.4.3 历史记录

  1. 今日上传记录查询,当用户一天内两次及以上登入系统时,若用户已完成图片上传显示已上传的两码一查图片信息,用户可以重新上传图片。

    在这里插入图片描述

  2. 个人历史登录记录数据分页查看,显示登录的时间、登录IP、地点(由百度地图开发者 API 提供解析服务)信息。

    在这里插入图片描述

  3. 上传记录查看,用户可查看已上传的两码一查图片信息,并提供图片查看的功能。

    在这里插入图片描述

5.4.4 个人资料

  1. 提供用户个人资料查看的入口即系统主页面点击【我的】可查看自己的详细信息。
  2. 个人信息修改,用户可以修改自己的性别、电话、邮箱等信息,修改过程中对信息进行校验,前后数据未发生变化、数据格式不正确则不允许修改。
  3. 个人信息修改成功,3s 后自动刷新页面。

在这里插入图片描述

5.5 班长

  1. 班长可查看班级上传记录,PC 端可查看最近 14 的上传记录,移动端查看最近 7 天的上传记录,分为未登录人员名单、登录未上传人员名单和已完成人员名单并生成各位同学的图片预览。
  2. 班长可点击日期链接下载该天该班级的两码一查上传情况,包含了已上传的图片数据和班级名单 README.txt。

在这里插入图片描述

5.6 班主任

班主任功能与班长类似,不同的是班主任无需跳转到上传页面且显示当前的登录信息,包含登录时间、地点、IP 等。

在这里插入图片描述

5.7 年级主任

5.7.1 主任资料

年级主任登录记录、我的资料、修改密码功能与班主任相同,唯一不同的是年级主任可查看年级上传记录。

在这里插入图片描述

5.7.2 年级记录

  1. 班级未上传信息概览。

    在这里插入图片描述

  2. 班级上传详情查看,点击对应班级即可查看该班人员信息,包含了未登录名单、未上传名单、已完成名单和图片概览。

    在这里插入图片描述

六、技术选型

前端技术
HTML5、CSS3、JavaScript、jQuery1.7.2、Bootstrap3.4.1、Ajax、正则表达式
后端技术
Spring5.3.1、SpringMVC5.3.1、MyBatis1.3.2、SpringTest5.3.1、JUnit4.12、Thymeleaf3.0.12、MySQL8.0.27、Druid1.1.15、Logback1.2.3、Lombok1.18.20、Jackson2.9.8、PageHelper5.2.0、Qiniu7.8.0、JavaxMail1.6.2、SheetBeanConverter1.0.0、Tomcat8.0.50、Maven3.8.4、Git2.35.1、百度地图 IP 归属地解析、网易邮箱验证码服务、七牛云平台数据存储
开发工具
IntelliJ IDEA2021.1、Visual Studio Code、Java1.8.0_311、MySQL8.0.28、Navicat16.0.13、Git2.35.1、Maven3.8.4、Tomcat8.0.50、CentOS7.6、XShell6、Xftp6、Typora1.3.6、Snipaste、ioDraw、XMind

七、待办事项

事项进度
密码加密传输和保存
支持多种登录方式(用户名、电话、邮箱)
后台管理功能设计实现
前后台真正意义上动静分离
年级上传记录分班级概览与详情查看
班级上传资料压缩下载(图片、名单)
负载均衡
持续化集成与部署
七牛云平台图片防盗(私有空间)
邮箱验证码的最大有效时间
Python 两码一查状态识别
请求发送邮件时增加人机验证
Redis 缓存提高系统并发能力

这篇关于基于全注解 SSM 和 Bootstrap 的两码一查系统的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/605154

相关文章

不懂推荐算法也能设计推荐系统

本文以商业化应用推荐为例,告诉我们不懂推荐算法的产品,也能从产品侧出发, 设计出一款不错的推荐系统。 相信很多新手产品,看到算法二字,多是懵圈的。 什么排序算法、最短路径等都是相对传统的算法(注:传统是指科班出身的产品都会接触过)。但对于推荐算法,多数产品对着网上搜到的资源,都会无从下手。特别当某些推荐算法 和 “AI”扯上关系后,更是加大了理解的难度。 但,不了解推荐算法,就无法做推荐系

基于人工智能的图像分类系统

目录 引言项目背景环境准备 硬件要求软件安装与配置系统设计 系统架构关键技术代码示例 数据预处理模型训练模型预测应用场景结论 1. 引言 图像分类是计算机视觉中的一个重要任务,目标是自动识别图像中的对象类别。通过卷积神经网络(CNN)等深度学习技术,我们可以构建高效的图像分类系统,广泛应用于自动驾驶、医疗影像诊断、监控分析等领域。本文将介绍如何构建一个基于人工智能的图像分类系统,包括环境

水位雨量在线监测系统概述及应用介绍

在当今社会,随着科技的飞速发展,各种智能监测系统已成为保障公共安全、促进资源管理和环境保护的重要工具。其中,水位雨量在线监测系统作为自然灾害预警、水资源管理及水利工程运行的关键技术,其重要性不言而喻。 一、水位雨量在线监测系统的基本原理 水位雨量在线监测系统主要由数据采集单元、数据传输网络、数据处理中心及用户终端四大部分构成,形成了一个完整的闭环系统。 数据采集单元:这是系统的“眼睛”,

嵌入式QT开发:构建高效智能的嵌入式系统

摘要: 本文深入探讨了嵌入式 QT 相关的各个方面。从 QT 框架的基础架构和核心概念出发,详细阐述了其在嵌入式环境中的优势与特点。文中分析了嵌入式 QT 的开发环境搭建过程,包括交叉编译工具链的配置等关键步骤。进一步探讨了嵌入式 QT 的界面设计与开发,涵盖了从基本控件的使用到复杂界面布局的构建。同时也深入研究了信号与槽机制在嵌入式系统中的应用,以及嵌入式 QT 与硬件设备的交互,包括输入输出设

JAVA智听未来一站式有声阅读平台听书系统小程序源码

智听未来,一站式有声阅读平台听书系统 🌟 开篇:遇见未来,从“智听”开始 在这个快节奏的时代,你是否渴望在忙碌的间隙,找到一片属于自己的宁静角落?是否梦想着能随时随地,沉浸在知识的海洋,或是故事的奇幻世界里?今天,就让我带你一起探索“智听未来”——这一站式有声阅读平台听书系统,它正悄悄改变着我们的阅读方式,让未来触手可及! 📚 第一站:海量资源,应有尽有 走进“智听

【区块链 + 人才服务】可信教育区块链治理系统 | FISCO BCOS应用案例

伴随着区块链技术的不断完善,其在教育信息化中的应用也在持续发展。利用区块链数据共识、不可篡改的特性, 将与教育相关的数据要素在区块链上进行存证确权,在确保数据可信的前提下,促进教育的公平、透明、开放,为教育教学质量提升赋能,实现教育数据的安全共享、高等教育体系的智慧治理。 可信教育区块链治理系统的顶层治理架构由教育部、高校、企业、学生等多方角色共同参与建设、维护,支撑教育资源共享、教学质量评估、

软考系统规划与管理师考试证书含金量高吗?

2024年软考系统规划与管理师考试报名时间节点: 报名时间:2024年上半年软考将于3月中旬陆续开始报名 考试时间:上半年5月25日到28日,下半年11月9日到12日 分数线:所有科目成绩均须达到45分以上(包括45分)方可通过考试 成绩查询:可在“中国计算机技术职业资格网”上查询软考成绩 出成绩时间:预计在11月左右 证书领取时间:一般在考试成绩公布后3~4个月,各地领取时间有所不同

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

计算机毕业设计 大学志愿填报系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点赞 👍 收藏 ⭐评论 📝 🍅 文末获取源码联系 👇🏻 精彩专栏推荐订阅 👇🏻 不然下次找不到哟~Java毕业设计项目~热门选题推荐《1000套》 目录 1.技术选型 2.开发工具 3.功能

基于 YOLOv5 的积水检测系统:打造高效智能的智慧城市应用

在城市发展中,积水问题日益严重,特别是在大雨过后,积水往往会影响交通甚至威胁人们的安全。通过现代计算机视觉技术,我们能够智能化地检测和识别积水区域,减少潜在危险。本文将介绍如何使用 YOLOv5 和 PyQt5 搭建一个积水检测系统,结合深度学习和直观的图形界面,为用户提供高效的解决方案。 源码地址: PyQt5+YoloV5 实现积水检测系统 预览: 项目背景