摘 要
老年人健康是社会关注的重点之一,随着我国人口老龄化程度的增加,老年人的健康问题逐渐凸显。为了更好地满足老年人的健康需求,提高医疗服务质量和效率,开发一个基于SpringBoot的老年人健康医疗信息服务平台是十分必要的。老年人健康医疗信息服务平台利用Java语言,通过springboot框架结合小程序技术,运用MySQL数据库进行开发,为用户提供了一个便捷、全面且友好的老年人健康医疗信息服务平台,运行并实现了系统用户、医院信息管理、体检预约管理、医生信息管理、就诊预约管理、病历信息管理、自愿工作者管理、工作者预约管理、系统管理、公告消息管理、资源管理等功能,满足了用户对于老年人健康服务的多样化需求,为老年人提供便捷的健康医疗信息服务,有助于提高获取医疗资源的效率和准确性。
关键词:Java;SpringBoot;MySQL;老年人健康医疗信息服务平台;小程序
Abstract
The health of the elderly is one of the key concerns of society. With the increasing aging population in China, the health issues of the elderly are gradually becoming prominent. In order to better meet the health needs of the elderly, improve the quality and efficiency of medical services, it is necessary to develop a SpringBoot based elderly health and medical information service platform. The elderly health and medical information service platform utilizes Java language, the Spring Boot framework, and mini program technology, developed using MySQL database, to provide users with a convenient, comprehensive, and friendly elderly health and medical information service platform. It runs and implements functions such as system users, hospital information management, physical examination appointment management, doctor information management, medical appointment management, medical record information management, volunteer worker management, worker appointment management, system management, announcement message management, and resource management, meeting the diverse needs of users for elderly health services. It provides convenient health and medical information services for the elderly, helping to improve the efficiency and accuracy of accessing medical resources.
Keywords: Java; SpringBoot; MySQL; Elderly Health and Medical Information Service Platform; Mini Program
目 录
第1章 绪 论
1.1 研究背景与意义
老年人健康问题日益凸显,我国人口老龄化进程加快,这老年人群体在人口结构中的比重不断增大,而老年人群体的健康问题也因此成为社会关注的焦点。随着人口老龄化的加剧,老年人的医疗需求和健康管理等方面的挑战也日益凸显。因此,开发一个基于SpringBoot的老年人健康医疗信息服务平台可以有效地提高老年人获取医疗资源的便捷性和准确性,满足老年人群体日益增长的医疗需求。
老年人健康医疗信息服务平台利用Java语言,通过springboot框架结合小程序技术,运用MySQL数据库进行开发,为用户提供了一个便捷、全面且友好的老年人健康医疗信息服务平台,运行并实现了系统用户、医院信息管理、体检预约管理、医生信息管理、就诊预约管理、病历信息管理、自愿工作者管理、工作者预约管理、系统管理、公告消息管理、资源管理等功能,满足了用户对于老年人健康服务的多样化需求,能够更好地整合医疗资源,提升医疗服务的协同性和质量,可以为老年人的健康管理提供重要支持,进一步推动老年人健康管理。
老年人健康医疗信息服务平台的开发不仅仅是针对老年人群体的个体健康管理,更是从社会整体层面出发,涉及医疗服务的有效整合、资源的高效利用以及社会组织的协同合作等方面。平台整合了医院、医生、体检等医疗资源,可以帮助医疗机构更好地分配医疗资源,提高服务效率和质量,并减少医疗资源的浪费。引入自愿工作者管理模块,鼓励社会志愿者参与老年人健康关怀工作,有助于激发社会各方的积极性,构建更加和谐、包容的社会环境。此外,通过该老年人健康医疗信息服务平台可以提高医疗服务的智能化水平,同时有助于推动医疗信息化建设,为未来医疗健康领域的发展奠定基础。综上所述,通过开发老年人健康医疗信息服务平台,可以从多个方面促进社会医疗服务的提升,推动医疗体系的现代化和智能化发展,对于社会各界以及老年人群体的福祉都具有重要意义。
1.2 国内外研究现状
老年人健康医疗信息服务平台的开发在国内外都备受关注,目前已经有一些相关研究成果和实践案例:
在国内,一些大型医院和医疗机构已经开始探索老年人健康医疗信息服务平台的开发和应用。例如,某些医院建立了老年人健康管理中心,通过信息化手段对老年人群体进行定期健康监测和管理。同时,一些科研机构也在积极研究如何利用大数据和人工智能技术提升老年人健康管理服务的水平。
国外方面,一些发达国家已经建立了较为完善的老年人健康管理信息服务平台。这些平台不仅提供个性化的健康管理服务,还将医疗资源整合在一起,实现医疗服务的跨机构协同。同时,一些科研机构也在积极探索如何通过新技术手段,如物联网、移动健康应用等,改善老年人群体的健康管理状况。
综合来看,国内外在老年人健康医疗信息服务平台的研究和实践方面均已取得一定成果,但仍有很大的发展空间和潜力。在未来,通过进一步整合医疗资源、提升服务水平、加强科技应用等方面的努力,老年人健康医疗信息服务平台有望在全球范围内发挥更大的作用,提升老年人的生活质量和健康水平。
1.3 论文章节安排
本文共有七章,如下所示。
第一章概述了老年人健康医疗信息服务平台的研究背景与意义,简要说明了国内外研究现状,最后给出了论文的组成结构。
第二章简要概述了本文所用的开发技术和工具。
第三章简要对系统各业务流程进行需求分析、可行性分析。
第四章对老年人健康医疗信息服务平台进行设计。
第五章对老年人健康医疗信息服务平台进行实现,并贴出相关页面截图,语言描述出具体功能实现的操作方法。
第六章对老年人健康医疗信息服务平台采用测试用例的方式来对一些主要功能模块测试,最后得出测试结果。
第七章总结。
第2章 相关技术介绍
2.1 Java编程语言
Java编程语言是一种面向对象的高级编程语言,具有良好的可移植性和广泛应用于企业级开发的特点。通过Java虚拟机(JVM),Java程序可以在不同操作系统上运行,而无需修改源代码。Java拥有丰富的类库和API,方便开发人员快速构建复杂的应用程序,并强调安全性和健壮性,通过内置的安全机制保护应用程序免受恶意代码攻击。其语法简洁易懂,支持面向对象编程的核心概念,并提供了强大的工具和开发环境。这些特点使得Java成为构建可靠、高效和跨平台的应用程序的首选语言之一。
2.2 SpringBoot框架介绍
Spring框架是Java平台上的一种开源应用框架,提供具有控制反转特性的容器。尽管Spring框架自身对编程模型没有限制,但其在Java应用中的频繁使用让它备受青睐,以至于后来让它作为EJB(EnterpriseJavaBeans)模型的补充,甚至是替补。Spring框架为开发提供了一系列的解决方案,比如利用控制反转的核心特性,并通过依赖注入实现控制反转来实现管理对象生命周期容器化,利用面向切面编程进行声明式的事务管理,整合多种持久化技术管理数据访问,提供大量优秀的Web框架方便开发等等。
2.3 MySQL数据库
数据库作为数据的存储地方是项目必须的,MySQL是一款非常优秀的关系型数据库,早期的MySQL并不是甲骨文公司的,后来才被他收购的。MySQL非常的小巧,安装包才几兆,sql语言的书写也比较容易学习,最重要的是MySQL同时也是一款开源的软件,所以不需要额外进行付费。
MySQL是一种常用的数据库管理系统,它可以帮助我们存储和管理大量的数据。它被广泛应用于各种网站和应用程序中。MySQL是一种可靠且易于使用的数据库管理系统。它具有开源性、灵活性、高性能、数据安全性和备份恢复功能等特点,为我们的应用程序和网站提供了可靠的数据存储和管理解决方案。
第3章 系统分析
3.1 可行性分析
3.1.1技术可行性
老年人健康医疗信息服务平台存储所使用的是Mysql数据库以及开发中所选择的是IDEA、Tomcat等这些开发工具,能够给本系统的编写工作带来许多的便利。系统使用springboot进行开发,使系统的可扩展性和维护性更佳,减少Java配置代码,简化编程代码,目前springboot也是很多用户选择的框架之一。小程序平台是目前全球最主流的移动操作系统之一,具有广泛的用户群体和成熟的开发工具和资源。MySQL是一种可靠的关系型数据库管理系统,具备良好的性能和稳定性。因此,在技术上实现一个基于springboot的老年人健康医疗信息服务平台是可行的。
3.1.2操作可行性
老年人健康医疗信息服务平台的注册与登陆页面设计简洁容易应用,可以通过最常见的页面窗口来登陆页面,并利用过计算机和移动设备实现登陆功能,因此使用者只要平时利用过计算机和移动设备都可以实现登陆应用。此操作系统的研发工作环境运用了Java技术,并运用了springboot架构,这些研发工作环境都使得此系统功能更为完整,使整个设计更为个性化,使用者功能也更为简洁方便。本管理系统具备了易于运行、容易管理、交互性较好的优点,在实际操作上也是非常简单的。所以,本管理系统也可进行商业设计。因此,在操作层面上,该项目是可行的
3.1.3经济可行性
在开发老年人健康医疗信息服务平台中所使用的开发软件像IDEA开发工具、Tomcat服务器、MySQL数据库、Photoshop图片处理软件等,这些都是开源免费的,开发工具都能够从网上都可以直接下载,这并且些环境在学校都进行了系统的学习,能够由开发者自己独立完成开发,并无需购买其他软件或端口等,Java技术具备广泛应用和丰富的资源库,开发者可以利用这些资源来实现所需的功能,也无需要额外花费。因此,在经济方面是可行的。
3.2 系统功能需求
3.2.1功能需求分析
springboot老年人健康医疗信息服务平台针对用户需求进行划分,主要分为普通用户、自愿用户、医生用户和管理员等四大模块,具体功能分析如下:
1、普通用户:
(1)注册登录:游客可以通过注册成为系统用户,使用账号密码可进行登录,使用系统功能.
(2)首页:普通用户可查看轮播图、医院信息、医生信息、自愿工作者、公告消息、健康资讯和其他推荐信息,并可使用其他系统功能。例如,可查看公告消息和健康资讯;搜索和浏览医院信息、医生信息、自愿工作者等信息,可在医院信息详情页预约体检,在医院信息详情页进行就诊预约操作,在自愿工作者详情页点击预约操作,预约工作者,并可收藏医院信息、医生信息、自愿工作者等信息.
(3)健康资讯:普通用户可查看管理员发布的所有健康资讯信息,支持搜索文章,点击可查看详情,进行点赞、收藏和评论.
(4)我的:普通用户可对基本信息、收藏、体检预约、就诊预约、病例信息、工作者预约等信息进行管控。例如,可在基本信息功能中修改密码和修改资料;可查看和删除自己的收藏信息;可查阅体检预约、就诊预约、病例信息、工作者预约等信息,并可对以上信息进行管理。
2、自愿用户
(1)登录:自愿用户账号密码由系统生成,可使用账号密码进行登录,使用系统功能,并可对个人信息和修改密码进行管控。
(2)自愿工作者管理:自愿用户可查看自己的自愿工作者信息,进行查询操作,支持工作标题、工作类型搜索,可点击查看详情。
(3)工作者预约管理:自愿用户可查看自己的工作者预约信息,进行查询操作,支持工作标题、工作类型、用户姓名搜索,可点击查看详情。
3、医生用户
(1)登录:医生用户账号密码信息由管理员添加,可使用添加的账号密码进行登录,使用系统功能,并可对个人信息和修改密码进行管控。
(2)医生信息管理:医生用户可查看自己的医生信息,进行查询操作,支持医生姓名、医生专业、医生擅长搜索,可点击查看详情。
(3)就诊预约管理:医生用户可查看自己的就诊预约信息,进行查询操作,支持医生姓名、医生专业、医生擅长、用户姓名搜索,可点击查看详情,并可点击录入病历。
(4)病历信息管理:医生用户可查看自己的病历信息,进行查询操作,支持医生姓名、医生专业、用户姓名搜索,可点击查看详情。
4、管理员
(1)登录:管理员账号密码由系统生成,可使用账号密码进行登录,使用系统功能,并可对个人信息和修改密码进行管控。
(2)系统用户:管理员可对普通用户、自愿用户、医生用户和管理员等系统用户信息进行管控,包括进行增删改查操作,点击可查看详情;自愿用户和医生用户的账号密码信息由管理员添加。
(3)医院信息管理:管理员可查看所有发布的医院信息,进行增改删查操作,支持医院名称、医院类型搜索,点击可查看详情。
(4)体检预约管理:管理员可查看所有体检预约信息,进行查询和删除操作,支持医院名称、医院类型、用户姓名搜索,点击可查看详情。
(5)医生信息管理:管理员可查看所有医生信息,进行增改删查操作,支持医生姓名、医生专业、医生擅长搜索,可点击查看详情。
(6)就诊预约管理:管理员可查看所有就诊预约信息,进行查询和删除操作,支持医生姓名、医生专业、医生擅长、用户姓名搜索,可点击查看详情,并可点击录入病历。
(7)病历信息管理:管理员可查看所有病历信息,进行查询和删除操作,支持医生姓名、医生专业、用户姓名搜索,可点击查看详情。
(8)自愿工作者管理:管理员可查看所有自愿工作者信息,进行增改删查操作,支持工作标题、工作类型搜索,可点击查看详情。
(9)工作者预约管理:管理员可查看所有工作者预约信息,进行查询和删除操作,支持工作标题、工作类型、用户姓名搜索,可点击查看详情。
(10)系统管理:管理员可对首页的轮播图进行管理,进行增删改查操作,支持标题搜索,可点击查看详情。
(11)公告消息管理:管理员可对所有的公告消息进行管理,进行增删改查操作,支持标题搜索,可点击查看详情。
(12)资源管理:管理员可对健康资讯和资讯分类进行管理,进行增删改查操作,健康资讯支持标题、标签、分类搜索,可点击查看详情和查看评论;资讯分类支持类型名称搜索。
3.2.2非功能性分析
老年人健康医疗信息服务平台的非功能性需求比如老年人健康医疗信息服务平台的安全性怎么样,可靠性怎么样,性能怎么样,可拓展性怎么样等。具体可以表示在如下3-1表格中:
表2.1 老年人健康医疗信息服务平台非功能需求表
安全性 | 主要指老年人健康医疗信息服务平台数据库的安装,数据库的使用和密码的设定必须合乎规范。 |
可靠性 | 可靠性是指老年人健康医疗信息服务平台能够安装用户的指示进行操作,经过测试,可靠性90%以上。 |
性能 | 性能是影响老年人健康医疗信息服务平台占据市场的必要条件,所以性能最好要佳才好。 |
可扩展性 | 比如数据库预留多个属性,比如接口的使用等确保了系统的非功能性需求。 |
易用性 | 用户只要跟着老年人健康医疗信息服务平台的页面展示内容进行操作,就可以了。 |
可维护性 | 老年人健康医疗信息服务平台开发的可维护性是非常重要的,经过测试,可维护性没有问题 |
3.3 系统用例
普通用户用例图如下所示。
图3-1 普通用户角色用例图
自愿用户用例图如下所示。
图3-2 自愿用户角色用例图
医生用户用例图如下所示。
图3-3 医生用户角色用例图
管理员用例图如下所示。
图3-4管理员角色用例图
3.4 系统流程分析
系统流程是用一些特定的符合和线条来进行演示用户在使用系统时的过程,在进行系统分析的时候,业务流程可以帮助开发人员更好的理解业务,发现错误,完善系统。
3.4.1数据新增流程
用户成功登入系统后就能够实现增加数据的操作,增加数据的编号由系统生成,用户不能随意填写,除了编号以外,其他增加信息用户自己填写,填写后的信息经过系统验证,验证通过后即可完成数据新增,数据新增的流程图如下图3-5所示。
图3-5 数据新增流程图
3.4.2数据删除流程
如果系统里面存在一些没有用的数据,相关的管理人员还可以对这些数据进行删除,数据删除时流程图如下图3-6所示。
图3-6 数据删除流程图
第4章 系统设计
4.1 总体目标
老年人健康医疗信息服务平台主要服务于高校的老年人健康医疗信息服务平台,利用网络改变传统设施报修管理模式,简化老年人健康医疗信息服务平台流程,减轻传统老年人健康医疗信息服务平台带来的工作负担和降低大量资源的消耗。本系统达到的目标主要有以下几点:
(1)通过简单的页面设计和便捷的功能操作,保证系统的简单性和实用性,形成良好的用户体验。
(2)本系统主要针对老年人健康医疗信息服务平台需求进行设计开发,突出较强的针对性。
(3)能够具有一定的安全机制,保证用户信息的安全性。
4.2 总体结构设计
层次框图是一系列由多层矩形框架组成的树,其顶部为矩形框架,表示整个数据结构,下方的长方形立方体表示独立的数据,下方的长方形表示该数据的实际数据(不能进行分割)。由于这个架构的精炼,层级方块图描述的资料结构也愈加详尽,这个模型很好地满足了需求分析的要求。首先对最上层的信息进行分类,然后在图表中的每个路径上重复地进行优化,直至完整的数据结构被确定。
系统的功能结构图如下图所示。
图4-2 系统功能结构图
4.3 数据库设计
4.3.1概念设计
根据老年人健康医疗信息服务平台分析结果,整个老年人健康医疗信息服务平台总体ER图如下图所示。
图4-3 总体E-R图
4.3.2逻辑设计
所有系统的应用数据相互区分。一旦在相应的系统中实现,它们将与自己相应的网络和服务器通信。所以这个系统可以连接这些数据。当我们选择桥梁截面时,以下将简要介绍如何建立系统。在单击上一个按键的时候,就会自动在对话框中弹出数据源的名字,之后再单击下一个按键时,就在填写相对应的身份验证和登录信息。按照系统功能设计的特点与职能模块的分类,老年人健康医疗信息服务平台的总体设计和实施过程一共涉及到了几个资料表格。以下就介绍了一些根据各类别主要数据库表的设计结构以及基本功能建立数据库表:
表access_token (登陆访问时长)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | token_id | int | 10 | 0 | N | Y | 临时访问牌ID | |
2 | token | varchar | 64 | 0 | Y | N | 临时访问牌 | |
3 | info | text | 65535 | 0 | Y | N | ||
4 | maxage | int | 10 | 0 | N | N | 2 | 最大寿命:默认2小时 |
5 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
6 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
7 | user_id | int | 10 | 0 | N | N | 0 | 用户编号: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | article_id | mediumint | 8 | 0 | N | Y | 文章id:[0,8388607] | |
2 | title | varchar | 125 | 0 | N | Y | 标题:[0,125]用于文章和html的title标签中 | |
3 | type | varchar | 64 | 0 | N | N | 0 | 文章分类:[0,1000]用来搜索指定类型的文章 |
4 | hits | int | 10 | 0 | N | N | 0 | 点击数:[0,1000000000]访问这篇文章的人次 |
5 | praise_len | int | 10 | 0 | N | N | 0 | 点赞数 |
6 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
7 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
8 | source | varchar | 255 | 0 | Y | N | 来源:[0,255]文章的出处 | |
9 | url | varchar | 255 | 0 | Y | N | 来源地址:[0,255]用于跳转到发布该文章的网站 | |
10 | tag | varchar | 255 | 0 | Y | N | 标签:[0,255]用于标注文章所属相关内容,多个标签用空格隔开 | |
11 | content | longtext | 2147483647 | 0 | Y | N | 正文:文章的主体内容 | |
12 | img | varchar | 255 | 0 | Y | N | 封面图 | |
13 | description | text | 65535 | 0 | Y | N | 文章描述 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | type_id | smallint | 5 | 0 | N | Y | 分类ID:[0,10000] | |
2 | display | smallint | 5 | 0 | N | N | 100 | 显示顺序:[0,1000]决定分类显示的先后顺序 |
3 | name | varchar | 16 | 0 | N | N | 分类名称:[2,16] | |
4 | father_id | smallint | 5 | 0 | N | N | 0 | 上级分类ID:[0,32767] |
5 | description | varchar | 255 | 0 | Y | N | 描述:[0,255]描述该分类的作用 | |
6 | icon | text | 65535 | 0 | Y | N | 分类图标: | |
7 | url | varchar | 255 | 0 | Y | N | 外链地址:[0,255]如果该分类是跳转到其他网站的情况下,就在该URL上设置 | |
8 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | auth_id | int | 10 | 0 | N | Y | 授权ID: | |
2 | user_group | varchar | 64 | 0 | Y | N | 用户组: | |
3 | mod_name | varchar | 64 | 0 | Y | N | 模块名: | |
4 | table_name | varchar | 64 | 0 | Y | N | 表名: | |
5 | page_title | varchar | 255 | 0 | Y | N | 页面标题: | |
6 | path | varchar | 255 | 0 | Y | N | 路由路径: | |
7 | position | varchar | 32 | 0 | Y | N | 位置: | |
8 | mode | varchar | 32 | 0 | N | N | _blank | 跳转方式: |
9 | add | tinyint | 3 | 0 | N | N | 1 | 是否可增加: |
10 | del | tinyint | 3 | 0 | N | N | 1 | 是否可删除: |
11 | set | tinyint | 3 | 0 | N | N | 1 | 是否可修改: |
12 | get | tinyint | 3 | 0 | N | N | 1 | 是否可查看: |
13 | field_add | text | 65535 | 0 | Y | N | 添加字段: | |
14 | field_set | text | 65535 | 0 | Y | N | 修改字段: | |
15 | field_get | text | 65535 | 0 | Y | N | 查询字段: | |
16 | table_nav_name | varchar | 500 | 0 | Y | N | 跨表导航名称: | |
17 | table_nav | varchar | 500 | 0 | Y | N | 跨表导航: | |
18 | option | text | 65535 | 0 | Y | N | 配置: | |
19 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
20 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | collect_id | int | 10 | 0 | N | Y | 收藏ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 收藏人ID: |
3 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
4 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
5 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
6 | title | varchar | 255 | 0 | Y | N | 标题: | |
7 | img | varchar | 255 | 0 | Y | N | 封面: | |
8 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | comment_id | int | 10 | 0 | N | Y | 评论ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 评论人ID: |
3 | reply_to_id | int | 10 | 0 | N | N | 0 | 回复评论ID:空为0 |
4 | content | longtext | 2147483647 | 0 | Y | N | 内容: | |
5 | nickname | varchar | 255 | 0 | Y | N | 昵称: | |
6 | avatar | varchar | 255 | 0 | Y | N | 头像地址:[0,255] | |
7 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
9 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
10 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
11 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | doctor_information_id | int | 10 | 0 | N | Y | 医生信息ID | |
2 | doctor_users | int | 10 | 0 | Y | N | 0 | 医生用户 |
3 | doctors_name | varchar | 64 | 0 | Y | N | 医生姓名 | |
4 | doctors_profession | varchar | 64 | 0 | Y | N | 医生专业 | |
5 | doctors_title | varchar | 64 | 0 | Y | N | 医生职称 | |
6 | doctors_excel_in | varchar | 64 | 0 | Y | N | 医生擅长 | |
7 | doctors_picture | varchar | 255 | 0 | Y | N | 医生图片 | |
8 | doctor_introduction | longtext | 2147483647 | 0 | Y | N | 医生简介 | |
9 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
10 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | doctor_users_id | int | 10 | 0 | N | Y | 医生用户ID | |
2 | doctors_name | varchar | 64 | 0 | Y | N | 医生姓名 | |
3 | doctors_gender | varchar | 64 | 0 | Y | N | 医生性别 | |
4 | doctors_age | varchar | 64 | 0 | Y | N | 医生年龄 | |
5 | examine_state | varchar | 16 | 0 | N | N | 已通过 | 审核状态 |
6 | user_id | int | 10 | 0 | N | N | 0 | 用户ID |
7 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | hits_id | int | 10 | 0 | N | Y | 点赞ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 点赞人: |
3 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
4 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
5 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
6 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
7 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | hospital_information_id | int | 10 | 0 | N | Y | 医院信息ID | |
2 | hospital_name | varchar | 64 | 0 | Y | N | 医院名称 | |
3 | hospital_type | varchar | 64 | 0 | Y | N | 医院类型 | |
4 | hospital_scale | varchar | 64 | 0 | Y | N | 医院规模 | |
5 | hospital_address | varchar | 64 | 0 | Y | N | 医院地址 | |
6 | hospital_description | text | 65535 | 0 | Y | N | 医院描述 | |
7 | hospital_cover | varchar | 255 | 0 | Y | N | 医院封面 | |
8 | hospital_introduction | longtext | 2147483647 | 0 | Y | N | 医院简介 | |
9 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
10 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表medical_record_information (病历信息)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | medical_record_information_id | int | 10 | 0 | N | Y | 病历信息ID | |
2 | doctor_users | int | 10 | 0 | Y | N | 0 | 医生用户 |
3 | doctors_name | varchar | 64 | 0 | Y | N | 医生姓名 | |
4 | doctors_profession | varchar | 64 | 0 | Y | N | 医生专业 | |
5 | doctors_title | varchar | 64 | 0 | Y | N | 医生职称 | |
6 | regular_users | int | 10 | 0 | Y | N | 0 | 普通用户 |
7 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
8 | appointment_time | datetime | 19 | 0 | Y | N | 预约时间 | |
9 | visit_content | text | 65535 | 0 | Y | N | 就诊内容 | |
10 | visit_results | text | 65535 | 0 | Y | N | 就诊结果 | |
11 | doctors_advice | text | 65535 | 0 | Y | N | 医生嘱咐 | |
12 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
13 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | notice_id | mediumint | 8 | 0 | N | Y | 公告id: | |
2 | title | varchar | 125 | 0 | N | N | 标题: | |
3 | content | longtext | 2147483647 | 0 | Y | N | 正文: | |
4 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
5 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
表physical_examination_appointment (体检预约)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | physical_examination_appointment_id | int | 10 | 0 | N | Y | 体检预约ID | |
2 | hospital_name | varchar | 64 | 0 | Y | N | 医院名称 | |
3 | hospital_type | varchar | 64 | 0 | Y | N | 医院类型 | |
4 | hospital_address | varchar | 64 | 0 | Y | N | 医院地址 | |
5 | regular_users | int | 10 | 0 | Y | N | 0 | 普通用户 |
6 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
7 | user_phone_number | varchar | 64 | 0 | Y | N | 用户电话 | |
8 | appointment_time | datetime | 19 | 0 | Y | N | 预约时间 | |
9 | appointment_remarks | varchar | 64 | 0 | Y | N | 预约备注 | |
10 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
11 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | praise_id | int | 10 | 0 | N | Y | 点赞ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 点赞人: |
3 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
4 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
5 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
6 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
7 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
8 | status | bit | 1 | 0 | N | N | 1 | 点赞状态:1为点赞,0已取消 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | regular_users_id | int | 10 | 0 | N | Y | 普通用户ID | |
2 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
3 | user_gender | varchar | 64 | 0 | Y | N | 用户性别 | |
4 | user_age | varchar | 64 | 0 | Y | N | 用户年龄 | |
5 | examine_state | varchar | 16 | 0 | N | N | 已通过 | 审核状态 |
6 | user_id | int | 10 | 0 | N | N | 0 | 用户ID |
7 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | slides_id | int | 10 | 0 | N | Y | 轮播图ID: | |
2 | title | varchar | 64 | 0 | Y | N | 标题: | |
3 | content | varchar | 255 | 0 | Y | N | 内容: | |
4 | url | varchar | 255 | 0 | Y | N | 链接: | |
5 | img | varchar | 255 | 0 | Y | N | 轮播图: | |
6 | hits | int | 10 | 0 | N | N | 0 | 点击量: |
7 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | upload_id | int | 10 | 0 | N | Y | 上传ID | |
2 | name | varchar | 64 | 0 | Y | N | 文件名 | |
3 | path | varchar | 255 | 0 | Y | N | 访问路径 | |
4 | file | varchar | 255 | 0 | Y | N | 文件路径 | |
5 | display | varchar | 255 | 0 | Y | N | 显示顺序 | |
6 | father_id | int | 10 | 0 | Y | N | 0 | 父级ID |
7 | dir | varchar | 255 | 0 | Y | N | 文件夹 | |
8 | type | varchar | 32 | 0 | Y | N | 文件类型 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | user_id | mediumint | 8 | 0 | N | Y | 用户ID:[0,8388607]用户获取其他与用户相关的数据 | |
2 | state | smallint | 5 | 0 | N | N | 1 | 账户状态:[0,10](1可用|2异常|3已冻结|4已注销) |
3 | user_group | varchar | 32 | 0 | Y | N | 所在用户组:[0,32767]决定用户身份和权限 | |
4 | login_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 上次登录时间: |
5 | phone | varchar | 11 | 0 | Y | N | 手机号码:[0,11]用户的手机号码,用于找回密码时或登录时 | |
6 | phone_state | smallint | 5 | 0 | N | N | 0 | 手机认证:[0,1](0未认证|1审核中|2已认证) |
7 | username | varchar | 16 | 0 | N | N | 用户名:[0,16]用户登录时所用的账户名称 | |
8 | nickname | varchar | 16 | 0 | Y | N | 昵称:[0,16] | |
9 | password | varchar | 64 | 0 | N | N | 密码:[0,32]用户登录所需的密码,由6-16位数字或英文组成 | |
10 | | varchar | 64 | 0 | Y | N | 邮箱:[0,64]用户的邮箱,用于找回密码时或登录时 | |
11 | email_state | smallint | 5 | 0 | N | N | 0 | 邮箱认证:[0,1](0未认证|1审核中|2已认证) |
12 | avatar | varchar | 255 | 0 | Y | N | 头像地址:[0,255] | |
13 | open_id | varchar | 255 | 0 | Y | N | 针对获取用户信息字段 | |
14 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
15 | vip_level | varchar | 255 | 0 | Y | N | 会员等级 | |
16 | vip_discount | double | 11 | 2 | Y | N | 0.00 | 会员折扣 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | group_id | mediumint | 8 | 0 | N | Y | 用户组ID:[0,8388607] | |
2 | display | smallint | 5 | 0 | N | N | 100 | 显示顺序:[0,1000] |
3 | name | varchar | 16 | 0 | N | N | 名称:[0,16] | |
4 | description | varchar | 255 | 0 | Y | N | 描述:[0,255]描述该用户组的特点或权限范围 | |
5 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
6 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
7 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
8 | register | smallint | 5 | 0 | Y | N | 0 | 注册位置: |
9 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
10 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | visit_appointment_id | int | 10 | 0 | N | Y | 就诊预约ID | |
2 | doctor_users | int | 10 | 0 | Y | N | 0 | 医生用户 |
3 | doctors_name | varchar | 64 | 0 | Y | N | 医生姓名 | |
4 | doctors_profession | varchar | 64 | 0 | Y | N | 医生专业 | |
5 | doctors_title | varchar | 64 | 0 | Y | N | 医生职称 | |
6 | doctors_excel_in | varchar | 64 | 0 | Y | N | 医生擅长 | |
7 | regular_users | int | 10 | 0 | Y | N | 0 | 普通用户 |
8 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
9 | user_phone_number | varchar | 64 | 0 | Y | N | 用户电话 | |
10 | appointment_time | datetime | 19 | 0 | Y | N | 预约时间 | |
11 | appointment_remarks | varchar | 64 | 0 | Y | N | 预约备注 | |
12 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
13 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | voluntary_users_id | int | 10 | 0 | N | Y | 自愿用户ID | |
2 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
3 | user_gender | varchar | 64 | 0 | Y | N | 用户性别 | |
4 | user_age | varchar | 64 | 0 | Y | N | 用户年龄 | |
5 | examine_state | varchar | 16 | 0 | N | N | 已通过 | 审核状态 |
6 | user_id | int | 10 | 0 | N | N | 0 | 用户ID |
7 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | volunteer_workers_id | int | 10 | 0 | N | Y | 自愿工作者ID | |
2 | voluntary_users | int | 10 | 0 | Y | N | 0 | 自愿用户 |
3 | job_title | varchar | 64 | 0 | Y | N | 工作标题 | |
4 | job_type | varchar | 64 | 0 | Y | N | 工作类型 | |
5 | working_hours | varchar | 64 | 0 | Y | N | 工作时间 | |
6 | appointment_notice | text | 65535 | 0 | Y | N | 预约须知 | |
7 | cover_photo | varchar | 255 | 0 | Y | N | 封面图片 | |
8 | introduction_information | longtext | 2147483647 | 0 | Y | N | 介绍信息 | |
9 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
10 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | worker_reservation_id | int | 10 | 0 | N | Y | 工作者预约ID | |
2 | voluntary_users | int | 10 | 0 | Y | N | 0 | 自愿用户 |
3 | job_title | varchar | 64 | 0 | Y | N | 工作标题 | |
4 | job_type | varchar | 64 | 0 | Y | N | 工作类型 | |
5 | working_hours | varchar | 64 | 0 | Y | N | 工作时间 | |
6 | appointment_notice | text | 65535 | 0 | Y | N | 预约须知 | |
7 | regular_users | int | 10 | 0 | Y | N | 0 | 普通用户 |
8 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
9 | user_phone_number | varchar | 64 | 0 | Y | N | 用户电话 | |
10 | appointment_time | datetime | 19 | 0 | Y | N | 预约时间 | |
11 | appointment_address | varchar | 64 | 0 | Y | N | 预约地址 | |
12 | appointment_remarks | text | 65535 | 0 | Y | N | 预约备注 | |
13 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
14 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
第5章 系统实现
5.1 登录注册模块的实现
5.1.1登录模块的实现
在登录界面输入账号+密码,完成验证,点击“登录”按钮,系统在用户数据库表中会对各个用户的账号进行匹配,账号+密码正确的话,就会登录到系统中各个用户的主管理界面,否则提示对应的信息,返回到登录的界面点击重置按钮,清空所填数据。界面如下图所示。
图5-1登录界面图
登录的逻辑代码如下所示。
/**
* 登录
* @param data
* @param httpServletRequest
* @return
*/
@PostMapping("login")
public Map<String, Object> login(@RequestBody Map<String, String> data, HttpServletRequest httpServletRequest) {
log.info("[执行登录接口]");
String username = data.get("username");
String email = data.get("email");
String phone = data.get("phone");
String password = data.get("password");
List resultList = null;
Map<String, String> map = new HashMap<>();
if(username != null && "".equals(username) == false){
map.put("username", username);
resultList = service.select(map, new HashMap<>()).getResultList();
}
else if(email != null && "".equals(email) == false){
map.put("email", email);
resultList = service.select(map, new HashMap<>()).getResultList();
}
else if(phone != null && "".equals(phone) == false){
map.put("phone", phone);
resultList = service.select(map, new HashMap<>()).getResultList();
}else{
return error(30000, "账号或密码不能为空");
}
if (resultList == null || password == null) {
return error(30000, "账号或密码不能为空");
}
//判断是否有这个用户
if (resultList.size()<=0){
return error(30000,"用户不存在");
}
User byUsername = (User) resultList.get(0);
Map<String, String> groupMap = new HashMap<>();
groupMap.put("name",byUsername.getUserGroup());
List groupList = userGroupService.select(groupMap, new HashMap<>()).getResultList();
if (groupList.size()<1){
return error(30000,"用户组不存在");
}
UserGroup userGroup = (UserGroup) groupList.get(0);
//查询用户审核状态
if (!StringUtils.isEmpty(userGroup.getSourceTable())){
String sql = "select examine_state from "+ userGroup.getSourceTable() +" WHERE user_id = " + byUsername.getUserId();
String res = String.valueOf(service.runCountSql(sql).getSingleResult());
if (res==null){
return error(30000,"用户不存在");
}
if (!res.equals("已通过")){
return error(30000,"该用户审核未通过");
}
}
//查询用户状态
if (byUsername.getState()!=1){
return error(30000,"用户非可用状态,不能登录");
}
String md5password = service.encryption(password);
if (byUsername.getPassword().equals(md5password)) {
// 存储Token到数据库
AccessToken accessToken = new AccessToken();
accessToken.setToken(UUID.randomUUID().toString().replaceAll("-", ""));
accessToken.setUser_id(byUsername.getUserId());
tokenService.save(accessToken);
// 返回用户信息
JSONObject user = JSONObject.parseObject(JSONObject.toJSONString(byUsername));
user.put("token", accessToken.getToken());
JSONObject ret = new JSONObject();
ret.put("obj",user);
return success(ret);
} else {
return error(30000, "账号或密码不正确");
}
}
5.1.2注册模块的实现
普通用户在注册界面上填写用户名+密码+确认密码+邮箱+头像+身份等必要信息,并点击注册按钮提交注册请求。为确保安全性,系统可能会要求用户输入验证码。如果填写信息有误或缺失,系统会提供相应的错误提示。注册界面还包含登录链接,方便已注册用户直接登录系统。界面如下图所示。
图5-2 注册界面界面
注册代码如下:
/**
* 注册
* @param user
* @return
*/
@PostM系统ing("register")
public Map<String, Object> signUp(@RequestBody User user) {
// 查询用户
Map<String, String> query = new HashMap<>();
Map<String,Object> map = JSON.parseObject(JSON.toJSONString(user));
query.put("username",user.getUsername());
List list = service.selectBaseList(service.select(query, new HashMap<>()));
if (list.size()>0){
return error(30000, "用户已存在");
}
map.put("password",service.encryption(String.valueOf(map.get("password"))));
service.insert(map);
return success(1);
}
5.2 前台用户模块的实现
5.2.1首页模块的实现
普通用户可查看轮播图、医院信息、医生信息、自愿工作者、公告消息、健康资讯和其他推荐信息,并可使用其他系统功能。例如,可查看公告消息和健康资讯;搜索和浏览医院信息、医生信息、自愿工作者等信息,可在医院信息详情页预约体检,在医院信息详情页进行就诊预约操作,在自愿工作者详情页点击预约操作,预约工作者,并可收藏医院信息、医生信息、自愿工作者等信息。
首页主界面如下图所示。
图5-3 首页界面
首页医院信息详情界面如下图所示。
图5-4 首页医院信息详情界面
首页医生信息界面如下图所示。
图5-5 首页医生信息主界面
首页自愿工作者详情界面如下图所示。
图5-6 首页自愿工作者详情界面
5.2.2我的模块的实现
普通用户可对基本信息、收藏、体检预约、就诊预约、病例信息、工作者预约等信息进行管控。例如,可在基本信息功能中修改密码和修改资料;可查看和删除自己的收藏信息;可查阅体检预约、就诊预约、病例信息、工作者预约等信息,并可对以上信息进行管理
例如,我的主界面如下图所示。
图5-7 我的主界面
例如,我的体检预约界面如下图所示。
图5-8 我的体检预约界面
5.3 后台管理模块的实现
5.3.1系统用户模块的实现
管理员可对普通用户、自愿用户、医生用户和管理员等系统用户信息进行管控,包括进行增删改查操作,点击可查看详情;自愿用户和医生用户的账号密码信息由管理员添加。界面如下图所示。
图5-9 系统用户界面
5.3.2医院信息管理模块的实现
管理员可查看所有发布的医院信息,进行增改删查操作,支持医院名称、医院类型搜索,点击可查看详情。界面如下图所示。
图5-10 医院信息管理添加界面
添加医院信息关键代码如下:
@PostMapping("/add")
@Transactional
public Map<String, Object> add(HttpServletRequest request) throws IOException {
service.insert(service.readBody(request.getReader()));
return success(1);
}
public Map<String, Object> addMap(Map<String,Object> map){
service.insert(map);
return success(1);
}
删除医院信息关键代码如下:
@RequestMapping(value = "/del")
@Transactional
public Map<String, Object> del(HttpServletRequest request) {
service.delete(service.readQuery(request), service.readConfig(request));
return success(1);
}
public void delete(Map<String,String> query,Map<String,String> config){
QueryWrapper wrapper = new QueryWrapper<E>();
toWhereWrapper(query, "0".equals(config.get(FindConfig.GROUP_BY)),wrapper);
baseMapper.delete(wrapper);
log.info("[{}] - 删除操作:{}",wrapper.getSqlSelect());
}
5.3.3体检预约管理模块的实现
管理员可查看所有体检预约信息,进行查询和删除操作,支持医院名称、医院类型、用户姓名搜索,点击可查看详情。界面如下图所示。
图5-11 体检预约管理界面
5.3.4医生信息管理模块的实现
管理员可查看所有医生信息,进行增改删查操作,支持医生姓名、医生专业、医生擅长搜索,可点击查看详情。医生用户只可查看自己的医生信息,进行查询操作。界面如下图所示。
图5-12 医生信息管理界面
5.3.5就诊预约管理模块的实现
管理员可查看所有就诊预约信息,进行查询和删除操作,支持医生姓名、医生专业、医生擅长、用户姓名搜索,可点击查看详情,并可点击录入病历。医生用户只可查看自己的就诊预约信息,进行查询操作。界面如下图所示。
图5-13 就诊预约管理界面
5.3.6自愿工作者管理模块的实现
管理员可查看所有自愿工作者信息,进行增改删查操作,支持工作标题、工作类型搜索,可点击查看详情。自愿用户只可查看自己的自愿工作者信息,进行查询操作。界面如下图所示。
图5-14 自愿工作者管理界面
5.3.7工作者预约管理模块的实现
管理员可查看所有工作者预约信息,进行查询和删除操作,支持工作标题、工作类型、用户姓名搜索,可点击查看详情。自愿用户只可查看自己的工作者预约信息,进行查询操作。界面如下图所示。
图5-15 工作者预约管理界面
5.3.8系统管理模块的实现
管理员可对首页的轮播图进行管理,进行增删改查操作,支持标题搜索,可点击查看详情。界面如下图所示。
图5-16 系统管理界面
第6章 系统测试
6.1 测试目的
在这个产品被投入使用前,首先需要进行试用,这是重要的环节。考虑到某个部分的开发没有缺陷情况下,把各种模块拼接,也有一定概率就存在矛盾。这就好比每个人都很独特,但聚在一起就显得杂乱无章,需要保证有默契的配合。对于测试,要看它的各项内容是否契合的原则。若与最初定下的标准有一定程度上的出入,那么就需要做出一些调整,让最终的大方向朝着目标前进。
测试是为了发现在开发的程序中所存在的问题,测试这一工作是非常艰巨的,而又是非常困难的,这一部分在程序的设计中占有很大比例,可以说一个程序的开发工作量要是占据了百分至六十,那么剩下的百分之四十必然是测试这一部分,甚至更高。
6.2 测试用例
6.2.1用户登录测试
用户登录功能测试用例如下表所示。
表6-1 登录测试用例
测试用例编号 | YL_01 | |
测试用例名称 | 系统使用者登录 | |
测试用例描述 | 登录者输入用户名、密码和验证码 | |
系统入口 | 浏览器 | |
步骤 | 预期结果 | 实际结果 |
输入正确的用户名、密码 | 提示“登录成功”,并进入系统 | 预期结果 |
输入错误的用户名、密码 | 提示“登录失败”,并返回登录界面 | 预期结果 |
不输入用户名、密码 | 提示“请输入完整” | 预期结果 |
6.2.2创建数据测试
在系统中,创建功能也是基础功能之一,因此创建功能的测试很有代表性。在此章节主要列举在创建时各种情况下系统结果的测试。由于系统涉及创建功能操作过多,因此将多处统称创建功能。
创建数据用例如下表所示。
表6-2 创建数据测试用例
测试用例编号 | YL_02 | |
测试用例名称 | 系统使用者进行创建数据 | |
测试用例描述 | 使用者输入要创建的数据 | |
系统入口 | 浏览器 | |
步骤 | 预期结果 | 实际结果 |
输入完整并且格式正确的数据 | 提示“创建成功”,并显示所有数据 | 预期结果 |
核心位置数据但非必要位置不输入数据 | 提示“创建成功”,并显示所有数据 | 预期结果 |
核心数据位置不输入数据 | 提示“创建失败” | 预期结果 |
6.2.3修改数据测试
在系统中,修改功能是系统主要实现功能,因此修改功能的测试很有代表性。在此章节主要列举在修改时各种情况下系统结果的测试。由于系统涉及修改功能操作过多,因此将多处数据表记录修改和状态修改统称修改功能。
修改数据用例如下表所示。
表6-3 修改数据测试用例
测试用例编号 | YL_03 | |
测试用例名称 | 系统使用者进行修改数据 | |
测试用例描述 | 使用者对可修改的数据项进行修改 | |
系统入口 | 浏览器 | |
步骤 | 预期结果 | 实际结果 |
将现有数据修改成正确的数据 | 提示“修改成功”,并显示所有数据 | 预期结果 |
将现有数据修改成错误的数据 | 提示“修改失败” | 预期结果 |
6.2.4删除数据测试
在系统中,会存在不少已经过期或不需要的数据,因此删除功能的测试很有代表性。在此章节主要列举在删除时各种情况下系统结果的测试。
删除数据用例如下表所示。
表6-4 删除数据测试用例
测试用例编号 | YL_04 | |
测试用例名称 | 系统使用者进行删除数据 | |
测试用例描述 | 全部删除以及输入关键词删除 | |
系统入口 | 浏览器 | |
步骤 | 预期结果 | 实际结果 |
在可删除的界面选择所有数据进行全部删除 | 显示是否确认删除,确认后删除成功 | 预期结果 |
在可删除的界面选择部分数据进行 | 显示是否确认删除,确认后删除成功 | 预期结果 |
没有选中任何数据 | 显示删除失败 | 预期结果 |
6.2.5查询数据测试
在系统中,查询功能是使用系统使用最多也是最基础的功能,因此查询功能的测试很有代表性。在此章节主要列举在查询时各种情况下系统结果的测试。
查询数据用例如下表所示。
表6-5 查询数据测试用例
测试用例编号 | YL_05 | |
测试用例名称 | 系统使用者进行查询数据 | |
测试用例描述 | 全部查询以及输入关键词查询 | |
系统入口 | 浏览器 | |
步骤 | 预期结果 | 实际结果 |
界面自动查询全部 | 显示对应所有记录 | 预期结果 |
输入已存在且能匹配成功的关键字 | 显示所查询到的数据 | 预期结果 |
输入不存在的关键字 | 显示数据界面为空 | 预期结果 |
6.3 测试结果
在本次测试的过程主要针对所有功能下的添加操作,修改操作,删除操作和查询,并以真实数据一一进行相关功能项目的输入,最终能够保证每个项目涉及的功能都是能够正常运行,因此能够保证本次设计的,已实现的功能能够正常运行并且相关数据库的信息也同样保证正确。
结 论
本次老年人健康医疗信息服务平台同现实老年人健康医疗信息服务平台工作进行相结合,在系统功能开始编码之前,作者花费了大量时间在图书馆内进行资料文献的收集和总结,通过大量文献的分析,能够发现,老年人健康医疗信息服务平台的方式在高校中扮演的位置是越来越重要,而使用的方式也是越来越多元化,也正是因为这个原因,作者深深的希望能够开发出一种专门针对高校的老年人健康医疗信息服务平台,以满足用户的需求。
在本次老年人健康医疗信息服务平台中,利用了目前市场上普遍使用的Java技术,以及数据库管理功能MySQL,和目前比较流行的SpringBoot框架,最后配合使用到了小程设计前台用户端,以现实生活的老年人健康医疗信息服务平台过程为标准,设计实现了包括且不限于用户注册、登录、系统用户、医院信息管理、体检预约管理、医生信息管理、就诊预约管理、病历信息管理、自愿工作者管理、工作者预约管理、系统管理、公告消息管理、资源管理等功能,并维护好后台的信息和整体系统的稳定性。
但是由于作者受到了技术水平的限制,在有限的时间,只能够将系统功能模拟时的功能实现,在许多功能方面仍然存在很大的弊端,而这些弊端需要不断的测试,不断的总结,不断的改进。例如本次系统设计中,在数据储存的方面并不够全面,很容易出现信息泄露的风险;例如针对用户权限的设置同样不够全面完整,没有考虑权限在实际情况的运用是否能够完美执行。而在这之后的日子里,作者将会继续学习Java技术和相关的信息技术,对系统功能进行更加完整的,详细的分析,将系统功能一一进行完善,帮助使用者完成相应的操作。
参考文献
[1]许义,周焕,刘佳.“候鸟”微信小程序设计与实现[J].电脑编程技巧与维护,2024,(02):60-64.DOI:10.16184/j.cnki.comprg.2024.02.038.
[2]范磊.小程序在当下移动互联网的应用研究[J].科技创新与品牌,2024,(02):76-79.
[3]李娇雅,汪济旭,李雨欣,等.基于微信小程序的远程医疗预约系统设计[J].集成电路应用,2024,41(02):78-79.DOI:10.19339/j.issn.1674-2583.2024.02.028.
[4]周旭东,徐金,王梁,等.基于微信小程序的老年人看护救助系统设计[J].无线互联科技,2024,21(03):20-24.
[5]张怡,姜玉琴.基于微信小程序的“校企社”联动社区药学服务模式构建与应用[J].中国药房,2024,35(01):107-111.
[6]周嘉文,冯士容,刘昕昌,等.“居安幸福里”智慧居家养老系统设计[J].现代信息科技,2023,7(22):36-39.DOI:10.19850/j.cnki.2096-4706.2023.22.008.
[7]屈晓,周挺,吴楷,等.一种SpringBoot基于嵌入式设备的辅助医疗App的设计与实现[J].电脑知识与技术,2023,19(29):55-58+66.DOI:10.14004/j.cnki.ckt.2023.1534.
[8]杨志俊,侯江华.基于SpringBoot的智慧养老系统设计[J].无线互联科技,2023,20(17):87-89.
[9]蔡洪和.基于微信小程序的卧床老人远程护理系统开发[D].南昌大学,2023.DOI:10.27232/d.cnki.gnchu.2023.002975.
[10]孔德辉.健康老龄化背景下社区老年人智慧养老服务需求的实证研究及微信小程序软件的研发[D].中国人民解放军陆军军医大学,2023.DOI:10.27001/d.cnki.gtjyu.2023.000334.
[11]刘超.医疗随访系统的设计与实现[D].长江大学,2023.DOI:10.26981/d.cnki.gjhsc.2023.000985.
[12]王兆霖.基于设计心理学的老年人健康医疗APP界面交互设计研究[D].吉林艺术学院,2023.DOI:10.27164/d.cnki.gjlyc.2023.000181.
[13]张兴兴.基于微信小程序的医院患者服务管理系统设计[J].信息与电脑(理论版),2023,35(03):144-146.
[14]于德慧.基于微信小程序的健康管理服务平台的开发与应用[J].电子技术与软件工程,2023,(03):45-49.
[15]徐震阳,王博,蒋效伟,等.多端融合的医疗健康平台设计与实现[J].现代信息科技,2023,7(01):115-118.DOI:10.19850/j.cnki.2096-4706.2023.01.031.
[16]Yang Y .Design and Implementation of Student Information Management System Based on Springboot[J].Advances in Computer, Signals and Systems,2022,6(6):
[17]王婷,陆克中,黄孝,等.基于微信小程序的个人健康管理系统设计[J].信息与电脑(理论版),2022,34(10):155-158.
[18]王曼维,杨荻,李岩,等.基于SpringBoot框架的智慧医疗问诊系统设计与实现[J].中国医学装备,2022,19(03):133-136.
[19]Awadalla M ,Kausar F ,Ahshan R .Developing an IoT Platform for the Elderly Health Care[J].International Journal of Advanced Computer Science and Applications (IJACSA),2021,12(4):
[20]马传宸.智慧医疗服务平台后端服务模块的设计与实现[D].南京大学,2020.DOI:10.27235/d.cnki.gnjiu.2020.002424.
致 谢
在此论文完成之际,感谢我的指导老师。在指导老师的网页设计课上,当时我学到了很多东西,这对于我实习过程中也打了一定的基础,而且指导老师对于我的设计也提出许多建议,并予以悉心的指导,对于一些细小的问题都耐心的指导我去完善,授予我写论文的心得,时常的鼓励我,另外感谢教导我完善此项目的前端同学,对于这个项目,我是边学习边实现完成的,有许多东西开始并不是很明白,但前端开发的同学非常耐心的引导我去将这个项目完成,在系统的后端开发中,所用到的后台开发技术也时常会给我讲解,助于我更好的将论文完成,在此对帮助到我的同学和一直予以教导的指导老师致以衷心的感谢,祝事业有成。
标签:10,varchar,预约,程序,用户,信息,源码,64,毕业设计 From: https://blog.csdn.net/BS53804/article/details/141597199免费领取项目源码,请关注❤点赞收藏并私信博主,谢谢-
免费领取项目源码,请关注❤点赞收藏并私信博主,谢谢-
免费领取项目源码,请关注❤点赞收藏并私信博主,谢谢-