版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
[3]。可以说,在发展线上预约系统方面,我国已经迅速地赶上了国际先进水平。1.3主要研究内容(1)本系统的使用人员不仅有普通用户和后台管理员,还有司法所和监狱,所以需要针对不同人群,设计不同的功能。(2)在实际的开发过程中,我们需要根据实际情况权衡各种因素,以达到性能和效率之间的平衡。此外,我们还需要考虑如何进行数据管理,通过优化数据库查询等技术手段,提高系统运行的效率和性能。因此,在开发系统时,我们应该选择一个稳定、可靠、高效的数据库,并结合实际需求灵活运用,以提高系统的稳定性、灵活性和安全性。(3)我们应研究设计的界面是否能够让用户一目了然,轻松愉快地完成操作。因此可以使用简单易懂的语言,清晰明了的图标,让用户能够快速地找到目标。我们也要注重美感设计,采用合适的颜色、字体等元素,打造出符合用户审美的界面。(4)评估基于微信小程序的监狱探视预约管理系统的可行性,并根据评估结果判断该系统是否会受到人们的青睐,并且在完成制作后,是否有发展的前景。(5)本研究旨在探讨该系统的设计。我们不仅会关注怎样满足不同用户的需求还会研究各个程序语言的相互关系,从而保证系统能够高效的运行。第2章相关理论和技术2.1微信小程序微信小程序加载于微信,其流畅度可比肩app。与app相比,小程序更加轻量、更新实时、跨平台;相对webapp来说,小程序资源离线,体验更流畅。2.2Java简介在95年SunMicrosystems推出Java语言,但2010年被Oracle连同公司一起收购,并负责Java后续的维护和版本升级。Java与C++都是一种面向对象的编程语言,C++兼容C语言使其面向对象的彻底性受到一些影响,而Java的句法更加的清晰,规模更加的小,使其更加容易进行学习。它是研究多种语言之后,在其他语言基础上,据弃了不足,因而,对于C++的缺陷它可以从根本上避免。Java由于它的虚拟机机制,因此它可以移植在任意平台上。2.3MySQL MySQL是最流行的关系型数据库管理系统之一,它开放源代码因此没有版权限制,且具有高速的特性,免费、安全、储存空间大、可以跨平台也是它可以流行的一大原因。它为了提高查询速度进而对SQL算法进行了一系列的优化,不仅支持多线程,使其可以发挥CPU资源利用率到最大,而且为C语言,Java等一系列编程语言提供API。在遇到关于MySQL的问题时,可以进入社区获取帮助,其社区非常活跃。第3章系统分析3.1可行性分析3.1.1技术可行性这指决策的技术和决策方案的技术不能突破组织所拥有的或有关人员所掌握的技术资源条件的边界。在基础知识介绍部分我们已经进行了相关说明,本次开发是基于小程序的监狱探视预约管理系统开发,使用Eclipse工具用Java语言并基于SpringBoot框架进行开发。Eclipse是现今做得最好的一款多语言集成开发环境,同时大多数与之相关的开发工具都是免费的。3.1.2经济可行性这主要是为了检测系统的开发过程是否与预算相符。该系统的发展前景好,并且价值相对较高。所以,在经济方面考虑,设计开发此程序是可以的。3.1.3操作可行性为了提高用户使用此系统的体验,我们应注重系统的实用性,确保多数功能能直接在界面使用。输入的内容需符合数据标准,避免歧义。同时,系统必须操作简单、运行高效,不同的用户设置不同的管理权限,以确保安全可靠。3.2需求分析对系统功能要求的分析可以提供有关在实施软件功能要求的信息。为了避免出现的前期错误,提升软件开发效率,降低成本并提高软件质量,从而需要进行此项分析。3.2.1功能需求分析在对基于小程序的监狱探视预约管理系统进行详细的需求分析与数据库设计后,将功能初步制定为:用户:探视人员注册登录、绑定申请、探视申请、监狱审理;管理员:个人中心、监狱管理、监狱注册登录、司法所注册登录、司法所管理、探视人员管理、服刑人员管理、绑定申请管理、探视申请管理、监狱审理管理、新闻公告管理。本系统的主要功能模块:(1)探视人员注册登录:探视人员在完成个人信息注册后可以登录本系统。(2)绑定申请:探视人员发送绑定服刑人员申请。(3)监狱预约:探视人员发出预约监狱探监请求。(4)司法所注册登录:司法所工作人员在完成注册后可以登录本系统。(5)新闻公告管理:管理员不仅可以发布公告,也可以对其内容进行修改。(6)探视人员管理:对探视人员信息进行增删改查。(7)绑定申请管理:对用户发出的绑定申请进行处理。(8)司法所预约管理:对用户发出的监狱预约,司法所进行处理通过后并发送监狱审核。(9)监狱注册登录:监狱工作人员在完成注册后可以登录本系统。(10)监狱审理管理:对司法所发送的请求进行处理。3.2.2非功能需求分析本文设计了一个基于小程序的监狱探视预约管理系统,该系统存储着大量信息,为了保护数据安全,我们着重对权限模块进行了开发。在该系统中,不同人员注册后经过验证,系统赋予对应权限,以此保证用户只能在自身拥有的权限内对数据进行操作,这样可以使系统数据更安全。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.4系统流程分析3.4.1注册登录流程开始用户输入个人信息是否为新用户是否合法登录成功输入用户名和密码注册结束主界面YN开始用户输入个人信息是否为新用户是否合法登录成功输入用户名和密码注册结束主界面YNYN图3.5注册登录流程图3.4.2探视预约流程探视人员向司法所提交绑定服刑人员的申请,绑定成功后,可以再次向司法所进行提交探视预约的申请,审核通过后,司法所会把探视人员探视的申请转接给监狱,由监狱安排服刑人员的时间并在系统告知给探视人员,探视人员可在系统中进行探视时间查看。其流程图如图3.6所示。图3.6探视预约流程图第4章系统设计4.1功能模块设计通过对基于小程序的监狱探视预约管理系统的功能分析,几个主要的模块有:监狱管理、司法所管理、探视人员管理、服刑人员管理、绑定申请管理、探视申请管理、监狱审理管理、。图4.1所展示的是本系统的功能模块:图4.1功能模块图4.2数据库设计在基于微信小程序的监狱探视预约管理系统的设计中,最核心的内容就是数据库,因此我们要着重对数据库进行开发和设计。设计一个稳定高效的数据库来储存系统的所有数据,并确保数据库的安全性,以避免数据泄露和系统遭受攻击。我们还会对用户设置限制,及时备份数据库,以保证系统的稳定可靠性。
4.2.1概念结构设计我们对系统分析出数据库的实体对象包括:探视人员、管理员、司法所、监狱。1.探视人员实体图如图4.2所示探视人员探视人员账号密码编号创建时间性别姓名年龄手机身份证号证件图4.2探视人员实体图2.管理员实体图如图4.3所示管理员管理员用户名密码编号创建时间图4.3管理员实体图
3.司法所实体图如图4.4所示司法所司法所账号密码编号创建时间负责人名称电话邮箱地址服务时间图4.4司法所实体图监狱探视编号探视原因编号创建时间用户监狱探视编号探视原因编号创建时间用户姓名探视时间人员姓名性别年龄司法所号负责人监狱账号监狱负责人是否审核审核回复图4.5监狱实体图5.服刑人员实体图如图4.6所示服刑人员服刑人员人员姓名性别编号创建时间入狱时间年龄身份证号图4.6服刑人员实体图6.E-R图图4.7E-R图4.2.2逻辑结构设计对于数据库里面的数据如何储存、如何取出是物理问题。上一节中的实体图,为每个实体设置相应的数据库和相应的表。本次监狱探视预约管理系统的具体表设计如下:(1)管理员表users管理员的信息使用“管理员表users”来进行记录。表4.1所展示的为users的结构。表4.1管理员表字段名称类型长度字段说明主键默认值idbigint主键是usernamevarchar20用户名passwordvarchar20密码rolevarchar10角色管理员addtimetimestamp新增时间CURRENT_TIMESTAMP(2)token表token“token表token”是用来记录身份验证的信息。token的结构如表4.2所示。表4.2token表字段名称类型长度字段说明主键默认值idbigint主键是useridbigint用户idusernamevarchar20用户名tablenamevarchar20表名rolevarchar10角色tokenvarchar40密码addtimetimestamp新增时间CURRENT_TIMESTAMPexpiratedtimetimestamp过期时间CURRENT_TIMESTAMP(3)探视申请表tanshishenqing“探视申请表tanshishenqing”是用来记录探视申请信息。tanshishenqing的结构如表4.3所示。
表4.3探视申请表字段名称类型长度字段说明主键默认值idbigint主键是addtimetimestamp创建时间CURRENT_TIMESTAMPtanshibianhaovarchar10探视编号tanshiyuanyinlongtext探视原因tanshishijiandatetime探视时间yonghuzhanghaovarchar20用户账号yonghuxingmingvarchar10用户姓名renyuanxingmingvarchar10人员姓名xingbievarchar2性别nianlingvarchar3年龄sifasuohaovarchar20司法所号fuzerenvarchar10负责人sfshvarchar6是否审核待审核shhflongtext审核回复(4)探视人员表tanshirenyuan“探视人员表tanshirenyuan”是用来记录探视人员信息。tanshirenyuan的结构如表4.4所示。表4.4探视人员表字段名称类型长度字段说明主键默认值idbigint主键是addtimetimestamp创建时间CURRENT_TIMESTAMPyonghuzhanghaovarchar20用户账号mimaVarchar20密码yonghuxingmingvarchar10用户姓名touxianglongtext头像xingbievarchar2性别
续表4.4探视人员表字段名称类型长度字段说明主键默认值nianlingint年龄shoujihaomavarchar11手机号码shenfenzhenghaovarchar18身份证号zhengjianzhengmianlongtext证件正面zhengjianzhengmianlongtext证件反面sfshvarchar6是否审核shhflongtext审核回复(5)司法所表sifasuo司法所的信息使用“司法所表sifasuo”来进行记录。表4.5所展示的为司法所表sifasuo的结构。表4.5司法所表字段名称类型长度字段说明主键默认值idbigint主键是addtimetimestamp创建时间CURRENT_TIMESTAMPsifasuohaovarchar20司法所号mimavarchar20密码sifasuomingchengvarchar30司法所名称fuzerenvarchar10负责人dianhuavarchar11电话youxiangvarchar30邮箱dizhivarchar50地址fuwushijianvarchar15服务时间tupianlongtext图片(6)法律资讯表news法律资讯的信息使用“法律资讯表news”来进行记录。表4.6所展示的为news的结构。表4.6法律资讯表字段名称类型长度字段说明主键默认值idbigint主键是addtimetimestamp创建时间CURRENT_TIMESTAMPtitlevarchar50标题introductionlongtext简介picturelongtext图片contentlongtext内容(7)监狱审理表jianyushenli“监狱审理表jianyushenli”是用来记录监狱审理信息。jianyushenli的结构如表4.7所示。表4.7监狱审理表字段名称类型长度字段说明主键默认值idbigint主键是addtimetimestamp创建时间CURRENT_TIMESTAMPtanshibianhaotianshiyuanyinvarcharlongtext10探视编号探视原因tanshishijiandatatime探视时间yonghuzhanghaovarchar20用户账号yonghuxingmingvarchar10用户姓名renyuanxingmingvarchar10人员姓名xingbievarchar2性别nianlingvarchar3年龄sifasuohaovarchar20司法所号fuzerenvarchar10负责人jianyuzhanghaovarchar20监狱账号jianyumingchengvarchar30监狱名称jianyufuzerenvarchar10监狱负责人sfshvarchar6是否审核shhfvarchar200审核回复(8)监狱管理表jianyuguanli“监狱管理表jianyuguanli”是用来记录监狱管理信息。jianyuguanli的结构如表4.8所示。表4.8监狱管理表字段名称类型长度字段说明主键默认值idbigint主键是addtimetimestamp创建时间CURRENT_TIMESTAMPjianyuzhanghaomimavarcharvarchar2020监狱账号密码jianyumingchengvarchar30监狱名称jianyufuzerenvarchar10监狱负责人dianhuavarchar11电话youxiangvarchar30邮箱dizhivarchar50地址fuwushijianvarchar15服务时间tupianlongtext图片(9)服刑人员表fuxingrenyuan“服刑人员表fuxingrenyuan”是用来记录服刑人员信息。fuxingrenyuan的结构如表4.9所示。表4.9服刑人员表字段名称类型长度字段说明主键默认值idbigint主键是addtimetimestamp创建时间CURRENT_TIMESTAMPrenyuanxingmingvarchar10人员姓名xingbievarchar2性别nianlingvarchar3年龄ruyushijianshenfenzhenghaodatevarchar18入狱时间身份证号(10)配置文件表config配置文件信息是使用“配置文件表config”来进行记录的。表4.10所展示的为config的结构。表4.10配置文件表字段名称类型长度字段说明主键默认值idbigint主键是namevarchar10配置参数名称valuevarchar50配置参数值(11)绑定申请表bangdingshenqing“绑定申请表bangdingshenqing”是用来记录绑定申请信息。bangdingshenqing的结构如表4.11所示。表4.11绑定申请表字段名称类型长度字段说明主键默认值idbigint主键是addtimetimestamp创建时间CURRENT_TIMESTAMPshenqingbianhaovarchar10申请编号shenqingshijiandatetime申请时间yonghuzhanghaovarchar20用户账号yonghuxingmingvarchar10用户姓名renyuanxingmingvarchar10人员姓名xingbievarchar2性别nianlingvarchar3年龄shenqingyuanyinlongtext申请原因guanxivarchar4关系zhengmingtuyilongtext证明图一zhengmingtuerlongtext证明图二zhengmingtusanlongtext证明图三sfshvarchar6是否审核待审核shhflongtext审核回复第5章系统实现5.1实现环境开发工具:Eclipse、微信开发者工具服务器:Tomcat7开发语言:WXML、WXSS、JS、Java浏览器:MicrosoftEdge浏览器数据库:MySQL数据库管理工具:Navicat操作系统:Windows105.2登录注册若用户为首次进入小程序,需要点击注册探视人员进行注册,注册需要输入个人信息,图5.1所展示的为用户注册界面;输入正确账号和密码才能进行登录操作,系统如果提示提示输入用户名和密码是由于未输入用户名或密码。图5.2所展示的为用户登录界面;用户登录成功如图5.3所示。图5.1用户注册图5.2用户登录图5.3用户登录成功
实现该功能的关键代码如下。/*登录*/ @IgnoreAuth @RequestMapping(value="/login") publicRlogin(Stringusername,Stringpassword,Stringcaptcha,HttpServletRequestrequest){ UsersEntityuser=userService.selectOne(newEntityWrapper<UsersEntity>().eq("username",username)); if(user==null||!user.getPassword().equals(password)){ returnR.error("账号或密码不正确"); } Stringtoken=tokenService.generateToken(user.getId(),username,"users",user.getRole()); returnR.ok().put("token",token); }/*注册*/ @IgnoreAuth @PostMapping(value="/register") publicRregister(@RequestBodyUsersEntityuser){// ValidatorUtils.validateEntity(user); if(userService.selectOne(newEntityWrapper<UsersEntity>().eq("username",user.getUsername()))!=null){ returnR.error("用户已存在"); }userService.insert(user);returnR.ok();}管理员在后台选择登录角色并输入账号密码进行登录。图5.4和图5.5所展示的为管理员登录界面和登录成功界面。图5.4管理员登录界面图5.5管理员登录成功实现该功能的关键代码如下。asynconLoginTap(){if(!this.username){this.$utils.msg('请输入用户名')return}if(!this.password){this.$utils.msg('请输入用户密码')return}if(!this.optionsValues[this.index]){this.$utils.msg('请选择登陆用户类型')return}letres=awaitthis.$api.login(`${this.optionsValues[this.index]}`,{username:this.username,password:this.password});uni.removeStorageSync("useridTag");uni.setStorageSync("token",res.token);uni.setStorageSync("nickname",this.username);uni.setStorageSync("nowTable",`${this.optionsValues[this.index]}`);res=awaitthis.$api.session(`${this.optionsValues[this.index]}`);if(res.data.touxiang){uni.setStorageSync('headportrait',res.data.touxiang);}elseif(res.data.headportrait){uni.setStorageSync('headportrait',res.data.headportrait);}5.3监狱管理以管理员身份登录到管理员界面中,选择监狱管理,点击并进入,可通过输入监狱名称、监狱负责人等信息进行监狱查询。选择监狱,可以对监狱进行修改等操作。1.进入界面在监狱管理中点击增加或者在登录界面选择监狱注册都可以进行监狱添加。添加过程如图5.6至图5.9所示:图5.6监狱管理图5.7管理员后台增加图5.8监狱注册图5.9监狱增加成功2.进入界面在监狱管理中选择监狱,可进行监狱删除操作。过程如图5.10至图5.11所示:图5.10批量删除图5.11批量删除成功3.进入监狱管理界面选择监狱点击修改,可以进行监狱修改操作。过程如图5.12所示:图5.12监狱详情修改4.进入监狱管理界面输入监狱名称,选择查询,可以进行监狱查询操作。过程如图5.13所示:图5.13监狱查找实现该功能的关键代码如下。/*查询*/@RequestMapping("/query")publicRquery(JianyuguanliEntityjianyuguanli){EntityWrapper<JianyuguanliEntity>ew=newEntityWrapper<JianyuguanliEntity>(); ew.allEq(MPUtil.allEQMapPre(jianyuguanli,"jianyuguanli")); JianyuguanliViewjianyuguanliView=jianyuguanliService.selectView(ew); returnR.ok("查询监狱管理成功").put("data",jianyuguanliView);}/*修改*/@RequestMapping("/update")@TransactionalpublicRupdate(@RequestBodyJianyuguanliEntityjianyuguanli,HttpServletRequestrequest){//ValidatorUtils.validateEntity(jianyuguanli);jianyuguanliService.updateById(jianyuguanli);//全部更新returnR.ok();}/*删除*/@RequestMapping("/delete")publicRdelete(@RequestBodyLong[]ids){jianyuguanliService.deleteBatchIds(Arrays.asList(ids));returnR.ok();}5.4司法所管理以管理员身份登录到管理员界面中,选择司法所管理,点击并进入,输入司法所名称等信息可对司法所进行查询。选择司法所,可以对司法所修改、删除、批量删除等操作。1.进入司法所管理界面点击增加或者在登录界面选择司法所注册都可以进行司法所添加。添加过程如图5.14至图5.17所示:图5.14司法所管理图5.15管理员后台增加司法所图5.16司法所注册图5.17司法所增加成功2.在界面进入司法所管理中,可以进行司法所删除操作。过程如图5.18至图5.19所示:图5.18批量删除图5.19删除成功3.进入司法所管理界面选择司法所点击修改,可以进行司法所修改操作。过程如图5.20所示:图5.20修改4.进入司法所管理界面输入司法所名称,选择查询,可以进行司法所查询操作。过程如图5.21所示:图5.21查找实现该功能的关键代码如下。/**查询*/@RequestMapping("/query")publicRquery(SifasuoEntitysifasuo){EntityWrapper<SifasuoEntity>ew=newEntityWrapper<SifasuoEntity>(); ew.allEq(MPUtil.allEQMapPre(sifasuo,"sifasuo")); SifasuoViewsifasuoView=sifasuoService.selectView(ew); returnR.ok("查询司法所成功").put("data",sifasuoView);}/**修改*/@RequestMapping("/update")@TransactionalpublicRupdate(@RequestBodySifasuoEntitysifasuo,HttpServletRequestrequest){//ValidatorUtils.validateEntity(sifasuo);sifasuoService.updateById(sifasuo);//全部更新returnR.ok();}/**删除*/@RequestMapping("/delete")publicRdelete(@RequestBodyLong[]ids){sifasuoService.deleteBatchIds(Arrays.asList(ids));returnR.ok();}5.5探视人员管理探视人员通过小程序注册账号后,管理员可通过探视人员管理进行审核,通过后探视人员才可以登录账号。以管理员身份登录到管理员界面中,选择探视人员管理,点击并进入界面,输入探视人员账号等信息可以对探视人员进行查询,选择探视人员,可以对探视人员进行修改、删除、批量删除等操作。此处演示探视人员审核过程如图5.22至图5.24所示:图5.22审核通过可登录图5.23审核不通过不可登录图5.24探视人员管理实现该功能的关键代码如下。@RestController@RequestMapping("/tanshirenyuan")publicclassTanshirenyuanController{
@Autowired
privateTanshirenyuanServicetanshirenyuanService;
@Autowired
privateTokenServicetokenService;
@IgnoreAuth
@RequestMapping(value="/login")
publicRlogin(Stringusername,Stringpassword,Stringcaptcha,HttpServletRequestrequest){
TanshirenyuanEntityu=tanshirenyuanService.selectOne(newEntityWrapper<TanshirenyuanEntity>().eq("yonghuzhanghao",username));
if(u==null||!u.getMima().equals(password)){
returnR.error("账号或密码不正确");
}
if(!"是".equals(u.getSfsh()))returnR.error("账号已锁定,请联系管理员审核。");
Stringtoken=tokenService.generateToken(u.getId(),username,"tanshirenyuan",
"探视人员");
returnR.ok().put("token",token);
}
5.6服刑人员管理登录管理员界面后,可点击服刑人员管理,输入人员姓名可对服刑人员进行查询操作,选择服刑人员,可以对服刑人员进行修改、删除、批量删除等操作。1.此过程进行查询操作演示。如图5.25至图5.26所示:图5.25服刑人员管理图5.26服刑人员管理2.此过程进行删除操作演示。如图5.27所示:图5.27删除3.此过程进行修改操作演示。如图5.28所示:图5.28修改实现该功能的关键代码如下。/**修改*/@RequestMapping("/update")@TransactionalpublicRupdate(@RequestBodyFuxingrenyuanEntityfuxingrenyuan,HttpServletRequestrequest){//ValidatorUtils.validateEntity(fuxingrenyuan);fuxingrenyuanService.updateById(fuxingrenyuan);//全部更新returnR.ok();}/**删除*/@RequestMapping("/delete")publicRdelete(@RequestBodyLong[]ids){fuxingrenyuanService.deleteBatchIds(Arrays.asList(ids));returnR.ok();}5.7绑定申请管理用户通过小程序登录账号后,与服刑人员进行绑定以供后续探视。司法所可通过探视人员管理进行审核并进行回复,通过后用户才可以进行探视申请。以司法所身份登录到司法所管理页面中,点击进入绑定申请信息界面,输入用户姓名等可以进行查询操作,可以对服刑人员删除及查看详情。绑定申请审核过程如图5.29至图5.31所示:图5.29绑定申请提交5.30绑定申请审核通过图5.31绑定申请管理审核实现该功能的关键代码如下。@RestController@RequestMapping("/bangdingshenqing")publicclassBangdingshenqingController{
@Autowired
privateBangdingshenqingServicebangdingshenqingService;
@RequestMapping("/page")
publicRpage(@RequestParamMap<String,Object>params,BangdingshenqingEntitybangdingshenqing,
HttpServletRequestrequest){
StringtableName=request.getSession().getAttribute("tableName").toString();
if(tableName.equals("tanshirenyuan")){
bangdingshenqing.setYonghuzhanghao((String)request.getSession().getAttribute("username"));
}
EntityWrapper<BangdingshenqingEntity>ew=newEntityWrapper<BangdingshenqingEntity>();
PageUtilspage=bangdingshenqingService.queryPage(params,MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew,bangdingshenqing),params),params));
returnR.ok().put("data",page);
}
5.8探视申请管理用户通过小程序登录账号,与服刑人员进行绑定通过后,方可进行探视申请。以司法所身份登录到探视申请管理界面中,输入用户姓名等信息方可进行查询操作,并对其可进行修改、删除、查看详情等操作。用户前台绑定申请,司法所进行后台审核。此处仅演示探视申请审核过程如图5.32至图5.33所示:图5.32绑定成功可进行探视申请图5.33探视申请详情图5.34探视申请管理图5.34探视申请通过实现该功能的关键代码如下。@RestController@RequestMapping("/tanshishenqing")publicclassTanshishenqingController{
@Autowired
privateTanshishenqingServicetanshishenqingService;
@RequestMapping("/page")
publicRpage(@RequestParamMap<String,Object>params,TanshishenqingEntitytanshishenqing,
HttpServletRequestrequest){
StringtableName=request.getSession().getAttribute("tableName").toString();
if(tableName.equals("tanshirenyuan")){
tanshishenqing.setYonghuzhanghao((String)request.getSession().getAttribute("username"));
}
if(tableName.equals("sifasuo")){
tanshishenqing.setSifasuohao((String)request.getSession().getAttribute("username"));
}
EntityWrapper<TanshishenqingEntity>ew=newEntityWrapper<TanshishenqingEntity>();
PageUtilspage=tanshishenqingService.queryPage(params,MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew,tanshishenqing),params),params));
returnR.ok().put("data",page);
}5.9监狱审理管理用户探视申请通过后,司法所需把申请提交给监狱进行审理,以监狱身份登录到监狱管理界面中,可对司法所提交的申请进行审核并告知用户具体探视时间和地点。在监狱管理界面中,输入用户姓名等信息可进行查询操作,对其也可进行修改、删除、查看详情等操作。此处仅演示监狱审理审核过程如图5.35至图5.38所示:图5.35探视申请通过图5.36监狱对司法所提交申请审核图5.37监狱审核通过图5.38监狱审核通过回馈探视人员实现该功能的关键代码如下。@RestController@RequestMapping("/jianyushenli")publicclassJianyushenliController{
@Autowired
privateJianyushenliServicejianyushenliService;
@RequestMapping("/page")
publicRpage(@RequestParamMap<String,Object>params,JianyushenliEntityjianyushenli,
HttpServletRequestrequest){
StringtableName=request.getSession().getAttribute("tableName").toString();
if(tableName.equals("tanshirenyuan")){
jianyushenli.setYonghuzhanghao((String)request.getSession().getAttribute("username"));
}
if(tableName.equals("sifasuo")){
jianyushenli.setSifasuohao((String)request.getSession().getAttribute("username"));
}
EntityWrapper<JianyushenliEntity>ew=newEntityWrapper<JianyushenliEntity>();
PageUtilspage=jianyushenliService.queryPage(params,MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew,jianyushenli),params),params));
returnR.ok().put("data",page);
}5.10法律资讯管理登录到系统界面后,可点击法律资讯,进入后可进行法律资讯编辑等功能。图5.40至图5.41所展示的为法律资讯界面。图5.40法律咨询管理图5.41探视人员查看法律咨询实现该功能的关键代码如下。/**查询*/@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测试步骤在软件开发过程中,一个较大的软件程序大多数是有多个子程序组成,而每个子程序又由多个模块组成。所以,可以通过几个步骤进行测试:1.测试模块主要是为了查看程序中的编码和详细设计是否存在问题。2.其次是关于程序的测试,由此可以检查项目中是否存在问题。3.最后根据系统的标准化操作,来检测出不符合要求的测试场景。6.2测试用例6.2.1登录测试用例如表6.1所示是根据使用者要求进行设计的用户端测试用例。表6.1登录测试用例表测试编号测试目的操作步骤预期结果实际结果001登录测试输入正确的用户名和密码登录成功登录成功002登录测试输入错误的用户名登录失败登录失败003登录测试输入错误的的密码登录失败登录失败6.2.2监狱管理测试用例管理端在运行时要满足浏览器的运行需求,比如添加在线监狱管理测试、修改在线监狱管理测试、删除在线监狱管理测试等。本节根据管理端各模块进行测试,因考虑到本文篇幅有限,这里代表性的部分测试用例,如表6.2所示。
表6.2监狱管理测试用例表测试编号测试目的操作步骤预期结果实际结果001添加监狱信息测试在添加页面输入监狱信息,点击确认按钮添加成功添加成功002修改监狱信息测试在修改页面修改监狱信息,点击确认按钮修改成功修改成功003删除监狱信息测试在监狱管理页面,点击某一监狱的删除按钮删除成功删除成功004查询监狱信息测试在监狱管理页面查询输入框输入要查询的监狱名称,点击查询按钮查询成功查询成功6.2.3司法所管理测试用例管理端在运行时要满足浏览器的运行需求,比如添加在线司法所管理测试、修改在线司法所管理测试、删除在线司法所管理测试等。本节根据管理端各模块进行测试,因考虑到本文篇幅有限,这里代表性的部分测试用例,如表6.3所示。表6.3司法所管理测试用例表测试编号测试目的操作步骤预期结果实际结果001添加司法所信息测试在添加页面输入司法所信息,点击确认按钮添加成功添加成功002修改司法所信息测试在修改页面修改司法所信息,点击确认按钮修改成功修改成功003删除司法所信息测试司法所管理页面,点击某一司法所的删除按钮删除成功删除成功
续表6.3司法所管理测试用例表测试编号测试目的操作步骤预期结果实际结果004查询司法所信息测试在司法所管理页面查询输入框输入要查询的司法所名称,点击查询按钮查询成功查询成功6.2.4探视人员测试用例管理端在运行时要满足浏览器的运行需求,比如添加在线探视人员测试、修改在线探视人员测试、删除在线探视人员测试等。本节根据管理端各模块进行测试,因考虑到本文篇幅有限,这里代表性的部分测试用例,如表6.4所示。表6.4探视人员测试用例表测试编号测试目的操作步骤预期结果实际结果001添加探视人员测试在添加页面输入探视人员信息,点击确认按钮添加成功添加成功002修改探视人员测试在修改页面修改探视人员信息,点击确认按钮修改成功修改成功003删除探视人员测试在管理探视人员页面,点击某一人员的删除按钮删除成功删除成功004查询探视人员测试在管理探视人员页面查询输入框输入要查询的人员名字,点击查询按钮查询成功查询成功6.2.5服刑人员测试用例管理端在运行时要满足浏览器的运行需求,比如添加在线服刑人员测试、修改在线服刑人员测试、删除在线服刑人员测试等。本节根据管理端各模块进行测试,因考虑到本文篇幅有限,这里代表性的部分测试用例,如表6.5所示。
表6.5服刑人员测试用例表测试编号测试目的操作步骤预期结果实际结果001添加服刑人员测试在添加页面输入服刑人员信息,点击确认按钮添加成功添加成功002修改服刑人员测试在修改页面修改服刑人员信息,点击确认按钮修改成功修改成功003删除服刑人员测试在管理服刑人员页面,点击某一人员的删除按钮删除成功删除成功004查询服刑人员测试在管理服刑人员页面查询输入框输入要查询的人员名字,点击查询按钮查询成功查询成功6.2.6绑定申请测试用例管理端在运行时要满足浏览器的运行需求,比如修改在线绑定申请测试、删除在线绑定申请测试等。本节根据管理端各模块进行测试,因考虑到本文篇幅有限,这里代表性的部分测试用例,如表6.6所示。表6.6绑定申请测试用例表测试编号测试目的操作步骤预期结果实际结果001修改绑定申请信息测试在修改页面绑定申请信息,点击确认按钮修改成功修改成功002删除绑定申请信息测试在绑定申请管理页面,点击某一人员的删除按钮删除成功删除成功
续表6.6绑定申请测试用例表测试编号测试目的操作步骤预期结果实际结果003查询绑定申请信息测试在绑定申请管理页面查询输入框输入要查询的人员名字,点击查询按钮查询成功查询成功6.2.7探视申请测试用例管理端在运行时要满足浏览器的运行需求,比如添加在线探视申请测试、修改在线探视申请测试、删除在线探视申请测试等。本节根据管理端各模块进行测试,因考虑到本文篇幅有限,这里代表性的部分测试用例,如表6.7所示。表6.7探视申请测试用例表测试编号测试目的操作步骤预期结果实际结果001添加探视申请测试在添加页面输入探视申请,点击确认按钮添加成功添加成功002修改探视申请测试在修改页面修改探视申请,点击确认按钮修改成功修改成功003删除探视申请测试在管理探视申请页面,点击某一用户的删除按钮删除成功删除成功004查询探视申请测试在管理探视申请页面查询输入框输入要查询的用户名字,点击查询按钮查询成功查询成功6.2.8监狱审理测试用例管理端在运行时要满足浏览器的运行需求,比如修改在线监狱审理测试、删除在线监狱审理测试等。本节根据管理端各模块进行测试,因考虑到本文篇幅有限,这里代表性的部分测试用例,如表6.8所示。
表6.8监狱审理测试用例表测试编号测试目的操作步骤预期结果实际结果001修改监狱审理信息测试在修改页面监狱审理信息,点击确认按钮修改成功修改成功002删除监狱审理信息测试在监狱审理管理页面,点击某一申请的删除按钮删除成功删除成功003查询监狱审理信息测试在监狱审理管理页面查询输入框输入要查询的人员名字,点击查询按钮查询成功查询成功6.3测试结论我们通过对系统中不同功能进行多次测试后发现,系统不仅可以正常运行,还可以让使用者收到正确的数据,因此,此系统在功能和系统的应用方面都达到了预期的效果。结论及展望在此次研究过程中,首先对研究的实际意义和现状进行了分析,紧接着对相关技术和使用的基本原理进行了简单的介绍,然后对开发此系统的可行性进行了分析,从而确
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 安徽泡沫玻璃施工方案(3篇)
- 建筑房建施工方案(3篇)
- 批发类营销方案(3篇)
- 施工方案和验收标准(3篇)
- 污水支墩施工方案(3篇)
- 牵引工程设备施工方案(3篇)
- 直播社区营销方案(3篇)
- 移动化营销方案(3篇)
- 老杨家居营销方案(3篇)
- 设备连接动火施工方案(3篇)
- 2026山东济南新旧动能转换起步区招聘40人备考题库及答案详解(真题汇编)
- 2026年北京市东城区高三一模地理试卷(含答案)
- 2026年天津市和平区中考一模语文试卷和答案
- 2026年及未来5年市场数据中国外运船舶代理行业市场发展数据监测及投资潜力预测报告
- 2026重庆西科水运工程咨询有限公司招聘4人笔试参考试题及答案解析
- 2026浙江省浙共体中考数学一模试卷(含答案详解)
- 分布式光伏系统巡检维护指南
- 饲料原料采购验收制度
- 护士职称聘用证明标准范本
- 雨课堂学堂在线学堂云《岭南乐器的乐种学阐释(星海音乐学院)》单元测试考核答案
- 智能化系统投标智能化系统技术标智能化系统施工组织方案
评论
0/150
提交评论