基于SpringBoot的养老社区医院网上挂号平台 毕业设计-附源码46391

摘 要

随着信息技术的飞速发展和人口老龄化趋势的加剧,传统的医疗挂号模式已难以满足现代养老社区的需求。因此,本文提出了一种基于SpringBoot框架的养老社区医院网上挂号平台。该平台旨在通过互联网技术,实现医疗资源的优化配置,提高挂号效率,为养老社区的居民提供更加便捷、高效的医疗服务。

本文首先介绍了SpringBoot框架的特点和优势,然后详细阐述了养老社区医院网上挂号平台的设计和实现过程。平台采用了前后端分离的开发模式,前端使用Vue.js框架进行开发,后端则基于SpringBoot框架进行搭建。数据库方面,平台选择了MySQL作为关系型数据库,以确保数据的稳定性和安全性。

在功能实现上,平台提供了用户注册、登录、系统用户、医生信息管理、信息挂号管理、科室类型管理、科室数据管理、医生排班管理、系统管理等功能。用户可以通过平台预约自己需要的医生和时间,避免了现场排队的繁琐过程。同时,平台还提供了多种支付方式,方便用户进行在线支付。医生和管理员则可以通过后台管理系统,对挂号信息进行管理和维护。

通过实际应用测试,本文验证了平台的可行性和稳定性。与传统的挂号模式相比,该平台具有更高的效率和更好的用户体验。同时,平台还具有可扩展性和可维护性,可以根据实际需求进行二次开发和功能扩展。

综上所述,本文设计的基于SpringBoot的养老社区医院网上挂号平台,为养老社区的居民提供了更加便捷、高效的医疗服务。该平台的成功应用,不仅提高了医疗资源的利用效率,也为智慧医疗的发展提供了新的思路和方向。

关键词:养老社区医院网上挂号平台;Vue;Spring Boot框架

An online registration platform for elderly care community hospitals based on SpringBoot

Abstract

With the rapid development of information technology and the increasing trend of aging population, the traditional medical registration model is no longer able to meet the needs of modern elderly care communities. Therefore, this article proposes an online registration platform for elderly care community hospitals based on the SpringBoot framework. The platform aims to optimize the allocation of medical resources, improve the registration efficiency and provide more convenient and efficient medical services for residents in elderly care communities through Internet technology.

This article first introduces the characteristics and advantages of the SpringBoot framework, and then elaborates in detail on the design and implementation process of the online registration platform for elderly care community hospitals. The platform adopts a front-end and back-end separation development mode, with the front-end developed using the Vue.js framework and the back-end built based on the SpringBoot framework. In terms of databases, the platform has chosen MySQL as the relational database to ensure the stability and security of the data.

In terms of functional implementation, the platform provides functions such as user registration, login, system user, doctor information management, information registration management, department type management, department data management, doctor scheduling management, and system management. Users can make appointments for the doctors and time they need through the platform, avoiding the tedious process of queuing on site. At the same time, the platform also provides multiple payment methods to facilitate users to make online payments. Doctors and administrators can manage and maintain registration information through the backend management system.

Through practical application testing, this article verifies the feasibility and stability of the platform. Compared to the traditional registration mode, this platform has higher efficiency and better user experience. At the same time, the platform also has scalability and maintainability, allowing for secondary development and functional expansion according to actual needs.

In summary, the online registration platform for elderly care community hospitals based on SpringBoot designed in this article provides more convenient and efficient medical services for residents of the elderly care community. The successful application of this platform not only improves the efficiency of medical resource utilization, but also provides new ideas and directions for the development of smart healthcare.

Key words:Online registration platform for elderly care community hospitals; Vue; Spring Boot framework

目  录

第1章 绪论

1.1 研究背景与意义

1.2 国内外研究现状

1.3 论文组成结构

第2章 系统分析

2.1 可行性分析

2.1.1 技术可行性

2.1.2 经济可行性

2.1.3 操作可行性

2.2 需求分析

2.3 系统用例分析

2.4 系统流程分析

第3章 系统设计

3.1 系统架构设计

3.2 系统功能结构

3.3 数据库设计

3.3.1 数据库E-R图设计

3.3.2 逻辑结构设计

第4章 系统实现

4.1 患者用户模块的实现

4.1.1 前台首页界面

4.1.2 用户注册界面

4.1.3 用户登录界面

4.1.4 医生信息界面

4.1.5 信息挂号界面

4.2 管理员功能模块的实现

4.2.1 管理员登录界面

4.2.2 管理员功能界面

4.2.3 系统用户管理界面

4.2.4医生信息管理界面

4.2.5 系统管理界面

4.3 医生用户模块的实现

4.3.1 信息挂号管理界面

4.3.2科室类型管理界面

第5章 系统测试

5.1系统测试的目的

5.2 系统测试用例

5.3 系统测试结果

第6章 总结与展望

参考文献

致谢

绪论

  1. 研究背景与意义

随着信息技术的不断进步和人口老龄化趋势的加剧,传统的医疗挂号模式已无法满足现代养老社区日益增长的需求。在这一背景下,基于SpringBoot的养老社区医院网上挂号平台应运而生,旨在通过互联网技术优化医疗资源配置,提高挂号效率,为养老社区的居民提供更加便捷、高效的医疗服务。

该平台的出现,不仅解决了传统挂号模式中存在的问题,如排队时间长、预约难度大、信息不透明等,还通过在线预约挂号,使患者能够方便快捷地选择就诊时间和医生,减少了等待时间,提高了就医体验。同时,医生和科室也能更好地管理和安排工作,提高了工作效率和医疗质量。此外,平台还可以统计接诊量和预约情况,为医院管理层提供决策依据,有助于提升医院的竞争力和构建和谐医疗环境。

总的来说,基于SpringBoot的养老社区医院网上挂号平台的研究背景与意义在于,它顺应了信息技术发展和人口老龄化趋势,通过互联网技术优化医疗资源配置,提高挂号效率,为患者提供更加便捷、高效的医疗服务,同时也为医院管理层提供决策支持,推动智慧医疗的发展。这一平台的研究与实践,对于改善医疗服务质量、提升患者就医体验、促进医疗行业的信息化发展具有重要意义。

    1. 国内外研究现状

国内研究现状:

在国内,随着信息技术的迅速发展和人口老龄化趋势的日益明显,养老社区医院网上挂号平台的需求也日益凸显。近年来,国内在智慧医疗、互联网医疗等领域的研究和实践取得了显著进展。许多医疗机构和科技公司纷纷投入资源,开发适合中国国情的养老社区医院网上挂号平台。这些平台大多基于SpringBoot等成熟、稳定的框架进行开发,确保系统的可扩展性、稳定性和安全性。同时,国内的研究还注重结合社区特点和居民需求,进行本地化改造和创新,以满足不同养老社区的需求。

国外研究现状:

在国外,尤其是发达国家,智慧医疗和互联网医疗的应用已经相对成熟。基于SpringBoot的养老社区医院网上挂号平台在国外也得到了广泛应用和研究。这些平台不仅具备基本的挂号、预约功能,还通过引入先进的技术手段,进一步提升了系统的智能化水平。例如,一些国外平台可以实时监测老人的健康状况,并为其提供个性化的照护服务。此外,国外的研究还注重保护用户隐私和数据安全,确保平台在提供便捷服务的同时,也符合相关法律法规的要求。

总结:

国内外在基于SpringBoot的养老社区医院网上挂号平台的研究和实践方面都取得了一定的成果。国内的研究更注重结合社区特点和居民需求进行本地化改造和创新,而国外的研究则更注重技术的先进性和智能化水平。未来,随着技术的不断进步和应用需求的不断提高,基于SpringBoot的养老社区医院网上挂号平台将在国内外得到更广泛的应用和发展。

    1. 论文组成结构

根据市场调研得到的信息数据,结合国内外前沿研究,利用相关系统开发和设计方法,最终设计出养老社区医院网上挂号平台。

本文共有七章,如下所示。

第一章概述了养老社区医院网上挂号平台的研究背景和意义;精炼地总结了国内外研究情况和未来的研究趋势,最后给出了论文的组成结构。

第二章简要对系统各业务流程进行需求分析、可行性分析。

第三章对养老社区医院网上挂号平台进行设计。

第四章对养老社区医院网上挂号平台进行实现,并贴出相关页面截图,语言描述出具体功能实现的操作方法。

第五章对养老社区医院网上挂号平台采用测试用例的方式来对一些主要功能模块测试,最后得出测试结果。

第六章总结全文并对未来的研究做出展望。

系统分析

  1. 可行性分析

在软件开发的过程中系统的可行性分析是必不可少的,可行性的研究就是评估问题是否能得到解决并且是要以最少的时间和最少的代价来解决。为实现上面的目标还要必须考虑到解决这些问题的方法的优点和缺点,还要考虑到实现了这些系统规模的开发带来的经济效益。这里可以用技术的可行性,操作的可行性,经济的可行性对我们的系统进行可行性的研究。养老社区医院网上挂号平台的可行性分析如下所示:

      1. 技术可行性

基于SpringBoot的养老社区医院网上挂号平台在技术上是完全可行的。SpringBoot以其简洁、快速和易于集成的特性,为快速构建稳定、可靠的Web应用程序提供了强大的支持。结合MySQL数据库技术,平台能够实现高效的数据存储和查询操作,确保系统数据的准确性和一致性。此外,SpringBoot与前端技术如Vue.js等能够无缝集成,实现前后端分离的开发模式,提高开发效率和系统的可维护性。因此,采用SpringBoot框架开发养老社区医院网上挂号平台,不仅技术上可行,而且能够确保系统的稳定性、可扩展性和易用性,满足养老社区医院的实际需求。

      1. 经济可行性

基于SpringBoot的养老社区医院网上挂号平台在经济上也是可行的。该平台能够显著降低养老社区医院的运营成本。传统的挂号模式需要大量的人力资源进行维护和管理,而网上挂号平台通过自动化和智能化的手段,可以减少人力投入,降低人工成本。平台还可以提高医疗资源的利用效率,减少资源浪费。通过在线预约和挂号,医院可以更加准确地预测和安排医生和科室的工作,避免资源的闲置和浪费。此外,平台还可以为医院带来更多的收入来源,如通过在线支付收取挂号费用等。综上所述,基于SpringBoot的养老社区医院网上挂号平台在经济上具有明显的优势,能够为养老社区医院带来经济效益,推动其可持续发展。

      1. 操作可行性

本系统是基于浏览器和服务器的养老社区医院网上挂号平台,系统开发完成之后用户只需要在浏览器中输入正确的URL地址即可进行访问。本系统的前台页面简单明了,在没有操作指导的情况下也可以进行操作,无论是系统管理员还是用户在页面中所有的操作都是在浏览器中完成的,因此只要电脑在有网络的情况下,打开浏览器都能操作。而且在使用之前也不用进行相关的环境配置,因此本系统方便、简单、易于使用,所以该系统是容易并且可操作的。

    1. 需求分析

在设计和构建基于SpringBoot的养老社区医院网上挂号平台之前,深入的需求分析和市场调研是至关重要的。这一环节旨在全面了解养老社区医院的服务需求、患者挂号就医的痛点,以及医疗机构的运营要求,确保平台能够精准地满足各方的实际需求。

明确用户需求:通过访谈、问卷调查和实地考察等多种方式,我们深入了解了养老社区中老年人的健康状况、就医习惯、技术接受度以及他们在挂号就医过程中遇到的主要问题和需求。同时,我们也与养老社区医院的管理人员和医生进行了深入沟通,探讨了如何通过技术提升挂号服务的效率和质量。

系统性能与界面设计:考虑到老年用户的特殊性,我们要求系统必须具备高度的稳定性和易用性。在界面设计上,我们追求简洁直观,确保老年用户能够轻松上手,无障碍地进行挂号操作。

业务流程与数据整合:我们深入分析了养老社区医院的挂号业务流程,确保平台能够无缝对接现有的医疗信息系统,实现数据的实时更新和共享。此外,我们还重视数据的安全性和隐私保护,采取严格的数据加密和访问控制措施,确保用户信息的安全。

持续迭代与优化:随着医疗服务的不断发展和用户需求的变化,网上挂号平台也需要不断地进行迭代和优化。我们将为平台提供持续的技术支持和更新服务,确保它能够始终满足用户的需求,为养老社区医院提供高效、便捷的挂号服务。

综上所述,基于SpringBoot的养老社区医院网上挂号平台旨在通过技术手段解决养老社区医院挂号服务中的实际问题,提升患者的就医体验和医疗机构的运营效率。我们期待这一平台能够为养老社区医院带来实质性的改变,让每一位老年患者都能享受到更加便捷、高效的挂号服务。

    1. 系统用例分析

患者用户有首页、医生信息、我的账户、个人中心(个人首页、信息挂号、收藏)等功能,角色用例如图2-1所示。

图2-1患者用户用例图

医生用户有后台首页、医生信息管理、信息挂号管理、科室类型管理、医生排班管理等功能,角色用例如图2-2所示。

图2-2医生用户用例图

管理员有后台首页、系统用户、医生信息管理、信息挂号管理、科室类型管理、科室数据管理、医生排班管理、系统管理等功能,角色用例如图2-3所示。

图2-3管理员用例图

    1. 系统流程分析

1)增加数据流程

系统中的所有用户(管理员、患者用户和医生用户)都可以实现增加数据功能,图2-4显示的就是在增加数据时的流程。

图2-4增加数据流程图

2)修改数据流程

在录入系统信息的时候如果信息有错,可以对系统中的数据进行编辑。图2-5显示的就是修改数据的流程。

图2-5修改数据流程图

3)删除数据流程

在系统中经常会出现一些过期的数据,那就可以直接删除这些数据,图2-6就是删除数据时的流程图。

图2-6删除数据流程图

  1. 系统设计
    1. 系统架构设计

由于本系统在逻辑事务处理方面对数据库的操作比较频繁所以系统在底层连接数据库时并没有使用原生的JDBC,而是把JDBC进行了封装,封装之后相当于一个连接数据库的工具DB UTIL,这样使用起来会更加方便而且这样进行封装还可以降低系统中代码的冗余,当我们需要连接和使用数据库时只需要调用这个工具里面的一个方法就可以了。而且通过封装可以把对数据库的操作独立起来,当需要连接不同种类的数据库时只需要加以修改就可以达到目的。

DAO层本来并无这个类,它只是java中MVC构造里的一个model概念,主要就是里面的一些方法,而这些方法就是用来访问数据库的方法。我们在软件开发时DAO层我们一般都放接口和接口的实现类,用于来规范实现类的我们叫它接口,实现类重点用于对数据库的操纵。

MVC是一种系统研发的关键模型,M是Model模型,它是系统内部关键程序运行的核心,主要进行对数据库的各种操作。视图View是V也叫做视图,主要的作用是对一些数据进行显示。控制器Controller 是C执行从View的视图层来读取数据,然后控制用户的输入。

系统架构如下图所示。

图3-1系统架构图

    1. 系统功能结构

进入系统后首先要进行登录,验证你的身份,赋予你不同的权限。当你成功登录后,页面会有多个板块,分别是后台首页、系统用户、医生信息管理、信息挂号管理、科室类型管理、科室数据管理、医生排班管理、系统管理。里面界面简单易懂,根据标示可以直接进行方便快捷的操作。

系统功能结构图如下所示。

图3-2系统功能结构图

    1. 数据库设计

一个好的系统它的后台数据库一定要考虑的全面,这和我们建造房子一个概念,房子不是随心所欲建起来的,一切都是在合理设计的基础是实现的,地基打牢固了房子才能建的更高。数据库如果设计的很合理,而且每个方面都能考虑到了那么这个系统才能不会出现大的问题。

一个好的数据库可以关系到程序开发的优劣,数据库设计离不开表结构的设计,还有表与表之间的联系,以及系统开发需要设计的数据表内容等信息。在进行数据库设计期间,要结合实际情况来对数据库进行针对性的开发设计。

      1. 数据库E-R图设计

本养老社区医院网上挂号平台采用的是mysql数据库,数据存储快,因为养老社区医院网上挂号平台,主要的就是对信息的管理,信息内容比较多,这就需要好好的设计一个好的数据库,分类要清楚,不能添加信息的时候,造成信息太过混乱,设计好的数据库首先就需要先把各个实体之间的关系表达明确,

系统的主要实体间关系E-R图如下图所示。

图3-3系统E-R图

      1. 逻辑结构设计

此环节把概念转变成数据。由于整个数据库所处理的信息过多,就只展示以下几个表。

表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

用户编号:

表auth (用户权限管理)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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

更新时间:

表collect (收藏)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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

更新时间:

表comment (评论)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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:

表department_data (科室数据)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

department_data_id

int

10

0

N

Y

科室数据ID

2

statistical_date

date

10

0

Y

N

统计日期

3

department_name

varchar

64

0

Y

N

科室名称

4

number_of_registered_persons

int

10

0

Y

N

0

挂号人数

5

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

6

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表department_type (科室类型)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

department_type_id

int

10

0

N

Y

科室类型ID

2

type_name

varchar

64

0

Y

N

类型名称

3

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表doctor_information (医生信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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

sitting_consultation_department

varchar

64

0

Y

N

坐诊科室

5

doctors_photo

varchar

255

0

Y

N

医生照片

6

doctors_title

varchar

64

0

Y

N

医生职称

7

doctors_gender

varchar

64

0

Y

N

医生性别

8

doctor_introduction

text

65535

0

Y

N

医生简介

9

sitting_time

varchar

64

0

Y

N

坐诊时间

10

registration_amount

int

10

0

Y

N

0

挂号金额

11

registration_remarks

varchar

64

0

Y

N

挂号备注

12

hits

int

10

0

N

N

0

点击数

13

praise_len

int

10

0

N

N

0

点赞数

14

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

15

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表doctor_scheduling (医生排班)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

doctor_scheduling_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

schedule_period

varchar

64

0

Y

N

班表周期

5

picture_of_class_schedule

varchar

255

0

Y

N

班表图片

6

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

7

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表doctor_users (医生用户)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

doctor_users_id

int

10

0

N

Y

医生用户ID

2

doctors_name

varchar

64

0

Y

N

医生姓名

3

doctors_phone_number

varchar

64

0

Y

N

医生电话

4

doctors_gender

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

更新时间

表hits (用户点击)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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:

表information_registration (信息挂号)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

information_registration_id

int

10

0

N

Y

信息挂号ID

2

patient_users

int

10

0

Y

N

0

患者用户

3

patient_name

varchar

64

0

Y

N

患者姓名

4

doctor_users

int

10

0

Y

N

0

医生用户

5

doctors_name

varchar

64

0

Y

N

医生姓名

6

sitting_consultation_department

varchar

64

0

Y

N

坐诊科室

7

appointment_number

varchar

64

0

Y

N

预约号码

8

appointment_time

datetime

19

0

Y

N

预约时间

9

registration_amount

varchar

64

0

Y

N

挂号金额

10

appointment_remarks

varchar

64

0

Y

N

预约备注

11

examine_state

varchar

16

0

N

N

未审核

审核状态

12

examine_reply

varchar

16

0

Y

N

审核回复

13

pay_state

varchar

16

0

N

N

未支付

支付状态

14

pay_type

varchar

16

0

Y

N

支付类型: 微信、支付宝、网银

15

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

16

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表patient_users (患者用户)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

patient_users_id

int

10

0

N

Y

患者用户ID

2

patient_name

varchar

64

0

Y

N

患者名字

3

patient_phone_number

varchar

64

0

Y

N

患者电话

4

patient_address

varchar

64

0

Y

N

患者地址

5

patient_gender

varchar

64

0

Y

N

患者性别

6

id_number

varchar

64

0

Y

N

身份证号

7

examine_state

varchar

16

0

N

N

已通过

审核状态

8

user_id

int

10

0

N

N

0

用户ID

9

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表praise (点赞)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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已取消

表slides (轮播图)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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

更新时间:

表upload (文件上传)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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

文件类型

表user (用户账户:用于保存用户登录信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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

email

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

会员折扣

表user_group (用户组:用于用户前端身份和鉴权)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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. 系统实现
    1. 患者用户模块的实现

4.1.1 前台首页界面

进入系统首页,系统以上中下的布局进行展示,首先映入眼帘的是系统的导航栏,下面是医生信息推荐,其主界面展示如下图所示。

图4-1 前台首页界面图

4.1.2 用户注册界面

用户注册:当用户想要进入系统中对信息进行查看的时候,就必须要登录到系统当中,要是新的用户没有系统的账号的话,点击“注册”按钮,就会进入到新用户注册这个界面上,用户输入对应的账号(必须填写)+密码(必须填写)+确认密码(必须填写,而且要与密码一直)+昵称+邮箱+性别+年龄+联系电话+选择用户身份等等,然后点击“注册”,系统在用户这一数据库中会查询账号是不是存在,两次密码是不是一样,都填写正确就会注册成功,然后再进行登录,如果是之前已经注册过的用户很长时间没有使用,忘记密码,也可以点击“忘记密码”进行找回。用户注册界面如下图所示。

图4-2 用户注册界面图

注册代码如下:

public String encryption(String plainText) {

        String re_md5 = new String();

        try {

            MessageDigest md = MessageDigest.getInstance("MD5");

            md.update(plainText.getBytes());

            byte b[] = md.digest();

            int i;

            StringBuffer buf = new StringBuffer("");

            for (int offset = 0; offset < b.length; offset++) {

                i = b[offset];

                if (i < 0)

                    i += 256;

                if (i < 16)

                    buf.append("0");

                buf.append(Integer.toHexString(i));

            }

            re_md5 = buf.toString();

        } catch (Exception e) {

            e.printStackTrace();

        }

        return re_md5;

}

4.1.3 用户登录界面

系统中的前台上注册后的用户是可以通过自己的账户名和密码进行登录的,当用户输入完整的自己的账户名和密码信息并点击“登录”按钮后,将会首先验证输入的有没有空数据,再次验证输入的账户名+密码和数据库中当前保存的用户信息是否一致,只有在一致后将会登录成功并自动跳转到系统的首页中;否则将会提示相应错误信息。用户登录界面如下图所示。

图4-3注册用户登录界面图

登录代码如下:

/**

     * 登录

     * @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.selectBaseList(service.select(map, new HashMap<>()));

        }

        else if(email != null && "".equals(email) == false){

            map.put("email", email);

            resultList = service.selectBaseList(service.select(map, new HashMap<>()));

        }

        else if(phone != null && "".equals(phone) == false){

            map.put("phone", phone);

            resultList = service.selectBaseList(service.select(map, new HashMap<>()));

        }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.selectBaseList(userGroupService.select(groupMap, new HashMap<>()));

        if (groupList.size()<1){

            return error(30000,"用户组不存在");

        }

        UserGroup userGroup = (UserGroup) groupList.get(0);

        //查询用户审核状态

        if (!StringUtils.isEmpty(userGroup.getSourceTable())){

            String res = service.selectExamineState(userGroup.getSourceTable(),byUsername.getUserId());

            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());

            Duration duration = Duration.ofSeconds(7200L);

            redisTemplate.opsForValue().set(accessToken.getToken(), accessToken,duration);

            // 返回用户信息

            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, "账号或密码不正确");

        }

    }

4.1.4 医生信息界面

当用户点击“医生信息”这一菜单按钮,会显示管理员在后台发布的所有的医生信息,支持通过关键词对医生进行搜索,选择需要的医生信息点击可以进入到医生信息详细的介绍界面进行查看,医生信息界面如下图所示。

图4-4医生信息界面图

4.1.5 信息挂号界面

当用户点击个人中心“信息挂号”这一菜单按钮,提供患者用户进行医生挂号的功能,包括选择医生、选择就诊时间、选择就诊科室等,确保患者可以方便快捷地进行挂号预约。还可以对挂号进行支付。信息挂号界面如下图所示。

图4-5信息挂号界面图

    1. 管理员功能模块的实现 

4.2.1 管理员登录界面

管理员进入到系统登录界面,需要填写正确的登录名、密码等信息输入准确无误后登录进入到系统操作界面。管理员的账号是在数据表表中直接设置生成的,不需要进行注册;修改密码:管理员可以随时修改自己进入系统的登录密码,以保证系统的安全性。管理员登录界面如下图所示。

图4-6管理员登录界面图

4.2.2 管理员功能界面

管理员可以查看后台首页、系统用户、医生信息管理、信息挂号管理、科室类型管理、科室数据管理、医生排班管理、系统管理等,并且可以根据需要进行相应的操作。管理员功能界面如下图所示。

图4-7管理员功能界面图

4.2.3 系统用户管理界面

管理员可以对系统中所有的用户角色进行管控,包含了管理员、患者用户、医生用户这三种角色,如果需要添加新的用户,点击页面中的“添加”按钮根据提示输入上用户信息,点击“提交”以后在对应的用户界面就可以查看到了,可以点击用户后面的“删除”按钮直接删除某一用户。系统用户管理界面如下图所示。

4-8系统用户管理界面图

4.2.4医生信息管理界面

管理员可以管理医院所有医生的信息,包括添加新医生、编辑医生信息、删除医生信息等,确保医生信息的准确性和完整性。医生信息管理界面如下图所示。

图4-9医生信息管理界面图

4.2.5 系统管理界面

管理员可以对系统前台展示的轮播图进行增删改查,方便用户进行查看。系统管理界面如下图所示。

图4-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);

 }

    1. 医生用户模块的实现

4.3.1 信息挂号管理界面

提供医生用户查看和审核患者的挂号信息,包括预约时间、挂号金额、医生姓名等,便于医生了解患者的就诊安排。信息挂号管理界面如下图所示。

图4-11信息挂号管理表界面

4.3.2科室类型管理界面

允许医生用户查询、重置、添加和删除科室类型,界面如下图所示。

图4-12科室类型管理界面图

系统测试

5.1系统测试的目的

系统开发到了最后一个阶段那就是系统测试,系统测试对软件的开发其实是非常有必要的。因为没什么系统一经开发出来就可能会尽善尽美,再厉害的系统开发工程师也会在系统开发的时候出现纰漏,系统测试能够较好的改正一些bug,为后期系统的维护性提供很好的支持。通过系统测试,开发人员也可以建立自己对系统的信心,为后期的系统版本的跟新提供支持。

5.2 系统测试用例

系统测试包括:用户登录功能测试、医生信息查看功能测试、科室类型添加、医生信息搜索、密码修改功能测试,如表5-1、5-2、5-3、5-4、5-5所示:

用户登录功能测试:

表5-1 用户登录功能测试表

用例名称

用户登录系统

目的

测试用户通过正确的用户名和密码可否登录功能

前提

未登录的情况下

测试流程

1) 进入登录页面

2) 输入正确的用户名和密码

预期结果

用户名和密码正确的时候,跳转到登录成功界面,反之则显示错误信息,提示重新输入

实际结果

实际结果与预期结果一致

医生信息查看功能测试:

表5-2医生信息查看功能测试表

用例名称

医生信息查看

目的

测试医生信息查看功能

前提

用户登录

测试流程

点击医生信息列表

预期结果

可以查看到所有医生信息

实际结果

实际结果与预期结果一致

管理员添加科室类型界面测试:

表5-3 管理员添加科室类型界面测试表

用例名称

科室类型添加测试用例

目的

测试科室类型添加功能

前提

管理员正常登录情况下

测试流程

1)管理员点击科室类型添加,填写信息。

2)点击进行提交。

预期结果

提交以后,科室类型列表会显示新的科室类型

实际结果

实际结果与预期结果一致

医生信息搜索功能测试:

表5-4医生信息搜索功能测试表

用例名称

医生信息搜索测试

目的

测试医生信息搜索功能

前提

测试流程

1)在搜索框填入搜索关键字。

2)点击搜索按钮。

预期结果

页面显示包含有搜索关键字的医生信息

实际结果

实际结果与预期结果一致

密码修改功能测试:

表5-5 密码修改功能测试表

用例名称

密码修改测试用例

目的

测试管理员密码修改功能

前提

管理员用户正常登录情况下

测试流程

1)管理员密码修改并完成填写。

2)点击进行提交。

预期结果

使用新的密码可以登录

实际结果

实际结果与预期结果一致

                                                5.3 系统测试结果

通过编写养老社区医院网上挂号平台的测试用例,已经检测完毕用户登录模块、医生信息查看模块、科室类型添加模块、医生信息搜索模块、密码修改功能测试,通过这5大模块为养老社区医院网上挂号平台的后期推广运营提供了强力的技术支撑。

总结与展望

在大学的这几年里,我深入学习了软件开发和信息技术,而这次养老社区医院网上挂号平台的实现,正是对我所学知识的全面检验。这个智能化、高效便捷的挂号平台,旨在解决养老社区医院在挂号服务中遇到的种种问题,提升患者和医疗机构的体验与效率。

整个平台的开发过程历时一个学期,我运用了SpringBoot框架、Vue.js前端技术,以及MySQL数据库,精心设计了各个功能模块。从用户注册登录、科室医生选择、挂号时间预约,到支付确认、挂号信息查询等,每个步骤都经过反复推敲和测试,确保流程的顺畅和功能的完善。

在开发过程中,我遇到了不少挑战和困难,如数据的安全性和隐私保护、系统的稳定性和性能优化等。但通过不断学习和探索,我逐渐找到了解决方案,并积累了丰富的实践经验。

平台的实现让我深刻体会到,软件开发不仅是技术的运用,更是对问题的深入理解和解决方案的创新。在这个过程中,我不仅巩固了大学所学的理论知识,还提升了动手实践能力和解决问题的能力。

看着这个逐渐完善的系统,我深感自豪和满足。它不仅是我大学期间的一次重要成果,也是我对未来职业生涯的坚定信心的来源。我相信,随着技术的不断进步和需求的不断变化,我将能够设计出更加先进、更加完善的系统,为人们的生活带来更多便利和惊喜。

                                                             参考文献

[1]Sartika D A R ,Wirawan F ,Putri N P , et al.Association between Iron-Folic Acid Supplementation during Pregnancy and Maternal and Infant Anemia in West Java, Indonesia: A Mixed-Method Prospective Cohort Study.[J].The American journal of tropical medicine and hygiene,2024,

[2]Nugroho S ,Uehara T .Navigating Crisis: Insights into the Depletion and Recovery of Central Java’s Freshwater Eel ( Anguillaspp.) Stocks[J].Sustainability,2024,16(4):

[3]IBNUDARDA R ,FARAJALLAH A ,PERWITASARI D , et al.Female reciprocal calling of pearly tree frog (Nyctixalus margaritifer Boulenger, 1882) in West Java, Indonesia[J].Zootaxa,2024,5410(2):297-300.

[4]Rahmawati B R ,Hardiwinoto S ,Widiyatno, et al.Productivity of Clonal Teak Plantation Under Different Spacing and Thinning Intensity in Java Monsoon Forest[J].IOP Conference Series: Earth and Environmental Science,2024,1299(1):

[5]税俊洁,王黎光.基于微信小程序的医院预约挂号系统的设计与实现[J].电脑编程技巧与维护,2023,(10):64-67.DOI:10.16184/j.cnki.comprg.2023.10.033.

[6]游国强.网上预约挂号系统的设计与实现[D].华中科技大学,2022.DOI:10.27157/d.cnki.ghzku.2022.004182.

[7]巩蕾.医院挂号预约管理系统设计[J].电脑编程技巧与维护,2022,(02):66-68+80.DOI:10.16184/j.cnki.comprg.2022.02.033.

[8]闫凤玲,钟肖肖,黄雪,等.一种基于文本分析的智能预挂号系统[J].中国科技信息,2022,(04):65-66.

[9]孙剑,程建军.基于微信小程序的医院远程挂号系统设计[J].电子设计工程,2021,29(22):51-54.DOI:10.14022/j.issn1674-6236.2021.22.012.

[10]邢娜,郑蕾,王莉.医院网站预约挂号系统设计[J].解放军医院管理杂志,2021,28(10):929-930+969.DOI:10.16770/J.cnki.1008-9985.2021.10.012.

[11]田瑞.北京地区医院移动互联网挂号平台对比分析[J].医学教育管理,2021,7(S1):217-220+227.

[12]万杰.基于微信公众号的医院预约挂号系统开发[J].湖州职业技术学院学报,2021,19(03):76-80.DOI:10.13690/j.cnki.hzyxb.issn.1672-2388.2021.03.19.

[13]常佳宁,潘琳.一种基于Web的医院挂号系统设计[J].中国科技信息,2021,(16):45-46.

[14]叶基林.某医院挂号预约管理系统设计与实现[D].电子科技大学,2021.DOI:10.27005/d.cnki.gdzku.2021.002694.

[15]李慧宁,王文军.基于JavaWeb的医院在线挂号系统设计与实现[J].电子元器件与信息技术,2021,5(02):172-175.DOI:10.19772/j.cnki.2096-4455.2021.2.076.

[16]宗宁.医院预约挂号便民服务平台的设计和实现[D].合肥工业大学,2021.DOI:10.27101/d.cnki.ghfgu.2021.001004.

[17]宗金运,芦立华,姬庆,等.医院智能挂号系统的设计和实现[J].福建电脑,2020,36(08):1-9.DOI:10.16707/j.cnki.fjpc.2020.08.001.

[18]张毅.LM医院挂号预约系统的分析与设计[D].西安理工大学,2020.DOI:10.27398/d.cnki.gxalu.2020.001477.

[19]姚文杰.基于微信公众平台的医院预约挂号系统研究[J].数码世界,2020,(04):29.

[20]巩蕾.基于智能移动端的医院预约挂号系统设计与研究[J].电脑编程技巧与维护,2020,(02):48-49+87.DOI:10.16184/j.cnki.comprg.2020.02.016.

致谢

经过几个月时间的努力终于完成了这篇文章,在文章的写作与研究的过程中遇到了很多困难,都在同学和老师的帮助下解决了。尤其非常感谢我最敬爱的老师,他对我进行了无私的指导和帮助,不厌其烦的帮助进行文章的修改。老师严谨的治学态度、渊博的学术知识、诲人不倦的敬业精神以及宽容的待人风范使我获益颇丰。此外,在校图书馆查找资料的时候,图书馆的老师也给我提供了很多方面的支持与帮助。在此,向帮助和指导过我的老师表示最衷心的感谢!感谢这篇文章所涉及到的各位学者。本文引用了数位学者的文献,如果没有各位学者的研究成果的帮助和启发,我将很难完成本篇文章的写作。感谢我的同学和朋友,在我写文章的过程中给与了我很多素材和帮助,还在文章的撰写和排版过程中提供热情的帮助。同时,感谢我的室友对我的热心指导和帮助,经常有不懂之处都是大家在帮助我,才使得我比较顺利的完成了这篇文章。由于我水平有限,所写文章难免有不足之处,恳请各位老师和学友批评和指正!

                                       
                                          点赞+收藏+关注 → 私信领取本源代码、数据库