基于微信小程序的行李寄存管理系统的设计与实现_第1页
基于微信小程序的行李寄存管理系统的设计与实现_第2页
基于微信小程序的行李寄存管理系统的设计与实现_第3页
基于微信小程序的行李寄存管理系统的设计与实现_第4页
基于微信小程序的行李寄存管理系统的设计与实现_第5页
已阅读5页,还剩79页未读, 继续免费阅读

下载本文档

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

文档简介

.2需求分析通过对系统功能需求的分析,我们可以更好地确定未来软件开发的方向,明确哪些功能是必须实现的,哪些功能是可以忽略的。清晰全面的需求分析有利于提前发现操作系统缺点,排查操作系统漏洞,以至于降低开发成本,减少试错次数,提高程序质量。3.2.1功能需求分析在对多个行李寄存点进行了解后,基于微信小程序的行李寄存管理系统应当具有功能完善、操作方便、运行流畅等特点。管理员与用户因为权限不同,所以系统功能也不完全一样。对于用户来说,用户可以在用户信息管理中对个人信息进行查询和修改,在行李柜信息页面查看行李柜相关信息,并在预约功能中预约行李柜的使用时间。也可以在入柜信息管理和出柜信息管理功能中了解行李柜使用情况。还可以对使用过的行李柜进行寄存费用查询并支付账单。对于管理员来说,用户信息管理相较于用户的个人信息而言,操作的是所有用户的个人信息。管理员可以行李柜信息修改行李柜使用状态,控制行李柜的使用与停用。也可以对用户的入柜信息、出柜信息、预约信息进行相应调整,确保不出现无效数据,当然也可以对各个用户寄存费用账单进行费用结算与推送。管理员还可以对系统公告、轮播图等进行管理,提高用户的体验感。用户用例图如图3.1,管理员用例图如图3.2所示。入柜信息管理入柜信息管理出柜信息管理出柜信息管理用户信息管理用户信息管理行李柜预约行李柜预约行李柜信息查询行李柜信息查询用户用户寄存费用查询寄存费用查询支付支付图3.1用户用例图用户信息管理用户信息管理行李柜管理行李柜管理预约信息管理预约信息管理入柜信息管理入柜信息管理出柜信息管理管理员出柜信息管理管理员系统管理系统管理寄存费用管理寄存费用管理图3.2管理员用例图3.2.2非功能需求分析开发的基于微信小程序的行李寄存管理系统,应具有良好的信息安全保护功能。在系统设计开发过程中,要根据不同用户给与不同的系统权限。设计一个功能模块可以根据用户输入信息的不同,展示不同的功能页面。通过这种机制可以限制不同用户的权限,提高数据库的安全性,避免出现操作失误。第4章系统设计4.1功能模块设计根据功能需求分析的结果,按照“高内聚,低耦合”的原则,将行李寄存管理系统划分为以下几大功能模块:用户信息管理、行李柜管理、预约信息管理、入柜信息管理、出柜信息管理、系统管理、寄存费用管理。系统的功能结构如图4.1所示:行李寄存管理系统行李寄存管理系统行李柜管理入柜信息管理寄存费用管理出柜信息管理用户信息管理系统管理预约信息管理行李柜管理入柜信息管理寄存费用管理出柜信息管理用户信息管理系统管理预约信息管理图4.1系统功能结构图4.2数据库设计数据库系统设计是指按照客户的要求,在某一个具体的企业系统中,建设数据库系统的框架并设置数据库系统的程序。数据库系统也离不开操作系统的帮助。唯有把从系统分析中得到的系统应⽤需求抽象成大数据世界中的系统,才能有效、更精确地转换成计算机环境中的数据模型。4.2.1概念结构设计经过对需求的分析,可以知道用户的具体需求。而如何将这个需求转换成抽象的数据信息,这一过程就是概念结构设计。而一个清晰、简明的E-R图,在构建其数据库方面,发挥着不容小视的作用。本系统的实体属性图如下所示。(1)管理员实体,属性包括电话号码、姓名、账号、密码、头像、性别、创建时间。管理员实体属性图如图4.2所示:电话号码密码账号创建时间电话号码密码账号创建时间创建时间管理员头像姓名管理员头像姓名性别性别图4.2管理员实体属性图姓名(2)用户实体,属性包括姓名、密码、用户名、头像、电话、性别。用户实体属性图如图4.3所示:姓名用户名电话用户名电话用户用户头像性别头像性别密码密码图4.3用户实体属性图位置(3)行李柜实体,属性包括行李柜使用状态、位置、编号、封面。行李柜实体属性图如图4.4所示:位置使用状态封面行李柜使用状态封面行李柜编号编号图4.4行李柜实体属性图(5)入柜实体,属性包括编号、位置、取件码、用户名、入柜时间。入柜实体属性图如图4.6所示:编号位置编号位置入柜入柜入柜时间取件码入柜时间取件码用户名用户名图4.6入柜实体属性图(6)寄存费用实体,属性包括编号、寄存时长、用户名、取件码、位置、登记时间、费用。寄存费用实体属性图如图4.7所示:费用登记时间费用登记时间位置编号位置编号寄存费用寄存费用取件码寄存时长取件码寄存时长用户名用户名图4.7寄存费用实体属性图(7)出柜实体,属性包括编号、入柜时间、取件码、出柜时间、用户名、位置。出柜实体属性图如图4.8所示:出柜时间创建时间入柜时间出柜时间创建时间入柜时间编号出柜编号出柜取件码取件码用户名位置用户名位置图4.8出柜实体属性图(7)预约实体,属性包括编号、行李柜编号、用户名、位置、预约时间。预约实体属性图如图4.9所示:行李柜编号行李柜编号用户名位置用户名位置预约预约编号预约时间编号预约时间图4.9预约实体属性图(8)在数据库的设计中,E-R模式贯穿于概念结构的设计,系统的信息实体的E-R图如图4.10所示:支付支付用户n用户nnn预约预约出柜入柜出柜入柜mmmm行李柜行李柜n管理管理寄存费用n寄存费用1管理员管理员图4.10实体关系E-R图4.2.2逻辑结构设计在逻辑结构设计中,需要对数据模型进行优化。换一种说法就是参考数据模型,把E-R图用逻辑表展示出来。具体表设计如下:(1)ruguixinxi入柜ruguixinxi入柜用来存储行李入柜信息,表结构如表4.1所示。表4.1ruguixinxi入柜字段名称类型长度字段说明主键默认值idbigint编号主键addtimetimestamp创建时间CURRENT_TIMESTAMPweizhivarchar20位置qujianmavarchar10取件码yonghumingvarchar10用户名rujushijiandatetime20入柜时间(3)jicunfeiyong寄存费用jicunfeiyong寄存费用用来存储行李寄存费用,表结构如表4.3所示。表4.3jicunfeiyong寄存费用字段名称类型长度字段说明主键默认值idbigint编号主键addtimetimestamp创建时间CURRENT_TIMESTAMPweizhivarchar20位置qujianmavarchar15取件码yonghumingvarchar15用户名xingmingvarchar10姓名jicunshizhangvarchar20寄存时长jicunfeiyongvarchar20寄存费用(4)config配置文件config配置文件是用来存储配置文件的信息,表结构如表4.4所示。表4.4config配置文件字段名称类型长度字段说明主键默认值idbigint编号主键namevarchar100配置参数名称valuevarchar100配置参数值(5)yuyuexinxi预约yuyuexinxi预约是用来存储用户预约的信息,表结构如表4.5所示。表4.5yuyuexinxi预约字段名称类型长度字段说明主键默认值idbigint编号主键addtimetimestamp创建时间CURRENT_TIMESTAMPbianhaovarchar行李柜编号weizhivarchar20位置yonghumingvarchar10用户名xingmingvarchar10姓名yuyueshijiandatetime预约时间(6)chujuxinxi出柜chujuxinxi出柜是用来存储出柜信息,表结构如表4.6所示。表4.6chujuxinxi出柜字段名称类型长度字段说明主键默认值idbigint编号主键addtimetimestamp创建时间CURRENT_TIMESTAMPbianhaovarchar行李柜编号weizhivarchar10位置qujianmavarchar15取件码yonghumingvarchar10用户名xingmingvarchar10姓名rujushijianvarchar20入柜时间chuguishijiandatetime20出柜时间(7)yonghu用户yonghu用户是用来存储用户个人信息,表结构如表4.7所示。表4.7yonghu用户字段名称类型长度字段说明主键默认值idbigint编号主键addtimetimestamp创建时间CURRENT_TIMESTAMPyonghumingvarchar10用户名xingmingvarchar10姓名mimavarchar20密码xingbievarchar5性别lianxidianhuavarchar20电话touxianglongtext4294967头像(8)xingligui行李柜xingligui行李柜主要是用来存储相关行李柜的详细信息,表结构如表4.8所示。表4.8xingligui行李柜字段名称类型长度字段说明主键默认值idbigint编号主键addtimetimestamp创建时间CURRENT_TIMESTAMPbianhaovarchar10行李柜编号weizhivarchar10位置zhuangtaivarchar20使用状态fengmianlongtext4294967封面(9)管理员表管理员表用于记录管理员相关信息,主要包括:密码、用户名、角色等,其表结构如表4.9所示.表4.9管理员表字段名称类型长度字段说明主键默认值idbigintid主键默认值passwordvarchar100密码usernamevarchar10用户名rolevarchar10角色addtimetimestamp新增时间CURRENT_TIMESTAMP(10)token表token表是用来存储用户的信息,token的表结构如表4.10所示。表4.10token表字段名称类型长度字段说明主键默认值idbigint编号主键usernamevarchar10用户名tablenamevarchar10表名tokenvarchar20密码addtimetimestamp新增时间CURRENT_TIMESTAMP第5章系统实现5.1实现环境开发语言:Java框架:SpringBooot服务器:Tomcat7数据库:MySQL5.7数据库工具:Navicat11Maven包:Maven3.3.9浏览器:谷歌浏览器5.2注册如果用户第一次使用小程序,该用户要根据要求填入各个信息。填好信息之后单击小程序页面的注册功能按键,小程序进行核查,若通过则注册成功,结果如图5.1所示。若所填信息已经注册过,那么注册失败,结果如图5.2所示。若输入手机格式不正确,则提示联系电话应输入手机格式,结果如图5.3所示图5.1注册成功页面图5.2注册用户已存在页面图5.3手机格式错误页面关键代码如下。/*密码重置/@IgnoreAuth @RequestMapping(value="/resetPass")publicRresetPass(Stringusername,HttpServletRequestrequest){ UsersEntityuser=userService.selectOne(newEntityWrapper<UsersEntity>().eq("username",username));if(user==null){ returnR.error("账号不存在"); } user.setPassword("123456");userService.update(user,null);returnR.ok("密码已重置为:123456");} /***注册 */ @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.3登录用户在进行用户端登录操作时,应按照要求输入信息,输入完成后单击小程序页面的登录功能按键。信息核查完毕后,进入用户端功能首页完成操作。小程序登录页面如图5.4所示,小程序首页如图5.5所示。图5.4小程序登录页面图5.5小程序首页如果管理员想要进入管理系统首页,那么就要在输入框按要求输入信息,输入完成后单击系统页面的登录功能按键。信息核查完毕后,进入系统功能首页完成操作。管理系统登录页面如图5.6所示,管理系统首页如图5.7所示。图5.6管理系统登录页面图5.7管理系统首页实现该功能的关键代码如下。/***登录相关*/@RequestMapping("users")@RestControllerpublicclassUsersController{ @Autowired privateUsersServiceuserService; @Autowired privateTokenServicetokenService; /** *登录 */ @IgnoreAuth @PostMapping(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); }5.4用户信息管理管理员根据实际情况对用户信息进行相关的操作,比如需要在管理列表中插入一个新的用户,在这个用户信息失效后可以删除该用户。可以在修改页面可以修改这个用户的信息,也可以在详情页面查看具体信息内容。用户管理页面如图5.8所示。图5.8用户信息管理页面用户在小程序中,可以选中“齿轮”标志,进入用户信息页面对个人信息进行重新设定。在设置完信息后选中保存功能按键完成设置。用户信息修改页面如图5.9所示。图5.9用户信息修改页面实现该功能的关键代码如下。 /***列表*/@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(YonghuEntityYonghui){EntityWrapper<YonghuiEntity>ew=newEntityWrapper<YonghuEntity>();ew.allEq(MPUtil.allEQMapPre(Yonghui,"Yonghu"));YonghuViewYonghuiView=YonghuService.selectView(ew);returnR.ok("查询信息成功").put("data",YonghuView);}/***密码重置*/@IgnoreAuth @RequestMapping(value="/resetPass")publicRresetPass(Stringusername,HttpServletRequestrequest){YonghuEntityu=yonghuService.selectOne(newEntityWrapper<YonghuEntity>().eq("yonghuming",username)); if(u==null){ returnR.error("账号不存在");}u.setMima("123456");yonghuService.updateById(u);returnR.ok("密码已重置为:123456");}/*删除*/@RequestMapping("/delete")publicRdelete(@RequestBodyLong[]ids){yonghuService.deleteBatchIds(Arrays.asList(ids));returnR.ok();}/**修改*/@RequestMapping("/update")@TransactionalpublicRupdate(@RequestBodyYonghuxinxiEntityyonghu,HttpServletRequestrequest){//ValidatorUtils.validateEntity(yonghu);yonghuxinxiService.updateById(yonghuxinxi);//全部更新returnR.ok();}5.5行李柜管理通过管理员身份进入到系统中,点击“行李柜”进入行李柜管理页面,可以点击“详情”查看行李柜使用信息。行李柜管理页面如图5.10所示。行李柜详情页面如图5.11所示。图5.10行李柜管理页面图5.11行李柜详情页面在行李柜新增页面中,可以调整行李柜的使用状态,设置行李柜位置与行李柜封面图片。行李柜新增页面如图5.12所示。图5.12行李柜新增页面管理员通过行李柜管理页面进入修改功能后,可以修改行李柜数据。在对数据进行更新后,确定信息无误,应单击页面中提交功能按键,页面上方显示“操作成功”,数据核查完成后实现该操作。行李柜修改数据页面如图5.13所示。图5.13行李柜修改数据页面实现该功能的关键代码如下。/***行李柜*后端接口*@author*@email*@date2023-02-0122:04:48*/@RestController@RequestMapping("/xingliju")publicclassXinglijuController{@AutowiredprivateXinglijuServicexinglijuService;/***列表*/@RequestMapping("/lists")publicRlist(XinglijuEntityxingliju){EntityWrapper<XinglijuEntity>ew=newEntityWrapper<XinglijuEntity>();ew.allEq(MPUtil.allEQMapPre(xingliju,"xingliju"));returnR.ok().put("data",xinglijuService.selectListView(ew));} /***查询*/@RequestMapping("/query")publicRquery(XinglijuEntityxingliju){EntityWrapper<XinglijuEntity>ew=newEntityWrapper<XinglijuEntity>(); ew.allEq(MPUtil.allEQMapPre(xingliju,"xingliju")); XinglijuViewxinglijuView=xinglijuService.selectView(ew); returnR.ok("查询行李柜成功").put("data",xinglijuView);}/***修改*/@RequestMapping("/update")@TransactionalpublicRupdate(@RequestBodyXinglijuEntityxingliju,HttpServletRequestrequest){//ValidatorUtils.validateEntity(xingliju);xinglijuService.updateById(xingliju);//全部更新returnR.ok();}/*删除*/@RequestMapping("/delete")publicRdelete(@RequestBodyLong[]ids){xinglijuService.deleteBatchIds(Arrays.asList(ids));returnR.ok();}5.6预约信息管理通过管理员身份进入系统后,点击预约信息管理,进入到预约信息管理页面,可以对预约信息进行修改设置。完成预约信息基础信息设置后,点击“提交”按钮会弹出“操作成功”。也可以点击“删除”按钮,删除已经失效或下线的信息。预约信息页面管理如图5.14所示,预约信息修改页面如图5.15所示。图5.14预约信息管理页面图5.15预约信息修改页面用户在微信小程序中,可以对行李柜进行预约操作。在行李柜信息页面选中预约功能按键,进入预约功能页面,在设置完预约时间后点击“提交”按钮完成对行李柜的预约。行李柜信息页面如图5.16所示。行李柜预约页面如图5.17所示。图5.16行李柜信息页面图5.17行李柜预约功能页面实现该功能的关键代码如下。/*预约信息*后端接口*@author*@email*@date2023-02-0122:04:48/@RestController@RequestMapping("/yuyuexinxi")publicclassYuyuexinxiController{@AutowiredprivateYuyuexinxiServiceyuyuexinxiService;/*列表/@RequestMapping("/lists")publicRlist(YuyuexinxiEntityyuyuexinxi){ EntityWrapper<YuyuexinxiEntity>ew=newEntityWrapper<YuyuexinxiEntity>(); ew.allEq(MPUtil.allEQMapPre(yuyuexinxi,"yuyuexinxi"));returnR.ok().put("data",yuyuexinxiService.selectListView(ew));}/*查询/@RequestMapping("/query")publicRquery(YuyuexinxiEntityyuyuexinxi){EntityWrapper<YuyuexinxiEntity>ew=newEntityWrapper<YuyuexinxiEntity>(); ew.allEq(MPUtil.allEQMapPre(yuyuexinxi,"yuyuexinxi")); YuyuexinxiViewyuyuexinxiView=yuyuexinxiService.selectView(ew); returnR.ok("查询预约信息成功").put("data",yuyuexinxiView);}/*修改/@RequestMapping("/update")@TransactionalpublicRupdate(@RequestBodyYuyuexinxiEntityyuyuexinxi,HttpServletRequestrequest){//ValidatorUtils.validateEntity(yuyuexinxi);yuyuexinxiService.updateById(yuyuexinxi);//全部更新returnR.ok();}/*删除/@RequestMapping("/delete")publicRdelete(@RequestBodyLong[]ids){yuyuexinxiService.deleteBatchIds(Arrays.asList(ids));returnR.ok();}5.7入柜信息管理通过管理员身份进入系统后,点击入柜信息管理,进入到入柜信息管理页面。可以对入柜信息进行修改设置,也可以点击“删除”按钮删除已经失效或下线的信息,选中编号002订单,点击“详情”按钮,可以查看入柜信息。入柜信息管理页面如图5.18所示。入柜信息详情页面如图5.19所示。图5.18入柜信息管理页面图5.19入柜信息详情页面在入柜信息修改页面,完成入柜信息基础信息设置后,点击“提交”按钮会弹出“操作成功”,系统核查完成,入柜信息更新完成。入柜信息修改页面页面如图5.20所示。图5.20入柜信息修改页面用户在登录系统后,点击个人信息页面的“入柜信息”按钮,进入入柜信息页面。选中其中一个入柜信息,可以进入入柜信息详情页面了解详细信息。个人信息管理页面如图5.21所示。入柜信息页面如图5.22所示。入柜信息详情页面如图5.23所示。图5.21个人信息管理页面图5.22入柜信息页面图5.23入柜信息详情页面关键代码如下。*入柜信息*后端接口*@author*@email*@date2023-02-0122:04:49@RestController@RequestMapping("/rujuxinxi")publicclassRujuxinxiController{@AutowiredprivateRujuxinxiServicerujuxinxiService;/*列表/@RequestMapping("/lists")publicRlist(RujuxinxiEntityrujuxinxi){ EntityWrapper<RujuxinxiEntity>ew=newEntityWrapper<RujuxinxiEntity>();ew.allEq(MPUtil.allEQMapPre(rujuxinxi,"rujuxinxi"));returnR.ok().put("data",rujuxinxiService.selectListView(ew));}/*查询/@RequestMapping("/query")publicRquery(RujuxinxiEntityrujuxinxi){EntityWrapper<RujuxinxiEntity>ew=newEntityWrapper<RujuxinxiEntity>(); ew.allEq(MPUtil.allEQMapPre(rujuxinxi,"rujuxinxi")); RujuxinxiViewrujuxinxiView=rujuxinxiService.selectView(ew); returnR.ok("查询入柜信息成功").put("data",rujuxinxiView);}/*修改/@RequestMapping("/update")@TransactionalpublicRupdate(@RequestBodyRujuxinxiEntityrujuxinxi,HttpServletRequestrequest){//ValidatorUtils.validateEntity(rujuxinxi);rujuxinxiService.updateById(rujuxinxi);//全部更新returnR.ok();}/*删除/@RequestMapping("/delete")publicRdelete(@RequestBodyLong[]ids){rujuxinxiService.deleteBatchIds(Arrays.asList(ids));returnR.ok();}5.8出柜信息管理通过管理员身份进入系统后,点击出柜信息管理,进入到出柜信息管理页面。可以对出柜信息进行修改设置,也可以点击“删除”按钮删除已经失效或下线的信息,选中编号1订单,点击“详情”按钮,可以查看出柜信息。出柜信息管理页面如图5.24所示。出柜信息详情页面如图5.25所示。图5.24出柜信息管理页面图5.25出柜信息详情页面管理员通过出柜信息管理页面进入修改功能后,可以修改出柜信息数据。在修改页面更新完数据后单击“提交”按钮,系统对数据进行核查,页面上方显示“操作成功”,完成对数据的更新操作。出柜信息修改数据页面如图5.26所示。图5.26出柜信息修改数据页面管理员在出柜信息管理页面点击“寄存费用”按钮,进入寄存费用设置页面,可以查看行李寄存时长并初步设置寄存费用。完成寄存费用信息设置后,点击“提交”按钮会弹出“操作成功”完成设置。寄存费用修改页面如图5.27所示。图5.27寄存费用修改数据页面用户在登录系统后,点击个人信息页面的“出柜信息”按钮,进入出柜页面。选中其中一个出柜柜信息,进入出柜信息页面点击“出柜”按钮,在出柜信息详情页面点击“提交”确认出柜信息完成出柜。出柜页面如图5.28所示。出柜信息页面如图5.29所示。出柜信息详情页面如图5.30所示。图5.28出柜页面图5.29出柜信息页面图5.30出柜信息详情页面关键代码如下。/*列表/@RequestMapping("/lists")publicRlist(ChujuxinxiEntitychujuxinxi){EntityWrapper<ChujuxinxiEntity>ew=newEntityWrapper<ChujuxinxiEntity>(); ew.allEq(MPUtil.allEQMapPre(chujuxinxi,"chujuxinxi"));returnR.ok().put("data",chujuxinxiService.selectListView(ew));}/*查询/@RequestMapping("/query")publicRquery(ChujuxinxiEntitychujuxinxi){EntityWrapper<ChujuxinxiEntity>ew=newEntityWrapper<ChujuxinxiEntity>(); ew.allEq(MPUtil.allEQMapPre(chujuxinxi,"chujuxinxi")); ChujuxinxiViewchujuxinxiView=chujuxinxiService.selectView(ew); returnR.ok("查询出柜信息成功").put("data",chujuxinxiView);}/***修改*/@RequestMapping("/update")@TransactionalpublicRupdate(@RequestBodyJicunfeiyongEntityjicunfeiyong,HttpServletRequestrequest){//ValidatorUtils.validateEntity(jicunfeiyong);jicunfeiyongService.updateById(jicunfeiyong);//全部更新returnR.ok();}/*修改/@RequestMapping("/update")@TransactionalpublicRupdate(@RequestBodyChujuxinxiEntitychujuxinxi,HttpServletRequestrequest){//ValidatorUtils.validateEntity(chujuxinxi);chujuxinxiService.updateById(chujuxinxi);//全部更新returnR.ok();}/*删除/@RequestMapping("/delete")publicRdelete(@RequestBodyLong[]ids){chujuxinxiService.deleteBatchIds(Arrays.asList(ids));returnR.ok();}5.9系统管理通过管理员身份进入系统后,点击系统管理,进入到系统信息管理页面。系统管理可以对公告信息、轮播图、关于我们系统简介进行管理。点击“轮播图管理”进入轮播图信息管理页面,可以选中picture1,点击“详情”按钮查看轮播图信息。也可以点击“修改”按钮,修改已经过时的轮播图信息,在轮播图修改页面更新完信息,点击“提交”按钮完成操作。轮播图信息管理页面如图5.31所示。轮播图信息详情页面如图5.32所示。轮播图信息修改页面如图5.33所示。图5.31轮播图信息管理页面图5.32轮播图信息详情页面图5.33轮播图信息修改页面在系统公告管理中,可以对系统公告进行修改设置,也可以点击“删除”按钮删除已经失效或下线的信息,选中某一具体公告,点击“详情”按钮,可以查看公告信息。进而实现对系统公告进行不同的功能操作,增强管理员和用户之间的互动性,提高与用户体验。系统公告管理页面如图5.34所示。系统公告详情页面如图5.35所示。系统公告新增及修改页面如图5.36所示。图5.34系统公告管理页面图5.35系统公告详情页面图5.36系统公告新增及修改页面实现该功能的关键代码如下。 /***查询*/@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("/info/{id}")publicRinfo(@PathVariable("id")Longid){NewsEntitynews=newsService.selectById(id);returnR.ok().put("data",news);}/***前端详情*/ @IgnoreAuth@RequestMapping("/detail/{id}")publicRdetail(@PathVariable("id")Longid){NewsEntitynews=newsService.selectById(id);returnR.ok().put("data",news);}/***后端保存*/@RequestMapping("/save")publicRsave(@RequestBodyNewsEntitynews,HttpServletRequestrequest){ news.setId(newDate().getTime()+newDouble(Math.floor(Math.random()*1000)).longValue()); //ValidatorUtils.validateEntity(news);newsService.insert(news);returnR.ok();}/***前端保存*/@RequestMapping("/add")publicRadd(@RequestBodyNewsEntitynews,HttpServletRequestrequest){ news.setId(newDate().getTime()+newDouble(Math.floor(Math.random()*1000)).longValue()); //ValidatorUtils.validateEntity(news);newsService.insert(news);returnR.ok();}/***修改*/@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();}5.10寄存费用管理通过管理员身份进入系统后,点击寄存费用管理,进入到寄存费用管理页面。管理员可以点击“详情”查看寄存费用详情,页可以点击“删除”对问题账单进行删除处理。寄存费用管理页面如图5.37所示。寄存费用详情页面如图5.38所示。图5.37寄存费用管理页面图5.38寄存费用详情页面管理员可以点击“修改”按进入寄存费用修改页面对用户的寄存费用进行二次设置修改,在修改好寄存时长和寄存费用相关信息后点击“提交”按钮,显示“操作成功”完成对寄存费用相关信息的修改。寄存费用修改页面如图5.39所示。图5.39寄存费用修改页面在寄存费用功能中,用户可以选中某一订单查看寄存费用的详细信息,并可以对账单进行付款。寄存费用管理页面如图5.40所示。寄存费用详情页面如图5.41所示。寄存费用支付提示页面如图5.42所示。图5.40寄存费管理页面图5.41寄存费用详情页面页面图5.42寄存费用支付提示页面实现该功能的关键代码如下。/*寄存费用//*后端接口/*@author*@email*@date2023-02-0122:04:49@RestController@RequestMapping("/jicunfeiyong")publicclassJicunfeiyongController{@AutowiredprivateJicunfeiyongServicejicunfeiyongService;/*列表/@RequestMapping("/lists")publicRlist(JicunfeiyongEntityjicunfeiyong){ EntityWrapper<JicunfeiyongEntity>ew=newEntityWrapper<JicunfeiyongEntity>();ew.allEq(MPUtil.allEQMapPre(jicunfeiyong,"jicunfeiyong"));returnR.ok().put("data",jicunfeiyongService.selectListView(ew));}/*查询/@RequestMapping("/query")publicRquery(JicunfeiyongEntityjicunfeiyong){EntityWrapper<JicunfeiyongEntity>ew=newEntityWrapper<JicunfeiyongEntity>(); ew.allEq(MPUtil.allEQMapPre(jicunfeiyong,"jicunfeiyong")); JicunfeiyongViewjicunfeiyongView=jicunfeiyongService.selectView(ew); returnR.ok("查询寄存费用成功").put("data",jicunfeiyongView);}/*修改/@RequestMapping("/update")@TransactionalpublicRupdate(@RequestBodyJicunfeiyongEntityjicunfeiyong,HttpServletRequestrequest){//ValidatorUtils.validateEntity(jicunfeiyong);jicunfeiyongService.updateById(jicunfeiyong);//全部更新returnR.ok();}/*删除/@RequestMapping("/delete")publicRdelete(@RequestBodyLong[]ids){jicunfeiyongService.deleteBatchIds(Arrays.asList(ids));returnR.ok();}第6章系统测试6.1测试方法采用黑盒测试对基于微信小程序的行李寄存管理系统进行测试。将系统看成内部没有逻辑结果的黑色空间,并对用户所提出的要求进行测试,其原则是将经过测试所得出的数据与客户所希望达到的数值进行比对,最终可以得出结论。通过黑盒测试来检测系统外在功能是否可用。综合以上考虑,这样进行测试能够及时找出系统问题所在,并进行修改,减轻测试工作量。6.2功能测试6.2.1注册在创建用户账户时,用户要填写信息。根据文本框提示。按规定依次填入用户名、姓名、密码、性别、电话、头像。填好信息之后单击小程序页面的注册功能按键,小程序进行核查,若通过则注册成功。注册成功提示页面如图6.1所示。图6.1注册成功提示页面用户输入正确的用户名、姓名、密码、确认密码、性别、头像。输入不正确的电话,单击注册。会提示联系电话应输入手机格式。联系电话应输入手机格式提示页面如图6.2所示。图6.2联系电话应输入手机格式提示页面用户输入正确的姓名、性别、联系电话、头像。输入空白的用户名,空白的密码及确认密码,单击注册。会产生空白错误提示。空白错误提示页面如图6.3所示。图6.3空白错误提示页面用户输入注册过的各个信息,包括用户名、姓名、密码、确认密码、性别、联系电话、头像,单击注册。会产生重复注册的错误提示,重复注册的错误提示如图6.4所示。图6.4重复注册错误提示页面6.2.2登录用户在进行小程序登录操作时,不按照要求输入注册时的账号密码,输入未注册账号555和密码555后,单点小程序页面的登录功能按键,会出现“账号或密码不正确”提示,系统不能对数据进行审核,信息核查不通过拒绝用户访问。账号或密码不正确提示页面如图6.5所示。图6.5账号或密码不正确提示页面管理员在进行管理系统登录操作时,不按照要求输入注册时的账号密码,输入未注册账号555和密码555后,单点页面中的登录功能按键,会出现“账号或密码不正确”提示,系统不能对数据进行审核,信息核查不通过拒绝用户访问。账号或密码不正确提示页面如图6.6所示。图6.6管理员登录账号或密码不正确提示页面用户在进行小程序登录操作时,应按照要求输入注册时的账号123密码123,输入完成后单击小程序页面的登录功能按键,信息核查完毕完成操作,进入小程序功能首页。用户主页面如图6.7所示。图6.7用户主页面管理员想要进入系统,就要根据系统提示在输入框中输入符合要求的数据,比如注册的账号密码,通过登录功能按键,实现系统对数据的审核,审核通过则允许访问。管理员主页面如图6.8所示。图6.8管理员主页面6.2.3用户信息管理用户数据新增,管理员按页面要求输入各种信息。比如输入未注册的用户名李白、密码123、联系电话12345678910、姓名李白、性别男、上传头像。填好信息之后,单击页面中的提交功能按键,系统进行核查,若通过则弹出“操作成功”完成新增。用户数据新增页面如图6.9所示。操作成功提示页面如图6.10所示。增加后用户管理页面如图6.11所示。图6.9用户数据新增页面图6.10操作成功提示页面图6.11增加后用户管理页面用户数据新增,管理员按页面要求输入各种信息。输入密码123、联系电话12345678910、姓名李白、性别男、上传头像,但是用户名用已经注册过的名字李白。填好信息之后单击新增页面中的提交功能按键,系统进行核查增加用户失败,提示用户已存在。用户已存在提示页面如图6.12所示。图6.12用户已存在提示页面删除用户数据,在用户管理页面选中用户吕布的数据信息,想要对其数据进行删除处理,应单击列表中删除功能按键,数据核查完成,实现删除。弹出“操作成功”的提示窗口。删除前用户数据管理页面如图6.13所示。删除用户操作成功提示页面如图6.14所示。删除后用户数据管理页面如图6.15所示。图6.13删除前用户数据管理页面图6.14删除用户操作成功弹窗页面图6.15删除后用户数据管理页面通过用户数据管理页面,用户进入修改功能后,可以修改用户数据。在修改页面更新完数据后点击“提交”按钮,提示“操作成功”经过数据核查,修改信息成功,完成对数据的更新操作。把原用户名吕布、姓名吕布,统一修改为华佗。用户数据更改页面如图6.16所示。修改数据操作成功弹窗页面如图6.17所示。图6.16用户数据更改页面图6.17修改数据操作成功弹窗页面通过用户数据管理页面,用户进入修改功能后,可以修改用户数据。在修改页面更新完数据后点击“提交”按钮,提示“操作成功”完成对数据的更新操作。把原用户名华佗、姓名华佗,统一修改为已经有的名字甘宁。经过数据核查,修改信息不成功,出现错误提示弹窗。用户已存在提示页面如图6.18所示。图6.18用户已存在提示页面用户数据查询,在用户数据管理搜索框中填入李白两个字,单击查询功能按键,在众多数据中对李白的数据进行搜索。数据核查完成,查询成功,查询后用户信息页面如图6.19所示。图6.19查询后用户信息页面用户数据查询,在用户数据管理搜索框中填入刘备两个字,因为刘备数据不存在,所以单击查询功能按键进行数据查询,查询数据失败。查询后用户信息页面如图6.20所示。图6.20查询后用户信息页面6.2.4行李柜管理增加行李柜,在行李柜管理页面增加行李柜,输入编号001、状态已使用、位置2楼、上传图片,添加行李柜成功,显示“操作成功”。空白行李柜管理页面如图6.21所示。添加行李柜操作成功提示页面如图6.22所示。添加后行李柜管理页面如图6.23所示。图6.21空白行李柜管理页面图6.22添加行李柜操作成功提示页面图6.23添加后行李柜管理页面增加行李柜,在行李柜管理页面增加行李柜,输入已存在编号001、状态已使用、位置河北、上传图片。点击“提交”按钮,添加行李柜失败,提示用户已存在。用户已存在提示页面如图6.24所示。图6.24用户已存在提示页面删除行李柜,在行李柜管理页面选中编号003行李柜,想要对其数据进行删除处理,应单击列表中删除功能按键,数据核查完成,实现删除。弹出“操作成功”的提示窗口。删除前行李柜数据管理页面如图6.25所示。删除行李柜成功提示窗口页面如图6.26所示。行李柜数据删除后管理页面如图6.27所示。图6.25删除前行李柜数据管理页面图6.26删除行李柜成功提示窗口页面图6.27行李柜数据删除后管理页面修改行李柜信息,在行李柜信息修改页面对编号002行李柜信息进行修改,将状态改为空闲。行李柜信息修改成功,显示“操作成功”。修改前行李柜管理页面如图6.28所示。行李柜信息修改操作成功提示页面如图6.29所示。修改后行李柜管理页面如图6.30所示。图6.28修改前行李柜管理页面图6.29行李柜信息修改操作成功提示页面图6.30修改后行李柜管理页面修改行李柜信息,在行李柜信息修改页面对行李柜信息进行修改,将编号002改为已存在编号001。行李柜编号修改失败,提示用户已存在。用户已存在提示页面如图6.31所示。图6.31用户已存在提示页面行李柜信息查询,在行李柜管理页面搜索框输入行李柜编号001,点击“查询”按钮进行信息查询。行李柜信息查询成功,查询后行李柜管理页面如图6.32所示。图6.32查询后行李柜管理页面行李柜信息查询,在行李柜管理页面搜索框输入不存在行李柜编号9999,点击“查询”按钮,进行信息查询。行李柜信息查询失败,查询后行李柜管理页面如图6.33所示。图6.33查询后行李柜管理页面6.2.5寄存费用管理寄存费用管理,在寄存费用管理页面可以查看寄存费用详情,搜索框输入订单编号006对其订单信息进行查询,寄存费用管理页面如图6.34所示。寄存费用订单详细信息如图6.35所示。图6.34寄存费用管理页面图6.35寄存费用订单详细信息页面寄存费用信息删除,选中订单编号1订单用户名吕布订单,想要对其数据进行删除处理,应单击列表中删除功能按键,数据核查完成,实现删除。弹出“操作成功”的提示窗口。删除数据操作提示窗口页面如图6.36所示。删除后寄存费用管理页面如图6.37所示。图6.36删除数据操作成功提示窗口页面图6.37删除后寄存费用管理页面寄存费用信息修改,在寄存费用信息页面将费用20改为费用30。寄存费用信息修改成功,显示“操作成功”。寄存费用修改页面如图6.38所示。修改操作成功提示页面如图6.39所示。图6.38寄存费用修改页面图6.39修改操作成功提示页面6.2.6出柜信息管理出柜信息管理,在出柜信息管理页面可以查看出柜信息详情,出柜数据详情页面如图6.40所示。搜索框输入订单编号999对其订单信息进行查询,可以查到详细信息。查询后出柜信息管理页面如图6.41所示。图6.40出柜数据详情页面图6.41查询后出柜信息管理页面出柜信息删除,选中订单002武义订单,想要对其数据进行删除处理,应单击列表中删除功能按键,数据核查完成,弹出“操作成功”的提示窗口如图6.42所示,单击确定实现删除。删除后出柜信息管理页面如图6.43所示。图6.42删除操作提示页面图6.43删除后出柜信息管理页面出柜信息修改,在出柜信息页面将编号1行李柜出柜位置2楼改为出柜位置3楼。修改信息成功,显示“操作成功”。行李柜出柜位置更新为3楼。出柜信息管理页面如图6.44所示。修改操作成功提示页面如图6.45所示。修改后出柜信息管理页面如图6.46所示。图6.44出柜信息管理页面图6.45修改操作成功提示页面图6.46修改后出柜信息管理页面用户出柜操作,在用户端出柜信息页面进行出柜操作,点击出柜按钮,进入出柜提示页面,在提示页面点击提交按钮,实现行李出柜。用户出柜信息页面如图6.47所示。用户出柜信息提示页面如图6.48所示。图6.47用户出柜信息页面图6.48用户出柜信息提示页面6.2.7入柜信息管理入柜信息管理,在入柜信息管理页面可以查看入柜信息详情,搜索框输入订单编号006对其订单信息进行查询,入柜信息详情页面如图6.49所示。查询后入柜信息管理页面如图6.50所示。图6.49入柜信息详情页面图6.50查询后入柜信息管理页面入柜信息删除,选中订单编号002号武义订单,点击删除按钮。删除成功,显示“操作成功”,武义订单被删除。删除前入柜信息管理页面如图6.51所示。入柜信息删除操作成功提示页面如图6.52所示。删除后入柜信息管理页面如图6.53所示。图6.51删除前入柜信息管理页面图6.52入柜信息删除操作成功提示页面图6.53删除后入柜信息管理页面入柜信息修改,在入柜信息页面将编号1行李柜出柜位置2楼改为出柜位置3楼。入柜信息修改成功,显示“操作成功”。修改前入柜信息管理页面如图6.54所示。入柜信息修改提示页面如图6.55所示。修改后入柜信息管理页面如图6.56所示。图6.54修改前入柜信息管理页面图6.55入柜信息修改提示页面图6.56修改后入柜信息管理页面用户入柜操作,在用户端入柜信息页面进行出柜操作,点击入柜按钮,进入入柜提示页面,在提示页面点击提交按钮,实现行李入柜。用户入柜信息页面如图6.57所示。用户入柜信息提示页面如图6.58所示。图6.57用户入柜信息页面图6.58用户入柜信息提示页面6.2.8预约信息管理预约信息管理,搜索框输入订单编号006,通过搜索按钮在数据库中对006号订单进行查询,订单存在该信息查询成功。预约信息详情页面如图6.59所示。查询后预约信息页面如图6.60所示。图6.59预约信息详情页面图6.60查询后预约信息页面预约信息删除,选中订单编号001、姓名武义的预约订单,想要对其数据进行删除处理,应单击列表中删除功能按键,数据核查完成,弹出“操作成功”的提示窗口如图6.61所示。预约数据删除成功后页面如图6.62所示。图6.61预约信息删除操作成功提示页面图6.62预约数据删除成功后页面预约信息修改,在预约信息修改页面将编号006订单预约时间2023-02-01改为2026-01-15。单击提交功能按键,预约时间更改成功,数据核查完成,弹出“操作成功”的提示窗口。预约信息修改页面如图6.63所示。预约信息修改操作成功提示页面如图6.64所示。修改后预约信息管理页面如图6.65所示。图6.63预约信息修改页面图6.64预约信息修改操作成功提示页面图6.65修改后预约信息管理页面用户在小程序上想要预约时间存放行李,选中预约功能按键进入其功能页面,如果确定要预约就单击提交,通过数据信息核查,出现“提交成功”的信息,就可以实现行李预约了。行李柜预约页面如图6.66所示。行李柜预约提示页面如图6.67所示。图6.66行李柜预约页面图6.67行李柜预约提示页面6.2.9系统管理管理员想对系统展示的轮播图进行更换,可以在轮播图修改页面更换图片。插入自己喜欢的图片,在确定数据无误后单击提交功能按键,更换成功,出现“操作成功”提示弹窗。轮播图信息修改页面如图6.68所示。轮播图信息修改操作成功提示页面如图6.69所示。修改后轮播图信息管理页面如图6.70所示。图6.68轮播图信息修改页面图6.69轮播图信息修改操作成功提示页面图6.70修改后轮播图信息管理页面增添系统公告,在系统公告增添页面,标题、简介、内容,上传图片。在确定数据无误后单击提交功能按键,出现“操作成功”提示弹窗,完成增添系统公告数据。系统公告信息增添页面如图6.71所示。系统公告信息增添“操作成功”提示页面如图6.72所示。增添后系统公告信息管理页面如图6.73所示。图6.71系统公告信息增添页面图6.72系统公告信息增添操作成功提示页面图6.73增添后系统公告信息管理页面删除系统公告,在系统公告页面选中编号2、标题6.5日寻人启事选项,想要对其数据进行删除处理,应单击列表中删除功能按键,页面出现删除提示窗口,单击确定,数据核查完成后实现删除。系统公告信息删除“操作成功”提示页面如图6.74。删除后系统公告信息管理页面如图6.75所示。图6.74系统公告信息删除操作成功提示页面图6.75删除后系统公告信息管理页面系统公告查询,查看6.7日系统公告,管理员在标题框中输入6.7寻人启事中的关键字,单击查询功能按键,系统对公告进行筛选,订单存在,该信息查询成功。查询后系统公告管理页面如图6.76所示。系统公告详情页面如图6.77所示。图6.76查询后系统公告管理页面图6.77系统公告详情页面系统公告修改,在系统公告修改页面将公告标题、简介、内容为6.7寻人启事的内容均改为6.8寻人启事。单击提交数据进行更改处理,数据核查完成,实现更改。页面上方显示“操作成功”。系统公告修改操作成功提示页面如图6.7

温馨提示

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

评论

0/150

提交评论