版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
[4]。1.3论文组织架构本文将分为七个章节,分别介绍基于互联网平台的流浪动物救助系统的开发设计过程。第一章绪论将介绍背景、意义、研究现状和论文框架结构;第二章相关理论和技术将讲解项目所涉及的理论和技术和系统分析将从社会、经济和技术可行性三个方面进行分析;第三章系统设计将描述功能模块和数据库的设计;第四章系统实现将展示系统核心功能的截图;第五章系统测试将介绍测试方式和结果;第六章总结将总结系统开发过程中的感想。通过本论文,读者能够全面了解该系统的开发过程和实现方案。第2章系统分析2.1相关理论和技术2.1.1Java简介Java是一种广泛应用于各种平台的面向对象的编程语言,具有通用性、高效性、可移植性和安全性等优点。Java最初由SunMicrosystems公司研发,是为了开发嵌入式芯片而设计的。随着Internet的迅速发展,Java被重新设计用于开发Internet应用程序。Java的魅力在于其跨平台、动态Web、Internet计算等特点。自面世以来,Java发展迅速,对其他编程语言形成了有力冲击。在云计算和移动互联网产业的环境下,Java更具备广阔的前景和显著的优势。2010年Oracle公司收购了SunMicrosystems。2.1.2MySQL特点MySQL是一种关系型数据库,由Oracle公司开发维护。MySQL支持多种操作系统,如Solaris、MacOS、FreeBSD、Windows和Linux。其核心功能是处理数据,提供空间供数据存储。MySQL数据库不直接面向数据存储,而是通过表和索引等对象完成存储。MySQL采用B/S模型,即客户端和服务端模型。客户端通过账号和密码连接服务器,连接成功后才能进行数据库的操作,包括增加、删除、变更和查询等。MySQL的服务端采用IO复用和可伸缩的连接池,实现了网络高并发的经典模型。2.1.3B/S模式客户端应用程序是在系统中定义的模块,以允许用户直接与操作系统数据交互。例如,服务器管理人员主要负责快速有效地管理多资源系统。例如,SERVERMANAGERS管理一个用户信息系统数据库,而服务器级的操作系统管理器也有一个重要的特点:当多个客户端同时访问服务器上的一个资源时,且称之为死锁或饥饿,而服务器管理器最大限度地管理用户访问的公共资源。中间组织者,在应用程序和数据库之间交互时,可以很好地连接到客户端应用程序和服务器管理器。这里所说的B/S模型是一个新的MIS系统平台,是作为一个依靠网络关系并与用户层重叠的管理平台而形成的。从理论上讲,B/S模型是一个三层系统管理平台,其中,在刚才描述的B/S模型是一个单一的服务器管理层,分为一个或多个服务器,或者服务器和应用程序的组合,建立一个三层系统管理平台,在用户和服务器之间传递信息。三层系统管理平台的第一层是用户连接到网络的界面的一部分,在每天运行的应用程序将集成到浏览器中,在浏览器中,HTML文件将单调的程序变成每天看到的丰富多彩的网页。同时也发现,在日常生活中互动的网页不仅是为了显示信息,也是为了通过网页与许多重要信息进行互动,如填写在线表格、发送在线文本沟通思想等,因此这包括向服务器发送信息在第二层中,服务器根据用户的请求作出响应。首先,前一层根据用户的需求生成一系列网页代码,这些代码已经包含了用户需要的结果。然后,服务器将生成的网页代码发送到用户的浏览器,以便用户获取所需的信息。需要指出的是,如果用户的请求涉及访问数据库,那么Web服务器也需要处理数据库以满足用户的需求。这涉及到非常复杂的技术。第三层是数据库服务器,其管理过程类似于基于并行任务协调的B/S模型。2.1.4IDEA技术IntelliJIDEA是一款Java编程语言的集成开发环境,被广泛认为是Java开发工具中最优秀的一款。该工具在智能代码提示、重构、JavaEE支持、版本控制、测试、代码分析以及GUI设计等方面拥有超卓的功能。由JetBrains公司开发,该公司总部位于捷克共和国的首都布拉格,开发人员以东欧程序员为主,注重严谨的开发流程。IntelliJIDEA专门设计每个功能来提高开发人员的工作效率,其中包括强大的静态代码分析和符合人体工程学的设计,以提供高效和愉悦的开发体验。该工具可以快速智能地为您的源代码编制索引,提供相关建议,包括即时和巧妙的代码完成、动态代码分析和可靠的重构工具等。2.2可行性分析2.2.1技术可行性技术可行性是指在本次系统开发中采用哪些技术、平台、框架和设计模式。在基础知识介绍部分已经做了相关说明,本次开发是基于Java的消费者积分系统开发。使用的编程语言是Java,主要采用SSM框架进行开发,并采用MVC设计模式来管理代码的弹性。IDEA是目前市场上做得最好的多语言集成开发环境之一,同时大多数相关开发工具都是免费的。2.2.2经济可行性经济可行性是指在发展过程符合以前的发展预算,整个发展过程的开支都有明确的文件记载,符合发展过程的要求。该系统建成后,开发的爱我宠物领养系统前景广阔,经济价值高,在系统开发前也在考虑的范围内。总之,确认了设计开发这爱我宠物领养系统在经济上是可行的。2.2.3操作可行性当系统交付给用户时,也确认了用户容易使用,大多数功能都是通过投影的图形界面实现的,数据输入灵活完整,没有歧义,管理员和用户检查个人的信息。整个系统必须简单、高效,并对用户有不同级别的使用权限管理。基于这些考虑,可以确定这个开发是可操作的。2.2.4法律可行性从法律角度来看,本次开发工作满足以下几个特点:所有使用的技术资料合法获得;开发过程不存在知识产权问题;未涉及任何网站抄袭,不存在版权问题;开发过程全部来自自己的原始劳动,不涉及承担法律责任。2.3需求分析对系统功能要求的分析可以提供有关在实施软件功能要求时需要什么和不需要什么的更多信息。良好的分析活动有助于避免或报告今天上午出现的早期错误,从而提高软件生产效率、降低开发成本并提高软件质量。2.3.1功能需求分析本系统主要是研究的是爱我宠物领养系统,其角色是要分为领养人、管理员、送养人三个角色。管理员拥有本系统的全部权限,对领养人、送养人、活动类型、活动信息、宠物种类等功能进行增删改查。用户可以登录后查看宠物类型和宠物信息内容,该爱我宠物领养系统有如下功能:1.领养人用例图如图2.1所示。图2.1领养人用例图2.管理员用例图如图2.2所示。图2.2管理员用例图3.送养人用例图如图2.3所示。图2.3送养人用例图4.主业务流程图如图2.4所示。图2.4主业务流程图2.3.2非功能需求分析本文设计了一个爱我宠物领养系统,该系统为用户存储大量宠物信息和基本操作系统信息,以确保系统数据的安全,用户识别模块和权限管理模块在系统设计开发期间进行了专门配置,以识别访问系统的用户。在基于Java的web管理系统中,所有用户标识都经过系统验证后,将根据用户的标识为其配置相应的权限,并确保操作系统用户仅在权限范围内工作,并且仅在权限范围内访问操作系统数据。用户权限控制机制确保系统数据的安全,并在发生异常活动时立即停止用户访问。为了确保系统能够长时间稳定可靠地运行,需要确立明确、完整的错误处理机制。系统响应时间在非高峰时间必须控制在3秒以内,高峰时间必须控制在5秒以内,这样才能保证系统的稳定性和可靠性。同时,建立错误处理机制还能够帮助解决系统中出现的错误,从而提高系统的维护和管理效率。第3章系统设计3.1系统功能结构设计根据对系统的功能进行分析爱我宠物领养系统的具体功能模块包括下面的几个主要的功能模块:首页、领养宠物、活动信息、交流论坛、公告信息、后台管理、个人中心和宠物生活等功能模块。系统功能模块如图3.1所示:图3.1功能模块图3.2数据库概念设计2.送养人实体图如图3.3所示。图3.3送养人实体图3.领养人实体图如图3.4所示。图3.4领养人实体图4.宠物实体图如图3.5所示。图3.5宠物实体图活动信息实体图如图3.6所示。图3.6活动信息实体图爱我宠物领养系统ER图如图3.10所示。图3.10爱我宠物领养系统ER图3.3数据库物理设计对于数据库的物理设计,需要进行四个主要的阶段。第一阶段是选择系统数据在数据库中的存储结构,第二阶段是确定数据库中系统数据的存取方法,第三阶段是选择系统数据在数据库中的存放位置,最后一个阶段是决定在数据库中数据的位置。物理设计的主要任务是为数据库编制索引,以便访问系统数据。根据访问类型,存储结构可以分为索引表和顺序表,每个表包含不同的查询结果。在前面的章节中,使用E-R图来定义抽象数据实体及其关系,为每个实体设置相应的数据库和表。本系统的具体表设计如下:(1)用户表users“用户表users”用来记录登记用户的信息。用户表users的结构如表3.1所示。表3.1用户表字段名称类型长度字段说明主键默认值idbigint主键主键usernamevarchar100用户名passwordvarchar100密码rolevarchar100角色管理员addtimetimestamp新增时间CURRENT_TIMESTAMP(2)关于我们systemintro关于我们systemintro的结构如表3.2所示。表3.2关于我们systemintro表字段名称类型长度字段说明主键默认值idbigint主键主键addtimetimestamp创建时间CURRENT_TIMESTAMPtitlevarchar200标题subtitlevarchar200副标题contentlongtext4294967295内容picture1longtext4294967295图片1picture2longtext4294967295图片2picture3longtext4294967295图片3(3)活动报名huodongbaoming“活动报名huodongbaoming”是用来记录活动报名的信息。活动报名huodongbaoming的结构如表3.3所示。表3.3活动报名表字段名称类型长度字段说明主键默认值idbigint主键主键addtimetimestamp创建时间CURRENT_TIMESTAMPbaomingbianhaovarchar200报名编号huodongmingchengvarchar200活动名称huodongleixingvarchar200活动类型huodongdizhivarchar200活动地址huodongriqivarchar200活动日期baomingrenshuint报名人数fabuzhanghaovarchar200发布账号fabuxingmingvarchar200发布姓名lianxishoujivarchar200联系手机zhanghaovarchar200账号xingmingvarchar200姓名续表3.3活动报名表字段名称类型长度字段说明主键默认值shoujihaomavarchar200手机号码shenqingbeizhuvarchar200申请备注shenqingshijiandatetime申请时间sfshvarchar200是否审核待审核shhflongtext4294967295审核回复(4)交流论坛表forum“交流论坛表forum”是用来记录客户反馈交流的信息。交流论坛表forum的结构如表3.4所示。表3.4交流论坛表字段名称类型长度字段说明主键默认值idbigint主键主键addtimetimestamp创建时间CURRENT_TIMESTAMPtitlevarchar200帖子标题contentlongtext4294967295帖子内容parentidbigint父节点iduseridbigint用户idusernamevarchar200用户名avatarurllongtext4294967295头像isdonevarchar200状态(5)配置文件表config“配置文件表config”是用来记录配置文件的信息。配置文件表config的结构如表3.5所示。表3.5配置文件表字段名称类型长度字段说明主键默认值idbigint主键主键namevarchar100配置参数名称valuevarchar100配置参数值(6)领养宠物评论表discusslingyangchongwu“领养宠物评论表discusslingyangchongwu”是用来记录客户对领养宠物进行评价的信息。领养宠物评论表discusslingyangchongwu的结构如表3.6所示。表3.6领养宠物评论表字段名称类型长度字段说明主键默认值idbigint主键主键addtimetimestamp创建时间CURRENT_TIMESTAMPrefidbigint关联表iduseridbigint用户idavatarurllongtext4294967295头像nicknamevarchar200用户名contentlongtext4294967295评论内容replylongtext4294967295回复内容(7)公告信息表news“公告信息表news”是用来记录系统登录用户进行反馈回复的信息。公告信息表news的结构如表3.7所示。表3.7公告信息表字段名称类型长度字段说明主键默认值idbigint主键主键addtimetimestamp创建时间CURRENT_TIMESTAMPtitlevarchar200标题introductionlongtext4294967295简介picturelongtext4294967295图片contentlongtext4294967295内容(8)宠物种类表chongwuzhonglei“宠物种类表chongwuzhonglei”是用来记录宠物种类的信息。宠物种类表chongwuzhonglei的结构如表3.8所示。表3.8宠物种类表字段名称类型长度字段说明主键默认值idbigint主键主键续表3.8宠物种类表字段名称类型长度字段说明主键默认值addtimetimestamp创建时间CURRENT_TIMESTAMPchongwuzhongleivarchar200宠物种类(9)token表“token表”是用来记录用户的信息。token的结构如表3.9所示。表3.9token表字段名称类型长度字段说明主键默认值idbigint主键主键useridbigint用户idusernamevarchar100用户名tablenamevarchar100表名rolevarchar100角色tokenvarchar200密码addtimetimestamp新增时间CURRENT_TIMESTAMPexpiratedtimetimestamp过期时间CURRENT_TIMESTAMP(10)收藏表storeup“收藏表storeup”是用来记录用户收藏商品的信息。收藏表storeup的结构如表3.10所示。表3.10收藏表字段名称类型长度字段说明主键默认值idbigint主键主键addtimetimestamp创建时间CURRENT_TIMESTAMPuseridbigint用户idrefidbigint商品idtablenamevarchar200表名namevarchar200名称picturelongtext4294967295图片续表3.14收藏表字段名称类型长度字段说明主键默认值typevarchar200类型(1:收藏,21:赞,22:踩,31:竞拍参与,41:关注)inteltypevarchar200推荐类型remarkvarchar200备注(11)关于我们aboutus“关于我们aboutus”是用来记录用户的信息。关于我们aboutus的结构如表3.11所示。表3.11关于我们aboutus表字段名称类型长度字段说明主键默认值idbigint主键主键addtimetimestamp创建时间CURRENT_TIMESTAMPtitlevarchar200标题subtitlevarchar200副标题contentlongtext4294967295内容picture1longtext4294967295图片1picture2longtext4294967295图片2picture3longtext4294967295图片3(12)领养宠物表lingyangchongwu“领养宠物表lingyangchongwu”是用来记录宠物被领养的信息。领养宠物表lingyangchongwu的结构如表3.12所示。表3.12领养宠物表字段名称类型长度字段说明主键默认值idbigint主键主键addtimetimestamp创建时间CURRENT_TIMESTAMPchongwumingchengvarchar200宠物名称chongwutupianlongtext4294967295宠物图片chongwuzhongleivarchar200宠物种类chongwuxingbievarchar200宠物性别续表3.12领养宠物表字段名称类型长度字段说明主键默认值xingqingvarchar200性情nianlingvarchar200年龄zhuangtaivarchar200状态lingyangxuzhivarchar200领养须知chongwujianjielongtext4294967295宠物简介chongwuxiangqinglongtext4294967295宠物详情faburiqidate发布日期fabuzhanghaovarchar200发布账号fabuxingmingvarchar200发布姓名lianxishoujivarchar200联系手机clicktimedatetime最近点击时间(13)送养人songyangren“送养人songyangren”是用来记录宠物送养人的信息。送养人songyangren的结构如表3.13所示。表3.13送养人表字段名称类型长度字段说明主键默认值idbigint主键主键addtimetimestamp创建时间CURRENT_TIMESTAMPfabuzhanghaovarchar200发布账号mimavarchar200密码fabuxingmingvarchar200发布姓名xingbievarchar200性别youxiangvarchar200邮箱lianxishoujivarchar200联系手机touxianglongtext4294967295头像(14)活动信息huodongxinxi“活动信息huodongxinxi”是用来记录活动信息。活动信息huodongxinxi的结构如表3.14所示。表3.14活动信息表字段名称类型长度字段说明主键默认值idbigint主键主键addtimetimestamp创建时间CURRENT_TIMESTAMPhuodongmingchengvarchar200活动名称huodongtupianlongtext4294967295活动图片huodongleixingvarchar200活动类型字段名称类型长度字段说明主键默认值huodongdizhivarchar200活动地址huodongriqidate活动日期baomingrenshuint报名人数zhuyishixiangvarchar200注意事项huodongjianjielongtext4294967295活动简介huodongneironglongtext4294967295活动内容faburiqidate发布日期fabuzhanghaovarchar200发布账号fabuxingmingvarchar200发布姓名lianxishoujivarchar200联系手机(15)活动类型huodongleixing“活动类型huodongleixing”是用来显示活动类型的信息。活动类型huodongleixing的结构如表3.15所示。表3.15活动类型huodongleixing表字段名称类型长度字段说明主键默认值idbigint主键主键addtimetimestamp创建时间CURRENT_TIMESTAMPhuodongleixingvarchar200活动类型(16)领养人lingyangren“领养人lingyangren”是用来记录宠物领养人的信息。领养人lingyangren的结构如表3.16所示。表3.16领养人lingyangren表字段名称类型长度字段说明主键默认值idbigint主键主键addtimetimestamp创建时间CURRENT_TIMESTAMPzhanghaovarchar200账号mimavarchar200密码xingmingvarchar200姓名xingbievarchar200性别youxiangvarchar200邮箱shoujihaomavarchar200手机号码touxianglongtext4294967295头像(17)宠物生活chongwushenghuo“宠物生活chongwushenghuo”是用来记录宠物生活信息。宠物生活chongwushenghuo的结构如表3.17所示。表3.17宠物生活chongwushenghuo表字段名称类型长度字段说明主键默认值idbigint主键主键addtimetimestamp创建时间CURRENT_TIMESTAMPchongwumingchengvarchar200宠物名称fenleivarchar200分类chongwuxingbievarchar200宠物性别xingqingvarchar200性情nianlingvarchar200年龄fabuzhanghaovarchar200发布账号fabuxingmingvarchar200发布姓名lianxishoujivarchar200联系手机zhanghaovarchar200账号续表3.17宠物生活chongwushenghuo表xingmingvarchar200姓名shoujihaomavarchar200手机号码jiluneironglongtext4294967295记录内容jilushijiandate记录时间(18)领养申请lingyangshenqing“领养申请lingyangshenqing”是用来记录宠物领养的信息。领养申请lingyangshenqing的结构如表3.18所示。表3.18领养申请lingyangshenqing表字段名称类型长度字段说明主键默认值idbigint主键主键addtimetimestamp创建时间CURRENT_TIMESTAMPchongwumingchengvarchar200宠物名称fenleivarchar200分类chongwuxingbievarchar200宠物性别xingqingvarchar200性情nianlingvarchar200年龄fabuzhanghaovarchar200发布账号fabuxingmingvarchar200发布姓名lianxishoujivarchar200联系手机zhanghaovarchar200账号xingmingvarchar200姓名shoujihaomavarchar200手机号码shenqingyuanyinvarchar200申请原因shenqingriqidate申请日期sfshvarchar200是否审核待审核shhflongtext4294967295审核回复(19)咨询回复zixunhuifu“咨询回复zixunhuifu”是用来记录宠物领养人咨询回复送养人的信息。咨询回复zixunhuifu的结构如表3.19所示。表3.19咨询回复zixunhuifu表字段名称类型长度字段说明主键默认值idbigint主键主键addtimetimestamp创建时间CURRENT_TIMESTAMPchongwumingchengvarchar200宠物名称chongwuzhongleivarchar200宠物种类fabuzhanghaovarchar200发布账号fabuxingmingvarchar200发布姓名zixunneironglongtext4294967295咨询内容zhanghaovarchar200账号xingmingvarchar200姓名zixunriqivarchar200咨询日期huifuneironglongtext4294967295回复内容huifuriqidate回复日期(20)在线咨询zaixianzixun“在线咨询zaixianzixun”是用来记录宠物领养人在线咨询的信息。在线咨询zaixianzixun的结构如表3.20所示。表3.20在线咨询zaixianzixun表字段名称类型长度字段说明主键默认值idbigint主键主键addtimetimestamp创建时间CURRENT_TIMESTAMPchongwumingchengvarchar200宠物名称chongwuzhongleivarchar200宠物种类fabuzhanghaovarchar200发布账号fabuxingmingvarchar200发布姓名zixunneironglongtext4294967295咨询内容zhanghaovarchar200账号xingmingvarchar200姓名zixunriqidate咨询日期(21)活动信息评论表discusshuodongxinxi“活动信息评论表discusshuodongxinxi”是用来记录宠物送养人对活动进行评价的信息。活动信息评论表discusshuodongxinxi的结构如表3.21所示。表3.21活动信息评论discusshuodongxinxi表字段名称类型长度字段说明主键默认值idbigint主键主键addtimetimestamp创建时间CURRENT_TIMESTAMPrefidbigint关联表iduseridbigint用户idavatarurllongtext4294967295头像nicknamevarchar200用户名contentlongtext4294967295评论内容replylongtext4294967295回复内容第4章系统实现4.1用户登录注册当用户第一次访问系统并点击个人中心时,会自动跳转到用户登录注册页面。在注册页面中,用户需要填写账号、密码、性别、年龄、手机等信息进行注册,具体界面可参考图4.1所示。对于登录操作,用户需要在登录页面中输入账号、密码并选择用户角色,然后点击“登录”按钮。如果用户未输入用户名或密码,系统将提示用户进行输入。具体登录界面可参考图4.2所示。图4.1用户注册界面图图4.2用户登录界面图实现该功能的关键代码如下:publicclassUsersController{ @Autowired privateUsersServiceuserService; @Autowired privateTokenServicetokenService;}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); }publicRregister(@RequestBodyUsersEntityuser){// ValidatorUtils.validateEntity(user); if(userService.selectOne(newEntityWrapper<UsersEntity>().eq("username",user.getUsername()))!=null){returnR.error("用户已存在"); }userService.insert(user);returnR.ok();}publicRlogout(HttpServletRequestrequest){ request.getSession().invalidate(); returnR.ok("退出成功"); }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");}4.2领养人管理以领养人身份登录系统,需要在登录页面中输入账号、密码并选择用户角色,然后点击“登录”按钮。如果用户未输入用户名或密码,系统将提示用户进行输入。具体登录界面可参考图4.3所示。图4.3领养人登录界面图以管理员身份登录到后台系统时,可以选择领养人管理下的“领养人”按钮。接着,进入领养人列表界面,管理员可以在搜索框中输入领养人账号、姓名等信息,点击查询按钮就可以找到相应的领养人,查询领养人界面如图4.4所示。图4.4查询领养人界面图此外,管理员还可以对领养人进行新增、修改、删除、批量删除等操作进行管理。删除领养人界面如图4.5所示,新增领养人界面如图4.6所示。图4.5删除领养人界面图图4.6新增领养人界面图实现该功能的关键代码如下:publicRquery(LingyangrenEntitylingyangren){privateLingyangrenServicelingyangrenService; @Autowired privateTokenServicetokenService; @IgnoreAuth@RequestMapping(value="/login")publicRlogin(Stringusername,Stringpassword,Stringcaptcha,HttpServletRequestrequest){ LingyangrenEntityu=lingyangrenService.selectOne(newEntityWrapper<LingyangrenEntity>().eq("zhanghao",username)); if(u==null||!u.getMima().equals(password)){ returnR.error("账号或密码不正确"); }Stringtoken=tokenService.generateToken(u.getId(),username,"lingyangren","领养人"); returnR.ok().put("token",token); }publicRpage(@RequestParamMap<String,Object>params,LingyangrenEntitylingyangren,HttpServletRequestrequest){EntityWrapper<LingyangrenEntity>ew=newEntityWrapper<LingyangrenEntity>(); PageUtilspage=lingyangrenService.queryPage(params,MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew,lingyangren),params),params));returnR.ok().put("data",page);EntityWrapper<LingyangrenEntity>ew=newEntityWrapper<LingyangrenEntity>(); ew.allEq(MPUtil.allEQMapPre(lingyangren,"lingyangren")); LingyangrenViewlingyangrenView=lingyangrenService.selectView(ew); returnR.ok("查询领养人成功").put("data",lingyangrenView);}publicRupdate(@RequestBodyLingyangrenEntitylingyangren,HttpServletRequestrequest){//ValidatorUtils.validateEntity(lingyangren);lingyangrenService.updateById(lingyangren);//全部更新returnR.ok();}publicRdelete(@RequestBodyLong[]ids){lingyangrenService.deleteBatchIds(Arrays.asList(ids));returnR.ok();}4.3送养人管理以送养人身份登录系统,需要在登录页面中输入账号、密码并选择用户角色,然后点击“登录”按钮。如果用户未输入用户名或密码,系统将提示用户进行输入。具体登录界面可参考图4.7所示。图4.7送养人登录界面图以管理员身份登录后台系统,选择送养人管理下的“送养人”按钮,进入送养人列表界面,送养人列表界面。管理员在此页面上,可以输入送养人的姓名、账号等信息,选择查询按钮来查找特定的送养人。此外,管理员还可以通过该页面对送养人进行新增、修改、删除、批量删除等操作如图4.8所示。图4.8送养人列表界面图实现该功能的关键代码如下:publicRlogin(Stringusername,Stringpassword,Stringcaptcha,HttpServletRequestrequest){ SongyangrenEntityu=songyangrenService.selectOne(newEntityWrapper<SongyangrenEntity>().eq("fabuzhanghao",username)); if(u==null||!u.getMima().equals(password)){ returnR.error("账号或密码不正确"); } Stringtoken=tokenService.generateToken(u.getId(),username,"songyangren","送养人"); returnR.ok().put("token",token); }publicRpage(@RequestParamMap<String,Object>params,SongyangrenEntitysongyangren, HttpServletRequestrequest){EntityWrapper<SongyangrenEntity>ew=newEntityWrapper<SongyangrenEntity>(); PageUtilspage=songyangrenService.queryPage(params,MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew,songyangren),params),params));returnR.ok().put("data",page);}publicRquery(SongyangrenEntitysongyangren){EntityWrapper<SongyangrenEntity>ew=newEntityWrapper<SongyangrenEntity>(); ew.allEq(MPUtil.allEQMapPre(songyangren,"songyangren")); SongyangrenViewsongyangrenView=songyangrenService.selectView(ew); returnR.ok("查询送养人成功").put("data",songyangrenView);}publicRupdate(@RequestBodySongyangrenEntitysongyangren,HttpServletRequestrequest){//ValidatorUtils.validateEntity(songyangren);songyangrenService.updateById(songyangren);//全部更新returnR.ok();}publicRdelete(@RequestBodyLong[]ids){songyangrenService.deleteBatchIds(Arrays.asList(ids));returnR.ok();}4.4宠物种类管理以领养人或送养人身份登录系统,点击领养宠物页面,可以查看到多种宠物种类如图4.9所示。图4.9宠物种类界面图以管理员身份登录到后台系统后,可以选择宠物种类管理下的“宠物种类”按钮。进入宠物种类列表界面,如图4.10所示。图4.10宠物种类列表界面图管理员可以输入宠物种类关键词进行查询,找到需要的宠物种类,管理员还可以对宠物种类进行添加、修改、删除、批量删除等操作如图4.11所示。图4.11查询宠物种类界面图实现该功能的关键代码如下:publicRpage(@RequestParamMap<String,Object>params,ChongwuzhongleiEntitychongwuzhonglei,HttpServletRequestrequest){EntityWrapper<ChongwuzhongleiEntity>ew=newEntityWrapper<ChongwuzhongleiEntity>(PageUtilspage=chongwuzhongleiService.queryPage(params,MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew,chongwuzhonglei),params),params));returnR.ok().put("data",page);}publicRquery(ChongwuzhongleiEntitychongwuzhonglei){EntityWrapper<ChongwuzhongleiEntity>w=newEntityWrapper<ChongwuzhongleiEntity>();ew.allEq(MPUtil.allEQMapPre(chongwuzhonglei,"chongwuzhonglei"));ChongwuzhongleiViewchongwuzhongleiView=chongwuzhongleiService.selectView(ew);returnR.ok("查询宠物种类成功").put("data",chongwuzhongleiView);}publicRupdate(@RequestBodyChongwuzhongleiEntitychongwuzhonglei,HttpServletRequestrequest){//ValidatorUtils.validateEntity(chongwuzhonglei);chongwuzhongleiService.updateById(chongwuzhonglei);//全部更新returnR.ok();publicRdelete(@RequestBodyLong[]ids){chongwuzhongleiService.deleteBatchIds(Arrays.asList(ids));returnR.ok();}4.5宠物信息管理以领养人或送养人身份登录到前台系统后,可以选择领养宠物页面,可看到发布的宠物信息,点击宠物可看到宠物名称、种类、性别、年龄、状态、领养须知、宠物简介、发布姓名、日期、账号、联系方式等信息。具体界面如图4.12所示。图4.12宠物信息界面图以送养人身份登录到后台系统中,选择领养宠物管理下的“领养宠物”按钮,进入领养宠物列表界面,领养人可以在此页面输入宠物名称、性别、状态,选择查询按钮找到领养宠物,如图4.13所示。领养人还可以对宠物进行添加宠物信息、修改、删除、批量删除、查看详情等操作,如图4.14所示。图4.13查询宠物信息界面图图4.14删除宠物宠物信息界面图实现该功能的关键代码如下:publicclassLingyangchongwuController{@AutowiredprivateLingyangchongwuServicelingyangchongwuService;@AutowiredprivateStoreupServicestoreupService;}publicRpage(@RequestParamMap<String,Object>params,LingyangchongwuEntitylingyangchongwu,HttpServletRequestrequest){StringtableName=request.getSession().getAttribute("tableName").toString();if(tableName.equals("songyangren")){ lingyangchongwu.setFabuzhanghao((String)request.getSession().getAttribute("username")); }EntityWrapper<LingyangchongwuEntity>ew=newEntityWrapper<LingyangchongwuEntity>(); PageUtilspage=lingyangchongwuService.queryPage(params,MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew,lingyangchongwu),params),params));returnR.ok().put("data",page);}publicRquery(LingyangchongwuEntitylingyangchongwu){EntityWrapper<LingyangchongwuEntity>ew=newEntityWrapper<LingyangchongwuEntity>(); ew.allEq(MPUtil.allEQMapPre(lingyangchongwu,"lingyangchongwu")); LingyangchongwuViewlingyangchongwuView=lingyangchongwuService.selectView(ew); returnR.ok("查询领养宠物成功").put("data",lingyangchongwuView);}publicRupdate(@RequestBodyLingyangchongwuEntitylingyangchongwu,HttpServletRequestrequest){//ValidatorUtils.validateEntity(lingyangchongwu);lingyangchongwuService.updateById(lingyangchongwu);//全部更新returnR.ok();}publicRdelete(@RequestBodyLong[]ids){lingyangchongwuService.deleteBatchIds(Arrays.asList(ids));returnR.ok();}以管理员身份登录到后台系统中,选择领养宠物管理下的“领养宠物”按钮,进入宠物信息列表,可以在此页面输入宠物名称、性别、状态、发布姓名选择查询按钮查看领养宠物,如图4.15所示。管理员后台还可以看到领养状态统计和宠物分类统计,领养状态统计如图4.16,宠物分类统计如图4.17所示。图4.15查询宠物信息界面图图4.16领养状态界面图图4.17宠物分类统计界面图管理员还可以查看宠物详情、查看评论、删除等操作。查看宠物详情如图4.18所示,查看评论如图4.19所示。图4.18宠物详情界面图图4.19宠物评论界面图实现该功能的关键代码如下:publicclassLingyangchongwuController{@AutowiredprivateLingyangchongwuServicelingyangchongwuService;@AutowiredprivateStoreupServicestoreupService;}publicRpage(@RequestParamMap<String,Object>params,LingyangchongwuEntitylingyangchongwu,HttpServletRequestrequest){StringtableName=request.getSession().getAttribute("tableName").toString();if(tableName.equals("songyangren")){ lingyangchongwu.setFabuzhanghao((String)request.getSession().getAttribute("username")); }EntityWrapper<LingyangchongwuEntity>ew=newEntityWrapper<LingyangchongwuEntity>(); PageUtilspage=lingyangchongwuService.queryPage(params,MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew,lingyangchongwu),params),params));returnR.ok().put("data",page);}publicRquery(LingyangchongwuEntitylingyangchongwu){EntityWrapper<LingyangchongwuEntity>ew=newEntityWrapper<LingyangchongwuEntity>(); ew.allEq(MPUtil.allEQMapPre(lingyangchongwu,"lingyangchongwu")); LingyangchongwuViewlingyangchongwuView=lingyangchongwuService.selectView(ew); returnR.ok("查询领养宠物成功").put("data",lingyangchongwuView);}publicRupdate(@RequestBodyLingyangchongwuEntitylingyangchongwu,HttpServletRequestrequest){//ValidatorUtils.validateEntity(lingyangchongwu);lingyangchongwuService.updateById(lingyangchongwu);//全部更新returnR.ok();}publicRdelete(@RequestBodyLong[]ids){lingyangchongwuService.deleteBatchIds(Arrays.asList(ids));returnR.ok();}4.6宠物领养管理以领养人或送养人身份登录到前台系统后,可以选择领养宠物页面,可看到发布的宠物种类和信息,如图4.20所示。图4.20领养宠物界面图以领养人或送养人还可以点击宠物可看到宠物详细信息.点击领养申请按钮可进行领养申请。宠物详细信息如图4.21所示,领养申请如图4.22所示。图4.21宠物详细信息界面图图4.22申请领养宠物界面图以领养人身份登录到后台系统中,选择领养申请管理下的“领养申请”按钮,进入领养申请列表界面,领养人可以输入宠物名称、种类、发布姓名,选择查询按钮找到领养申请,如图4.23所示。还可以对领养申请进行修改、删除、批量删除、查看详情等操作。如图4.24所示。图4.23查询领养申请界面图图4.24查看详情界面图实现该功能的关键代码如下:publicclassLingyangshenqingController{@AutowiredprivateLingyangshenqingServicelingyangshenqingService;}publicRpage(@RequestParamMap<String,Object>params,LingyangshenqingEntitylingyangshenqing, HttpServletRequestrequest){ StringtableName=request.getSession().getAttribute("tableName").toString(); if(tableName.equals("songyangren")){lingyangshenqing.setFabuzhanghao((String)request.getSession().getAttribute("username")); } if(tableName.equals("lingyangren")){ lingyangshenqing.setZhanghao((String)request.getSession().getAttribute("username")); }EntityWrapper<LingyangshenqingEntity>ew=newEntityWrapper<LingyangshenqingEntity>();PageUtilspage=lingyangshenqingService.queryPage(params,MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew,lingyangshenqing),params),params));returnR.ok().put("data",page);}publicRquery(LingyangshenqingEntitylingyangshenqing){EntityWrapper<LingyangshenqingEntity>ew=newEntityWrapper<LingyangshenqingEntity>(); ew.allEq(MPUtil.allEQMapPre(lingyangshenqing,"lingyangshenqing")); LingyangshenqingViewlingyangshenqingView=lingyangshenqingService.selectView(ew); returnR.ok("查询领养申请成功").put("data",lingyangshenqingView);}publicRupdate(@RequestBodyLingyangshenqingEntitylingyangshenqing,HttpServletRequestrequest){//ValidatorUtils.validateEntity(lingyangshenqing);lingyangshenqingService.updateById(lingyangshenqing);//全部更新returnR.ok();}publicRdelete(@RequestBodyLong[]ids){lingyangshenqingService.deleteBatchIds(Arrays.asList(ids));returnR.ok();}以送养人身份登录到后台系统,然后在领养申请管理模块下选择“领养申请”按钮,进入领养申请列表页面,在该页面可以输入宠物名称和分类来查询相关领养申请,如图4.25所示。送养人在该页面可以进行审核、查看详情等操作。审核领养如图4.26所示,领养详情如图4.27所示。图4.25查询领养申请界面图图4.26审核领养宠物界面图图4.27领养申请详情界面图实现该功能的关键代码如下:publicclassLingyangshenqingController{@AutowiredprivateLingyangshenqingServicelingyangshenqingService;}publicRpage(@RequestParamMap<String,Object>params,LingyangshenqingEntitylingyangshenqing,HttpServletRequestrequest){StringtableNam=request.getSession().getAttribute("tableName").toString();if(tableName.equals("songyangren")){lingyangshenqing.setFabuzhanghao((String)request.getSession().getAttribute("username"));}if(tableName.equals("lingyangren")){ lingyangshenqing.setZhanghao((String)request.getSession().getAttribute("username"));}EntityWrapper<LingyangshenqingEntity>ew=newEntityWrapper<LingyangshenqingEntity>();PageUtilspage=lingyangshenqingService.queryPage(params,MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew,lingyangshenqing),params),params));returnR.ok().put("data",page);}publicRquery(LingyangshenqingEntitylingyangshenqing){EntityWrapper<LingyangshenqingEntity>ew=newEntityWrapper<LingyangshenqingEntity>(); ew.allEq(MPUtil.allEQMapPre(lingyangshenqing,"lingyangshenqing")); LingyangshenqingViewlingyangshenqingView=lingyangshenqingService.selectView(ew); returnR.ok("查询领养申请成功").put("data",lingyangshenqingView);}publicRupdate(@RequestBodyLingyangshenqingEntitylingyangshenqing,HttpServletRequestrequest){//ValidatorUtils.validateEntity(lingyangshenqing);lingyangshenqingService.updateById(lingyangshenqing);//全部更新returnR.ok();}publicRdelete(@RequestBodyLong[]ids){lingyangshenqingService.deleteBatchIds(Arrays.asList(ids));returnR.ok();}以管理员身份登录到后台系统中,选择领养申请管理下的“领养申请”按钮,进入领养申请列表界面,管理员可以在此页面输入宠物名称、性别、状态、发布姓名、是否通过等操作选择查询按钮查看领养申请,如图4.28所示。图4.28查询领养申请界面图管理员还可以看到领养宠物详情、审核状态、删除等操作。领养宠物详情如图4.29所示,删除领养申请如图4.30所示。图4.29领养申请详情界面图图4.30删除领养申请界面图实现该功能的关键代码如下:publicclassLingyangshenqingController{@AutowiredprivateLingyangshenqingServicelingyangshenqingService;}publicRpage(@RequestParamMap<String,Object>params,LingyangshenqingEntitylingyangshenqing,HttpServletRequestrequest){StringtableNam=request.getSession().getAttribute("tableName").toString();if(tableName.equals("songyangren")){lingyangshenqing.setFabuzhanghao((String)request.getSession().getAttribute("username"));}if(tableName.equals("lingyangren")){lingyangshenqing.setZhanghao((String)request.getSession().getAttribute("username"));}EntityWrapper<LingyangshenqingEntity>ew=newEntityWrapper<LingyangshenqingEntity>();PageUtilspage=lingyangshenqingService.queryPage(params,MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew,lingyangshenqing),params),params));returnR.ok().put("data",page);}publicRquery(LingyangshenqingEntitylingyangshenqing){EntityWrapper<LingyangshenqingEntity>ew=newEntityWrapper<LingyangshenqingEntity>();ew.allEq(MPUtil.allEQMapPre(lingyangshenqing,"lingyangshenqing"));LingyangshenqingViewlingyangshenqingView=lingyangshenqingService.selectView(ew);returnR.ok("查询领养申请成功").put("data",lingyangshenqingView);}publicRupdate(@RequestBodyLingyangshenqingEntitylingyangshenqing,HttpServletRequestrequest){//ValidatorUtils.validateEntity(lingyangshenqing);lingyangshenqingService.updateById(lingyangshenqing);//全部更新returnR.ok();}publicRdelete(@RequestBodyLong[]ids){lingyangshenqingService.deleteBatchIds(Arrays.asList(ids));returnR.ok();}4.7活动信息管理以领养人或送养人身份登录前台后,可以通过页面选择“活动信息”按钮,在活动类型列表界面,可以输入标题并选择查询按钮来查找到指定的活动类型如图4.31所示。图4.31查询活动信息界面图可点击活动信息查看活动详情,查看活动内容,可报名活动和评论等操作。活动详情如图4.32所示,活动报名如图4.33所示。图4.32活动详情界面图图4.33活动报名界面图以领养人身份登录到后台系统中,选择活动报名管理下的“活动报名”按钮,进入活动报名列表界面,输入活动名称、类型、地址、姓名、是否通过选择查询按钮找到活动报名,还可以对活动报名进行删除等操作界面如图4.34所示。图4.34查询活动报名界面图实现该功能的关键代码如下:publicclassHuodongbaomingController{@AutowiredprivateHuodongbaomingServicehuodongbaomingService;}publicRpage(@RequestParamMap<String,Object>params,HuodongbaomingEntityhuodongbaoming, HttpServletRequestrequest){ StringtableName=request.getSession().getAttribute("tableName").toString(); if(tableName.equals("songyangren")){ huodongbaoming.setFabuzhanghao((String)request.getSession().getAttribute("username")); } if(tab
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 辽宁2026年二级建造师《市政工程实务》真题及答案解析
- 2026年济南市槐荫区烟草系统人员招聘笔试备考试题及答案详解
- 2026年《人类群星闪耀时》阅读测试题含答案
- 2026年全国企业员工全面质量管理知识竞赛质量企业作风测试题及答案
- 携手共进梦想之舟起航:小学主题班会课件
- 2025山东丝路灵岩文化旅游有限公司社会招聘3人笔试历年参考题库附带答案详解
- 2025届中国建科校园招聘全面启动笔试历年参考题库附带答案详解
- 2025天津市烟草专卖局中国烟草总公司天津市公司招聘19人笔试历年参考题库附带答案详解
- 2025四川泸州市泸县产业发展投资集团有限公司下属子公司第二次招聘员工7人笔试历年参考题库附带答案详解
- 2025中交建筑集团有限公司招聘3人笔试历年参考题库附带答案详解
- 2025北京大兴九银村镇银行社会招聘笔试历年典型考题及考点剖析附带答案详解2套
- 高中地理(高二年级·选择性必修三)教学设计:《环境问题及其危害》
- 【北京专用】期末模拟卷(二)- 2025-2026学年八年级语文下学期同步备考模拟卷(统编版)(原卷版)
- 《山东省学校安全条例》及其实施细则政策解读课件
- 2026年(统编版新教材)一年级道德与法治下册全册单元练习(含解析)新版
- 高中英语2026届高考短文范文 (共100 篇)
- 肩袖损伤规范化诊治临床指南 (2026 版)
- 中国咽炎防治指南2025版
- 2026年省级行业企业职业技能竞赛(家畜(猪)繁殖员)练习题及答案
- 【初中竞赛资料】精题-初中生物学竞赛训练题(一)
- 2026年药物警戒专员高频面试题包含详细解答
评论
0/150
提交评论