摘 要
随着信息技术的发展,医疗服务的智能化和信息化成为提升医疗服务质量的重要手段之一。本文介绍了一款基于Spring Boot框架开发的医生预约系统的设计与实现。该系统采用了前后端分离的架构模式,前端使用Vue和Element-UI技术栈,提供了友好的用户交互界面;后端则基于Spring Boot和MyBatis框架构建,结合MySQL数据库,实现了高效的数据管理和处理能力。
系统主要分为三个角色的功能模块:患者用户、医生用户以及管理员。对于患者用户而言,系统提供了从首页浏览、医院资讯查询到预约挂号、个人中心管理,包括预约记录、就诊记录、评价反馈等的一站式服务体验。医生用户能够通过系统便捷地管理自己的可约时间、查看及处理预约记录、更新个人信息等,极大提升了工作效率。而管理员则拥有最全面的管理权限,包括对系统用户信息、医院科室信息、预约记录、通知公告等进行维护,确保系统的正常运行和数据的安全性。本系统还特别强调了用户体验和数据安全,通过合理的权限设计和严格的数据保护措施,保障了各类型用户的合法权益。通过这一系统的实施,不仅提高了医疗服务的可达性和便利性,同时也为医疗机构的数字化转型提供了一个可行的解决方案。
关键词:医生预约系统;Spring Boot;Java;MySQL
ABSTRACT
With the development of information technology, the intelligence and informatization of medical services have become one of the important means to improve the quality of medical services. This article introduces the design and implementation of a doctor appointment system developed based on the Spring Boot framework. The system adopts a front-end and back-end separation architecture pattern, with Vue and Element UI technology stacks used in the front-end to provide a user-friendly interface; The backend is built on Spring Boot and MyBatis framework, combined with MySQL database, to achieve efficient data management and processing capabilities.
The system is mainly divided into three functional modules: patient user, doctor user, and administrator. For patient users, the system provides a one-stop service experience from homepage browsing, hospital information inquiry to appointment registration, personal center management, including appointment records, medical records, evaluation feedback, etc. Doctor users can conveniently manage their available appointment time, view and process appointment records, update personal information, etc. through the system, greatly improving work efficiency. Administrators have the most comprehensive management privileges, including maintaining system user information, hospital department information, appointment records, notifications and announcements, ensuring the normal operation of the system and data security. This system also emphasizes user experience and data security, ensuring the legitimate rights and interests of all types of users through reasonable permission design and strict data protection measures. The implementation of this system not only improves the accessibility and convenience of medical services, but also provides a feasible solution for the digital transformation of medical institutions.
Keywords: Doctor appointment system; Spring Boot; Java; MySQL
目 录
第1章 绪 论
1.1开发背景
随着医疗服务需求的不断增长和数字化转型的加速,开发一个医生预约系统显得尤为重要。现代社会中,人们对健康的关注度日益增加,导致医疗服务的需求持续上升,特别是在大城市里,优质医疗资源供不应求,患者面临挂号难、排队久等问题。同时,各行各业都在经历深刻的数字化转型,医疗行业也不例外。通过引入在线预约系统,可以有效缓解医院窗口的压力,为患者提供更加便捷的服务渠道。传统的就医流程繁琐复杂,包括挂号、候诊、缴费等多个环节,既耗费时间也增加了患者的焦虑感。开发医生预约系统能够简化这些流程,减少患者等待时间,从而提升整体就医体验。对于医疗机构而言,合理安排医生的工作时间和就诊人数是提高工作效率和服务质量的关键。一个高效的预约系统可以帮助医院更好地进行资源分配,避免人力资源浪费,同时也让医生有更多时间为真正需要的患者提供服务。近年来国家出台了一系列促进“互联网+医疗健康”发展的政策措施,鼓励医疗机构开展在线医疗服务,这为医生预约系统的开发提供了良好的政策环境和支持。开发这样一个结合了现代Web技术和数据库管理技术的医生预约系统,不仅有助于解决现存问题,还能够推动医疗服务向更高效、更人性化的方向发展。
1.2开发意义
开发医生预约系统具有重要的意义,主要体现在提升医疗服务效率、改善患者就医体验、优化医疗资源配置以及推动医疗行业的数字化转型等方面。通过在线预约系统,患者能够方便地选择合适的医生和就诊时间,避免了传统挂号方式中的长时间排队等候,从而提升了医疗服务的效率。医生也能够更好地规划自己的工作日程,合理安排每一位患者的就诊时间,提高诊疗效率和服务质量。传统的就医流程复杂繁琐,包括挂号、候诊、缴费等多个环节,往往给患者带来不便和焦虑感。医生预约系统的使用简化了这些流程,减少了患者在医院的等待时间,并提供了更加个性化和便捷的服务体验,使患者可以通过系统查看医生的专业背景、科室信息等,做出更加明智的选择。对于医疗机构来说,如何高效利用有限的医疗资源是一个重要课题。医生预约系统可以帮助医院管理层更准确地预测和调配资源,例如根据预约情况调整医生的工作班次或增加临时门诊,确保每位患者都能得到及时有效的治疗,同时也提高了医院整体运营效率。随着信息技术的发展,“互联网+医疗健康”已成为一种趋势。开发医生预约系统不仅符合国家政策导向,也为医疗机构提供了一个实现信息化管理的平台。通过数据的积累和分析,有助于发现医疗服务中的不足之处,进一步优化服务流程,促进医疗行业的持续健康发展。因此,开发医生预约系统对提升医疗服务效率、改善患者就医体验、优化医疗资源配置以及推动医疗行业向数字化转型都具有重要意义,这不仅是应对当前医疗服务挑战的有效措施,也是未来医疗服务发展的重要方向。
1.3国内现状
在国内,随着信息技术的快速发展和“互联网+医疗健康”政策的推动,医生预约系统的开发与应用逐渐成为医疗行业的重要趋势。许多大型医院和医疗机构已经建立了自己的在线预约平台,为患者提供便捷的挂号、科室查询、医生选择等服务。这些系统通常具备预约挂号、取消预约、就诊提醒等功能模块,显著提升了患者的就医体验和医院的服务效率。然而,国内的医生预约系统在实际应用中仍存在一些问题待解决。例如,部分系统的稳定性不足,高峰期容易出现卡顿或崩溃现象;功能设计上也存在不够人性化的问题,导致用户体验不佳。此外,由于缺乏统一的技术标准和数据共享机制,不同医院之间的预约系统难以实现互联互通,形成了信息孤岛,导致医疗资源的利用效率不高。尽管如此,基于互联网的医生预约系统已经成为优化医疗服务流程、缓解挂号难问题的重要手段,并在政策支持和技术进步的推动下逐步完善。未来,随着人工智能、大数据等技术的引入,这类系统有望进一步提升智能化水平和服务质量,为患者和医疗机构带来更大的便利。
1.4国外现状
在国外,医生预约系统的应用已经相当普及,尤其是在美国、英国和加拿大等国家。这些系统不仅支持在线预约医生,还集成了电子健康记录、远程医疗咨询和药品管理等功能,极大地方便了患者的就医过程。例如,美国的Zocdoc平台允许患者根据位置、保险和医生评价来查找并预约合适的医疗服务。然而,这些系统也面临一些挑战,如确保用户隐私和数据安全的问题,以及如何有效整合新系统与现有医疗服务流程。此外,数字鸿沟导致部分人群难以充分利用这些在线服务,限制了系统的全面普及。尽管如此,国外的医生预约系统在提高医疗服务效率和便捷性方面发挥了重要作用,并随着技术的发展不断进步和完善。新技术如人工智能和大数据分析的应用进一步提升了系统的智能化水平和服务质量。这些系统为改善医疗服务提供了重要支持。
第2章 相关技术介绍
2.1SpringBoot框架介绍
SpringBoot是Spring家族中的一个重要成员,它简化了Spring应用的初始搭建和开发过程[1]。通过提供一系列默认配置和自动装配机制,SpringBoot使得开发者能够更快地构建出生产级别的Spring应用。它支持多种开发工具和框架,如Maven、Gradle等,并且可以与多种数据库和缓存技术无缝集成[2]。SpringBoot的简洁性和高效性使其成为开发企业级应用的首选框架之一。在本次毕业设计中,SpringBoot框架为医生预约系统的后端开发提供了强大的支持。
2.2MySQL数据库
MySQL是一款开源的关系型数据库管理系统,它以其高性能、高可靠性和易用性而著称。MySQL支持多种存储引擎,如InnoDB、MyISAM等,能够满足不同应用场景的需求[3]。它提供了丰富的SQL语法和函数,使得开发者能够方便地进行数据查询、更新和删除操作。MySQL还支持事务处理、索引优化和复制等高级功能,为数据的完整性和安全性提供了有力保障。在本次毕业设计中,MySQL数据库作为医生预约系统的数据存储核心,承担着存储和管理用户信息等重要数据的任务。而且通过合理的数据库设计和优化,确保了系统的数据访问效率和数据安全性[4]。
2.3Java语言
JAVA是一种广泛使用的编程语言,具有跨平台、面向对象、安全性高等特点。JAVA语言提供了丰富的类库和API,使得开发者能够轻松地进行网络编程、数据库操作、图形界面开发等任务[4]。JAVA还支持多线程编程和分布式计算,为开发高性能和可扩展的应用提供了有力支持[5]。所以本次毕设选择了JAVA作为医生预约系统的开发语言。通过利用JAVA的面向对象特性和丰富的类库资源,成功实现了系统的各个功能模块,并保证了系统的稳定性和可扩展性。而且JAVA的跨平台特性也使得此次毕业设计能够在不同的操作系统和硬件平台上运行,为用户提供了更加便捷的使用体验。
第3章 系统分析
3.1可行性分析
3.1.1技术可行性
开发医生预约系统在技术上是可行的。使用Spring Boot和MySQL分别作为后端框架和数据库,可以确保系统的稳定性和数据管理的有效性。前端采用Vue与Element-UI,能够提供良好的用户交互体验并支持快速开发。MyBatis作为持久层框架,简化了数据访问过程,提高了开发效率。这些技术的组合不仅支持核心功能如在线预约、医生排班和个人信息维护的实现,还保证了系统的扩展性和稳定性。此外,系统易于集成云计算和大数据技术,以应对未来更复杂的业务需求和技术挑战。
3.1.2经济可行性
该系统能显著降低医疗机构的人力和运营成本,通过自动化预约流程减少人工管理的工作量,并优化资源配置提高服务效率。这不仅能增加医院的日接诊量,进而提升收入,还能减少患者的等待时间和交通成本,改善就医体验。随着用户基数的增长,还可以通过提供增值服务如健康咨询来实现额外盈利。
3.1.3操作可行性
医生预约系统设计注重用户体验和操作简便性,确保各类用户群体均能轻松上手。对于患者而言,系统提供了直观的界面,通过简单的步骤即可完成预约、取消或修改预约等操作。清晰的信息展示功能让用户能够方便地查找医生资料、科室信息及就诊时间安排。医生和管理人员则可以通过后台高效管理预约记录、调整可约时间及维护个人信息,所有操作均通过简洁明了的界面实现,减少了学习成本和操作复杂度。
3.2系统功能需求
springboot医生预约系统包含患者用户、 医生用户、管理员三个角色划分,每个角色对应的主要功能如下:
3.2.1患者用户主要功能
(1)首页:提供医院服务快速入口和重要信息展示,方便患者获取最新资讯。
(2)通知公告:发布医院的重要通知和最新消息,确保患者及时了解相关信息。
(3)医院资讯:分享医疗健康知识及医院动态,帮助患者了解更多健康信息。
(4)医院信息:详细介绍医院的基本情况和服务范围,让患者对医院有全面的认识。
(5)科室信息:列出各科室的专业方向和服务内容,指导患者选择合适的科室就诊。
(6)医生信息:展示医生的专业背景、擅长领域及出诊时间,便于患者选择合适的医生预约。
(7)我的账户:允许患者管理个人资料、查看预约信息及修改密码等,保障个人信息安全。
(8)个人中心:为患者提供个性化的服务入口,包括个人首页、预约记录、预约取消、预约变更等功能,增强用户体验。
1)个人首页:展示患者的个人信息概览,作为访问其他功能的起点。
2)预约记录:记录患者的历史预约详情,方便随时查阅预约状态。
3)预约取消:提供便捷的方式让患者能够自行取消不再需要的预约。
4)预约变更:支持患者根据自身需求调整已有的预约时间或医生选择。
5)就诊记录:保存患者的每次就诊详情,便于回顾和管理自己的健康状况。
6)评价反馈:允许患者对医疗服务进行评价并提出建议,帮助医院改进服务质量。
7)用户通知:向患者推送个性化的提醒和通知,如预约提醒、检查结果通知等。
8)收藏:提供收藏喜爱的医生或科室的功能,方便患者下次快速预约。
3.2.2医生用户主要功能
(1)后台首页:提供医生修改个人资料及密码的入口,确保个人信息的安全与更新。
(2)可约时间管理:允许医生根据自身日程安排和医院要求设置和调整可预约的时间段,优化工作计划。
(3)医生信息管理:支持医生维护和更新个人专业信息、擅长领域及照片等,方便患者了解并选择合适的医生。
(4)预约记录管理:展示医生自己的所有预约详情,便于查看每个预约的状态和相关信息,提高诊疗准备效率。
(5)预约取消管理:提供处理患者预约取消请求的功能,使医生能够及时调整工作安排。
(6)预约变更管理:允许医生对已有的预约进行时间或其他细节上的修改,以应对突发情况或个人日程变化。
(7)就诊记录管理:记录每次就诊的详细情况,帮助医生更好地追踪患者的健康状况和治疗效果。
(8)评价反馈管理:收集并查看患者对医疗服务的评价和建议,为改进服务质量和提升专业技能提供参考。
(9)医生通知管理:向医生推送重要通知和提醒,如会议通知、培训信息等,确保医生及时获取关键资讯。
3.2.3管理员主要功能
(1)后台首页:提供医院运营数据的统计与分析,帮助管理员全面了解医院的工作状态。
(2)系统用户:管理所有系统用户的账户信息,包括创建、修改和删除账户等操作,确保系统的安全性与有效性。
(3)可约时间管理:统一管理和调整医生的可预约时间段,确保医疗服务资源的合理分配。
(4)医院信息管理:维护医院的基本信息和服务介绍,确保患者获取准确的医院资讯。
(5)科室信息管理:添加、编辑科室信息及服务内容,方便患者根据需求选择合适的科室就诊。
(6)医生信息管理:负责医生个人信息的更新与维护,确保患者能够获取到最新的医生资料。
(7)预约记录管理:监控并管理所有患者的预约记录,以便及时处理异常情况并优化预约流程。
(8)预约取消管理:处理或审批来自患者或医生的预约取消请求,保证预约系统的动态平衡。
(9)预约变更管理:协助处理预约时间和医生的选择变更请求,确保医疗资源的有效利用。
(10)就诊记录管理:保存并管理患者的每次就诊记录,为医疗质量评估和后续治疗提供依据。
(11)评价反馈管理:收集整理患者对医疗服务的评价和建议,助力提升服务质量。
(12)用户通知管理:向患者发送个性化通知,如预约提醒、检查结果等,增强用户体验。
(13)医生通知管理:向医生发布重要通知,如培训、会议安排等,确保信息传达的及时性。
(14)系统管理:维护系统主页上的轮播图内容,展示医院的重点新闻或活动信息。
(15)通知公告管理:发布和管理医院的通知公告,确保信息的公开透明。
(16)资源管理:管理和更新医院发布的健康资讯和相关信息,促进健康知识的普及。
(17)权限管理:设定不同角色的访问权限,保障系统的安全性和稳定性。
(18)操作日志:记录管理员的操作历史,便于追踪和审计,确保系统的透明度和责任明确。
3.3系统总体流程设计
3.3.1数据开发流程
系统开发流程的主要步骤,从需求分析到系统完成的全过程。流程包括需求分析、总体设计(结构、功能、数据)、详细设计(模块、编码)、模块整合与调用,以及测试、扩展和完善,最终完成系统的开发。本系统的开发流程如图3-1所示

图3-1系统开发流程图
3.3.2用户登录流程
用户输入用户名和密码后,系统先检查输入是否为空,再验证用户名是否存在,若存在则通过用户名获取密码并校验。若密码正确则登录成功,否则提示密码错误。若用户名不存在或无法登录,提示用户操作无效。如图3-2所示。

图3-2登录流程图
3.3.3系统操作流程
用户首先进入系统登录界面,输入用户名和密码后,系统验证信息是否正确。若验证失败,返回登录界面重新输入;若验证成功,则进入功能界面,执行相应功能处理后结束操作流程。操作流程如图3-3所示。

图3-3 系统操作流程图
3.3.4添加信息流程
管理员可以添加信息,用户添加可以自己权限内的信息,输入信息后,要想利用这个软件来进行系统的安全管理,首先需要登录到该软件中。添加信息流程如图3-4所示。

图3-4 添加信息流程图
3.3.5修改信息流程
用户首先选择需要修改的记录,输入修改后的数据,系统判断输入数据是否合法。若数据不合法,提示重新输入;若数据合法,则将修改后的数据写入数据库,完成操作后流程结束。修改信息流程图如图3-5所示。

图3-5 修改信息流程图
3.3.6删除信息流程
用户选择需要删除的记录后,系统判断是否确认删除。若未确认,返回选择环节;若确认删除,则更新数据库,删除对应记录,完成操作后流程结束。删除信息流程图如图3-6所示。

图3-6删除信息流程图
3.4非功能性需求分析
在Springboot医生预约系统的毕业设计中,非功能性需求分析是也是很重要的。它主要关注系统除了基本功能外的其他特性,如性能、安全性、易用性、可维护性等,这些特性对于确保系统的稳定运行和用户满意度至关重要。
性能:系统需要能够处理高并发请求,确保在多个用户同时操作时仍能保持稳定运行。
安全性:系统必须采取严格的措施来保护敏感数据,如用户信息、预约记录等,防止数据泄露和非法访问。
易用性:系界面友好直观,操作流程简化,提升用户体验。
可维护性:代码结构清晰,文档完备,便于后续开发与问题排查。
3.5系统用户用例分析
3.5.1患者用户用例图
springboot医生预约系统中患者用户包含首页、通知公告、医院资讯、医院信息、科室信息、医生信息、我的账户、个人中心等功能。患者用户用例图如下所示:
图3-7 患者用户用例图
3.5.2医生用户用例图
springboot医生预约系统中医生用户包含后台首页、可约时间管理、医生信息管理、预约记录管理、预约取消管理、预约变更管理、就诊记录管理、评价反馈管理、医生通知管理等功能。医生用户用例图如下所示:
图3-8 医生用户用例图
3.5.3管理员用例图
springboot医生预约系统中管理员包含后台首页、系统用户、可约时间管理、医院信息管理、科室信息管理、医生信息管理、预约记录管理、预约取消管理、预约变更管理、就诊记录管理、评价反馈管理、用户通知管理、医生通知管理、系统管理、通知公告管理、资源管理、权限管理、操作日志等功能。管理员用例图如下所示:

图3-9 管理员用例图
第4章系统设计
4.1功能模块设计
springboot医生预约系统主要涉及有患者用户、医生用户、管理员三个角色。其中患者用户包含首页、通知公告、医院资讯、医院信息、科室信息、医生信息、我的账户、个人中心等功能;医生用户包含后台首页、可约时间管理、医生信息管理、预约记录管理、预约取消管理、预约变更管理、就诊记录管理、评价反馈管理、医生通知管理等功能;管理员包含后台首页、系统用户、可约时间管理、医院信息管理、科室信息管理、医生信息管理、预约记录管理、预约取消管理、预约变更管理、就诊记录管理、评价反馈管理、用户通知管理、医生通知管理、系统管理、通知公告管理、资源管理、权限管理、操作日志等功能。每个角色对应的功能模块如图所示。
图4-1系统功能结构图
4.2数据库设计
4.2.1概念设计
借助先进的系统,ER图使其他用户可以快速轻松地了解系统的功能以及他们之间的关系。springboot医生预约系统中管理员、患者用户、医生用户、医院信息、科室信息、医生信息、预约记录、顶约取消、预约变更、就诊记录等E-R实体关系图。
图4-2总体ER图
4.2.2逻辑设计
通过上一小节Springboot医生预约系统中总E-R关系图上得出一共需要创建很多个数据表。在此主要罗列几个主要的数据库表结构设计。
介绍了一些根据各类别主要数据库表的设计结构以及基本功能建立数据库表:
表 4-1-access_token(登陆访问时长)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | token_id | int | 是 | 是 | 临时访问牌ID | |
| 2 | token | varchar | 64 | 否 | 否 | 临时访问牌 |
| 3 | info | text | 65535 | 否 | 否 | 信息 |
| 4 | maxage | int | 是 | 否 | 最大寿命:默认2小时 | |
| 5 | create_time | timestamp | 是 | 否 | 创建时间 | |
| 6 | update_time | timestamp | 是 | 否 | 更新时间 | |
| 7 | user_id | int | 是 | 否 | 用户编号 |
表 4-2-appointment_cancellation(预约取消)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | appointment_cancellation_id | int | 是 | 是 | 预约取消ID | |
| 2 | appointment_number | varchar | 64 | 否 | 否 | 预约编号 |
| 3 | hospital_name | varchar | 64 | 否 | 否 | 医院名称 |
| 4 | department_name | varchar | 64 | 否 | 否 | 科室名称 |
| 5 | doctor_user | int | 否 | 否 | 医生用户 | |
| 6 | doctors_name | varchar | 64 | 否 | 否 | 医生姓名 |
| 7 | areas_of_expertise | varchar | 64 | 否 | 否 | 专业领域 |
| 8 | available_time | varchar | 64 | 否 | 否 | 可约时间 |
| 9 | reservation_fee | double | 否 | 否 | 预约费用 | |
| 10 | patient_user | int | 否 | 否 | 患者用户 | |
| 11 | patient_name | varchar | 64 | 否 | 否 | 患者姓名 |
| 12 | patient_gender | varchar | 64 | 否 | 否 | 患者性别 |
| 13 | patient_phone | varchar | 64 | 否 | 否 | 患者电话 |
| 14 | reason_for_cancellation | text | 65535 | 否 | 否 | 取消原因 |
| 15 | examine_state | varchar | 16 | 是 | 否 | 审核状态 |
| 16 | examine_reply | varchar | 255 | 否 | 否 | 审核回复 |
| 17 | create_time | datetime | 是 | 否 | 创建时间 | |
| 18 | update_time | timestamp | 是 | 否 | 更新时间 | |
| 19 | source_table | varchar | 255 | 否 | 否 | 来源表 |
| 20 | source_id | int | 否 | 否 | 来源ID | |
| 21 | source_user_id | int | 否 | 否 | 来源用户 |
表 4-3-appointment_change(预约变更)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | appointment_change_id | int | 是 | 是 | 预约变更ID | |
| 2 | appointment_number | varchar | 64 | 否 | 否 | 预约编号 |
| 3 | hospital_name | varchar | 64 | 否 | 否 | 医院名称 |
| 4 | department_name | varchar | 64 | 否 | 否 | 科室名称 |
| 5 | doctor_user | int | 否 | 否 | 医生用户 | |
| 6 | doctors_name | varchar | 64 | 否 | 否 | 医生姓名 |
| 7 | areas_of_expertise | varchar | 64 | 否 | 否 | 专业领域 |
| 8 | available_time | varchar | 64 | 否 | 否 | 可约时间 |
| 9 | reservation_fee | double | 否 | 否 | 预约费用 | |
| 10 | patient_user | int | 否 | 否 | 患者用户 | |
| 11 | patient_name | varchar | 64 | 否 | 否 | 患者姓名 |
| 12 | patient_gender | varchar | 64 | 否 | 否 | 患者性别 |
| 13 | patient_phone | varchar | 64 | 否 | 否 | 患者电话 |
| 14 | reason_for_change | text | 65535 | 否 | 否 | 变更原因 |
| 15 | change_details | text | 65535 | 否 | 否 | 变更详情 |
| 16 | examine_state | varchar | 16 | 是 | 否 | 审核状态 |
| 17 | examine_reply | varchar | 255 | 否 | 否 | 审核回复 |
| 18 | create_time | datetime | 是 | 否 | 创建时间 | |
| 19 | update_time | timestamp | 是 | 否 | 更新时间 | |
| 20 | source_table | varchar | 255 | 否 | 否 | 来源表 |
| 21 | source_id | int | 否 | 否 | 来源ID | |
| 22 | source_user_id | int | 否 | 否 | 来源用户 |
表 4-4-article(文章)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | article_id | mediumint | 是 | 是 | 文章id | |
| 2 | title | varchar | 125 | 是 | 是 | 标题 |
| 3 | type | varchar | 64 | 是 | 否 | 文章分类 |
| 4 | hits | int | 是 | 否 | 点击数 | |
| 5 | praise_len | int | 是 | 否 | 点赞数 | |
| 6 | create_time | timestamp | 是 | 否 | 创建时间 | |
| 7 | update_time | timestamp | 是 | 否 | 更新时间 | |
| 8 | source | varchar | 255 | 否 | 否 | 来源 |
| 9 | url | varchar | 255 | 否 | 否 | 来源地址 |
| 10 | tag | varchar | 255 | 否 | 否 | 标签 |
| 11 | content | longtext | 4294967295 | 否 | 否 | 正文 |
| 12 | img | varchar | 255 | 否 | 否 | 封面图 |
| 13 | description | text | 65535 | 否 | 否 | 文章描述 |
表 4-5-article_type(文章分类)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | type_id | smallint | 是 | 是 | 分类ID | |
| 2 | display | smallint | 是 | 否 | 显示顺序 | |
| 3 | name | varchar | 16 | 是 | 否 | 分类名称 |
| 4 | father_id | smallint | 是 | 否 | 上级分类ID | |
| 5 | description | varchar | 255 | 否 | 否 | 描述 |
| 6 | icon | text | 65535 | 否 | 否 | 分类图标 |
| 7 | url | varchar | 255 | 否 | 否 | 外链地址 |
| 8 | create_time | timestamp | 是 | 否 | 创建时间 | |
| 9 | update_time | timestamp | 是 | 否 | 更新时间 |
表 4-6-auth(用户权限管理)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | auth_id | int | 是 | 是 | 授权ID | |
| 2 | user_group | varchar | 64 | 否 | 否 | 用户组 |
| 3 | mod_name | varchar | 64 | 否 | 否 | 模块名 |
| 4 | table_name | varchar | 64 | 否 | 否 | 表名 |
| 5 | page_title | varchar | 255 | 否 | 否 | 页面标题 |
| 6 | path | varchar | 255 | 否 | 否 | 路由路径 |
| 7 | parent | varchar | 64 | 否 | 否 | 父级菜单 |
| 8 | parent_sort | int | 是 | 否 | 父级菜单排序 | |
| 9 | position | varchar | 32 | 否 | 否 | 位置 |
| 10 | mode | varchar | 32 | 是 | 否 | 跳转方式 |
| 11 | add | tinyint | 是 | 否 | 是否可增加 | |
| 12 | del | tinyint | 是 | 否 | 是否可删除 | |
| 13 | set | tinyint | 是 | 否 | 是否可修改 | |
| 14 | get | tinyint | 是 | 否 | 是否可查看 | |
| 15 | field_add | text | 65535 | 否 | 否 | 添加字段 |
| 16 | field_set | text | 65535 | 否 | 否 | 修改字段 |
| 17 | field_get | text | 65535 | 否 | 否 | 查询字段 |
| 18 | table_nav_name | varchar | 500 | 否 | 否 | 跨表导航名称 |
| 19 | table_nav | varchar | 500 | 否 | 否 | 跨表导航 |
| 20 | option | text | 65535 | 否 | 否 | 配置 |
| 21 | create_time | timestamp | 是 | 否 | 创建时间 | |
| 22 | update_time | timestamp | 是 | 否 | 更新时间 |
表 4-7-available_time(可约时间)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | available_time_id | int | 是 | 是 | 可约时间ID | |
| 2 | available_time | varchar | 64 | 否 | 否 | 可约时间 |
| 3 | create_time | datetime | 是 | 否 | 创建时间 | |
| 4 | update_time | timestamp | 是 | 否 | 更新时间 |
表 4-8-code_token(验证码)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | code_token_id | int | 是 | 是 | 验证码ID | |
| 2 | token | varchar | 255 | 否 | 否 | 令牌 |
| 3 | code | varchar | 255 | 否 | 否 | 验证码 |
| 4 | expire_time | timestamp | 是 | 否 | 失效时间 | |
| 5 | create_time | timestamp | 是 | 否 | 创建时间 | |
| 6 | update_time | timestamp | 是 | 否 | 更新时间 |
表 4-9-collect(收藏)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | collect_id | int | 是 | 是 | 收藏ID | |
| 2 | user_id | int | 是 | 是 | 收藏人ID | |
| 3 | source_table | varchar | 255 | 否 | 否 | 来源表 |
| 4 | source_field | varchar | 255 | 否 | 否 | 来源字段 |
| 5 | source_id | int | 是 | 否 | 来源ID | |
| 6 | title | varchar | 255 | 否 | 否 | 标题 |
| 7 | img | varchar | 255 | 否 | 否 | 封面 |
| 8 | create_time | timestamp | 是 | 否 | 创建时间 | |
| 9 | update_time | timestamp | 是 | 否 | 更新时间 |
表 4-10-comment(评论)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | comment_id | int | 是 | 是 | 评论ID | |
| 2 | user_id | int | 是 | 是 | 评论人ID | |
| 3 | reply_to_id | int | 是 | 否 | 回复评论ID | |
| 4 | content | longtext | 4294967295 | 否 | 否 | 内容 |
| 5 | nickname | varchar | 255 | 否 | 否 | 昵称 |
| 6 | avatar | varchar | 255 | 否 | 否 | 头像地址 |
| 7 | create_time | timestamp | 是 | 否 | 创建时间 | |
| 8 | update_time | timestamp | 是 | 否 | 更新时间 | |
| 9 | source_table | varchar | 255 | 否 | 否 | 来源表 |
| 10 | source_field | varchar | 255 | 否 | 否 | 来源字段 |
| 11 | source_id | int | 是 | 否 | 来源ID |
表 4-11-department_information(科室信息)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | department_information_id | int | 是 | 是 | 科室信息ID | |
| 2 | hospital_name | varchar | 64 | 否 | 否 | 医院名称 |
| 3 | department_name | varchar | 64 | 否 | 否 | 科室名称 |
| 4 | department_type | varchar | 64 | 否 | 否 | 科室类型 |
| 5 | department_location | varchar | 64 | 否 | 否 | 科室位置 |
| 6 | section_cover | varchar | 255 | 否 | 否 | 科室封面 |
| 7 | detailed_description | longtext | 4294967295 | 否 | 否 | 详情描述 |
| 8 | praise_len | int | 是 | 否 | 点赞数 | |
| 9 | collect_len | int | 是 | 否 | 收藏数 | |
| 10 | comment_len | int | 是 | 否 | 评论数 | |
| 11 | create_time | datetime | 是 | 否 | 创建时间 | |
| 12 | update_time | timestamp | 是 | 否 | 更新时间 |
表 4-12-doctor_information(医生信息)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | doctor_information_id | int | 是 | 是 | 医生信息ID | |
| 2 | hospital_name | varchar | 64 | 否 | 否 | 医院名称 |
| 3 | department_name | varchar | 64 | 否 | 否 | 科室名称 |
| 4 | doctor_user | int | 否 | 否 | 医生用户 | |
| 5 | doctors_name | varchar | 64 | 否 | 否 | 医生姓名 |
| 6 | doctors_phone | varchar | 64 | 否 | 否 | 医生电话 |
| 7 | areas_of_expertise | varchar | 64 | 否 | 否 | 专业领域 |
| 8 | available_time | varchar | 64 | 否 | 否 | 可约时间 |
| 9 | reservation_fee | double | 否 | 否 | 预约费用 | |
| 10 | photo_of_doctor | varchar | 255 | 否 | 否 | 医生照片 |
| 11 | doctor_profile | longtext | 4294967295 | 否 | 否 | 医生简介 |
| 12 | praise_len | int | 是 | 否 | 点赞数 | |
| 13 | collect_len | int | 是 | 否 | 收藏数 | |
| 14 | comment_len | int | 是 | 否 | 评论数 | |
| 15 | reservation_record_limit_times | int | 是 | 否 | 预约限制次数 | |
| 16 | create_time | datetime | 是 | 否 | 创建时间 | |
| 17 | update_time | timestamp | 是 | 否 | 更新时间 |
表 4-13-doctor_notification(医生通知)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | doctor_notification_id | int | 是 | 是 | 医生通知ID | |
| 2 | doctor_user | int | 否 | 否 | 医生用户 | |
| 3 | notification_title | varchar | 64 | 否 | 否 | 通知标题 |
| 4 | notification_type | varchar | 64 | 否 | 否 | 通知类型 |
| 5 | date_of_notification | date | 否 | 否 | 通知日期 | |
| 6 | notification_content | text | 65535 | 否 | 否 | 通知内容 |
| 7 | create_time | datetime | 是 | 否 | 创建时间 | |
| 8 | update_time | timestamp | 是 | 否 | 更新时间 |
表 4-14-doctor_user(医生用户)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | doctor_user_id | int | 是 | 是 | 医生用户ID | |
| 2 | doctors_name | varchar | 64 | 否 | 否 | 医生姓名 |
| 3 | doctors_phone | varchar | 64 | 否 | 否 | 医生电话 |
| 4 | areas_of_expertise | varchar | 64 | 否 | 否 | 专业领域 |
| 5 | examine_state | varchar | 16 | 是 | 否 | 审核状态 |
| 6 | user_id | int | 是 | 否 | 用户ID | |
| 7 | create_time | datetime | 是 | 否 | 创建时间 | |
| 8 | update_time | timestamp | 是 | 否 | 更新时间 |
表 4-15-evaluation_feedback(评价反馈)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | evaluation_feedback_id | int | 是 | 是 | 评价反馈ID | |
| 2 | appointment_number | varchar | 64 | 否 | 否 | 预约编号 |
| 3 | hospital_name | varchar | 64 | 否 | 否 | 医院名称 |
| 4 | department_name | varchar | 64 | 否 | 否 | 科室名称 |
| 5 | doctor_user | int | 否 | 否 | 医生用户 | |
| 6 | doctors_name | varchar | 64 | 否 | 否 | 医生姓名 |
| 7 | areas_of_expertise | varchar | 64 | 否 | 否 | 专业领域 |
| 8 | patient_user | int | 否 | 否 | 患者用户 | |
| 9 | patient_name | varchar | 64 | 否 | 否 | 患者姓名 |
| 10 | patient_gender | varchar | 64 | 否 | 否 | 患者性别 |
| 11 | patient_phone | varchar | 64 | 否 | 否 | 患者电话 |
| 12 | medical_situation | text | 65535 | 否 | 否 | 就诊情况 |
| 13 | degree_of_satisfaction | varchar | 64 | 否 | 否 | 满意程度 |
| 14 | evaluation_content | text | 65535 | 否 | 否 | 评价内容 |
| 15 | create_time | datetime | 是 | 否 | 创建时间 | |
| 16 | update_time | timestamp | 是 | 否 | 更新时间 | |
| 17 | source_table | varchar | 255 | 否 | 否 | 来源表 |
| 18 | source_id | int | 否 | 否 | 来源ID | |
| 19 | source_user_id | int | 否 | 否 | 来源用户 |
表 4-16-hits(用户点击)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | hits_id | int | 是 | 是 | 点赞ID | |
| 2 | user_id | int | 是 | 否 | 点赞人 | |
| 3 | create_time | timestamp | 是 | 否 | 创建时间 | |
| 4 | update_time | timestamp | 是 | 否 | 更新时间 | |
| 5 | source_table | varchar | 255 | 否 | 否 | 来源表 |
| 6 | source_field | varchar | 255 | 否 | 否 | 来源字段 |
| 7 | source_id | int | 是 | 否 | 来源ID |
表 4-17-hospital_information(医院信息)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | hospital_information_id | int | 是 | 是 | 医院信息ID | |
| 2 | hospital_name | varchar | 64 | 否 | 否 | 医院名称 |
| 3 | hospital_phone | varchar | 64 | 否 | 否 | 医院电话 |
| 4 | hospital_address | varchar | 64 | 否 | 否 | 医院地址 |
| 5 | hospital_cover | varchar | 255 | 否 | 否 | 医院封面 |
| 6 | section_configuration | text | 65535 | 否 | 否 | 科室配置 |
| 7 | hospital_introduction | longtext | 4294967295 | 否 | 否 | 医院介绍 |
| 8 | praise_len | int | 是 | 否 | 点赞数 | |
| 9 | collect_len | int | 是 | 否 | 收藏数 | |
| 10 | comment_len | int | 是 | 否 | 评论数 | |
| 11 | create_time | datetime | 是 | 否 | 创建时间 | |
| 12 | update_time | timestamp | 是 | 否 | 更新时间 |
表 4-18-notice(公告)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | notice_id | mediumint | 是 | 是 | 公告ID | |
| 2 | title | varchar | 125 | 是 | 否 | 标题 |
| 3 | content | longtext | 4294967295 | 否 | 否 | 正文 |
| 4 | create_time | timestamp | 是 | 否 | 创建时间 | |
| 5 | update_time | timestamp | 是 | 否 | 更新时间 |
表 4-19-operation_log(操作日志表)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | operation_log_id | int | 是 | 是 | 操作日志ID | |
| 2 | user_group | varchar | 64 | 否 | 否 | 用户角色 |
| 3 | user_name | varchar | 64 | 否 | 否 | 用户账号 |
| 4 | routes | varchar | 64 | 否 | 否 | 模块名称 |
| 5 | create_time | datetime | 是 | 否 | 创建时间 | |
| 6 | update_time | timestamp | 是 | 否 | 更新时间 |
表 4-20-patient_user(患者用户)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | patient_user_id | int | 是 | 是 | 患者用户ID | |
| 2 | patient_name | varchar | 64 | 否 | 否 | 患者姓名 |
| 3 | patient_gender | varchar | 64 | 否 | 否 | 患者性别 |
| 4 | patient_phone | varchar | 64 | 否 | 否 | 患者电话 |
| 5 | examine_state | varchar | 16 | 是 | 否 | 审核状态 |
| 6 | user_id | int | 是 | 否 | 用户ID | |
| 7 | create_time | datetime | 是 | 否 | 创建时间 | |
| 8 | update_time | timestamp | 是 | 否 | 更新时间 |
表 4-21-praise(点赞)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | praise_id | int | 是 | 是 | 点赞ID | |
| 2 | user_id | int | 是 | 是 | 点赞人 | |
| 3 | create_time | timestamp | 是 | 否 | 创建时间 | |
| 4 | update_time | timestamp | 是 | 否 | 更新时间 | |
| 5 | source_table | varchar | 255 | 否 | 否 | 来源表 |
| 6 | source_field | varchar | 255 | 否 | 否 | 来源字段 |
| 7 | source_id | int | 是 | 否 | 来源ID | |
| 8 | status | tinyint | 是 | 否 | 点赞状态:1为点赞,0已取消 |
表 4-22-reservation_record(预约记录)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | reservation_record_id | int | 是 | 是 | 预约记录ID | |
| 2 | appointment_number | varchar | 64 | 否 | 否 | 预约编号 |
| 3 | hospital_name | varchar | 64 | 否 | 否 | 医院名称 |
| 4 | department_name | varchar | 64 | 否 | 否 | 科室名称 |
| 5 | doctor_user | int | 否 | 否 | 医生用户 | |
| 6 | doctors_name | varchar | 64 | 否 | 否 | 医生姓名 |
| 7 | areas_of_expertise | varchar | 64 | 否 | 否 | 专业领域 |
| 8 | available_time | varchar | 64 | 否 | 否 | 可约时间 |
| 9 | reservation_fee | double | 否 | 否 | 预约费用 | |
| 10 | patient_user | int | 否 | 否 | 患者用户 | |
| 11 | patient_name | varchar | 64 | 否 | 否 | 患者姓名 |
| 12 | patient_gender | varchar | 64 | 否 | 否 | 患者性别 |
| 13 | patient_phone | varchar | 64 | 否 | 否 | 患者电话 |
| 14 | number_of_appointments | varchar | 64 | 否 | 否 | 预约次数 |
| 15 | symptom_description | text | 65535 | 否 | 否 | 症状描述 |
| 16 | historical_history | text | 65535 | 否 | 否 | 历史病史 |
| 17 | doctor_status | varchar | 64 | 否 | 否 | 医生状态 |
| 18 | the_doctor_replied | text | 65535 | 否 | 否 | 医生回复 |
| 19 | appointment_status | varchar | 64 | 否 | 否 | 预约状态 |
| 20 | pay_state | varchar | 16 | 是 | 否 | 支付状态 |
| 21 | pay_type | varchar | 16 | 否 | 否 | 支付类型: 微信、支付宝、网银 |
| 22 | appointment_cancellation_limit_times | int | 是 | 否 | 预约取消限制次数 | |
| 23 | appointment_change_limit_times | int | 是 | 否 | 预约变更限制次数 | |
| 24 | visit_records_limit_times | int | 是 | 否 | 就诊录入限制次数 | |
| 25 | create_time | datetime | 是 | 否 | 创建时间 | |
| 26 | update_time | timestamp | 是 | 否 | 更新时间 | |
| 27 | source_table | varchar | 255 | 否 | 否 | 来源表 |
| 28 | source_id | int | 否 | 否 | 来源ID | |
| 29 | source_user_id | int | 否 | 否 | 来源用户 |
表 4-23-slides(轮播图)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | slides_id | int | 是 | 是 | 轮播图ID | |
| 2 | title | varchar | 64 | 否 | 否 | 标题 |
| 3 | content | varchar | 255 | 否 | 否 | 内容 |
| 4 | url | varchar | 255 | 否 | 否 | 链接 |
| 5 | img | varchar | 255 | 否 | 否 | 轮播图 |
| 6 | hits | int | 是 | 否 | 点击量 | |
| 7 | create_time | timestamp | 是 | 否 | 创建时间 | |
| 8 | update_time | timestamp | 是 | 否 | 更新时间 |
表 4-24-upload(文件上传)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | upload_id | int | 是 | 是 | 上传ID | |
| 2 | name | varchar | 64 | 否 | 否 | 文件名 |
| 3 | path | varchar | 255 | 否 | 否 | 访问路径 |
| 4 | file | varchar | 255 | 否 | 否 | 文件路径 |
| 5 | display | varchar | 255 | 否 | 否 | 显示顺序 |
| 6 | father_id | int | 否 | 否 | 父级ID | |
| 7 | dir | varchar | 255 | 否 | 否 | 文件夹 |
| 8 | type | varchar | 32 | 否 | 否 | 文件类型 |
表 4-25-user(用户账户)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | user_id | int | 是 | 是 | 用户ID | |
| 2 | state | smallint | 是 | 否 | 账户状态:(1可用|2异常|3已冻结|4已注销) | |
| 3 | user_group | varchar | 32 | 否 | 否 | 所在用户组 |
| 4 | login_time | timestamp | 是 | 否 | 上次登录时间 | |
| 5 | phone | varchar | 11 | 否 | 否 | 手机号码 |
| 6 | phone_state | smallint | 是 | 否 | 手机认证:(0未认证|1审核中|2已认证) | |
| 7 | username | varchar | 16 | 是 | 否 | 用户名 |
| 8 | nickname | varchar | 16 | 否 | 否 | 昵称 |
| 9 | password | varchar | 64 | 是 | 否 | 密码 |
| 10 | | varchar | 64 | 否 | 否 | 邮箱 |
| 11 | email_state | smallint | 是 | 否 | 邮箱认证:(0未认证|1审核中|2已认证) | |
| 12 | avatar | varchar | 255 | 否 | 否 | 头像地址 |
| 13 | open_id | varchar | 255 | 否 | 否 | 针对获取用户信息字段 |
| 14 | create_time | timestamp | 是 | 否 | 创建时间 |
表 4-26-user_group(用户组)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | group_id | mediumint | 是 | 是 | 用户组ID | |
| 2 | display | smallint | 是 | 否 | 显示顺序 | |
| 3 | name | varchar | 16 | 是 | 否 | 名称 |
| 4 | description | varchar | 255 | 否 | 否 | 描述 |
| 5 | source_table | varchar | 255 | 否 | 否 | 来源表 |
| 6 | source_field | varchar | 255 | 否 | 否 | 来源字段 |
| 7 | source_id | int | 是 | 否 | 来源ID | |
| 8 | register | smallint | 否 | 否 | 注册位置 | |
| 9 | create_time | timestamp | 是 | 否 | 创建时间 | |
| 10 | update_time | timestamp | 是 | 否 | 更新时间 |
表 4-27-user_notification(用户通知)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | user_notification_id | int | 是 | 是 | 用户通知ID | |
| 2 | patient_user | int | 否 | 否 | 患者用户 | |
| 3 | notification_title | varchar | 64 | 否 | 否 | 通知标题 |
| 4 | notification_type | varchar | 64 | 否 | 否 | 通知类型 |
| 5 | date_of_notification | date | 否 | 否 | 通知日期 | |
| 6 | notification_content | text | 65535 | 否 | 否 | 通知内容 |
| 7 | create_time | datetime | 是 | 否 | 创建时间 | |
| 8 | update_time | timestamp | 是 | 否 | 更新时间 |
表 4-28-visit_records(就诊记录)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | visit_records_id | int | 是 | 是 | 就诊记录ID | |
| 2 | appointment_number | varchar | 64 | 否 | 否 | 预约编号 |
| 3 | hospital_name | varchar | 64 | 否 | 否 | 医院名称 |
| 4 | department_name | varchar | 64 | 否 | 否 | 科室名称 |
| 5 | doctor_user | int | 否 | 否 | 医生用户 | |
| 6 | doctors_name | varchar | 64 | 否 | 否 | 医生姓名 |
| 7 | areas_of_expertise | varchar | 64 | 否 | 否 | 专业领域 |
| 8 | patient_user | int | 否 | 否 | 患者用户 | |
| 9 | patient_name | varchar | 64 | 否 | 否 | 患者姓名 |
| 10 | patient_gender | varchar | 64 | 否 | 否 | 患者性别 |
| 11 | patient_phone | varchar | 64 | 否 | 否 | 患者电话 |
| 12 | medical_situation | text | 65535 | 否 | 否 | 就诊情况 |
| 13 | evaluation_feedback_limit_times | int | 是 | 否 | 评价反馈限制次数 | |
| 14 | create_time | datetime | 是 | 否 | 创建时间 | |
| 15 | update_time | timestamp | 是 | 否 | 更新时间 | |
| 16 | source_table | varchar | 255 | 否 | 否 | 来源表 |
| 17 | source_id | int | 否 | 否 | 来源ID | |
| 18 | source_user_id | int | 否 | 否 | 来源用户 |
第5章 系统实现
5.1患者用户主要功能实现
5.1.1首页
首页:首页为患者提供了一个快速访问医院服务的入口,展示了重要信息和服务快捷方式,方便患者获取最新资讯和进行操作。首页界面如下图所示。
图5-1 首页界面
5.1.2医院资讯
医院资讯:医院资讯部分分享了医疗健康知识及医院的最新动态,帮助患者了解更多关于健康维护的信息。这些资讯不仅有助于普及健康知识,也能让患者更好地了解医院的服务内容和发展方向。医院资讯界面如下图所示。
图5-2 医院资讯界面
5.1.3医院信息
医院信息:详细介绍医院的基本情况、历史背景和服务范围,使患者对医院有一个全面的认识。医院信息界面如下图所示。
图5-3 医院信息界面
5.1.4科室信息
科室信息:科室信息页面列出了各科室的专业方向和服务项目,指导患者根据自身需求选择合适的科室。清晰的信息展示帮助患者快速定位所需服务,提高了就诊效率。科室信息界面如下图所示。
图5-4 科室信息界面
5.1.5医生信息
医生信息:医生信息板块展示了医生的专业背景、擅长领域及出诊时间,便于患者根据个人需求选择合适的医生。患者可以通过该功能详细了解医生的专业特长,从而做出更加明智的选择。医生信息界面如下图所示。
图5-5 医生信息界面
5.2医生用户模块的实现
5.2.1可约时间管理
可约时间管理功能允许医生根据自身日程灵活设置和调整可预约的时间段,优化工作安排。这一功能有助于提高医疗服务效率,同时也能更好地满足患者的预约需求。可约时间管理界面如下图所示。
图5-6 可约时间管理界面
5.2.2医生信息管理
医生信息管理功能支持医生维护和更新个人的专业背景、擅长领域等信息,确保患者获取最新最准确的信息。通过及时更新个人信息,医生能够吸引更多合适的患者,提升服务质量。医生信息管理界面如下图所示。
图5-7医生信息管理界面
5.2.3预约记录管理
预约记录管理功能展示所有预约详情,便于医生查看每个预约的状态并进行相应的准备工作。它不仅提高了诊疗准备的效率,也使得医生可以更好地规划日常工作。预约记录管理界面如下图所示。
图5-8预约记录管理界面图
5.2.4预约取消管理
预约取消管理功能让医生能够处理患者的预约取消请求,及时调整自己的工作计划以应对变化。预约取消管理界面如下图所示。
图5-9预约取消管理界面图
5.2.5就诊记录管理
就诊记录管理功能保存每次就诊的详细情况,帮助医生追踪患者的健康状况和治疗效果,就诊记录管理界面如下图所示。
图5-10就诊记录管理界面图
5.3管理员模块主要功能实现
5.3.1后台首页
后台首页:提供医院运营数据的统计与分析,帮助管理员全面了解医院的工作状态。后台首页审核界面如下图所示。
图5-11 后台首页界面
5.3.2医院信息管理
医院信息管理:维护医院的基本信息和服务介绍,确保患者获取准确的医院资讯。医院信息管理界面如下图所示。
图5-12 医院信息管理界面图
5.3.3科室信息管理
科室信息管理:添加、编辑科室信息及服务内容,方便患者根据需求选择合适的科室就诊。科室信息管理界面如下图所示。
图5-13科室信息管理界面图
5.3.4医生信息管理
医生信息管理:负责医生个人信息的更新与维护,确保患者能够获取到最新的医生资料。医生信息管理界面如下图所示。
图5-14 医生信息管理界面图
5.3.5资源管理
资源管理:管理和更新医院发布的健康资讯和相关信息,促进健康知识的普及。资源管理界面如下图所示。
图5-15 资源管理界面图
第6章 系统测试
6.1测试目的
系统测试的主要目的是确保医生预约系统能够在实际运行环境中稳定、可靠地工作,同时满足用户的需求和期望[10]。通过系统化的测试流程,验证系统在不同条件下的表现,以发现并修正潜在的问题和缺陷。测试不仅关注系统的正确性和完整性,还着重于其易用性、响应速度以及数据的安全性,确保所有用户能够享受到流畅、安全的使用体验。此外,系统测试有助于评估系统在面对高负载时的性能表现,保证系统即使在访问量高峰期也能保持高效运作。最终,经过严格的测试,可以大幅提升系统的可信度和稳定性,为系统的顺利上线和长期运行奠定坚实的基础。
6.2测试用例
用户登录功能测试
表6-1 用户登录功能测试表
| 用例名称 | 患者用户登录系统 |
| 目的 | 测试用户通过正确的用户名和密码可否登录功能 |
| 前提 | 未登录的情况下 |
| 测试流程 | 1) 进入登录页面 2) 输入正确的用户名和密码 |
| 预期结果 | 用户名和密码正确的时候,跳转到登录成功界面,反之则显示错误信息,提示重新输入 |
| 实际结果 | 实际结果与预期结果一致 |
查看医生信息功能测试:
表6-2 查看医生信息功能测试表
| 用例名称 | 查看医生信息 |
| 目的 | 测试查看医生信息 |
| 前提 | 用户登录 |
| 测试流程 | 点击首页的医生信息 |
| 预期结果 | 可以查看到所有医生信息 |
| 实际结果 | 实际结果与预期结果一致 |
医生添加医生信息测试:
表6-3医生添加医生信息测试表
| 用例名称 | 医生添加医生信息测试用例 |
| 目的 | 测试医生添加医生信息功能 |
| 前提 | 用户正常登录情况下 |
| 测试流程 | 1)医生信息管理页面,点击医生信息添加,点击按钮,输入相关信息,包括电话、专业领域、可约时间、预约费用等。 2)点击进行提交。 |
| 预期结果 | 提交以后,页面首页会显示新的医生信息 |
| 实际结果 | 实际结果与预期结果一致 |
表6-4医生信息搜索功能测试表
| 用例名称 | 医生信息搜索测试 |
| 目的 | 测试医生信息搜索功能 |
| 前提 | 无 |
| 测试流程 | 1)在搜索框填入搜索关键字。 2)点击搜索按钮。 |
| 预期结果 | 页面显示包含有搜索关键字的医生信息 |
| 实际结果 | 实际结果与预期结果一致 |
医生信息删除功能测试:
表6-5医生信息删除功能测试表
| 用例名称 | 医生信息删除测试 |
| 目的 | 测试医生信息删除功能 |
| 前提 | 管理员登录—》医生信息管理—》医生信息列表 |
| 测试流程 | 1)选择一个医生信息。 2)点击删除按钮。 |
| 预期结果 | 提示删除成功,前端页面不在展示该医生信息 |
| 实际结果 | 实际结果与预期结果一致 |
医生预约功能测试:
表6-6医生预约功能测试表
| 用例名称 | 医生预约测试 |
| 目的 | 测试医生预约功能 |
| 前提 | 患者用户登录—》医生信息 |
| 测试流程 | 1)选择一个医生信息,点击查看详情。 2)点击预约按钮。 |
| 预期结果 | 提示预约成功,该医生预约成功 |
| 实际结果 | 实际结果与预期结果一致 |
密码修改功能测试:
表6-7密码修改功能测试表
| 用例名称 | 密码修改测试用例 |
| 目的 | 测试管理员密码修改功能 |
| 前提 | 管理员用户正常登录情况下 |
| 测试流程 | 1)管理员密码修改并完成填写。 2)点击进行提交。 |
| 预期结果 | 使用新的密码可以登录 |
| 实际结果 | 实际结果与预期结果一致 |
6.3测试结果
在本次主要测试用户登录、修改、以及医生信息添加、查看、搜索、删除、预约业务流程操作。验证所有操作都能够正常运行,因此能够保证本次设计的,已实现的功能能够正常运行并且相关数据库的信息也同样保存正确。
结 论
随着项目的完成,成功开发了一个高效、便捷的医生预约系统,显著改善了患者的就医体验,并提升了医疗机构的工作效率。患者可以轻松完成从查找信息到预约挂号的操作,减少了等待时间和不便,同时医生和管理人员也能更有效地安排工作和资源。
采用Spring Boot、Vue和MySQL等技术框架,确保了系统的稳定性、安全性和扩展性,为未来升级提供了坚实基础。尽管初期有一定投入,但系统通过减少人力成本和提高服务效率带来了可观的经济效益,并增强了医院的服务能力。
系统特别强调数据安全和用户隐私保护,增强了用户的信任度。这个预约系统不仅解决了传统医疗服务中的诸多问题,还为医疗服务的智能化转型提供了有效方案。随着技术进步和社会需求的增长,该系统将在未来的医疗服务中发挥更加关键的作用。至此,本项目圆满结束,其成果将推动医疗服务持续改进和发展。
参考文献
- 王小豹,谢杰,李泽峰.基于SpringBoot框架的图书馆座位预约系统的设计与实现[J].信息记录材料,2025,26(04):55-59.DOI:10.16009/j.cnki.cn13-1295/tq.2025.04.003.
- 姚佰允,张豪,杜瑞庆.基于SpringBoot与Vue的学院人员管理系统设计与实现[J].无线互联科技,2025,22(02):78-83.
- 苏晓春.MySQL协议支持下数据库运维代理系统设计研究[J].石化技术,2025,32(03):357-359.
- 张琴.基于MySQL的大数据分析与处理技术研究[N].市场信息报,2025-03-21(015).
- 梁妍,马驰.融合概率论知识的Java程序设计项目式教学研究[J].电脑知识与技术,2025,21(01):146-148.DOI:10.14004/j.cnki.ckt.2025.0088.
- 高士娟.基于项目驱动的Java编程语言课程教学模式研究[J].才智,2024,(36):64-67.
- 刘涛.基于SpringBoot的实验室预约排课系统的设计与实现[J].办公自动化,2024,29(23):90-92.
- 王以伍,舒晖.基于SpringBoot+Vue前后端分离的高校实验室预约管理系统的设计与实现[J].现代计算机,2023,29(01):114-117.
- 李唯.基于SpringBoot+Mybatis的驾校预约系统设计与实现[J].电脑编程技巧与维护,2022,(03):10-12.DOI:10.16184/j.cnki.comprg.2022.03.003.
- 刘建,何冬辉,刘维,等.国产通用计算机性能测试系统的设计与验证[J].计算机测量与控制,2024,32(09):44-50.DOI:10.16526/j.cnki.11-4762/tp.2024.09.007.
- ]叶基林.某医院挂号预约管理系统设计与实现[D].电子科技大学,2021.DOI:10.27005/d.cnki.gdzku.2021.002694.
- 宗宁.医院预约挂号便民服务平台的设计和实现[D].合肥工业大学,2021.DOI:10.27101/d.cnki.ghfgu.2021.001004.
- 张毅.LM医院挂号预约系统的分析与设计[D].西安理工大学,2020.DOI:10.27398/d.cnki.gxalu.2020.001477.
- 段严寒.河北省某三甲医院预约诊疗服务现状及影响因素分析[D].河北医科大学,2020.DOI:10.27111/d.cnki.ghyku.2020.000669.
- 赵芮.医院门诊分时段全预约系统的设计与实现[D].中国石油大学(华东),2019.DOI:10.27644/d.cnki.gsydu.2019.002091.
- 戴铭孚.基于MVC模式的医院预约挂号管理系统的设计与实现[D].广西大学,2019.
- 孙通.盖州妇儿医院预约挂号管理系统设计与实现[D].大连理工大学,2018.
- 张华秀,李燕华,刘仟元,等.医生工作站的一站式预约系统在门诊患者医技检查中的应用[J].中国数字医学,2018,13(04):100-102.
- 15 million Brits opt for digital GP appointments; two million go private[J].M2 Presswire,2025,
- Stokes T ,Smith G F .Equitable access to primary health care: better availability of GP appointments is only one piece of the jigsaw.[J].Journal of primary health care,2025,17(1):1-3.
致 谢
在本论文的完成过程中,我深感个人的成长和收获离不开许多人的支持与帮助。
首先,我要特别感谢我的导师,在整个研究和写作过程中,导师给予了我悉心的指导和不断的鼓励。从选题的确定到最终的修改完善,每一步都离不开导师的专业建议和深刻见解。导师严谨的治学态度、深厚的学术造诣以及对科学研究的热情深深感染了我,使我受益匪浅。感谢导师在我遇到困难时给予的方向性指导和支持,这不仅提升了我的研究能力,也为我树立了良好的学术榜样。
同时,我要感谢我的家人,他们的理解、鼓励和支持是我不断前进的动力源泉。无论遇到何种困难,他们始终给予我无条件的支持,使我能够专注于研究工作。
此外,我也要感谢那些无私分享知识和经验的专家学者们。通过阅读他们的著作和研究成果,我获得了宝贵的知识和灵感,这对于本论文的构思和撰写起到了至关重要的作用。
特别感谢我的朋友们,在我面对挑战时提供了宝贵的建议和意见,并在我需要的时候给予了精神上的鼓励和支持。这份友谊对我来说意义非凡。
正是有了大家的支持和帮助,才使得这项工作得以顺利完成。衷心地对所有人表示最诚挚的谢意!
附录
系统核心代码设计
用户注册
注册页UserController.java,传入user对象,并将"user_id"、 "state"、 "user_group"、"login_time"、"phone"、"phone_state"、 "username"、"nickname"、"password"、"email"、"email_state"、"avatar"、"create_time"输入,重点是 "username"、"nickname"、"password"必须输入,通过获取username,数据库查询是否有该用户,如果存在,则提示“用户已存在”,否则执行将UserId置为空(数据库表中该字段已设置自动递增),代码如图所示。

图注册核心代码图
用户登录
登录页,首先传入"username"、"email"、"phone"、"password",用户可通过用户名、邮箱、手机号进行登陆,通过判断resultList来确定查询结果,然后执行查询用户组UserGroup,用户组里面不存在,依然报“用户不存在”,执行完以上代码,最后涉及到用户带有“审核”的,会查询examine_state(用户的审核状态),数据库表user_group中含有source_table和source_field进行查询,以上步骤完成,对输入的密码进行存储Token到数据库,匹对账号和密码,数据库中的AccessToken为令牌,用于身份认证,代码如图所示。

用用户登录核心代码图
修改密码
修改密码,通过请求data,获取旧密码,并将新密码重新赋值,期间都是需要通过加密,代码如图所示。

修改密码核心代码图
修改数据
修改一个数据,原理与add基本一致,不同点在于通过readConfig()读取关键字,以及通过readQuery()获取URL后面?指定位置的标识,转成Map对象后,执行update操作,同样通过拼接的sql语句执行,执行过程读取query,toWhereSql()语句完成数据库操作,body为修改对象的值,代码如图所示。

修改数据核心代码图
删除数据
删除一条数据,通过readQuery(),获取URL后面的对象地址,删除FROM具体的table,query删除查询FindConfig语句,代码如图示。

图4-11删除数据核心代码图
获取列表
通过请求的参数获取列表数据,代码如图所示。

图获取列表核心代码图
图片上传
通过请求的参数获取列表数据,代码如图4-13所示。

图片上传核心代码图
请关注点赞+私信博主,免费领取项目源码
1万+

被折叠的 条评论
为什么被折叠?



