🙊作者简介:多年一线开发工作经验,原创团队,分享技术代码帮助学生学习,独立完成自己的网站项目。
- 代码可以查看文章末尾⬇️联系方式获取,记得注明来意哦~🌹
- 赠送计算机毕业设计600个选题excel文件,帮助大学选题。
- 赠送开题报告模板,帮助书写开题报告。
作者完整代码目录供你选择:
⬇️文章末尾可以获取联系方式,需要源码或者演示视频可以联系⬇️
⚡感兴趣大家可以点点关注收藏,后续更新更多项目资料。⚡
项目展示
摘 要
当今社会已经步入了科学技术进步和经济社会快速发展的新时期,国际信息和学术交流也不断加强,计算机技术对经济社会发展和人民生活改善的影响也日益突出,人类的生存和思考方式也产生了变化。传统便民医疗服务采取了人工的管理方法,但这种管理方法存在着许多弊端,比如效率低下、安全性低以及信息传输的不准确等,同时由于便民医疗服务管理中会形成众多的个人文档和信息系统数据,通过人工方法对医疗知识、预约挂号等进行集中管理会形成检索、更改和维护等较为麻烦的管理问题,同时由于广大用户对网络技术的需求也日益高涨,于是信息技术也需要继续开展全新的改革以满足时代的需求。根据此问题,研发一套便民医疗服务小程序,既能够大大提高信息的检索、变更与维护的工作效率,也能够方便微信小程序的管理运用,从而减少信息管理成本,提高效率。
该便民医疗服务小程序采用Uni-weixin、springboot架构技术,前端以小程序页面呈现给用户,结合后台java语言使页面更加完善,后台使用MySQL数据库进行数据存储。该微信小程序主要设计并完成了管理过程中的用户注册登录、报告信息、预约挂号、健康日记、hpv疫苗、健康体检、用户、新冠疫苗、医疗知识等功能。该微信小程序操作简便,界面设计简洁,不但可以基本满足本行业的日常管理工作,同时又可以有效减少人员成本和时间成本,为便民医疗服务管理工作提供了方便。
关键词:便民医疗服务小程序;java语言;springboot框架;
1 概 述
1.1 课题研究背景
近年来,由于计算机技术和互联网技术的飞速发展,所以各企事业单位内部的发展趋势是数字化、信息化、无纸化,随着这一趋势,而各种决策小程序、辅助小程序也就应运而生了,其中,微信小程序是其中重要的组成部分1。
便民医疗服务管理工作向来都是在医院中不可或缺的一部分,然而多年以来人们大都习惯使用传统方法,即人工来完成报告信息、预约挂号等的管理,但是这种方法存在着工作效率低以及保密性差的问题,同时还会生成大量的文本和数据,在检索数据时极大不便。随着科技发展进步,我们已进入了信息化社会,仅仅依靠传统的表格管理方式已不能适应时代的要求。因此使用计算机来进行接手传统方式已经势在必行2。
而通过计算机技术来实现的便民医疗服务小程序拥有对信息的快速检索、保存了大量的信息、信息系统保存的稳定性高和维护成本低等优点,对便民医疗服务管理的工作效率也能提高。如今,传统的人工管理方法、文件和图表打印等信息传输方法已经不能满足当下便民医疗服务管理的发展需求,计算机科学与互联网技术的蓬勃发展,颠覆了人们的生活以及思维方式。便民医疗服务小程序的出现,利用信息技术将便民医疗服务管理融于网络平台中,成为提高管理水平的有利手段,将会成为未来发展的新模式3。
1.2 微信小程序意义介绍
如今微信已是亚洲地区最大用户群体的移动即时社交通信软件,并且微信已不止社交这么简单,它包含了生活、支付、娱乐、媒体等人们生活中经常用到的多种服务。第一个微信小程序于2017年1月问世,便是利用微信官方提供的服务接口而生的最新的应用技术4。微信的这项功能是开放申请的,无论是个人还是政府、媒体或其他组织都可以申请注册并开发小程序,并且微信官方提供了一套专门的开发工具给开发者。微信的小程序和订阅号、服务号和公众号是并行体系,它们有些像,但又不一样。微信之父张小龙表示:现在太多人做公众号而非APP,于是导致现在微信公众号变成了一个媒体化的平台,但是我们的本意并非如此,我们想要提供服务而不是传播推广信息,于是就有了小程序。在手机应用层出不穷且手机存储能力有限的今天,微信小程序作为一种轻度云端应用正好符合了目前人们的需求。根据微信官方的说法,小程序是一种不需要下载安装即可使用的应用,它实现了应用"触手可及"的梦想,用户扫一扫或者搜一下即可打开应用。应用将无处不在,随时可用,但又无须安装卸载5。可以说未来随着网络和云的发展,手机应用程序将不再局限于本地模式,而是逐渐向着云端体验进化。
1.3 国内外研究现状
在国外,便民医疗服务小程序管理技术,早已变成了一款非常成熟的技术,那各种各样的针对广大用户的便民医疗服务小程序也随即出现,在当时来讲数据库是一个很大的问题,因此为了整体的提高工作状态,当时的开发者又根据具体的情况开发出了存储型的软件。此时的软件有了各方面技术的支撑,其中最主要的一点就是该软件借助了很多通讯的技术,而且集合了交叉了很多学科。由于系统工程融入了当时非常成熟的技术,所以这个时期的便民医疗服务小程序都更加的安全,系统维护起来也更有保障6。
在我国,便民医疗服务小程序的理论研究已经很深入了,以促进用户全面发展为指导思想,形成了社会规范化的便民医疗服务小程序机制。我国技术人数目众多,对便民医疗服务小程序管理也有了非常丰富的经验成果:一是从科学管理入手,将便民医疗服务小程序与其它主题结合;二是寻求便民医疗服务小程序的创新点,比如采用新的管理技术手段来有效地进行便民医疗服务小程序。
2 系统开发环境及相关技术
2.1 系统开发环境
本管理系统采用的集成开发环境为Eclipse,使用java等语言及springboot框架进行开发,其中硬件环境和软件环境如下:
(1) 硬件环境
处理器:Intel(R) Core(TM) i5-7400 CPU @ 3.00GHz 3.00GHz
内存:8GB
(2) 软件环境
操作系统:windows 10 64位操作系统
开发工具:Eclipse
2.2 系统开发技术
便民医疗服务小程序采用Uni-weixin、springboot架构技术,前端以小程序页面呈现给用户,为B/S(Browser/Server)架构进行设计开发。在B/S架构下,用户在浏览器端进行使用,主要工作通过服务器端进行实现,用户通过网站进行访问大大节约了成本。本系统使用java等语言进行开发,使用MySQL进行数据存储。
2.2.1 springboot框架介绍
Spring Boot的开发团队来自美国的Pivotal公司,是2013年研发的免费、轻量级、开源的系统框架。它集合、默认了许多框架的使用方法,是基于原有的框架的功能的又一次进化,所以从这个角度看,它就又是一个旧的框架。
Spring boot有以下几个特点:低嵌入式设计,代码污染性低;不是只局限于Spring,开发者可以随意的选择Spring框架的任意几个部分;使程序的测试变得更加简单与方便;没有独立的Web服务器需要,所以不再需要启动Tomcat,Glass Fish。
2.2.2 Java介绍
Java 最大的两个特点就是功能强大和简单易用。Java可以让程序员进行复杂的编程而不必为储存管理对象等问题所烦恼,把精力和时间更多的放在研发与设计上,极大地提高了开发者的工作效率和工作热情。
2.2.3 MySQL数据库
MySQL是一款小型关系型数据库管理系统(Relational Database Management System),开发商为瑞典MySQLAB公司。关系型数据库将数据存放在不同的表中,使数据更加规范化。MySQL因其体积小、速度快、源码开放的特点,很多网站开发都将MySQL作为首选。
2.2.4 小微信公众号开发技术
-
微信开发者工作是微信官方提供的针对微信小程序的开发工具,集中了开发,调试,预览,上传等功能。微信团队发布了微信小程序开发者工具、微信小程序开发文档和微信小程序设计指南,全新的开发者工具,集成了开发调试、代码编辑及程序发布等功能,帮助开发者简单和高效地开发微信小程序。
-
启动工具时,开发者需要使用已在后台绑定成功的微信号扫描二维码登录,也可通过帐号密码进行登录,后续所有的操作都会基于这个微信的帐号.
-
早期微信应用的开发是一件非常痛苦的事情,因为基于微信的网页涉及到调用微信的接口,所以网页必须在微信的内置浏览器打开才能看到实际的运行效果。做过前端开发的同学都知道,Chrome和firefox都自带强大的调试工具,使用非常方便。但是基于微信的网页不能在这两种PC端浏览器中运行,所以调试是一个很大的问题。
-
幸运的是,现在这个问题已经不存在了,微信技术团队在去年年底的时候推出了微信web开发者工具:微信公众平台为开发者提供web开发者工具,用于帮助开发基于微信的网页或者webapp。它是一个桌面应用,通过模拟微信客户端的表现使得开发者可以使用这个工具方便地在PC或者Mac上进行开发和调试工作。
3 系统需求分析
在当今的社会生活中,互联网已经变得非常普遍和重要。充分利用互联网大数据等技术可以解决很多问题。目前,便民医疗服务管理也面临着自身的问题。根据这一普遍现象,该系统可以很好地解决这些问题7。系统中这三类用户的数据在系统中非常关键,因此系统数据应该被组织起来,因为数据是以某种格式存储的,而不是无序的。其概念是,它可以根据长期稳定的格式在计算机内存中共享。数据库管理系统主要用于保存、修改和添加索引数据以及设置数据库。为了确保系统数据管理的顺利进行,一些有能力的处理器可以在不需要专业人员处理的情况下管理数据。创建数据表时,可以调整、重新组织和重建数据表中的数据,以确保数据可靠性。在数据库系统设计中,MySQL主要用于实现数据的集中管理。各方面表现良好8。
2.1 可行性分析
根据便民医疗服务小程序所拥有的功能情况,通过经济效益、技术难度和管理方式进行全面的可行性分析,来提供准确的可行性依据。以下是本微信小程序的可行性分析:
(1) 经济可行性
使用了免费版的Eclipse节省了开发成本,在购买服务器后部署项目便能通过浏览器进行访问。
(2) 技术可行性
本管理系统采用B/S架构和java语言进行设计,通过分层分包的方法,有利于日常的维护,同时降低了代码之间的耦合。
(3) 管理可行性
本管理系统所需要的管理难度低,只需要一个管理员便能进行报告信息、预约挂号、健康日记、hpv疫苗、健康体检、用户、新冠疫苗等管理的删除、修改和添加9。
3.2 功能需求分析
便民医疗服务小程序综合网络空间开发设计要求。目的是将便民医疗服务通过网络平台将传统管理方式转换为在网上操作,方便快捷、安全性高、交易规范做了保障,目标明确。便民医疗服务小程序可以将功能划分为用户、医生和管理员功能10。
(1) 用户关键功能包含用户注册登陆、首页、医疗知识、预约挂号、我的等有关功能。用户用例如下:

图3-1 用户用例图
(2) 医生关键功能包含首页、在线交流管理、报告信息管理、健康体检管理、预约挂号管理等有关功能。医生用例如下:

图3-2医生用例图
(3) 管理员的权限是最高的,可以对系统所在功能进行查看,修改和删除等,管理员用例如下:

图3-3管理员用例图
3.3 系统流程分析
3.3.1 登录流程
每个用户都有专属的密码和账号,在输入合法的账号和密码之后即可进入系统。登录流程如图3-4所示:

图3-4 登录流程图
3.3.2 添加信息流程
管理层人员有添加用户信息等信息功能。添加信息流程如图3-5所示:

图3-5 添加信息流程图
3.3.3 收藏信息流程
在便民医疗服务小程序中,用户登录后,浏览医疗知识、预约挂号、我的详情界面能进行信息收藏,用户收藏信息的流程图如图3-6所示:

图3-6 用户收藏信息流程图
4 系统设计
4.1 功能模块设计
便民医疗服务小程序根据权限类型进行分类,主要可分为用户微信、管理员和医生服务端三大模块。用户微信端模块主要实现了医疗知识、预约挂号、我的等操作,加强了用户的操作体验。管理员服务端模块主要根据管理员对整个系统的管理进行设计,提高了管理的效率和规范11。系统总体模块设计如下图所示:

图4-1 系统总体模块设计
4.2 系统数据库设计
4.2.1 数据库系统
本系统采用MySQL来进行数据库的管理。基于WEB的MySQL体积小、速度快、成本低,能够及时处理上千万条记录,初步满足和支持大型的数据库高并发的读写和高效率读写等要求。
4.2.2 数据库概念设计
概念模型用于对信息世界建模,并与指定的数据库管理系统分离。它有助于将真实世界的事物抽象为适合于数据库管理系统的数据库模型。人们往往把现实世界抽象成信息世界,再把信息世界变成机器世界。也就是说,将现实世界的目标抽象成独立于专用计算机软件和专用数据库管理系统的信息结构的数据模型,然后将物理模型转化为适合电子计算机的数据库管理系统。事实上,数据模型是从现实世界到机器世界的中间层。
信息世界的基本要素包括实体和关联。实体(entity) 客观存在并可相互区别的事物称为实体。实体可以是实际的人、事或物,还可以是抽象化的概念或联络。以下是对部分主要的关键实体E-R如下:
用户信息E-R图如下图4-2所示。

图4-2用户信息E-R图
医生信息E-R图如下图4-3所示。

图4-3医生信息E-R图
在线交流E-R图如下图4-4所示。

图4-4在线交流E-R图
报告信息E-R图如下图4-5所示。

图4-5报告信息E-R图
便民医疗服务小程序总体E-R图如下图4-5所示。

图4-5便民医疗服务小程序总体E-R图
4.2.3 数据表设计
本管理系统的数据表的设计根据管理过程中的具体流程所需,方便了管理员对数据进行新增、删除、修改和搜索的操作。
4.2.4 数据表的建立
系统使用MySQL工具对数据库进行操作,它有着简便的数据库管理操作以及强大的数据处理能力。以下是数据表的建立情况:
表4-1:菜单
|----------|-----------|------------|------|----|-------------------|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| addtime | timestamp | | 创建时间 | | CURRENT_TIMESTAMP |
| menujson | longtext | 4294967295 | 菜单 | | |
表4-2:科室
|---------|-----------|-----|------|----|-------------------|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| addtime | timestamp | | 创建时间 | | CURRENT_TIMESTAMP |
| keshi | varchar | 200 | 科室 | | |
表4-3:预约挂号
|-----------------|-----------|------------|------|----|-------------------|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| addtime | timestamp | | 创建时间 | | CURRENT_TIMESTAMP |
| yishengzhanghao | varchar | 200 | 医生账号 | | |
| yishengxingming | varchar | 200 | 医生姓名 | | |
| keshi | varchar | 200 | 科室 | | |
| tupian | longtext | 4294967295 | 图片 | | |
| jiuzhenshijian | varchar | 200 | 就诊时间 | | |
| guahaofei | double | | 挂号费 | | |
| shuliang | int | | 数量 | | |
| yuyuexuzhi | varchar | 200 | 预约须知 | | |
表4-4:健康日记
|----------------|-----------|------------|------|----|-------------------|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| addtime | timestamp | | 创建时间 | | CURRENT_TIMESTAMP |
| biaoti | varchar | 200 | 标题 | | |
| neirong | longtext | 4294967295 | 内容 | | |
| xiangqing | longtext | 4294967295 | 详情 | | |
| jilushijian | datetime | | 记录时间 | | |
| yonghuzhanghao | varchar | 200 | 用户账号 | | |
| yonghuxingming | varchar | 200 | 用户姓名 | | |
| userid | bigint | | 用户id | | |
表4-5:医疗知识评论表
|-----------|-----------|------------|-------|----|-------------------|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| addtime | timestamp | | 创建时间 | | CURRENT_TIMESTAMP |
| refid | bigint | | 关联表id | | |
| userid | bigint | | 用户id | | |
| avatarurl | longtext | 4294967295 | 头像 | | |
| nickname | varchar | 200 | 用户名 | | |
| content | longtext | 4294967295 | 评论内容 | | |
| reply | longtext | 4294967295 | 回复内容 | | |
表4-6:配置文件
|-------|---------|-----|--------|----|-----|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| name | varchar | 100 | 配置参数名称 | | |
| value | varchar | 100 | 配置参数值 | | |
表4-7:token表
|---------------|-----------|-----|------|----|-------------------|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| userid | bigint | | 用户id | | |
| username | varchar | 100 | 用户名 | | |
| tablename | varchar | 100 | 表名 | | |
| role | varchar | 100 | 角色 | | |
| token | varchar | 200 | 密码 | | |
| addtime | timestamp | | 新增时间 | | CURRENT_TIMESTAMP |
| expiratedtime | timestamp | | 过期时间 | | CURRENT_TIMESTAMP |
表4-8:报告信息
|-----------------|-----------|------------|------|----|-------------------|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| addtime | timestamp | | 创建时间 | | CURRENT_TIMESTAMP |
| jianchaxiangmu | varchar | 200 | 检查项目 | | |
| jianchabaogao | longtext | 4294967295 | 检查报告 | | |
| baogaojieguo | longtext | 4294967295 | 报告结果 | | |
| baogaojianjie | varchar | 200 | 报告简介 | | |
| yonghuzhanghao | varchar | 200 | 用户账号 | | |
| yonghuxingming | varchar | 200 | 用户姓名 | | |
| yishengzhanghao | varchar | 200 | 医生账号 | | |
| yishengxingming | varchar | 200 | 医生姓名 | | |
| userid | bigint | | 用户id | | |
表4-9:知识类型
|---------------|-----------|-----|------|----|-------------------|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| addtime | timestamp | | 创建时间 | | CURRENT_TIMESTAMP |
| zhishileixing | varchar | 200 | 知识类型 | | |
表4-10:在线交流
|-----------------|-----------|------------|------|----|-------------------|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| addtime | timestamp | | 创建时间 | | CURRENT_TIMESTAMP |
| yishengzhanghao | varchar | 200 | 医生账号 | | |
| yishengxingming | varchar | 200 | 医生姓名 | | |
| zixunneirong | longtext | 4294967295 | 咨询内容 | | |
| tupian | longtext | 4294967295 | 图片 | | |
| zixunshijian | datetime | | 咨询时间 | | |
| yonghuzhanghao | varchar | 200 | 用户账号 | | |
| yonghuxingming | varchar | 200 | 用户姓名 | | |
| shhf | longtext | 4294967295 | 回复内容 | | |
| userid | bigint | | 用户id | | |
表4-11:健康体检
|-----------------|-----------|------------|------|----|-------------------|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| addtime | timestamp | | 创建时间 | | CURRENT_TIMESTAMP |
| tijianxiangmu | varchar | 200 | 体检项目 | | |
| tijianfenlei | varchar | 200 | 体检分类 | | |
| tijiantupian | longtext | 4294967295 | 体检图片 | | |
| tijiandidian | varchar | 200 | 体检地点 | | |
| tijianfeiyong | double | | 体检费用 | | |
| tijianliucheng | longtext | 4294967295 | 体检流程 | | |
| yishengzhanghao | varchar | 200 | 医生账号 | | |
| yishengxingming | varchar | 200 | 医生姓名 | | |
表4-12:用户
|----------------|-----------|------------|------|----|-------------------|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| addtime | timestamp | | 创建时间 | | CURRENT_TIMESTAMP |
| yonghuzhanghao | varchar | 200 | 用户账号 | | |
| yonghumima | varchar | 200 | 用户密码 | | |
| yonghuxingming | varchar | 200 | 用户姓名 | | |
| touxiang | longtext | 4294967295 | 头像 | | |
| xingbie | varchar | 200 | 性别 | | |
| shoujihaoma | varchar | 200 | 手机号码 | | |
表4-13:医生
|-----------------|-----------|------------|------|----|-------------------|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| addtime | timestamp | | 创建时间 | | CURRENT_TIMESTAMP |
| yishengzhanghao | varchar | 200 | 医生账号 | | |
| yishengmima | varchar | 200 | 医生密码 | | |
| yishengxingming | varchar | 200 | 医生姓名 | | |
| zhaopian | longtext | 4294967295 | 照片 | | |
| xingbie | varchar | 200 | 性别 | | |
| lianxidianhua | varchar | 200 | 联系电话 | | |
| shanzhanglingyu | varchar | 200 | 擅长领域 | | |
| keshi | varchar | 200 | 科室 | | |
表4-14:hpv疫苗预约
|---------------------|-----------|-----|------|----|-------------------|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| addtime | timestamp | | 创建时间 | | CURRENT_TIMESTAMP |
| yimiaobianhao | varchar | 200 | 疫苗编号 | | |
| yimiaomingcheng | varchar | 200 | 疫苗名称 | | |
| yimiaoleixing | varchar | 200 | 疫苗类型 | | |
| picihao | varchar | 200 | 批次号 | | |
| shengchanriqi | varchar | 200 | 生产日期 | | |
| baozhiqi | varchar | 200 | 保质期 | | |
| shengchanchangshang | varchar | 200 | 生产厂商 | | |
| yuyueshijian | datetime | | 预约时间 | | |
| yonghuzhanghao | varchar | 200 | 用户账号 | | |
| yonghuxingming | varchar | 200 | 用户姓名 | | |
| xingbie | varchar | 200 | 性别 | | |
表4-15:医疗知识
|---------------|-----------|------------|------|----|-------------------|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| addtime | timestamp | | 创建时间 | | CURRENT_TIMESTAMP |
| zhishibiaoti | varchar | 200 | 知识标题 | | |
| zhishileixing | varchar | 200 | 知识类型 | | |
| fengmian | longtext | 4294967295 | 封面 | | |
| shipin | longtext | 4294967295 | 视频 | | |
| zhishijianjie | longtext | 4294967295 | 知识简介 | | |
| zhishineirong | longtext | 4294967295 | 知识内容 | | |
| storeupnum | int | | 收藏数量 | | |
表4-16:hpv疫苗
|---------------------|-----------|------------|------|----|-------------------|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| addtime | timestamp | | 创建时间 | | CURRENT_TIMESTAMP |
| yimiaobianhao | varchar | 200 | 疫苗编号 | | |
| yimiaomingcheng | varchar | 200 | 疫苗名称 | | |
| yimiaoleixing | varchar | 200 | 疫苗类型 | | |
| picihao | varchar | 200 | 批次号 | | |
| tupian | longtext | 4294967295 | 图片 | | |
| shuliang | int | | 数量 | | |
| shengchanriqi | date | | 生产日期 | | |
| baozhiqi | varchar | 200 | 保质期 | | |
| shengchanchangshang | varchar | 200 | 生产厂商 | | |
| storeupnum | int | | 收藏数量 | | |
| jiezhongliucheng | longtext | 4294967295 | 接种流程 | | |
| fuzuoyong | longtext | 4294967295 | 副作用 | | |
表4-17:新冠疫苗预约
|---------------------|-----------|-----|------|----|-------------------|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| addtime | timestamp | | 创建时间 | | CURRENT_TIMESTAMP |
| yimiaobianhao | varchar | 200 | 疫苗编号 | | |
| yimiaomingcheng | varchar | 200 | 疫苗名称 | | |
| picihao | varchar | 200 | 批次号 | | |
| shengchanriqi | varchar | 200 | 生产日期 | | |
| baozhiqi | varchar | 200 | 保质期 | | |
| shengchanchangshang | varchar | 200 | 生产厂商 | | |
| yuyueshijian | datetime | | 预约时间 | | |
| yonghuzhanghao | varchar | 200 | 用户账号 | | |
| yonghuxingming | varchar | 200 | 用户姓名 | | |
| xingbie | varchar | 200 | 性别 | | |
表4-18:挂号
|-----------------|-----------|-----|------|----|-------------------|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| addtime | timestamp | | 创建时间 | | CURRENT_TIMESTAMP |
| yuyuebianhao | varchar | 200 | 预约编号 | | |
| yishengzhanghao | varchar | 200 | 医生账号 | | |
| yishengxingming | varchar | 200 | 医生姓名 | | |
| keshi | varchar | 200 | 科室 | | |
| guahaofei | double | | 挂号费 | | |
| shuliang | varchar | 200 | 挂号数量 | | |
| yuyueshijian | datetime | | 预约时间 | | |
| yonghuzhanghao | varchar | 200 | 用户账号 | | |
| yonghuxingming | varchar | 200 | 用户姓名 | | |
| shoujihaoma | varchar | 200 | 手机号码 | | |
| ispay | varchar | 200 | 是否支付 | | |
表4-19:体检预约
|-----------------|-----------|-----|------|----|-------------------|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| addtime | timestamp | | 创建时间 | | CURRENT_TIMESTAMP |
| tijianxiangmu | varchar | 200 | 体检项目 | | |
| tijianfenlei | varchar | 200 | 体检分类 | | |
| tijiandidian | varchar | 200 | 体检地点 | | |
| tijianfeiyong | double | | 体检费用 | | |
| yuyueshijian | datetime | | 预约时间 | | |
| yonghuzhanghao | varchar | 200 | 用户账号 | | |
| yonghuxingming | varchar | 200 | 用户姓名 | | |
| yishengzhanghao | varchar | 200 | 医生账号 | | |
| yishengxingming | varchar | 200 | 医生姓名 | | |
| ispay | varchar | 200 | 是否支付 | | |
表4-20:新冠疫苗
|---------------------|-----------|------------|------|----|-------------------|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| addtime | timestamp | | 创建时间 | | CURRENT_TIMESTAMP |
| yimiaobianhao | varchar | 200 | 疫苗编号 | | |
| yimiaomingcheng | varchar | 200 | 疫苗名称 | | |
| picihao | varchar | 200 | 批次号 | | |
| tupian | longtext | 4294967295 | 图片 | | |
| shuliang | int | | 数量 | | |
| shengchanriqi | date | | 生产日期 | | |
| baozhiqi | varchar | 200 | 保质期 | | |
| shengchanchangshang | varchar | 200 | 生产厂商 | | |
| storeupnum | int | | 收藏数量 | | |
| jiezhongliucheng | longtext | 4294967295 | 接种流程 | | |
| fuzuoyong | longtext | 4294967295 | 副作用 | | |
表4-21:体检分类
|--------------|-----------|-----|------|----|-------------------|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| addtime | timestamp | | 创建时间 | | CURRENT_TIMESTAMP |
| tijianfenlei | varchar | 200 | 体检分类 | | |
表4-22:管理员
|----------|-----------|-----|------|----|-------------------|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| addtime | timestamp | | 创建时间 | | CURRENT_TIMESTAMP |
| username | varchar | 200 | 用户名 | | |
| password | varchar | 200 | 密码 | | |
| role | varchar | 200 | 角色 | | |
表4-23:体检报告
|-----------------|-----------|------------|------|----|-------------------|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| addtime | timestamp | | 创建时间 | | CURRENT_TIMESTAMP |
| tijianxiangmu | varchar | 200 | 体检项目 | | |
| tijianfenlei | varchar | 200 | 体检分类 | | |
| tijianbaogao | longtext | 4294967295 | 体检报告 | | |
| baogaoshijian | datetime | | 报告时间 | | |
| tijianshuoming | varchar | 200 | 体检说明 | | |
| yonghuzhanghao | varchar | 200 | 用户账号 | | |
| yonghuxingming | varchar | 200 | 用户姓名 | | |
| tijianjieguo | longtext | 4294967295 | 体检结果 | | |
| yishengzhanghao | varchar | 200 | 医生账号 | | |
| yishengxingming | varchar | 200 | 医生姓名 | | |
表4-24:我的收藏
|-----------|-----------|------------|----------------------------------|----|-------------------|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| addtime | timestamp | | 创建时间 | | CURRENT_TIMESTAMP |
| refid | bigint | | refid | | |
| tablename | varchar | 200 | 表名 | | |
| name | varchar | 200 | 名称 | | |
| picture | longtext | 4294967295 | 图片 | | |
| type | varchar | 200 | 类型(1:收藏,21:赞,22:踩,31:竞拍参与,41:关注) | | |
| inteltype | varchar | 200 | 推荐类型 | | |
| remark | varchar | 200 | 备注 | | |
| userid | bigint | | 用户id | | |
5 系统实现
5.1 用户微信端模块实现
当游客打开微信小程序的网址后,首先看到的就是微信小程序首页界面。在这里,游客能够看到便民医疗服务小程序的导航条显示首页、医疗知识、预约挂号、我的等,如图5-1所示。

图5-1微信小程序首页界面图
当用户进入微信小程序进行相关操作前必须先注册登录,在注册页面填写用户账号、密码、确认密码、头像、手机号码等信息,然后点击注册,如图5-2所示。

图5-2用户注册界面图
用户登录,用户在登录页面通过填写账号、密码,完成登录,如图5-3所示。

图5-3用户登录界面图
用户点击预约挂号,在预约挂号页面的搜索栏输入医生姓名,进行搜索,然后可以查看医生账号、医生姓名、科室、图片、就诊时间、挂号费、数量等信息,如有需要点击挂号等详情操作,如图5-4所示。

图5-4预约挂号界面图
用户点击我的页面,在我的页面可以对我的收藏、在线交流、报告信息、挂号、健康日记、hpv疫苗预约、新冠疫苗预约、健康体检管理等信息,进行详细操作,如图5-5所示。

图5-5我的界面图
5.2 管理员服务端模块实现
管理员登录,在登录页面选择需要登录的角色,在正确输入用户名和密码后,点击登录操作;如图5-6所示。

图5-6管理员登录界面
管理员进入系统主页面,主要功能包括对首页、在线交流管理、报告信息管理、预约挂号管理、健康日记管理、hpv疫苗管理、健康体检管理、用户管理、新冠疫苗管理、医疗知识管理、管理员管理等进行操作。如图5-7所示:

图5-7管理员主界面
用户信息功能在视图层(view层)进行交互,比如点击"新增"按钮或填写用户信息表单。这些用户信息动作被视图层捕获并作为请求发送给相应的控制器层(control1er层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如搜索、新增或删除用户信息,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便用户信息功能可以看到最新的信息或相应的操作反馈。在用户信息的输入栏中输入用户账号进行搜索,可以查看到用户详细信息,并根据需要进行修改或者删除等操作。如图5-8所示。

图5-8用户界面图
医生信息功能在视图层(view层)进行交互,比如点击"新增"按钮或填写医生信息表单。这些医生信息动作被视图层捕获并作为请求发送给相应的控制器层(control1er层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如搜索、新增或删除医生信息,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便医生信息功能可以看到最新的信息或相应的操作反馈。在医生信息的输入栏中输入医生账号进行搜索,可以查看到医生详细信息,并根据需要进行修改或者删除等操作。如图5-9所示。

图5-9医生界面图
管理员点击在线交流,在在线交流页面的输入医生账号、医生姓名、图片、咨询时间、用户账号、用户姓名、回复等信息,进行搜索或者删除在线交流等操作,如图5-10所示。

图5-10在线交流界面图
管理员点击报告信息,在报告信息页面的对检查项目、检查报告、报告简介、用户账号、用户姓名、医生账号、医生姓名等信息,进行搜索或者删除报告信息等操作,如图5-11所示。

图5-11报告信息界面图
管理员点击挂号,在挂号页面的对预约编号、医生账号、医生姓名、科室、挂号费、挂号数量、预约时间、用户账号、用户姓名、手机号码、支付状态等信息,进行搜索或者删除挂号等操作,如图5-12所示。

图5-12挂号界面图
管理员点击hpv疫苗,在hpv疫苗页面的对疫苗编号、疫苗名称、疫苗类型、批次号、图片、数量、生产日期、保质期、生产厂家等信息,进行搜索、新增或者删除hpv疫苗等操作,如图5-13所示。

图5-13hpv疫苗界面图
管理员点击健康体检,在健康体检页面的对体检项目、体检分类、体检图片、体检地点、体检费用、医生账号、医生姓名等信息,进行搜索或者删除健康体检等操作,如图5-14所示。

图5-14健康体检界面图
5.3 医生服务端模块实现
医生登录,在登录页面选择需要登录的角色,在正确输入用户名和密码后,点击登录操作;如图5-15所示。

图5-15医生登录界面
医生进入系统主页面,主要功能包括对首页、在线交流管理、报告信息管理、健康体检管理、预约挂号管理等进行操作。如图5-16所示:

图5-16医生主界面
6 系统测试
软件测试是一系列过程活动的总和,本系统采用黑盒测试,用于检测用户、医生和管理员三个角色在操作中存在的问题12。黑盒测试注重于测试软件的功能需求。
6.1 软件测试过程
软件测试是软件设计的收尾阶段,它是贯穿整个设计过程的,是一个巨大的任务。软件测试需要对程序所有的部分进行测试。且对每个部分的测试都是不一样的,需要在进行测试之前将它们分为以下几个阶段:
软件测试是软件设计的最后阶段,它贯穿于整个设计过程,是一项巨大的任务。软件测试需要测试程序的所有部分。每个部分的测试是不同的,在测试前需要分为以下几个阶段:
(1) 模块测试
它是一种检查软件程序代码的测试。用于软件的最小单元部分。单元测试分为手动测试和动态测试。为了保证程序算法的正确性,静态检测应规范程序的逻辑性、规范性和正确性。这一步是检测尽可能多的错误。动态检测是通过比较实际结果和期望结果来发现误差13。
(2) 集成测试
集成测试是在单元测试的基础上对系统各个功能模块进行测试。任何软件设计都会有集成阶段,因此集成测试是软件测试过程中必不可少的一部分。在集成测试中,由于测试是在各个模块之间进行的,所以在测试过程中可能没有发现问题,但会暴露整个测试。同时,在进行集成测试时要注意模块连接时的数据丢失。还要注意,虽然单个模块的错误可能很少,但它们可以拼凑在一起,对系统产生重大影响。
(3) 系统测试
系统测试紧随集成测试之后。系统测试将通过集成测试的部分作为整个系统的一部分。与电子设备的各种软硬件一起,通过实际操作来检测,在模拟的实际环境中是否存在误差。需要将系统测试与计划的理想情况进行比较,并找出与预期不同的地方。通过设计师的分析确定如何修改。在软件的实际操作过程中,会出现很多意想不到的错误,测试人员可能无法在第一时间解决问题。因此,系统测试应尽量在实际操作下进行,以达到更好的测试目的。
(4) 验收测试
验收测试是系统在设计和发布前的最后一次测试,需要了解用户和合作伙伴的需求。并与他们一起完成测试,同时根据他们的需求进行具体的修改,使软件更好地满足这三个需求14。
6.2 测试用例
本管理系统的登录模块测试,主要包括了密码测试,具体测试情况如下:
(1)密码登录测试
密码登录要求用户输入用户名和密码进行核对,如果用户登录成功,会自动跳转到系统主页,如果登录失败,则会弹出" 用户名或密码输入有误,请重新输入!",系统会根据用户不同的角色加载相应的菜单,具体测试用例见表6-1。
表6-1 账号密码登录测试用例表
|----|------------------|----------------------|----------------------|
| 用例 | 用户名/密码/角色 | 预计结果 | 实际结果 |
| 1 | 1001/123 /用户 | 弹出"密码输入有误,请重新输入!"的提示 | 弹出"密码输入有误,请重新输入!"的提示 |
| 2 | 1001/a123456 /用户 | 登录成功并跳转至主页 | 登录成功并跳转至主页 |
| 3 | 1002/admin1 /管理员 | 登录成功并跳转至主页,同时显示不同的菜单 | 登录成功并跳转至主页,同时显示不同的菜单 |
结 论
通过本次毕业设计对便民医疗服务小程序的设计与实现,让我能够将所学的一个个知识联系起来形成了一个整体,对于整个系统的运行流程有了一个清楚的认识。从前端通过接口请求数据到后端控制层调用业务层再到数据库访问层对数据库进行查找,然后将数据进行封装后一个一个层传输最后到前端以及后端进行显示的过程中,每一个流程都需要仔细的分析调试。在这之间,也遇到了许许多多的困难,走了很多的弯路,但正是因为克服了这些困难,才能开发出这个系统,实现对便民医疗服务的电子化管理,提高了工作的效率。
致 谢
晃眼间四年大学时光即将过去。当我在完成大学里最后一个任务模块时,我意识到自己将要毕业了,将离开陪伴了自己四年快乐时光的校园。回首四年往事,让我深有感触学校四年的点点滴滴,有太多无法忘记的事事非非。学校的室友,同学,老师,图书馆,教学楼等,这些都是我无法抹去的记忆,已使我的心里很不是滋味。在此我要首先感谢我的指导老师。从最开始的论文选题、分析,老师就根据我们所选的课题提供了参考资料并且帮助我们进行系统的功能分析。他认真的工作态度、辛勤的工作精神,对我的影响深远,当我遇到问题以及疑惑时,老师总能指出问题的所在,让我收获了许多,再次感谢老师对我的帮助,以及还要感谢我的家人和朋友,正因为有了他们的支持,使我今后的人生有了更多的意义。
同时我还要感谢我的室友们。虽然我这几年的生活一直很困难,但是每当我遇到困难或者不开心的时候,他们都会给我建议,让我不难过。每当我生日的时候,他们都会聚在一起为我庆祝。和他们交流之后,我就会走出坏心情,变得快乐。因此,我感谢他们这四年的努力。
时光飞逝,四年的大学生活转眼就要过去了。此时此刻,四年的时光在我的脑海中再次上演。我的舍友、同学、老师,这一刻,我已经止不住的流泪了。我有太多的记忆永远刻在脑子里,我不会忘记他们的点点滴滴。与此同时,我也会积极准备考研,吸取第一次失败的经验,争取在二战中取得好成绩,考上心中理想的学校。我一定会加油的!
参 考 文 献
1 罗旭.宜宾一微信小程序的志愿者管理系统设计与实现D.电子科技大学,2020.
2 吴丽娟. 基于springboot的贵州省财政学校人事管理系统设计与实现D. 厦门大学, 2019.
3 陈键.基于java和MySQL的酒店预订管理系统的设计J.电脑与信息技术,2020, 06:48-49.
4 崔炜.基于PowerBuilder社区管理系统的研究与实现J.清远职业技术学院学报,2020,06:63-66.
5 刘立. MVVM 模式分析与应用J.微型电脑应用, 2019, 8(12): 57-60.
6 王志任.基于java的开发平台的设计与实现D.广东工业大学,2020
7 刘敏.基于springboot框架社交网络平台的设计与实现D.湖南大学,2021.
8 姜萍.基于MySql的房地产销售管理系统设计与开发D.吉林大学,2020.
9 颜清,苗壮,赖鑫生,等.大数据时代关系数据库MySQL的创新与发展J.科技风, 2020(20):75-76.
10 马景娣,田稷.基于J2EE 的科技查新综合信息系统的设计与实现J.现代图书情 报技术 2019(08):75-80.
11 张玮.浅析白盒测试和黑盒测试J.无线互联科技,2019(06):136.
核心代码展示
java
/**
* 登录相关
*/
@RequestMapping("users")
@RestController
public class UserController{
@Autowired
private UserService userService;
@Autowired
private TokenService tokenService;
/**
* 登录
*/
@IgnoreAuth
@PostMapping(value = "/login")
public R login(String username, String password, String captcha, HttpServletRequest request) {
UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
if(user==null || !user.getPassword().equals(password)) {
return R.error("账号或密码不正确");
}
String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());
return R.ok().put("token", token);
}
/**
* 注册
*/
@IgnoreAuth
@PostMapping(value = "/register")
public R register(@RequestBody UserEntity user){
// ValidatorUtils.validateEntity(user);
if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
return R.error("用户已存在");
}
userService.insert(user);
return R.ok();
}
/**
* 退出
*/
@GetMapping(value = "logout")
public R logout(HttpServletRequest request) {
request.getSession().invalidate();
return R.ok("退出成功");
}
/**
* 密码重置
*/
@IgnoreAuth
@RequestMapping(value = "/resetPass")
public R resetPass(String username, HttpServletRequest request){
UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
if(user==null) {
return R.error("账号不存在");
}
user.setPassword("123456");
userService.update(user,null);
return R.ok("密码已重置为:123456");
}
/**
* 列表
*/
@RequestMapping("/page")
public R page(@RequestParam Map<String, Object> params,UserEntity user){
EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));
return R.ok().put("data", page);
}
/**
* 列表
*/
@RequestMapping("/list")
public R list( UserEntity user){
EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
ew.allEq(MPUtil.allEQMapPre( user, "user"));
return R.ok().put("data", userService.selectListView(ew));
}
/**
* 信息
*/
@RequestMapping("/info/{id}")
public R info(@PathVariable("id") String id){
UserEntity user = userService.selectById(id);
return R.ok().put("data", user);
}
/**
* 获取用户的session用户信息
*/
@RequestMapping("/session")
public R getCurrUser(HttpServletRequest request){
Long id = (Long)request.getSession().getAttribute("userId");
UserEntity user = userService.selectById(id);
return R.ok().put("data", user);
}
/**
* 保存
*/
@PostMapping("/save")
public R save(@RequestBody UserEntity user){
// ValidatorUtils.validateEntity(user);
if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
return R.error("用户已存在");
}
userService.insert(user);
return R.ok();
}
/**
* 修改
*/
@RequestMapping("/update")
public R update(@RequestBody UserEntity user){
// ValidatorUtils.validateEntity(user);
userService.updateById(user);//全部更新
return R.ok();
}
/**
* 删除
*/
@RequestMapping("/delete")
public R delete(@RequestBody Long[] ids){
userService.deleteBatchIds(Arrays.asList(ids));
return R.ok();
}
}
项目推荐
【计算机毕业设计】基于Springboot的网上购物商城销售系统
⬇️文章末尾可以获取联系方式,需要源码,高清图片,演示视频可以联系(不开源)⬇️
⚡感兴趣大家可以点点关注收藏,后续更新更多项目资料。⚡