【《基于springboot框架的宠物医院管理系统设计》24000字(论文)】_第1页
【《基于springboot框架的宠物医院管理系统设计》24000字(论文)】_第2页
【《基于springboot框架的宠物医院管理系统设计》24000字(论文)】_第3页
【《基于springboot框架的宠物医院管理系统设计》24000字(论文)】_第4页
【《基于springboot框架的宠物医院管理系统设计》24000字(论文)】_第5页
已阅读5页,还剩66页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于springboot框架的宠物医院管理系统设计摘要随着科技的发展和人们的生活水平的不断提高,越来越多的人热衷于养宠物,猫狗等宠物早就融入了我们的身边,成为我们生活的一部分。因此,宠物医院的数量也在不断的增加,一套优质的服务系统是必不可少的。但很多宠物医院的服务,还停留在提前电话预约就诊或者直接到医院就诊等方式,不仅给医院的工作造成极大的不便,而且给客户留下极差的服务体验。现如今计算机技术的不断成熟和普及,可以利用现有的技术,制作一个宠物医院预约管理系统对预约和就诊记录进行电子信息化管理。还可以在系统上发布优惠活动和养宠物的知识科普。信息化的管理宠物医院的预约和就诊记录,一是能避免手工处理宠物就诊病历的方式造成容易丢失和工作人员时间的大量耗费,二是拉近客户与宠物医院的关系,增加信任感。宠物医院预约管理系统主要分为两个部分,一个是面向客户的小程序端部分,一个是对小程序端数据进行管理的PC端的后台管理部分。小程序设计有以下几个模块:轮播图,导航栏,优惠活动,宠物百科,预约,预约通知,宠物信息,就诊记录等。PC端后台管理设计有以下几个模块:轮播图管理,导航栏管理,优惠活动管理,宠物百科管理,客户管理,宠物医院管理员管理,医生管理模块预约管理,宠物信息管理,就诊记录管理等。采用前后端分离式开发,开发工具采用Idea2019,微信开发者,VisualStudioCode和MySQL5.5,实现客户登录预约,医生登录添加就诊记录和管理人员登录对数据进行维护。关键词:宠物医院预约管理;微信小程序;vue.js技术;springboot框架;目录TOC\o"1-3"\h\u1绪论 11.1设计的背景 11.2当前的研究现状 11.3课题主要工作 22可行性分析 42.1社会的可行性 42.2技术的可行性 42.3经济效益的可行性 42.4开发工具论述 52.5小结 73需求分析 83.1系统的目标 83.2拟解决问题 103.3系统用例图 113.4时序图 163.5活动图 193.5.1登录与注册 193.5.2启用导航 193.5.3优惠活动发布 203.5.4宠物百科发布 203.5.5添加宠物 203.5.6预约 213.6小结 214总体设计 224.1系统模块结构 224.2功能的分析 234.3系统数据库E-R图 244.4系统数据库设计 294.5小结 335详细设计 345.1系统的结构设计 345.2系统的界面设计 345.3功能子模块设计 345.3.1登录与注册模块 355.3.2管理员模块 385.3.4轮播图模块 445.3.5导航模块 455.3.6优惠活动模块 465.3.7宠物百科模块 475.3.8预约模块 495.3.9就诊模块 515.4小结 526系统测试 536.1测试的任务 536.2测试的方式 536.3测试的用例 536.3.1测试的设备 536.3.2预置的条件 536.3.3例子测试 536.4小结 67总结 68参考文献 711绪论1.1设计的背景随着互联网的发展和信息技术的不断更新,人们对服务行业的要求也越来越高,宠物医院的便利化预约就诊需求也显得越来越迫切。虽然现代信息化技术也越来越先进了,但在许多的宠物医院依然采取较为传统的方式进行预约和对就诊记录进行管理,比如电话预约和使用纸质文档记录等方式;部分较为先进一些的宠物医院则采取医院管理系统的方式对宠物的就诊记录进行信息化存储,但任然没有解决网络预约就诊的迫切需求。与国外不同的是,中国养宠人群主要是年轻、高学历、女性、未婚群体。而这类群体大多都忙于工作,平时并没有太多的时间,加上宠物一旦有了就诊的需要,他们就会变得手忙脚乱,不能够合理的安排自己的时间,甚至影响到正常的生活和工作。宠物医院预约管理系统的开发,不仅能够方便客户预约就诊时间,避免排队就诊造成时间浪费,同时也方便客户在系统上实时查看宠物的就诊记录和体检结果等。科技的不断进步,信息技术成为了社会不可或缺的一部分。宠物医院预约管理系统,客户可以为宠物预约就诊和体检等,医院医生根据预约记录宠物的就诊情况,管理员便于维护宠物的信息,客户可以方便及时的了解宠物的状况,同时宠物医院预约管理系统也为客户提供了了解宠物科学喂养知识正确途径,精细化管理宠物信息,可提高宠物医院的工作效率,能够是宠物医院的预约就诊规范化,为客户提供更优质的服务,增加用户信任感。1.2当前的研究现状近些年来,经济的迅猛发展,人们的物质生活水平逐渐提高,随之精神文化需要也在进一步扩大,宠物成为了人们的居家伴侣和情感的寄托,宠物医院伴随着宠物行业的兴旺而发展迅速。现在国内的宠物医院预约信息管理的系统制作还是处于缓慢发展状态,与国外相比还是远远不够成熟的。通过对国外宠物医院系统进行调查,发现国外的宠物医院系统发展特别迅速,他们宠物诊疗类的公司的发展模式主要有两类,一种是连锁宠物诊所模式,另一种是宠物医院模式。他们的宠物医院管理系统都是比较完善的,不论是在管理还是功能实现方面,国外对宠物医疗这方面比较重视,而我国还处于发展期。由此可见,与国内宠物医疗发展状态形成了鲜明对比,我国的宠物医院系统建设还存在着很多的不足,比如对宠物医院系统建设意识不够强,对宠物医院管理很一般,没有规范化管理等问题。对于我国宠物医院行业现状是在管理方面仍存在一些问题,不少宠物医院采用电话预约、人工管理宠物病例档案和处方管理的方式或者是较为先进些的医院则采取医院管理系统的方式对宠物的就诊记录进行信息化存储,但任然没有解决网络预约就诊的迫切需求,这些方式造成了工作的效率低和极大的人力损耗,并且在档案的管理方面容易出现混乱。目前宠物医院的管理工作已经成为宠物医院,尤其是大中型宠物医院的发展制约因素之一。现在我国的宠物医院系统也开始慢慢走进信息化了,面对传统宠物医院行业目前存在的种种问题,“互联网+宠物医院”的宠物医院新形式也相继推出,在这种形式下宠物医院行业将会更标准化专业化与信息化,宠物医院信息管理系统便于用户网上预约和查询宠物的医疗情况,宠物医院的规范化管理可以在很大水平上给用户展现出医院的规范性,从而能提高在用户的好感度。经过对国内的了解,根据宠物医院管理的需求,河南牧业经济学院的吕金龙使用ASP.NET技术设计并实现了宠物医院管理信息系统[1]。东北大学的张帆也同样采用了ASP.NET技术,研发了基于.NETFramework平台的信息管理系统[2]。山东大学的田海晴采用了springboot+vue.js技术进行前后端分离式开发,开发了共享运营管理平台[4]。河北大学的倪旺基于微信小程序开发了车位预约设计[5]。这类网站的共同特点都是为了科学化管理宠物医院,简化日常的繁琐工作,从而促进其他方面的综合发展。随时科技技术不断的发达,同时信息技术也进步得越来越快,目前的社会是信息时代,我们的生活圈离不开信息,宠物医院系统信息化的开发与实现,可以解决宠物医院预约排队就诊、医院就诊工作不能合理安排的各种问题,一个实用的宠物医院信息管理系统来规范宠物信息的管理,这将会大大提高宠物医院的管理水平,优化资源,实现效益最大化。所以,宠物医院系统信息化的设计与实现是必不可少的。由于我国的宠物医院系统发展比较慢,在很多方面都需要信息化来完善。渐渐的让我们也进入国际化水平。1.3课题主要工作本宠物医院预约管理系统的设计与实现就是专门为宠物医院设计的,让宠物医院可以有一个规范的信息管理方式和预约流程。本系统设计中有一下特点:第一:结构简单。网站设有角色,角色之间有联系。系统普通管理员负责网站的一个日常工作管理。系统超级管理员对管理员信息进行维护。每个角色有各自的工作,在平台上减少一些工作量,减少浪费时间,完美的结合了整个网站的管理工作。第二:具备环境适应性。在不同的电脑,在不同的内存下,依然可以正常运行,且会以百分百的分辨率显示,没有出现其他乱屏或运行失败的情况。第三:具有良好的交互页面。界面整洁干净,且容易操作,操作简单,功能操作也方便和流畅,整个页面的颜色搭配合理。第四:具有人性化。对于宠物医院管理员来说,可以方便管理预约的日常工作,减少繁琐的事务,减少工作量,也提高工作效率。对客户来说,可以更方便快速的了解到宠物医院的情况。对宠物医院来说,可以更好宣传医院的活动,展现医院的规范化管理。如今我们的生活到处是都信息化,我们生活在一个互联网的世界里,我们无时无刻的感受着信息技术给我们的变化。不用出门,便知天下事,这就是信息技术的一个强大之处。对于养宠物的群体来说,需要工作就没有很多时间,大部分的人对宠物生病还是难免手忙脚乱,所以,信息化宠物医院预约管理系统的设计与实现,可以给客户一个为宠物预约就诊和了解养宠知识的途径。2可行性分析制作一个系统主要要考虑它的可行性,宠物医院系统的管理设计与实现要从社会可行性、技术可行性、经济效益可行性、开发工具论述,从这四个方面阐述可行性分析,要尽可能的使用最低的成本实现最好的系统功能。2.1社会的可行性目前社会,饲养宠物的人数呈爆发式增长,随之而成立的宠物医院、宠物诊所也越来越多,现代信息化技术也越来越先进了,但在管理设计大部分还是采用人工管理方式,很多管理者都很被动,工作量大,需要信息化系统的解决,宠物医院信息化管理,管理者不仅可以方便管理宠物信息,规范化的服务方式还让客户享受到了优质的服务带来的便利和愉悦感,增大了客户再次选择该宠物医院的可能性。同时,客户也便于了解宠物医院的动态。如今,信息化将走进我们的生活,传统的医疗服务已经不能满足现代人的需求,因此宠物医院的医疗服务信息化管理刻不容缓。2.2技术的可行性现在社会,宠物医院的数量正在增加,为了能够在日益激烈的市场竞争中顽强生存,一套完善的管理是必不可少的。但是目前很多国内宠物医院信息管理一般采用纯手工管理。随着宠物医院规模增大,宠物医院对宠物的就诊病例信息记录和预约就诊的管理工作也变得繁杂,从用户预约到最后为宠物治疗需要一系列的信息传达和工作交接,造成极大的不便利。而且这种方法的弊端在于参与管理的人员文化水平不一,字迹不一,互相之间会导致信息传达不便,而且纸质信息传载媒体有着一个很大的弱点就是容易损坏,造成信息丢失。宠物医院信息化管理,管理者不仅可以方便管理宠物信息,还能方便客户了解宠物医院的动态。此次宠物医院管理系统的设计与实现的工具有idea、微信开发者工具、VisualStudioCode,数据库采用MySQL,采用微信小程序开发技术基于VantWeapp轻量级UI组件框架、Vue.js前端开发技术基于ElementUI组件框架和Java技术基于SpringBoot框架SQL等脚本语言,功能极大。系统处理的速度很快,关于权限这方面的设置也很精准,再加上保护数据的安全性也很高,这是Web设计的规范。同时,轻量级UI组件框架有简洁、直观、强悍等特点,能够更快速地开发Web应用程序,因此,技术上是可行的。2.3经济效益的可行性首先,可以使繁杂的管理工作简单化,宠物医院的管理人员可以不用手写记录预约信息,人工整理档案,医生可以用手写就诊记录。其次,随着宠物医院规模增大和就诊的宠物越来越多,宠物的就诊信息就越来越大,人工管理起来既不方便,花费时间也多,直接使用信息化管理,直接把实时录入系统,保存在数据库中,不但减少工作量对维护人员进行了减负,还能够有效的减少人工费用和时间的花费,工作的效率可以大大的提高。最后,方便客户随时随地为使用手机就可以宠物预约服务,还可以实时了解宠物医院的优惠活动,学习更多的养宠知识。2.4开发工具论述宠物医院信息化管理,宠物医院系统信息化的设计与完成,都需要进行大量的数据提取、保存、修改及删除等操作,因此,我决定前台开发工具采用Vue、VantWeapp和ElementUI框架技术,用于设计操作界面,NavicatforMySQL是数据库软件,用于进行数据管理。Vue结合Springboot及MyBatis是当下BS开发模式的热门技术,Vue重点在视图层的开发应用上,vue-cli是官方发布的脚手架,可快速搭建前端框架,其运用到的关键技术包括单页面开发、Vue路由、Vue状态管理,axios请求和响应技术。Springboot应用于后端开发,其是Spring开发技术的升级,引入注解,简化了Web框架的配置和开发流程。Mytatis是对象映射框架,内置jdbc,只关注SQL本身[6]。小程序从本质上来说就是一个HTML5(移动网页)应用,但它采用了socket双向通信从而解决了传统的HTML5下网页加载太慢的问题,所以给用户的体验来说更像APP。同时,小程序兼具原生APP的使用体验和HTML5的便捷性,形成了对原生APP的替代作用,但为用户提供了无限装机功能,解决了手机内存有限的问题。而且在线下场景应用方面,小程序也将进一步提高微信支付的使用频率。对于开发者来说,小程序的开发相比原生APP的开发来说,门槛低并且周期短,能够有效降低开发成本[7]。Vue开发环境如图2-1:图2-1Vue开发环境小程序开发环境如图2-2:图2-2小程序开发环境Java开发环境如图2-2:图2-3Java开发环境宠物医院预约管理系统设计与实现中使用到了,NavicatforMySQL是数据库的选用开发工具,一切用户都可以使用NavicatforMySQL模型,包括管理员、医生、客户管理等。NavicatforMySQL数据库是性能高的数据程序,可以用于构建和管理,也是一种关系型数据,它可以实现大量的数据处理以及数据管理储存的操作。它具有巨大的功能,它可以用SQL查找语句进行多表查询,也可以用视图查询。NavicatforMySQL数据库如图2-4:图2-4MySQL数据库2.5小结本章节主要是社会、技术、经济、开发工具进行一个可行性分析,从社会的需要,技术的先进,使用费用低,工具简单不复杂,经过这几个方面的详细分析,是可执行的。3需求分析需求分析就是开发工作人员发现需求、求精、建模和定义需求的过程,从社会的角度、用户的角度以及开发者的角度来分析阐述需求。根据需求分析了解清楚当前系统的一些迫切需求。最后把调研得到的需求写成一个系统需求说明书,清楚制作这个系统的流程和系统的功能。需求分析主要是从网站目标、拟解决问题、网站用例图、时序图、活动图,这五个方面来阐述。3.1系统的目标以前,人们的生活比较艰苦,作为人类最早的宠物,狗狗一开始被驯化的最大用途之一就是看家护院,在当时,因为条件艰苦,自然就没有钱给宠物看病,所以就没有这个意识。但是随着人们生活水平的提高,人们养宠物的态度在改变,也更加重视宠物的健康。现代信息化的技术也越来越成熟和普遍,但在宠物医院的预约就诊管理上大部分还是采用人工记录管理的方式,工作量大。饲养宠物的人群,青年人占据主要,大多都忙于工作,空闲时间很少,宠物一旦生病需要到医院就诊,他们就会变得很被动,很难合理的规划安排时间,他们甚至不了解哪些宠物医院是值得信赖的医院,变得焦虑。为了让客户更好的了解宠物医院的情况,为了宠物医院更合理有效地管理宠物的信息和宠物的就诊记录,需要开发宠物医院预约管理系统来实现。宠物医院预约管理系统的开发目标,在管理数据后台实时更新宠物医院小程序的数据,包括服务项目,优惠活动、预约科室和宠物百科等内容,也方便管理员管理宠物医院的各种有关信息,也规范了宠物医院的管理,降低人工费用。客户可以在宠物医院小程序为宠物预约就诊,洗护等服务,第一时间了解到宠物医院新推出的优惠活动,和宠物百科的新内容等。与此同时,无形中也拉近了客户和宠物医院的关系。总体宠物医院预约管理系统的功能实现如下登录操作管理员和医生登录:判断输入的用户名和登录密码是否正确,如果用户名或登录的密码输入的是不正确的,则跳出对应的错误,如果输入的都是正确的就跳转到相应的界面。管理员和医生登录成功不同的身份显示不同的操作权限。客户登录:客户登录和管理员、医生登录的登录界面不是同一个界面,管理员和医生的登录界面是后台的登录界面,客户登录的界面是小程序的登录界面,不过都是要判断输入的用户名和登录密码是否正确,如果用户名或登录的密码输入的是不正确的,则跳出对应的错误,如果输入的都是正确的就跳转到相应的界面。超级管理员操作管理员信息管理:这个信息管理只有超级管理才能操作,这可以添加新管理员、修改管理员信息或删除管理员操作,普通管理员没有执行权限。普通管理员操作医生信息管理:如果有新来的医生,也可以增添新医生信息操作,或者有一些医生离职了,不在本院就职了,也可以对离职的医生进行删除操作,如果有些医生的联系号码改换了,也可以及时修改相应医生信息操作。根据医生的某一个信息来搜索医生,例如名字,手机号等。客户信息管理:如果有新带宠物来医院就诊的客户,也可以为其添加新客户信息操作,或者如果有些客户的联系号码改换了,也可以在医院前台帮助修改相应信息操作,原则上应该不会对客户信息进行删除,但也提供了删除功能。根据客户的某一个信息来搜索客户,例如名字,手机号等。宠物信息管理:查看宠物信息,根据宠物的某个信息来搜索宠物,例如名字,种类等。宠物种类的管理:可以添加删除修改宠物医院可提供服务的宠物类别、品种等。轮播图管理:可以通过修改属性的方式启用轮播图,也可以取消启用。导航栏管理:可以添加、删除和修改导航栏的图标和标题,还可以根据标题进行查询。优惠活动管理:可以添加、删除和修改优惠活动,还可以根据活动的标题、内容等进行查询。宠物百科管理:宠物百科信息查询时可通过百科编号进行查询,本操作中还可以对宠物百科信息的修改、发布和删除操作。可预约的科室管理:可以添加、删除、修改科,再根据科添加、删除和修改对应的室。预约管理:管理员能查看与所有的预约,也可以通过预约的宠物信息,手机号等进行查找操作,对于一些客户电话要求取消的预约,管理员可以删除相关预约。宠物医生操作预约管理:宠物医生能查看与自己相关的预约,也可以通过预约的宠物信息,手机号等进行查找操作。就诊报告管理:根据宠物的就诊情况,添加就诊报告;对于写错的就诊报告可以,进行修改操作。客户操作查看优惠活动:客户可以通过登录后查看宠物医院的优惠活动。宠物百科:客户可以查看宠物医院发布的宠物百科内容。添加宠物:客户可以添加宠物信息,在添加过程中写错信息了可以进行修改,也可以先进行删除再重新添加。为宠物预约门诊:客户可以为宠物预约需要就诊的科室,也可以查看并选择就诊医生,添加预约的时间;可以修改预约时间,也可以取消预约。优惠活动预约:客户可以根据需要选择宠物参与优惠活动,添加活动预约,可以修改预约时间,也可以取消预约。就诊报告:客户带宠物就诊后可以查看宠物的相关就诊报告。游客操作游客能操作的没有多少功能,只能游览主页的内容、医院的优惠活动和可预约的科室和医生信息。3.2拟解决问题根据在互联网上检索到的信息了解到,在制作宠物医院预约管理系统的过程中,可能会遇到以下一些比较难的问题:对宠物医院的相关信息不了解,不知道具体有哪些医疗服务项目,需要根据自己的需求上网查找相关资料,进行合理筛选,但在面对收集到的资料可能过多,整理出对系统有用的信息是有些困难的。第二,对数据库的技术掌握不够熟练;宠物医院预约管理系统需要结合数据库软件完成后台数据的维护,基于自己对SQL不是很熟练,在对数据库多表关联操作的时候,可能会遇到问题不太能够顺利进行。第三:项目环境搭建困难;前台与后台的页面制作与功能实现,我采用的是前后端分离式开发,前端小程序和网页版管理后台使用不同的UI组件容易混淆使用,后端是基于SpringBoot框架来进行的,环境搭建的步骤比较多且比较复杂。第四:对Java技术掌握得不够熟练;后台接口的开发主要依赖Java技术,由于对Java技术掌握的不够好,可能会在接口开发的时候遇到较大的困难。第五:关于前端页面的布局和颜色搭配上可能会存在不足,在查资料的过程中,浏览了很多关于宠物医院的网站,但是每个网站的特点都不一样,所以很难根据参考的网站设计适合自己系统的网页布局。在应对上述制作宠物医院预约管理系统的过程可能会遇到的问题,我有着以下几种途径的解决方案:途径一:将上网查到的关于宠物医院的相关资料分类,并列出一个表格,以便于在系统设计的过程中快速地找到自己需要的资料。途径二:关于数据库的技术方面,可以找关于数据库的书籍和资料进行学习,并在学习的过程中,将系统制作过程中可能用到的知识点做好标记,并列好一个表格记录下来,便与在系统研发过程中找到相关内容。途径三,在技术方面的不足和页面设计方面的不足可以找相关视频进行学习,或者找一些关于Java和SpringBoot的资料,以及多浏览一些其他的网站,培养自己的审美和色彩的搭配。途径四,在研发过程中遇到难以解决的问题,可以去一些代码论坛网站去参考他人的见解学习,也可以通过和同学探讨或者请教老师,每个人对系统的开发都有自己的独特见解,相信在探讨的过程中也能得到很大的启发。3.3系统用例图宠物医院预约管理系统主要面向养宠群体,管理员对客户的信息,宠物的信息,预约进行管理和对小程序的页面展示进行维护,宠物医院预约管理系统中使用到的建模软件是MicrosoftVisio,使用它来创建用例图。超级管理员能够对系统进行以下操作:超级管理员可操作管理管理员信息,设置权限,能对管理员信息进行增加,如果有些管理员离职了,可以将其管理员信息删除,也可以根据管理员编号、姓名、手机号等进行查询,如果管理员基本信息又变动,也可以进行修改。管理员能够对系统进行以下操作:管理员可以操作管理医生信息、科目类别信息、室信息、宠物类别信息,可进行增删改查等操作。管理员可以对轮播图,导航图标、优惠活动进行启用和取消启用,也可以进行增删改查等操作。宠物百科:管理员可发布新的宠物百科内容,也可以对其进行修改、下架和删除操作。预约信息:管理员根据客户的预约信息进行查看,也可以根据用户的需求修改预约或者删除预约。医生能够对系统进行以下操作:医生可以查看自己的预约,为宠物添加就诊报告。客户可以进行的操作:导航模块:客户只有登录成功后,才可以根据导航去为宠物预约需要服务的项目。活动模块:客户只有登录成功后,才可以根据优惠活动选择宠物参与活动预约。宠物百科模块:客户可以浏览管理员发布的宠物百科内容。就诊预约:客户可以选择科室、宠物信息和时间等信息,添加预约。就诊报告:客户可以在宠物就诊后查看宠物的就诊信息。游客能够进行的操作:能注册,游览轮播图,游览导航,游览优惠活动,游览科室,其他操作游客不能操作,只有登录了才能进行其他功能操作。能够通过以上的描述,可以创建出系统管理员(超级管理员和普通管理员)的用例图,如图3-1和3-2:图3-1超级管理员用例图超级管理员可以点击添加按钮,填写新的管理员信息,确认添加;可以点击修改按钮对管理员信息进行修改,也可以在搜索栏选择要搜索的字段,输入关键词进行搜索;还可以对不需要的管理员信息点击删除按钮进行删除,或者通过勾选多个管理员信息,点击批量删除按钮对管理员信息进行批量删除。图3-2管理员用例图管理员可以对系统的信息进行维护,通过点击添加按钮,填写新的信息,确认添加;可以点击修改按钮对信息进行修改,可以在搜索栏选择要搜索的字段,输入关键词进行搜索;也可以对不需要的信息点击删除按钮进行删除,或者通过勾选多个信息,点击批量删除按钮对信息进行批量删除,还可以点击启用按钮对信息进行启用,可以将信息渲染到小程序。用例名:系统管理员角色登录模块用例范围:宠物医院预约管理系统PC端主要参与者:系统管理员(超级管理员和普通管理员)重点:管理员信息、客户信息、宠物信息、导航、科普等模块的管理前置条件:用户通过登录判断身份并验证来进行登录到系统并进行操作后置条件:用户登录成功主事件流:进入登录界面。登录成功,用例开始。系统管理员登录成功后跳转到后台系统管理界面,有基础数据管理模块和业务数据管理模块可执行相应的功能操作。点击基础数据模块中的管理员信息进行管理员信息管理,这功能操作只有超级管理员操作。点击“轮播图设置”进行轮播图设置管理。点击“导航设置”进行导航设置管理。点击“优惠活动设置”进行优惠活动设置管理。点击“宠物百科信息”进行宠物百科信息管理。点击“科室设置”进行科室设置管理。点击“医生信息”进行医生信息管理。点击“宠物种类信息”进行宠物种类信息管理。点击“预约信息”进行预约信息管理。点击“就诊报告信息”进行就诊报告信息管理。用户退出系统。用例结束。能够通过以上的描述,可以创建出医生的用例图,如图3-3:医生用例图如图3-3:图3-3医生用例图医生只能对与自己相关的预约信息进行操作,通过点击添加就诊报告按钮,填写新的就诊报告信息,确认添加;可以点击修改按钮对信息进行修改,可以在搜索栏选择要搜索的字段,输入关键词进行搜索;也可以对不需要的信息点击删除按钮进行删除。用例名:医生登录模块用例范围:宠物医院预约管理系统PC端主要参与者:宠物医生重点:预约、就诊报告等模块的操作前置条件:用户通过登录判断身份并验证来进行登录到对应的界面进行操作后置条件:用户登录成功主事件流:进入登录界面。登录成功,用例开始。医生登录成功后跳转到相应的界面,预约、就诊报告可执行相应的功能操作。点击“预约”进行查看与自己相关的预约信息操作。点击“就诊报告”进行填写宠物就诊后的信息,可进行修改和删除操作。用户退出网站。用例结束。能够通过以上的描述,可以创建出客户的用例图,如图3-4:客户用例图如图3-4:图3-4客户用例图客户从小程序端登录,可以查看小程序所展示宠物百科、导航、优惠会活动等信息,可以点击添加新宠按钮添加宠物,为宠物进行选择科室、医生、添加预约和取消预约等操作。用例名:客户登录模块用例范围:宠物医院预约管理系统微信小程序端主要参与者:客户重点:宠物、预约、就诊报告、导航、优惠活动、宠物百科等模块的操作前置条件:用户通过登录判断身份并验证来进行登录到对应的界面进行操作后置条件:用户登录成功主事件流:进入登录界面。登录成功,用例开始。客户登录成功后跳转到相应的界面,宠物、预约、就诊报告、导航、优惠活动、宠物百科可执行相应的功能操作。点击“宠物”进行添加宠物信息、修改宠物信息、删除宠物信息操作。点击“预约”进行为宠物预约就诊、参与活动预约、可修改预约的时间或备注、可取消预约。点击“就诊报告”进行查看就诊。点击“导航图标”进行医院预约服务项目查看并可添加预约。点击“优惠活动”进行医院优惠活动查看,可进行活动预约。点击“宠物百科”进行宠物百科的内容。用户退出网站。用例结束。能够通过以上的描述,可以创建出游客的用例图,如图3-5:游客用例图如3-5:图3-5游客用例图游客是尚未登录的状态,所以权限较少,只能对导航、优惠活动和预约科室及科室内的医生进行浏览查看。用例名:客户登录模块用例范围:宠物医院预约管理系统微信小程序端主要参与者:客户重点:导航、优惠活动、科室等模块的操作前置条件:用户通过登录判断身份并验证来进行登录到对应的界面进行操作后置条件:用户登录成功主事件流:进入校友会网站。进入成功,用例开始。游客进入成功后可以游览首页的一些信息的功能操作。点击“导航”进行查看宠物医院可提供的服务项目。点击“优惠活动”进行查看宠物医院的优惠活动详情。点击“预约”进行查看科室信息操作。用户退出网站。用例结束。3.4时序图在本论文中将详细介绍主要的时序图,包括有登录时序图,启用导航时序图、优惠活动发布时序图、宠物百科发布时序图、添加宠物时序图、预约时序图,这六个图。登录时序图,如图3-5:图3-5登陆时序图登录的过程如下:尚未注册客户的,就要先注册,注册完成后,利用注册的用户名和设置的密码登录,若是已注册过的客户,那就能够直接利用之前注册的用户名和密码登录。宠物医院的工作人员只能通过超级管理员来添加,不能注册。启用导航的时序图,如图3-6:图3-6启用导航时序图启用导航的过程如下:管理员登录可以添加导航图标数据,并选择需要的图标和标题进行启动,启动之后,客户才能在微信小程序端显示,否则不显示。也可以将不需要的导航取消启用。优惠活动发布时序图,如图3-7:图3-7优惠活动发布时序图优惠活动发布的过程如下:管理员登录选择添加按钮,弹出优惠添加界面,添加信息成功,发布信息,在微信小程序端显示。宠物百科发布时序图,如图3-8:图3-8宠物百科发布时序图宠物百科发布的过程如下:管理员登录选择添加按钮,弹出优惠添加界面,添加信息成功,发布信息,在微信小程序端显示。添加宠物时序图,如图3-9:图3-9保存留言时序图添加宠物的过程如下:客户登录成功,点击我的页面中的我的宠物,进入我的宠物页面,点击添加按钮,填写宠物的信息,点击保存,刚刚添加的宠物信息显示在列表中。预约时序图,如图3-9:图3-9保存留言时序图预约的过程如下:客户登录成功,点击底部导航预约,进入科室选择页面,选择需要预约的科室,再选择医生,点击预约,选择预约就诊的宠物和预约的时间信息,点击立即预约,预约成功自动跳转我的预约页面,显示所有未完成的预约。3.5活动图主要是登录与注册活动图,启用导航活动图、优惠活动发布活动图、宠物百科发布活动图、添加宠物活动图、预约活动图,这六个活动图的说明。3.5.1登录与注册登录与注册操作的工作流程为:在登录页面中,请输入对应的数据,然后提交,会进入到对应的页面。在进入前的相应页面,点你想要进行的操作按钮,就可以来跳到登录界面。图3-10登录活动图图3-11注册活动图3.5.2启用导航启用导航的工作流程为:若想添加新的导航,管理员可点击添加按钮,选择想要的图标,添加标题信息,以及该导航的详细信息,若点击取消,则不执行添加操作,点击确定按钮,添加成功后新的数据就会保存到数据库中,并显示在列表中,点击对应的启用按钮即可在微信小程序端中显示。图3-12启用导航活动图3.5.3优惠活动发布优惠活动发布的工作流程为:如果有新的优惠活动,管理员需要点击添加按钮,添加新的活动相关信息,最后点击确定,新的数据就会保存到数据库中,并显示在微信小程序端中显示。图3-13优惠活动发布活动图3.5.4宠物百科发布宠物百科发布的工作流程为:如果有新的宠物百科内容,管理员需要点击添加按钮,添加新的宠物百科内容,最后点击确定,新的数据就会保存到数据库中,并显示在微信小程序端中显示。图3-14宠物百科发布活动图3.5.5添加宠物添加宠物的工作流程为:点击底部导航“我的”,点击我的页面中的我的宠物,在宠物页面点击添加新宠,填写并选取宠物相关信息,点击确认,添加成功,在列表中显示宠物的信息。图3-15添加宠物活动图3.5.6预约预约的工作流程为:点击底部导航“预约”,点击预约页面中选择需要预约的科室,再选择医生,点击预约,选择预约就诊的宠物和预约的时间信息,点击立即预约,预约成功自动跳转我的预约页面,显示所有未完成的预约。图3-15预约活动图3.6小结本小章主要是对目标的一个分析,在将来做作品上可能遇到的问题,又该如何解决问题,通过对网站的用例图、时序图、活动图来进行详细说明,通过对这些方面的阐述来进行需求分析的。4总体设计从系统模块、功能分析、网站数据库E-R图、网站数据设计,这四个方面阐述总体设计。4.1系统模块结构根据对宠物医院预约管理系统的分析和操作要求,网站的功能结构,如图4-1:图4-1网站功能结构图宠物医院预约管理系统,分别由两个不同的端组成,(1)PC端后台管理:第一要做的就是,普通管理员登录系统,进入相应页面,除了管理员信息和就诊报告信息外,都可以对后台数据进行相应的维护,能够增添、删除、修改和查找操作,还有对于微信小程序端的页面展示,管理员能够选择性启用和取消启用。第二要做的就是,宠物医生登录系统,进入相应的页面,可以对与自己相关的预约进行查看,在就诊后为宠物添加就诊报告,同时也能修改、删除和查找操作。(2)微信小程序端:主要的功能是第一,在微信小程序面显示数据库相应的信息,有首页、导航子页面、优惠活动子页面、宠物百科页面、预约子页面、我的宠物子页面、预约子页面、就诊报告子页面,对应的展示信息;第二,客户能够查看导航详情信息、优惠活动详情信息、宠物百科信息、预约的科室信息、宠物医生信息,也可以进行添加宠物、预约就诊操作,客户也可以根据宠物的需要预约活动,宠物就诊后,客户可以查看就诊报告。4.2功能的分析宠物医院预约管理系统完成的一些功能有:超级管理员:能够设置用户权限,能够操作整个系统。普通管理员:除了不能设置权限和就诊报告外,其它都可以进行操作,对数据库后台进行数据增删改查等。宠物医生:处理与自己相关的预约,为就诊的宠物添加就诊报告。客户:能够添加宠物、预约,查看就诊报告、导航详情、优惠活动、宠物百科、预约科室、医生等信息。·管理员信息管理:包括有id、姓名、用户名、密码、性别、手机号码、邮箱、权限等信息,能够对数据进行增删改查等操作;·医生信息管理:包括有id、姓名、用户名、密码、性别、手机号码、邮箱、权限等信息,能处理与自己相关的预约,为就诊的宠物添加就诊报告;·客户信息管理:包括有id、姓名、用户名、密码、性别、手机号码、邮箱、权限等信息,可以查询相关信息操作,可以进行添加宠物、预约;·导航管理:包含一些导航的id、导航的图标、导航的标题、导航详情、是否启用,能够增添数据、修改数据、删除数据、启用等操作;·轮播图管理:包含一些轮播图的id、轮播图的标题、是否启用,能够增添数据、修改数据、删除数据、启用等操作;·优惠活动管理:包含优惠活动的id、优惠活动的标题、优惠活动小标题、优惠活动详情、活动的背景颜色,能够发布、增加、删除和修改操作;·宠物百科管理:含宠物百科的id、宠物百科的图片、宠物百科的标题、宠物百科小标题、宠物百科的内容、作者、日期,能增添、修改和删除、查询、发布操作;·科室管理:包含科id、科名称、室id、室名称、医生id,能够添加数据,删除和修改数据,也可查询和启用操作;·宠物管理:包含id、名字、性别、类别、品种、主人id,能够添加数据,删除、修改和查找数据;·预约管理:包含id、宠物id、科id、室id、医生id、预约时间,能够添加数据,删除、修改和查找数据;·就诊报告管理:包含id、预约id、报告内容,能够添加数据,删除、修改和查找数据;4.3系统数据库E-R图数据库逻辑设计情况是好或者不好都会对整体的项目的实现结果和工作效率有非常大的影响,能够从里面可以看出来,信息化管理对数据管理极其重要。数据结构设计非常完美的话,可以提高数据的存储空间,也可以利于程序的制作,也有利于程序的实现。本次宠物医院预约管理系统设计有:图4-2总体实体ER图管理员实体E-R图管理员信息数据库表所包含的属性:id、姓名、用户名、密码、性别、手机号码、邮箱、权限。如图4-3:图4-3管理员E-R图客户实体E-R图客户信息数据库表所包含的属性:id、姓名、用户名、密码、性别、手机号码、邮箱、权限。如图4-4:图4-4客户E-R图医生实体E-R图医生信息数据库表所包含的属性:id、姓名、用户名、密码、性别、手机号码、邮箱、权限。如图4-5:图4-5医生E-R图导航实体E-R图导航的数据含有:导航的id、导航的图标、导航的标题、是否启用。如图4-6:图4-6导航实体E-R图轮播图实体E-R图轮播图的数据含有:轮播图的id、轮播图的标题、是否启用。如图4-7:图4-7轮播图实体E-R图优惠活动实体E-R图优惠活动数据库含有:优惠活动的id、优惠活动的标题、优惠活动小标题、优惠活动详情、活动的背景颜色。如图4-8:图4-8优惠活动实体E-R图宠物百科实体E-R图宠物百科数据库表所包含的属性:宠物百科的id、宠物百科的图片、宠物百科的标题、宠物百科小标题、宠物百科的内容、作者、日期。如图4-9:图4-9宠物百科实体E-R图科室实体E-R图报名信息数据库表所包含有的属性:科id、科名称、室id、室名称。如图4-10:图4-10科室实体E-R图宠物实体E-R图图片信息数据库表所包含的属性:id、名字、性别、类别、品种、主人id。如图4-11:图4-11宠物实体E-R图预约实体E-R图调查的信息数据库表所包含的属性:id、宠物id、科id、室id、医生id、预约时间。如图4-12:图4-12图片E-R图就诊报告实体E-R图就诊报告数据库表所包含的属性:id、预约id、报告内容。如图4-13:图4-13图片E-R图管理员与轮播图、导航、优惠活动、宠物百科、科室关系E-R图管理员可以对轮播图、导航、优惠活动、宠物百科、科室进行搜索、添加、修改和删除等操作。图4-14管理员与轮播图/导航/优惠活动/宠物百科/科室E-R图校友与教师、班级关系E-R图医生与科、室关系E-R图科关联室,室包关联医生,客户在预约时,可以根据科选择室,根据室选择医生。图4-15科与室/医生E-R图4.4宠物医院预约管理系统数据库设计数据字典是对数据的各个列表的字段一个定义和详细说明。经过对字段的详细说明,可以清楚的知道各字段的意义。本校友网站一共有十四个数据库表:用户信息表表:admin、医生信息表:doctor、宠物信息表:pet、轮播图信息总表:swiper_all、轮播图信息表:swiper、导航信息总表:nav_all、导航信息表:nav、优惠活动信息表:activity、宠物百科信息表:essay、收藏宠物百科信息表:favessay、科信息表:department、室信息表:office、门诊预约信息表:order、导航预约信息表:navorder、就诊报告信息表:record。根据宠物医院预约管理系统的需要而设计了以下的表图4-17系统表设计数据库表定义:admin表如表4-1:表4-1系统用户表序号字段名称字段类型大小允许为空最大长度12idportraitintvarchar11255自增编号是112553usernamevarchar45是454passwordvarchar255是2555phonevarchar11是116emailvarchar255是2557enabledtinyint4是118typeint11是11doctor表如表4-2:表4-2医生信息表序号字段名称字段类型大小允许为空最大长度1idint11自增编号112photovarchar255是2553doctornamevarchar255是2554begoodatvarchar255是2555office_idint11是116enabledtinyint4是4pet表如表4-3:表4-3宠物信息表序号字段名称字段类型大小允许为空最大长度1idint11自增编号112photovarchar255是2553petnamevarchar255是2554categoryvarchar255是2555sexvarchar255是2556agevarchar11是117varietyvarchar255是2558Admin_idint11是11swiper表如表4-4:表4-4轮播图信息表序号字段名称字段类型大小允许为空最大长度1idint11自增编号112swiper_item_urlvarchar255是2553describevarchar255是2554enabledint11是11nav表如表4-5:表4-5导航信息表序号字段名称字段类型大小允许为空最大长度1idint11自增编号112iconvarchar255是2553titlevarchar255是2554doctor_idint11是115imagevarchar255是2556detailsvarchar255是2557enabledvarchar255是255activity表如表4-6:表4-6优惠活动信息表序号字段名称字段类型大小允许为空最大长度1idint11自增编号112titlevarchar255是2553subtitlevarchar255是2554detailsvarchar255是2555iconvarchar255是2556background_colorvarchar255是2557enabledint11是11essay表如表4-7:表4-7宠物百科信息表序号字段名称字段类型大小允许为空最大长度1idint11自增编号112imagevarchar255是2553titlevarchar255是2554detailsvarchar255是2555contentvarchar255是2556authorvarchar255是2557timedatetime45是458enabledint11是11favessay表如表4-8:表4-8收藏宠物百科信息表序号字段名称字段类型大小允许为空最大长度1idint11自增编号112Admin_idint11否113Essay_idint11否11department表如表4-9:表4-9科信息表序号字段名称字段类型大小允许为空最大长度1idint11自增编号112departmentvarchar255是2553enabledtinyint4是4office表如表4-10:表4-10室信息表序号字段名称字段类型大小允许为空最大长度1idint11自增编号112officevarchar255是2553department_idint11是114enabledtinyint4是4order表如表4-11:表4-11门诊预约信息表序号字段名称字段类型大小允许为空最大长度1idint11自增编号112department_idint11是113office_idint11是114pet_idint11是115doctor_idint11是116timedatetime45是457notesvarchar255是2558order_typeint 11是119enabledtinyint4是4navorder表如表4-12:表4-12专项预约信息表序号字段名称字段类型大小允许为空最大长度1idint11自增编号112nav_idvarchar255是2553pet_idint11是114timedatetime45是455notesvarchar11是116order_typeint11是117enabledtinyint4是4record表如表4-12:表4-12门诊预约就诊信息表序号字段名称字段类型大小允许为空最大长度1idint11自增编号112order_idint11是113symptomvarchar255是2554diagnosisvarchar255是255navrecord表如表4-12:表4-12专项预约就诊信息表序号字段名称字段类型大小允许为空最大长度1idint11自增编号112navorder_idint11是113symptomvarchar255是2554diagnosisvarchar255是2554.5小结本小章主要是对系统模块结构、功能分析、系统数据库E-R图、系统数据库设计的一个阐述与说明。5详细设计主要从系统的结构设计、网站界面设计、功能子模块设计,这三个方面来阐述详细设计。5.1系统的结构设计宠物医院预约管理系统系统是基于Idea平台、VisualStudioCode平台和微信开发者平台上运行的一种软件,本软件重点有以下几个模块组成模块中还细分了几个小模块,目的让使用者更加明白这种软件和跟设计好的系统,画出了以下软件结构图,如图5-1:图5-1网站结构图5.2网站的界面设计使用者输入用户名和密码的登录页面。按“登录”的选项,能来到相应界面。按“注册”选项,能够进行注册,用户名和密码。后台管理界面,按对应的管理选项,跳到对应的数据管理界面,都可进行相应的功能的操作。按“添加”键跳出添加页面。对相应数据进行添加。按“查询”键,跳出查询界面,可以数据查询。按“修改”键,跳出修改界面,能够修改相应数据。按“删除”键,弹出删除界面,可以删除某一条数据。5.3功能子模块设计系统各功能按照分块处理,可将整个校友会网站系统分为管理员模块、校友模块。超级管理员模块是对管理员设置权限,可以操作这个系统。普通管理员模块一般是维护医生的信息、维护宠物的信息,都能够进行数据的增添、查询、修改及删除操作,对轮播图信息的维护和导航信息的维护也能够对数据的增加、启用、修改及删除、查找操作,对优惠活动信息的维护和宠物百科信息的维护也能够对数据的增加、发布、修改及删除、查找操作,对科室的维护可以数据的添加、查找数据、修改及删除操作,对预约的维护进行数据的查询、修改及删除操作,对校友调查的管理进行数据的查询、统计操作。医生模块主要是查看与自己相关的预约信息、为就诊的宠物填写就诊报告,能够进行数据的查询、修改及删除操作。客户模块主要是查看宠物信息,能够进行数据的增添、查询、修改及删除操作,查看就诊报告信息,能够查看轮播图信息、导航信息、优惠活动信息、宠物百科信息。5.3.1登录与注册模块登陆的页面:系统登陆界面,管理员和校友一起共同使用。重点是用来检测用户是否不违法,阻止违法使用者登录,功能首要是检验使用者输入的用户名称和密码是否都是正确,倘若输入的用户名称或者密码不对,就会弹出对应的错误,用户名称或者暗码错误。登录界面比较简洁,有两个输入框,分别是输入用户名、密码,其次就用登录按键和注册按键。根据输入的用户和密码,验证是否和数据库存的一致,输入正确还要和数据库进行权限匹配,依据权限,给使用者对应的操作。登陆的流程图,如图5-2:打开用户登录界面,输入账号密码,账号密码是否为空校验,点击登录按钮,校验账号密码是否正确,登录成功跳转首页。图5-2登陆流程图登录用户和密码验证的主要代码为:请求登录接口login携带参数账号user和密码pwd,登录成功将用户名和密码保存到本地可用于自动登录、保存token令牌用于其他请求携带认证、获取当前登录用户的信息用于在我的页面显示,然后跳转到首页;若登录失败则打印错误信息。login(this.data.user,this.data.pwd).then(res=>{

//

保存登录信息用于自动登录

let

param

=

{

user:this.data.user,//

用户名

pwd:this.data.pwd//

密码

}

wx.setStorageSync('userData',

param);//

将用户名和密码保存到本地

//

保存用户登录数据

app.globalData.userLoginData.Authorization

=

res.obj.tokenHead

+

'

'

+

res.obj.token;//

将用户登录后台返回的token令牌保存到全局数据中

//

获取用户信息

getAdminInfo(this.data.user).then(res=>{

app.globalData.userLoginData.userId

=

res.obj.data[0].id;//

将后台返回的用户id保存到全局数据中

app.globalData.userLoginData.username

=

res.obj.data[0].username;//

将后台返回的用户名称保存到全局数据中

},err=>{

console.log(err)//

打印接口访问错误信息

})

wx.reLaunch({

url:

'/pages/index/index',//

页面跳转

})

},err=>{

console.log(err)//

打印接口访问错误信息

})@Override

publicRespBeanlogin(Stringusername,Stringpassword,HttpServletRequestrequest){

UserDetailsuserDetails=userDetailsService.loadUserByUsername(username);

if(null==userDetails||!passwordEncoder.matches(password,userDetails.getPassword())){

returnRespBean.error("用户名或密码不正确");

}

if(!userDetails.isEnabled()){

returnRespBean.error("账号被禁用,请联系管理员!");

}

//更新security登录用户对象

UsernamePasswordAuthenticationTokenauthenticationToken=newUsernamePasswordAuthenticationToken(userDetails,null,userDetails.getAuthorities());

SecurityContextHolder.getContext().setAuthentication(authenticationToken);

//生成token

Stringtoken=jwtTokenUtil.generateToken(userDetails);

Map<String,String>tokenMap=newHashMap<>();

tokenMap.put("token",token);

tokenMap.put("tokenHead",tokenHead);

returnRespBean.success("登录成功",tokenMap);

}注册的流程图,如图5-3:打开用户注册界面,输入账号、密码、手机号和邮箱,账号、密码、手机号和邮箱是否为空校验,点击注册按钮,注册成功跳转登录页。图5-3注册流程图注册的主要代码为:请求注册接口enroll,携带参数用户名user、密码pwd、手机号phone、邮箱email,注册成功跳转到登录页,若注册失败则打印错误信息。//

注册参数:账号、密码、手机号、邮箱

enroll(this.data.user,this.data.pwd,this.data.phone,this.data.email).then(res=>{

wx.reLaunch({

url:

'/pages/login/login',//

注册成功跳转登录页

})

},err=>{

console.log(err);//

打印接口访问错误信息}) @Override

publicRespBeanaddAdmin(Stringusername,Stringpwd,Stringphone,Stringemail){

if(username==null){

returnRespBean.error("username参数校验失败!");

}

if(phone==null||phone.length()!=11){

returnRespBean.error("phone参数校验失败!");

}else{

StringPHONE_PATTERN="^((13[0-9])|(14[5|7])|(15([0-3]|[5-9]))|(17([0,1,6,7,]))|(18[0-2,5-9]))\\d{8}$";

booleanisPhone=Ppile(PHONE_PATTERN).matcher(phone).matches();

if(!isPhone){

returnRespBean.error("手机号格式不正确!");

}else{

List<Admin>listPhone=adminMapper.getAdminInfoByPhone(phone);

if(listPhone.size()!=0){

returnRespBean.error("该手机号已被注册!");

}

}

}

if(email==null){

returnRespBean.error("email参数校验失败!");

}else{

StringRULE_EMAIL="^\\w+((-\\w+)|(\\.\\w+))*\\@[A-Za-z0-9]+((\\.|-)[A-Za-z0-9]+)*\\.[A-Za-z0-9]+$";

//正则表达式的模式编译正则表达式

Patternp=Ppile(RULE_EMAIL);

//正则表达式的匹配器

Matcherm=p.matcher(email);

if(!m.matches()){

returnRespBean.error("邮箱格式不正确!");

}else{

List<Admin>listEmail=adminMapper.getAdminInfoByEmail(email);

if(listEmail.size()!=0){

returnRespBean.error("该邮箱已被注册!");

}

}

}

PasswordEncoderpasswordEncoder=newBCryptPasswordEncoder();

Stringpassword=passwordEncoder.encode(pwd);

Stringportrait="moren.jpg";

adminMapper.addHospitalAdmin(portrait,username,password,phone,email,1,3);

returnRespBean.success("注册成功!");

}5.3.2管理员模块管理员能够对医生信息表进行添加医生编号,医生名字、医生擅长的领域等相应的属性,在操作也可以修改医生信息和删除医生信息,也可以根据医生编号来进行查找。医生信息查询:选取需要搜索的字段,在输入框输入关键词,点击搜索按钮查询医生信息。图5-4医生的信息查询流程图医生信息的查询的主要代码为:selItem方法获取用户当前选中的搜索字段,reach方法获取用户输入的input关键词,通过if-else条件判断,遍历reachData数据和关键词进行indexOf匹配,将匹配上的数据添加到临时数组tempArr中,最后将临时数组的数据赋值给doctorData进行数据渲染。//

下拉菜单,选取搜索的列selItem(itemName)

{

this.dropdownItem

=

itemName;

//

选取需要搜索的字段名称},//

模糊搜索reach()

{

let

tempArr

=

[];

//

定义一个临时数组

if(this.input

==

'')

{

this.doctorData

=

this.reachData;

//

当输入框为空时,搜索到的数据的全部数据}else

{

if(this.dropdownItem

==

'用户名')

{

//

当选取的搜索字段为用户名时

for(let

i=0;i<this.reachData.length;i++)

{

//

遍历全部的数据

if(this.reachData[i].username.indexOf(this.input)

>=

0)

{

//

当有和关键词匹配的数据时

tempArr.push(this.reachData[i])

//

向临时数组中添加匹配上的数据

}

}}

else

if(this.dropdownItem

==

'医生名称')

{

//

当选取的搜索字段为医生名称时

for(let

i=0;i<this.reachData.length;i++)

{

//

遍历全部的数据

if(this.reachData[i].doctorname.indexOf(this.input)

>=

0)

{

//

当有和关键词匹配的数据时

tempArr.push(this.reachData[i])

//

向临时数组中添加匹配上的数据

}

}

}

else

if(this.dropdownItem

==

'预约室')

{

//

当选取的搜索字段为预约室时

for(let

i=0;i<this.reachData.length;i++)

{

//

遍历全部的数据

if(this.reachData[i].office

!=

null

&&

this.reachData[i].office.indexOf(this.input)

>=

0)

{

//

当有和关键词匹配的数据时

tempArr.push(this.reachData[i])

//

向临时数组中添加匹配上的数据

}

}

}

else

if(this.dropdownItem

==

'手机号')

{

//

当选取的搜索字段为手机号时

for(let

i=0;i<this.reachData.length;i++)

{

//

遍历全部的数据

if(this.reachData[i].phone.indexOf(this.input)

>=

0)

{

//

当有和关键词匹配的数据时

tempArr.push(this.reachData[i])

//

向临时数组中添加匹配上的数据

}

}

}

else

if(this.dropdownItem

==

'邮箱')

{

//

当选取的搜索字段为邮箱时

for(let

i=0;i<this.reachData.length;i++)

{

//

遍历全部的数据

if(this.reachData[i].email.indexOf(this.input)

>=

0)

{

//

当有和关键词匹配的数据时

tempArr.push(this.reachData[i])

//

向临时数组中添加匹配上的数据

}

}

}

this.doctorData

=

tempArr;

//

将临时数组中的数据赋值给列表的数组

}

},添加医生信息:点击添加按钮,填写新增医生的信息,点击确定,添加失败弹出提示,添加成功刷新医生列表。图5-5医生信息的添加流程图医生信息的添加主要代码为:addCustomer方法修改dialogFormVisible的值打开添加信息编辑框,将表单form数据初始化;请求addDoctor添加医生信息接口,携带参数用户名username、医生名称doctorname、密码password、擅长begoodat、所在科室region、手机号phone、邮箱email,请求成功调用initCustomer方法刷新页面数据。addCustomer()

{

this.dialogFormVisible

=

true;

//打开添加信息编辑框

this.form

=

{};

//将表单数据清空},let

addFrom

=

{

username:this.form.username,

//用户名

doctorname:this.form.doctorname,

//医生名称

password:'$2a$10$mJmy8whhXNKE/o6xiVmLyO17DGKmqPKUgcKOd8rT9o2c6AuF10.zW',

//默认初始密码

begoodat:this.form.begoodat,

//医生的擅长

region:this.form.region,

//科室

phone:this.form.phone,

//手机号

email:this.form.email

//邮箱}this.postRequest('/addDoctor',addFrom).then(resp=>{

if(resp)

{

this.initCustomer();

//

添加成功刷新数据

}}) @Override

publicRespBeanaddDoctor(MultipartFilefile,Stringusername,Stringdoctorname,Stringpassword,Stringbegoodat,IntegerregionNum,Stringphone,Stringemail)throwsIOException{

MultipartFilefile1=file;

StringfileName=file.getOriginalFilename();

StringfilePath1="C:\\Users\\HP\\Desktop\\sys\\phfs\\src\\assets\\imgs\\";

StringfilePath2="C:\\Users\\HP\\Desktop\\sys\\vants\\vant\\imgs\\";

Filedest1=newFile(filePath1+fileName);

Filedest2=newFile(filePath2+fileName);

try{

file.transferTo(dest1);

}catch(IOExceptione){

System.out.println(e);

}

Files.copy(dest1.toPath(),dest2.toPath());

Stringportrait="moren.jpg";

adminMapper.addCustomer(portrait,username,password,phone,email,1,2);

Integeradmin_id=adminMapper.getAdminId(us

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论