基于Java的在线问诊系统设计与实现_第1页
基于Java的在线问诊系统设计与实现_第2页
基于Java的在线问诊系统设计与实现_第3页
基于Java的在线问诊系统设计与实现_第4页
基于Java的在线问诊系统设计与实现_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

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

文档简介

第1章绪论1.1研究目的和意义伴随着计算机技术的迅速发展和电脑在当今社会各行各业的广泛运用,很多繁杂的每日任务被有效地交代和进行,大家从繁琐的工作中解放出来,进而增强了生产效率和品质[1]。在各个行业里,信息系统扮演着至关重要的角色,它的作用不可小觑。从系统的视野角度来搜集和解决结构或管理相关的数据信息类问题,并造成有效的输出反馈。在线问诊是代医疗的重要组成部分,是医院现代化、规范化和系统化的一大重要条件。为此,设计一个在线问诊系统,以便解决患者就医难,排队难,挂号难的问题,这将大大提高人民群众的生活质量,也对医院的现代化发展有着重要意义。1.2国内外研究现状由于医疗资源匮乏,再加上发病人数的逐年上升,看病难,看病贵这一社会问题已经愈发严重。因此,为了缓解医院的压力,许多专业人士参与其中,并提出了相应策略。2020年,任永强,张来卿,庞严冬在《一种基于微信小程序实现在线自助问诊的方法》中运用B/S模式,采用Java语言,前端采用Vue技术,数据采用SQLServer存储,提出了一个基于微信小程序的在线自主问诊的方法,该方法可以有效改善国家医疗人力资源短缺,节省医疗成本,方便患者与医生在线沟通[2]。2019年,高振怀在《基于移动互联网技术的家庭医疗服务平台》中采用移动互联网技术,结合Java语言和MySQL数据库,将医疗与互联网相结合设计了一套家庭医疗系统,该系统具有在线挂号,在线问诊,医疗课程观看及购买等功能[3]。2019年,张志同,莫琴在《基于微信小程序的在线挂号系统设计与实现》中以玉林市第一人民医院为例,使用Java语言技术,结合使用MySQL数据库设计了一个基于微信小程序的在线挂号系统,该系统可以提升患者排队挂号的效率,实现与医生的在线咨询、在线挂号、询问医生进行陪诊服务,并且患者可在该系统中获取相关的医疗保健知识[4]。国外在远程问诊领域的研究可谓是世界前线。2019年,PedroXavier-Elsas,SandraEpifanioBastos,MariaIgnezCGaspar-Elsas等人在《Howreliableisonlinediffusionofmedicalinformationtargetingpatientsandfamilies》中采用三层架构框架设计,综合使用JavaWeb,MySQL数据库和WebService开发技术进行各层的构建,设计了一个患者和家属医疗信息在线系统,该系统具有智能化导诊,查看挂号信息,就诊指引,我的账单,检查检验等功能[5]。2020年,PyperC,AmeryJ,等人在《Patients'experienceswhenaccessingtheiron-lineelectronicpatientrecordsinprimarycare》采用B/S架构,前端采用ASP.NET技术和ASP.NETMVC框架进行系统模块的开发,后台数据库采用了SQLServer作为存储系统数据的工具,设计了一个在线电子病历系统,该系统可以有效改善医患沟通,提升医生效率,减少病历编写的工作量[6]。第2章相关技术2.1Java简介Java作为在网上使用最广泛的语言之一,它的简单性、安全性、高性能无疑是比较优秀的。此外我们还可以直接调用许多基础类库函数,基于Java面向对象的特点,使得它支持了对象中类,多态,接口等,这为程序开发提供了许多便利条件,也加快了程序开发的进度,特别是Java企业应用编程接口为程序开发提供了丰富的类库。也由于Java语言泛用性,这使得开发的软件在以后的维护过程中也更加方便。2.2MySQL特点 MySQL是一种备受企业和开发公司欢迎的数据库管理系统,主要因其具有以下特点:容量小、运行快、开放源代码以及无版权限制。相对于其他数据库管理系统,MySQL的容量小在占用内存空间方面表现突出,并且在运行时CPU占用率也非常低,从而提高了系统进程的并发度。此外,MySQL运行速度较快,能够满足各种交互接口的需求。开放源代码特性使得程序员可以基于自己的需求编写自定义的数据库代码,使用MySQL创建自己的数据库。同时,MySQL支持多线程,并且可以通过Java代码来操纵数据库。另外,MySQL具有极好的跨平台兼容性,能够兼容多种操作系统,就像Java一样。2.3Springboot简介Springboot框架上是一些库的集合,它的一大优点是配置简化,不需要编写太多的配置文件,入门门槛低。从本质上来说,SpringBoot是整合了Spring技术栈的一站式框架,它允许开发使用模板快速创建应用程序。这款产品是一款专门为企业级应用而设计开发的开源工具,提供一套通用且功能强大的定制化解决方案,帮助开发人员实现对应用程序和数据的管理以及性能优化。SpringBoot在应用时能够方便快捷的创建出一个独立运行(运行jar,内嵌Servlet容器)、准生产级别的基于Spring框架的项目,SpringBoot不需要过多的Spring配置就可以使用,能够方便快捷的完成任务。2.4Vue简介Vue是一种流行的JavaScript框架,因以下特点备受欢迎:响应式、组件化编程、数据驱动、易于学习且具有强大的扩展性、灵活的渐进式框架,使得开发者可以根据业务需求选择相应功能,降低了初学者和使用者的学习和使用成本。第3章需求分析3.1可行性分析3.1.1技术可行性本次开发是基于Java的在线问诊系统开发,所使用的语言是Java,在开发过程中主要基于Springboot框架。Idea是现今做得最好的一款多语言集成开发环境,同时大多数与之相关的开发工具都是免费的。3.1.2经济可行性经济可行性包括人力成本,软硬件成本和后期维护。在线问诊系统可以节省一部分人力资源,可缓解医院压力,具有极高的经济价值。实施该设计方案在所需花费的成本和时间,设计开发这种在线问诊系统在经济上是有必要的。3.1.3操作可行性系统的使用体验是比较关键的,它应该是容易上手的,整个系统要方便,快捷,另外还要考虑到每个用户对系统的需求是不一样的,这样才能保证系统的高效性。3.1.4法律可行性系统开发在法律上讲,整个开发过程中,要遵守相关的法律规定,有法律依据。所有的技术资料要符合法律法规,保证的系统的合法性,而非涉及法律责任。3.2需求分析对系统功能进行分析可以在实施软件功能时提供价值信息。无效的分析活动会使我们在系统设计开发的环节上错误频发,因此在系统开发时提高效率、这也可以尽可能的避免出错,从而降低软件开发成本。3.2.1功能需求分析‎‏在该系统中,用‎户注册‏登录系统‏后,可‏以挂号,问诊,收藏医生,支付费用,查看电子病历,个人中心,医生在后台系统中可以问诊,创建电子病历信息等;管理员能够在后台系统管理医生信息、患者信息、回复留言、系统公告等。患者用例图如图所示。患者患者登陆注册在线挂号在线支付在线问诊查看信息查看病历图1患者用例图医生用例图如图所示。医生医生在线问诊管理在线挂号管理查看个人中心电子病历管理登录注册医生图2医生用例图管理员用例图如图所示。管理员管理员查看个人中心用户管理医生管理在线挂号管理在线问诊管理电子病历管理留言板管理系统管理图3管理员用例图在线问诊流程图如图所示。是否开始是否开始是否注册注册登录挂号支付选择医生审核是否通过结束问诊创建病例是否图4在线问诊流程图3.2.2非功能需求分析系统应该操作简单,便于上手,符合用户的使用习惯,并优化挂号问诊流程,是用户体验上升。此外数据不能授权用户以外的人访问,未经授权的用户不可轻易访问非法数据,用户之间也不能共享数据等。系统响应时间也不宜过长。第4章系统设计4.1功能模块设计在线问诊系统的功能模块包括:医生模块、用户模块、挂号模块、电子病例模块、支付模块、问诊模块、留言板以及系统管理等模块。如图5所示:在线问诊系统在线挂号在线问诊系统在线挂号用户信息管理医生信息管理在线问诊在线支付电子病历留言板管理系统管理图5系统功能模块图4.2数据库概念设计1.管理员实体图管理员管理员账号密码角色图6管理员实体图2.用户实体图用户用户性别账号密码年龄电话图7用户实体图4.3数据库设计数据库是从物理角度研究数据储存和提取的一门学科。它主要的任务就是对数据库进行索引,并对其中的数据进行操作和访问。在创建数据库时,需要为每个实体对应设定相应的数据库名称和相应的表格。以下是在线问诊系统的详细表:(1)管理员表users:为了记录管理员的信息,我们使用了一个名为“users”的管理员表4.1。这个表是用来存储管理员的各种属性和相关信息,包括他们的用户名、密码、角色等等。表4.1如下:表4.1管理员表字段名称类型长度字段说明主键默认值idbigint主键主键usernamevarchar100用户名passwordvarchar100密码rolevarchar100角色管理员addtimetimestamp新增时间CURRENT_TIMESTAMP(2)收藏表storeup:用来记录用户收藏的信息。如表4.2所示。表4.2收藏表字段名称类型长度字段说明主键默认值idbigint主键主键addtimetimestamp创建时间CURRENT_TIMESTAMPuseridbigint用户idrefidbigint收藏idtablenamevarchar200表名namevarchar200收藏名称picturevarchar200收藏图片typevarchar200类型(1:收藏,21:赞,22:踩)1inteltypevarchar200推荐类型(3)公告信息表news:用来记录公告信息。如表4.3所示。表4.3公告信息表字段名称类型长度字段说明主键默认值idbigint主键主键addtimetimestamp创建时间CURRENT_TIMESTAMPtitlevarchar200标题introductionlongtext4294967295简介picturevarchar200图片contentlongtext4294967295内容(4)在线挂号表zaixianguahao:用来记录在线挂号的信息。如表4.4所示。表4,4在线挂号表字段名称类型长度字段说明主键默认值idbigint主键主键addtimetimestamp创建时间CURRENT_TIMESTAMPyishenggonghaovarchar200医生工号yishengxingmingvarchar200医生姓名suoshukeshivarchar200所属科室zhenjinint诊金guahaoshijiandatetime挂号时间beizhuvarchar200备注zhanghaovarchar200账号xingmingvarchar200姓名shoujivarchar200手机sfshvarchar200是否审核待审核shhflongtext4294967295审核回复ispayvarchar200是否支付未支付(5)医生表yisheng:用来记录医生的信息。如表4.5所示。表4.5医生表字段名称类型长度字段说明主键默认值idbigint主键主键addtimetimestamp创建时间CURRENT_TIMESTAMPyishenggonghaovarchar200医生工号mimavarchar200密码yishengxingmingvarchar200医生姓名suoshukeshivarchar200所属科室zhichengvarchar200职称zhenjinint诊金lianxidianhuavarchar200联系电话yishengjianjielongtext4294967295医生简介touxianglongtext4294967295头像clicktimedatetime最近点击时间clicknumint点击次数0(6)科室表keshi:用来记录科室的信息。如表4.6所示。表4.6科室表字段名称类型长度字段说明主键默认值idbigint主键主键addtimetimestamp创建时间CURRENT_TIMESTAMPkechengleixingvarchar200医疗类型(7)电子病历表dianzibingli:用来记录电子病历的信息。如表4.7所示。表4.7电子病历表字段名称类型长度字段说明主键默认值idbigint主键主键addtimetimestamp创建时间CURRENT_TIMESTAMPzhanghaovarchar200账号xingmingvarchar200姓名zhenduanshijiandatetime诊断时间bingzhengmiaoshulongtext4294967295病症描述zhenduanjieguolongtext4294967295诊断结果zhiliaofanganlongtext4294967295治疗方案yishengjianyilongtext4294967295医生建议yishenggonghaovarchar200医生工号yishengxingmingvarchar200医生姓名(8)医生评论表discussyisheng:用来记录医生评论的信息。如表4.8所示。表4.8医生评论表字段名称类型长度字段说明主键默认值idbigint主键主键addtimetimestamp创建时间CURRENT_TIMESTAMPrefidbigint关联表iduseridbigint用户idavatarurllongtext4294967295头像nicknamevarchar200用户名contentlongtext4294967295评论内容replylongtext4294967295回复内容(9)在线问诊表zaixianwenzhen:用来记录在线问诊的信息。如表4.9所示。表4.9在线问诊表字段名称类型长度字段说明主键默认值idbigint主键主键addtimetimestamp创建时间CURRENT_TIMESTAMPyishenggonghaovarchar200医生工号yishengxingmingvarchar200医生姓名suoshukeshivarchar200所属科室wenzhenneironglongtext4294967295问诊内容wenzhenshijiandatetime问诊时间zhanghaovarchar200账号xingmingvarchar200姓名shhflongtext4294967295回复内容第5章系统实现5.1登录注册假如一个用户是初次使用该系统,那么这个用户必须先进行注册,点击登录/注册按钮为用户跳转为登录界面来进行操作,点击注册用户开始注册,具体操作如下图8:图8用户注册界面@IgnoreAuth@RequestMapping("/register")publicRregister(@RequestBodyYonghuEntityyonghu){ //ValidatorUtils.validateEntity(yonghu); YonghuEntityuser=yonghuService.selectOne(newEntityWrapper<YonghuEntity>().eq("yonghuzhanghao",yonghu.getYonghuzhanghao()));if(user!=null){returnR.error("注册用户已存在");}LonguId=newDate().getTime();yonghu.setId(uId);yonghuService.insert(yonghu);returnR.ok();}当用户完成注册完成后就可以输入账号、密码来登录系统。假如该名用户没有输入任何账户名或者密码,系统将会自动提示用户输入,以确保安全,否则无法登录。登录界面可以参考下图9所示。当账户或者密码输入错误时,系统会自动报错提醒。图9用户登录界面当你进入后台登录界面时,需要输入你的用户名和密码,并选择你的登录角色(管理员、用户或医生)。如果你选择了错误的角色,则系统将会报错。只有当你输入正确的用户名和密码以及选择正确的角色后,系统才能顺利地跳转到后台管理主页。在该页面上,你可以方便地进行相关操作,如添加、修改和删除信息等.图10所呈现的是后台登录的界面。图10后台登录界面实现该功能的关键代码如下。@IgnoreAuth@RequestMapping(value="/login")publicRlogin(Stringusername,Stringpassword,Stringcaptcha,HttpServletRequestrequest){YonghuEntityuser=yonghuService.selectOne(newEntityWrapper<YonghuEntity>().eq("yonghuzhanghao",username));if(user==null||!user.getMima().equals(password)){returnR.error("账号或密码不正确");}Stringtoken=tokenService.generateToken(user.getId(),username,"yonghu","用户");returnR.ok().put("token",token); }5.2个人信息管理用户成功登录系统后,可以在主页面找到名为“个人中心”的按钮,点击进入个人中心界面。在该界面上,用户可以修改自己的个人信息,包括用户名、密码和其他相关信息。当用户完成信息的修改并点击“更新信息”按钮时,系统将显示对应的状态信息,如果提示“修改成功”,则表示用户的个人信息已经被成功修改并保存;如果提示“修改失败”,则说明出现了相应的错误,并需要用户进一步排查或更正。请注意,在操作过程中,需要保证输入的相关信息都是合法有效的。个人信息界面如图11所示:图11个人信息管理界面@RequestMapping("/update")publicRupdate(@RequestBodyYonghuEntityyonghu,HttpServletRequestrequest){//ValidatorUtils.validateEntity(yonghu);yonghuService.updateById(yonghu);//全部更新returnR.ok();}5.3用户管理界面作为管理员登录到系统的后台里面,进入用户管理界面,点击并进入需要的用户管理界面,选择用户进入用户详细信息界面,可以对用户信息进行增删改查操作。用户管理界面如图12所示。用户详情界面如图13所示:图12用户管理界面图13用户详情界面@RequestMapping("/query")publicRquery(YonghuEntityyonghu){EntityWrapper<YonghuEntity>ew=newEntityWrapper<YonghuEntity>();ew.allEq(MPUtil.allEQMapPre(yonghu,"yonghu"));YonghuViewyonghuView=yonghuService.selectView(ew);returnR.ok("查询用户成功").put("data",yonghuView);}@RequestMapping("/update")@TransactionalpublicRupdate(@RequestBodyYonghuEntityyonghu,HttpServletRequestrequest){//ValidatorUtils.validateEntity(yonghu);yonghuService.updateById(yonghu);//全部更新returnR.ok();}@RequestMapping("/delete")publicRdelete(@RequestBodyLong[]ids){yonghuService.deleteBatchIds(Arrays.asList(ids));returnR.ok();}5.4医生管理页面作为管理员登录到系统的后台里面,进入医生管理界面,点击并进入需要的医生管理界面,选择医生进入医生详细信息界面,可以对医生信息进行增删改查操作。医生管理界面如图14所示:图14医生管理界面@RequestMapping("/lists")publicRlist(YishengEntityyisheng){EntityWrapper<YishengEntity>ew=newEntityWrapper<YishengEntity>();ew.allEq(MPUtil.allEQMapPre(yisheng,"yisheng"));returnR.ok().put("data",yishengService.selectListView(ew));}@RequestMapping("/query")publicRquery(YishengEntityyisheng){EntityWrapper<YishengEntity>ew=newEntityWrapper<YishengEntity>();ew.allEq(MPUtil.allEQMapPre(yisheng,"yisheng"));YishengViewyishengView=yishengService.selectView(ew);returnR.ok("查询医生成功").put("data",yishengView);}5.5在线挂号管理用户登录系统后可以选择以医生进行挂号操作,点击提交即可挂号成功。然后到后台支付等待医生审核后可进行在线问诊。在线挂号界面如下图15所示。在线支付界面如下图16所示图15在线挂号界面图16在线支付界面<divslot="footer"class="dialog-footer"><el-button@click="dialogFormVisibleVip=false">取消</el-button><el-buttontype="primary"@click="chongzhivip">确认支付</el-button></div>作为管理员登录到系统的后台里面,选择“医生管理”按钮,然后进入到在线挂号界面里,可以对用户进行操作,比如想要查询按找到某一用户,那么就可以输入他的姓名、手机号来查找到该用户,还可以进行其他一些操作,比如修改信息、删除单个或批量数据,以及查看对象或实体的详细信息等功能。用户可根据自己的需要自由选择这些额外的操作,以更好地管理自己的资料和数据。在线挂号界面如下图17所示。图17在线挂号管理界面@RequestMapping("/lists")publicRlist(YonghuEntityyonghu){ EntityWrapper<YonghuEntity>ew=newEntityWrapper<YonghuEntity>(); ew.allEq(MPUtil.allEQMapPre(yonghu,"yonghu"));returnR.ok().put("data",yonghuService.selectListView(ew));}@RequestMapping("/query")publicRquery(YonghuEntityyonghu){EntityWrapper<YonghuEntity>ew=newEntityWrapper<YonghuEntity>(); ew.allEq(MPUtil.allEQMapPre(yonghu,"yonghu")); YonghuViewyonghuView=yonghuService.selectView(ew); returnR.ok("查询用户成功").put("data",yonghuView);}@RequestMapping("/info/{id}")publicRinfo(@PathVariable("id")Longid){YonghuEntityyonghu=yonghuService.selectById(id);returnR.ok().put("data",yonghu);}5.6在线问诊管理医生会对挂号申请进行线上审核,并在审核之后,根据情况向用户发起在线问诊。在问诊过程中,用户需要回答医生的问题,以帮助医生更好地了解病情和做出适当的治疗方案。系统提供了一个简洁而直观的在线挂号审核界面,图18展示了此界面的样子。同时,系统还提供了一个专门用于在线问诊的界面,图19展示了该界面的外观和操作方式。用户回复问诊界面如下图20所示。图18在线挂号审核界面<el-dialogtitle="审核":visible.sync="sfshVisiable"width="50%"> <el-formref="shForm":model="shForm"label-width="80px"> <el-form-itemlabel="审核状态"> <el-selectv-model="shForm.sfsh"placeholder="审核状态"> <el-optionlabel="通过"value="是"></el-option> <el-optionlabel="不通过"value="否"></el-option> <el-optionlabel="待审核"value="待审核"></el-option> </el-select> </el-form-item> <el-form-itemlabel="内容"> <el-inputtype="textarea":rows="8"v-model="shForm.shhf"></el-input> </el-form-item> </el-form> <divslot="footer"class="dialog-footer"> <el-button@click="sfshVisiable=false">取消</el-button> <el-buttontype="primary"@click="shHandler">确定</el-button> </div> </el-dialog>图19在线问诊界面图20用户回复问诊界面作为管理员登录到系统的后台里面,点击进入在线问诊界面,输入用户姓名,选择查询找到在线问诊,还可以对在线问诊进行一些额外的操作,比如添加、修改、删除、批量删除等。在线问诊管理界面如下图21所示:图21在线问诊管理界面@RequestMapping("/lists")publicRlist(KeshileixingEntitykeshileixing){ EntityWrapper<KeshileixingEntity>ew=newEntityWrapper<KeshileixingEntity>(); ew.allEq(MPUtil.allEQMapPre(keshileixing,"keshileixing"));returnR.ok().put("data",keshileixingService.selectListView(ew));}@RequestMapping("/query")publicRquery(KeshileixingEntitykeshileixing){EntityWrapper<KeshileixingEntity>ew=newEntityWrapper<KeshileixingEntity>(); ew.allEq(MPUtil.allEQMapPre(keshileixing,"keshileixing")); KeshileixingViewkeshileixingView=keshileixingService.selectView(ew); returnR.ok("查询在线问诊成功").put("data",keshileixingView);}@RequestMapping("/info/{id}")publicRinfo(@PathVariable("id")Longid){KeshileixingEntitykeshileixing=keshileixingService.selectById(id);returnR.ok().put("data",keshileixing);}5.7电子病例管理医生问诊结束后可创建电子病例,里面有创建该病例的医生信息,之后选择患者账号,添加症状描述、诊断结果、治疗方案以及医生建议。创建电子病例界面如下图22所示。图22创建电子病例界面作为管理员登录到系统的后台里面,选择电子病例管理下的“电子病例”按钮,进入电子病例列表界面,可以添加电子病历,或者修改病例,删除与批量删除,浏览评论内容和浏览观看详情信息等操作。如果想查询并找到电子版病例,这需要输入名称,然后选择查询就可以找到需要的电子病例信息,电子病例的管理界面如下图23所示:图23电子病例管理界面@RequestMapping("/lists")publicRlist(XianshangguahaoEntityxianshangguahao){ EntityWrapper<XianshangguahaoEntity>ew=newEntityWrapper<XianshangguahaoEntity>(); ew.allEq(MPUtil.allEQMapPre(xianshangguahao,"xianshangguahao"));returnR.ok().put("data",xianshangguahaoService.selectListView(ew));}@RequestMapping("/query")publicRquery(XianshangguahaoEntityxianshangguahao){EntityWrapper<XianshangguahaoEntity>ew=newEntityWrapper<XianshangguahaoEntity>(); ew.allEq(MPUtil.allEQMapPre(xianshangguahao,"xianshangguahao")); XianshangguahaoViewxianshangguahaoView=xianshangguahaoService.selectView(ew); returnR.ok("查询电子病例成功").put("data",xianshangguahaoView);}@RequestMapping("/info/{id}")publicRinfo(@PathVariable("id")Longid){XianshangguahaoEntityxianshangguahao=xianshangguahaoService.selectById(id);returnR.ok().put("data",xianshangguahao);}@RequestMapping("/update")@TransactionalpublicRupdate(@RequestBodyDianzibingliEntitydianzibingli,HttpServletRequestrequest){//ValidatorUtils.validateEntity(dianzibingli);dianzibingliService.updateById(dianzibingli);//全部更新returnR.ok();}@RequestMapping("/delete")publicRdelete(@RequestBodyLong[]ids){dianzibingliService.deleteBatchIds(Arrays.asList(ids));returnR.ok();}5.8留言板管理用户可以在留言板进行留言,输入留言信息,可选择添加图片,之后提交留言信息即可。用户留言界面如下图24所示。图24电子病例管理界面作为管理员登录到系统的后台里面,在留言板管理下点击“留言板”按钮,进入留言板列表界面,输入用户名,选择查询找到用户留言,还可以对留言信息进行回复、修改、删除、批量删除、查看详情等操作。留言板管理界面如图25所示;留言板回复界面如图26所示。图25留言板管理界面图26留言板回复界面@RequestMapping("/lists")publicRlist(MessagesEntitymessages){ EntityWrapper<MessagesEntity>ew=newEntityWrapper<MessagesEntity>(); ew.allEq(MPUtil.allEQMapPre(messages,"messages"));returnR.ok().put("data",messagesService.selectListView(ew));}@RequestMapping("/query")publicRquery(MessagesEntitymessages){EntityWrapper<MessagesEntity>ew=newEntityWrapper<MessagesEntity>(); ew.allEq(MPUtil.allEQMapPre(messages,"messages")); MessagesViewmessagesView=messagesService.selectView(ew); returnR.ok("查询留言板成功").put("data",messagesView);}publicvoidsetReply(Stringreply){ this.reply=reply; } publicStringgetReply(){ returnreply; } publicvoidsetRpicture(Stringrpicture){ this.rpicture=rpicture; } publicStringgetRpicture(){ returnrpicture; }5.9医生推荐展示页面中有医生推荐功能,可根据用户查看次数来进行推荐医生,如图27:图27医生推荐界面@IgnoreAuth@RequestMapping("/autoSort")publicRautoSort(@RequestParamMap<String,Object>params,YishengEntityyisheng,HttpServletRequestrequest,Stringpre){EntityWrapper<YishengEntity>ew=newEntityWrapper<YishengEntity>();Map<String,Object>newMap=newHashMap<String,Object>();Map<String,Object>param=newHashMap<String,Object>(); Iterator<Map.Entry<String,Object>>it=param.entrySet().iterator(); while(it.hasNext()){ Map.Entry<String,Object>entry=it.next(); Stringkey=entry.getKey(); StringnewKey=entry.getKey(); if(pre.endsWith(".")){ newMap.put(pre+newKey,entry.getValue()); }elseif(StringUtils.isEmpty(pre)){ newMap.put(newKey,entry.getValue()); }else{ newMap.put(pre+"."+newKey,entry.getValue()); } } params.put("sort","clicknum");params.put("order","desc"); PageUtilspage=yishengService.queryPage(params,MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew,yisheng),params),params));returnR.ok().put("data",page);}5.10系统管理作为管理员登录到系统的后台里面,在系统管理下点击“公告信息和轮播图管理”按钮,进入公告信息界面,输入标题,选择查询后找到公告信息,此外,管理员还可以对系统公告信息进行一系列的操作。这些操作包括增加、删除、查询和修改等功能。除此之外,管理员还可以查看公告详情,以便更好地了解和管理整个系统的公告信息。公告信息界面如图28所示,轮播图管理界面如图29所示:图28公告信息界面图29轮播图管理界面。@RequestMapping("/lists")publicRlist(NewsEntitynews){ EntityWrapper<NewsEntity>ew=newEntityWrapper<NewsEntity>(); ew.allEq(MPUtil.allEQMapPre(news,"news"));returnR.ok().put("data",newsService.selectListView(ew));}@RequestMapping("/query")publicRquery(NewsEntitynews){EntityWrapper<NewsEntity>ew=newEntityWrapper<NewsEntity>(); ew.allEq(MPUtil.allEQMapPre(news,"news")); NewsViewnewsView=newsService.selectView(ew); returnR.ok("查询公告信息成功").put("data",newsView);}@RequestMapping("/update")@TransactionalpublicRupdate(@RequestBodyNewsEntitynews,HttpServletRequestrequest){//ValidatorUtils.validateEntity(news);newsService.updateById(news);//全部更新returnR.ok();}@RequestMapping("/delete")publicRdelete(@RequestBodyLong[]ids){newsService.deleteBatchIds(Arrays.asList(ids));returnR.ok();}

第6章系统测试为了检验系统的功能完整性,可以采用黑盒测试来进行评估。这种测试方法从用户的角度出发,对预设的测试用例进行综合评估,以检测系统中是否存在问题并提供必要的反馈。在黑盒测试进行时,需要采用位移分析和阈值分析这两种方法。在系统中错误不可避免,它经常发生在输入和输出值边界上,因此在确定输入和输出范围后,选择系统阈值用来测试,进行评估系统的稳定性和可靠性。6.1测试步骤相同的开发过程,分阶段的执行必须是在出厂测试期的出厂中进行。当然,每一个步,都是前面的扩展。大程Х序一般包括若干个Х的子程序Х,每一个子程序Х的程序又包括一个或更多的模块Х。所以,对大规模软件的测试中,有以下几个环节至关重要:检测程序中是否存在编码或者设计上的问题。检查测试项目在测试过程中出现的设计失误。标准化操作系需求,用于确错误接受试验场景。6.6.2测试用例6.2.1登录测试用例表6.1登录测试用例表测试编号测试目的操作步骤预期结果实际结果001登录测试输入正确的用户名和密码登录成功登录成功002登录测试输入错误的用户名登录失败登录失败003登录测试输入错误的的密码登录失败登录失败6.2.2电子病例管理测试用例为了满足浏览器运行需求管理端需要进行一些操作,比如添加电子病例信息测试、修改电子病例信息测试、删除电子病例信息测试等。本节根据管理端各模块进行测试,因考虑到本文篇幅有限,这里代表性的部分测试用例,如表12所示。表6.2电子病例管理测试用例表测试编号测试目的操作步骤预期结果实际结果001添加电子病例信息测试在添加页面输入电子病例信息,点击确认按钮添加成功添加成功002修改电子病例信息测试在修改页面修改电子病例信息,点击确认按钮修改成功修改成功003删除电子病例信息测试在管理电子病例信息页面,点击某一用户的删除按钮删除成功删除成功004查询电子病例信息测试在管理电子病例信息页面查询输入框输入要查询的用户名字,点击查询按钮查询成功查询成功6.2.3在线问诊管理测试用例为了满足浏览器运行需求管理端需要进行一些操作,比如添加在线问诊信息测试、修改在线问诊信息测试、删除在线问诊信息测试等。本节根据管理端各模块进行测试,因考虑到本文篇幅有限,这里代表性的部分测试用例,如表6.3所示。表6.3在线问诊管理测试用例表测试编号测试目的操作步骤预期结果实际结果001添加在线问诊信息测试在添加页面输入在线问诊信息,点击确认按钮添加成功添加成功002修改在线问诊信息测试在修改页面修改在线问诊信息,点击确认按钮修改成功修改成功003删除在线问诊信息测试在管理在线问诊信息页面,点击某一用户的删除按钮删除成功删除成功004查询在线问诊信息测试在管理在线问诊信息页面查询输入框输入要查询的用户名字,点击查询按钮查询成功查询成功6.2.4留言板管理测试用例为了满足浏览器运行需求管理端需要进行一些操作,比如添加留言板信息测试、修改留言板信息测试、删除留言板信息测试等。本节根据管理端各模块进行测试,因考虑到本文篇幅有限,这里代表性的部分测试用例,如表6.4所示。表6.4留言板管理测试用例表测试编号测试目的操作步骤预期结果实际结果001添加留言板信息测试在添加页面输入留言板信息,点击确认按钮添加成功添加成功002修改留言板信息测试在修改页面修改留言板信息,点击确认按钮修改成功修改成功003删除留言板信息测试在管理留言板信息页面,点击某一用户的删除按钮删除成功删除成功004查询留言板信息测试在管理留言板信息页面查询输入框输入要查询的用户名字,点击查询按钮查询成功查询成功6.3测试结论基本上都能实现把准确的数据交付给用户

温馨提示

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

评论

0/150

提交评论