传统的宠物管理系统方式是在线下实体进行的,用户需要到线下进行实际的了解传统信息,而随着信息不断的普及,越来越多的商家也开始出于各种各样的理由的热衷网上发展,传统的线下模式已经无法满足人们的需求了。
互联网的产生,带来了网络的再次高速发展,人们的生活得到了翻天覆地的变化。人们可以随时随地的享受互联网带来的方便快捷,在生活工作中的方方面面的需要都能在网络上实现,比如宠物信息、驯养信息、食品信息、饰品物品、宠物销售、食品进货等信息。也就是说网络成了人们目前最直接、最方便、最轻松的接入口。
在当今世界,互联网快速发展的现在,如何利用互联网创造更简单高效的生活,这是我们首要讨论的。需要宠物管理系统相关网站,一方面使得管理员可以对宠物管理系统的信息进行及时更新和信息化的管理,可以较为容易的获取所需信息,系统的操作更加的准确,这是一种潜在趋势,或许可以有效加快宠物管理系统的普及情况。
研究现状经过调查,目前现代人的生活节奏加快,生活压力也在逐渐的增加,网络的发展给人们带来的便利,人们对宠物管理系统不断的了解,越来越多的商家开始加入了宠物管理系统这个行业中,但是我国对于宠物管理系统管理效果低下,而且出错率也很高。因此大家都在寻找一款更加专业化的宠物管理系统。
随着宠物管理系统的不断出现,用户需求不断增多,宠物管理系统也不断的得到壮大,本系统主要根据管理员的实际需要,方便用户利用互联网实现对宠物管理系统的了解、对比等一系列操作,同时让管理者可以通过这个系统对用户实际需求以及各信息进行管理。设计该系统主要目的是为了方便管理员可以有一个非常好的平台体验,管理员也可以通过该系统进行更加方便的管理与操作,实现了之前指定好的计划。
系统开发目标对于网站的设计,要保证主界面的整洁有序,能够抓住人的眼球,不会产生视觉疲劳,更重要的是,带给人容易操作的直观感受,这样才能留住用户去进行使用,增加三分热度的延续期。在系统的后台设计上,要采取非常简洁有效的技术,开发方便的同时,便于以后的维护。我们不但要确保所有的功能都能够满足用户的需求,用户还要能自己主动通过网站去实现想要的操作,而管理者的简单通过网站对用户的需求情况进行了解和管理。为达到这一目的,提出以下目标:
(1)管理员可以实时查看最新的宠物信息,以及相关资讯信息;
(2)管理员可以在后台方便管理后台网页的各种信息;
相关技术介绍 B/S架构B/S架构(浏览器/服务器)是当前应用最为广泛的一种架构,能够使系统的开发变得容易、易操作、易于维护。当你在你的电脑上安装一个数据库和几个非常常见的浏览器时,你就可以使用这个结构。B/S结构可以直接用于 B/S系统,并且 B/S架构可以在实际应用中大大降低了系统的运行维护。在 B/S平台上,各数据库彼此独立,具有很高的安全性。由于 B/S架构可以清晰地观察到系统所处理的业务,使管理者可以及时做出决定,从而避免了企业的亏损。B/S架构的本质特征是集中式管理,用户通过系统产生的数据,将其存入数据库,便于以后的应用,从而达到了各种需要。
B/S模型由一个浏览器、一个网络服务器、一个数据库服务器三个层级构成。数据管理采用了当前大部分现有B/S系统的表现层、应用层和数据层,Web浏览器是为了满足用户的要求而设计的,在数据处理和逻辑过程中使用的中间应用层,从而形成分布式的运行模式。B/S体系结构的逻辑是:在前端完成的处理,将主要的业务逻辑交给后台,而前端只负责少量的请求、渲染等。由于因特网技术的迅速发展,B/S体系结构使得任何时间、任何地点都能访问到该系统。
图2-1 B/S模式三层结构图
ssm框架介绍SSM(Spring+SpringMVC+MyBatis)框架集由Spring、MyBatis两个开源框架整合而成(SpringMVC是Spring中的部分内容)。常作为数据源较简单的web项目的框架。
1.8.1 Spring
Spring就像是整个项目中装配bean的大工厂,在配置文件中可以指定使用特定的参数去调用实体类的构造方法来实例化对象。也可以称之为项目中的粘合剂。
Spring的核心思想是IoC(控制反转),即不再需要程序员去显式地`new`一个对象,而是让Spring框架帮你来完成这一切。
1.8.2 SpringMVC
SpringMVC在项目中拦截用户请求,它的核心Servlet即DispatcherServlet承担中介或是前台这样的职责,将用户请求通过HandlerMapping去匹配Controller,Controller就是具体对应请求所执行的操作。SpringMVC相当于SSH框架中struts。
1.8.3 mybatis
mybatis是对jdbc的封装,它让数据库底层操作变的透明。mybatis的操作都是围绕一个sqlSessionFactory实例展开的。mybatis通过配置文件关联到各实体类的Mapper文件,Mapper文件中配置了每个类对数据库所需进行的sql语句映射。在每次与数据库交互时,通过sqlSessionFactory拿到一个sqlSession,再执行sql命令。
页面发送请求给控制器,控制器调用业务层处理逻辑,逻辑层向持久层发送请求,持久层与数据库交互,后将结果返回给业务层,业务层将处理逻辑发送给控制器,控制器再调用视图展现数据。
数据库作为数据的存储地方是项目必须的,MySQL是一款非常优秀的关系型数据库,早期的MySQL并不是甲骨文公司的,后来才被他收购的。MySQL非常的小巧,安装包才几兆,sql语言的书写也比较容易学习,最重要的是MySQL同时也是一款开源的软件,所以不需要额外进行付费,本系统本身也是以学习总结所学知识为主,在系统的开发上最好尽量使用免费的软件,所以选用MySQL进行数据库管理。MySQL的容量也是非常大的,同时支持分库分表的操作,支持分布式,所以越来越多的中小企业选择该款数据库管理工具。另外值得一提的是,开源也有一个不好的地方,就是容易遭到破解和黑客攻击,所以MySQL在使用上还是更多的使用在中小项目中。
MySQL不会对平台有需求,所以任何一个程序员都可以通过 MySQL数据库来完成自己的系统开发,并且还可以节约大量的资源。因为它具有强大功能,所以可以用来储存这个系统的数据。
MySQL适合于各种应用,我们在运行数据库的时候,也很容易上手,我们只要编写一段代码,就可以完成相应的功能,并且可以在任何的平台上使用,而不需要再进行第二次的编译。MySQL数据库还具备在本地存储数据和允许结构化查询以方便管理的优势;MySQL是一个完全网络化的系统,它的数据库可以在互联网的任何位置被访问,它可以在任何地点与任何人分享;此外,MySQL也提供了存取控制的能力,可以阻止数据被非法使用,MySQL服务稳定,开发成本低,所以在开发过程中,MySQL数据库是最受欢迎的。
系统分析 可行性分析可行性分析也是为了分析项目的开发系统是否对开发有价值,以及是否真的需要改进管理系统在信息听写方面的不足。以本项目宠物管理系统的设计目标和实施过程为例,如果开发该系统,希望能很好地解决用户的管理信息问题,并且如果这使宠物管理系统可以发展出最大价值学说,并且还可以变相的解决了用户在一定程度上的问题,那么这个项目的研发系统也就是最有价值有意义的系统。但研发目标又是不是达到了所期望的结果,以及科研任务在实现后的最大效用和价值,它是否等于所有总成本。因此,研发阶段本质上就是研发体系能否真正设计的阶段。
技术可行性技术可行性是指所确定的科学技术或决策方法中的科学技术均未突破组织掌握或相关人员熟悉的科学技术资源的界限。在技术研究过程中,应注意全面调查系统研发过程中包含的各种关键技术问题,尽可能选择成熟技术,认真引用先进技术,关注特定的研究平台和开发人员,评估关键技术的有效性。
Java技术对于该宠物管理系统的设计和实施很是关键,基于B/S架构的和MySQL数据库管理,对于前台的应用和后台的数据库管理都是至关重要的,要想有效应用该程序,就需要保持功能全面、易懂易简单使用的特性。构建数据库管理时,需要确保数据分析信息完全、数据分析信息稳定性好、数据分析信息稳定性较高的库。在早期,人们对Java的基本重要知识点就有理解和熟悉,对MySQL数据库发生过简要的掌握、熟悉,在早期对软件工程测试,以及UML语言等基础课程发生过大致的掌握和练习,经过对上述课程练习,就能够对上述课程有相应的信息系统开发、检验和判断。
Java可以和MySQL结合起来研发一个宠物管理系统,一定是合理而且有效的。
操作可行性宠物管理系统的注册与登陆页面设计简洁容易应用,可以通过最常见的页面窗口来登陆页面,并利用过计算机实现登陆功能,因此使用者只要平时利用过计算机都可以实现登陆应用。此操作系统的研发工作环境运用了Java技术,并运用了B/S结构,这些研发工作环境都使得此系统功能更为完整,使整个设计更为个性化,使用者功能也更为简洁方便。本管理系统具备了易于运行、容易管理、交互性较好的优点,在实际操作上也是非常简单的。因此,本管理系统也可进行商业设计。
综上所述,该设备的研发符合技术、工艺和技术要求,因此其研发具有可操作性。
系统功能需求普通用户用例图如下所示。
图3-1 普通用户用例图
管理员用例图如下所示。
图3-2 管理员用例图
表3-1 公告浏览用例描述
描述项
说明
用例名称
公告查询
用例描述
用户可以查看公告的详情
参与者
用户
前置条件
使用者是普通用户类型并成功进入该系统
后置条件
浏览成功
主事件流
(1)用户可以浏览公告的模块、公告的内容
(2)用户点击公告可以对公告进行详情阅读
异常事件流
e1.报500错误
e2.数据库连接异常
表3-1 交流论坛用例描述
描述项
说明
用例名称
交流论坛
用例描述
用户可以将自己想说的话发表在交流板,其他的用户可以查看,已注册的用户可以回复
参与者
用户
前置条件
用户是注册用户并成功进入该系统
后置条件
交流添加成功且显示在交流板
主事件流
系统检查是否是普通用户
未注册的用户可以查看交流板的内容
已注册的用户的交流表单显示出来可以进行交流和回复他人的交流
异常事件流
e1.报500错误
e2.数据库连接异常
e3.交流内容不显示
表3-1 发帖用例描述
描述项
说明
用例名称
发帖
用例描述
在登录成功的条件下,用户可以发布帖子
参与者
用户
前置条件
用户登录成功并进入该系统
后置条件
发布成功
主事件流
(1)系统检查是否是普通用户类型
用户输入标题、描述、类型、图片url和内容,开始执行发布用例
(3)发布成功,进入系统的主页
异常事件流
e1.报500错误
e2.数据库连接异常
e3.数据内容太长
表3-1 个人信息管理用例描述
用例名称
管理和修改个人信息
参与者
用户
描述
用户查看、修改个人信息
前置条件
用户已登录到系统中
后置条件
无
事件流
(1)用户查看个人信息
(2)用户修改个人信息
补充说明
(a)用户可修改密码
(b)用户可修改个人资料,例如姓名,头像等
表3-1 评论用例描述
用例名称
评论
参与者
用户
描述
用户发表评论
前置条件
用户已登录
后置条件
评论内容不违规
事件流
(1)在评论页输入评论数据,提交评论
(2)更新并显示评论板
补充说明
(a)评论内容不能为空
表3-1 收藏用例描述
用例名称
收藏
参与者
用户
描述
用户将内容加入收藏夹
前置条件
用户已登录
后置条件
无
事件流
(1)在收藏页加入收藏
(2)更新并显示收藏夹
补充说明
无
表3-1 用户管理用例描述
描述项
说明
用例名称
用户操作
用例描述
管理员正确登录后台管理的条件下,对用户进行管理
参与者
管理员
前置条件
管理员登录成功并跳转到后台主界面
后置条件
操作成功
主事件流
管理员跳转用户管理页面,查询用户详情的信息
管理员可以删除用户信息
异常事件流
e1.报500错误
e2.数据库连接异常
寄养申请用例描述如下表所示。
表3-1 寄养申请用例描述
用例名称
寄养申请
参与者
用户
描述
用户执行寄养申请操作
前置条件
用户已登录
后置条件
该寄养存在,并且能被申请
事件流
(1)在寄养页点击要申请的寄养
(2)填写寄养申请表单
补充说明
(a)寄养申请表单数据不能为空
表3-1 领养中心管理用例描述
描述项
说明
用例名称
领养中心操作
用例描述
管理员正确登录后台管理的条件下,对领养中心模块进行管理
参与者
管理员
前置条件
管理员成功登录
后置条件
操作成功
主事件流
(1)管理员进入领养中心管理页面,查询领养中心的信息
(2)管理员可以对领养中心进行增删除和编辑领养中心操作
(3)管理员新增领养中心,添加成功跳转到查询页面
异常事件流
e1.报500错误
e2.数据库连接异常
表3-1 志愿活动管理用例描述
描述项
说明
用例名称
志愿活动操作
用例描述
管理员正确登录后台管理的条件下,对志愿活动模块进行管理
参与者
管理员
前置条件
管理员成功登录
后置条件
操作成功
主事件流
(1)管理员进入志愿活动管理页面,查询志愿活动的信息
(2)管理员可以对志愿活动进行增删除和编辑志愿活动操作
(3)管理员新增志愿活动,添加成功跳转到查询页面
异常事件流
e1.报500错误
e2.数据库连接异常
表3-1 参加活动管理用例描述
描述项
说明
用例名称
参加活动操作
用例描述
管理员正确登录后台管理的条件下,对参加活动模块进行管理
参与者
管理员
前置条件
管理员成功登录
后置条件
操作成功
主事件流
(1)管理员进入参加活动管理页面,查询参加活动的信息
(2)管理员可以对参加活动进行增删除和编辑参加活动操作
(3)管理员新增参加活动,添加成功跳转到查询页面
异常事件流
e1.报500错误
e2.数据库连接异常
表3-1 资讯管理用例描述
描述项
说明
用例名称
资讯操作
用例描述
管理员正确登录后台管理的条件下,资讯模块进行管理
参与者
管理员
前置条件
管理员成功登录
后置条件
操作成功
主事件流
(1)管理员进入资讯管理页面,查询资讯内容的信息
(2)管理员可以对资讯进行删除操作
异常事件流
e1.报500错误
e2.数据库连接异常
表3-1 公告管理用例描述
用例名称
公告管理
参与者
管理者
描述
管理者提供新增、修改、删除、查阅等功能
前置条件
管理者成功登录系统管理者只能对已存在的公告进行修改和删除后置条件
无
事件流
(1)管理者查看修改公告
(2)管理者添加公告
(3)管理者删除公告
补充说明
(a)新添加的公告不符合要求时会添加失败
(b)修改的公告不符合要求时会修改失败
表3-1 交流管理用例描述
描述项
说明
用例名称
交流操作
用例描述
管理员正确登录后台管理的条件下,交流模块进行管理
参与者
管理员
前置条件
管理员成功登录
后置条件
操作成功
主事件流
(1)管理员进入交流界面,查询交流内容信息
(2)管理员可以删除交流
异常事件流
e1.报500错误
e2.数据库连接异常
表3-1 回复管理用例描述
描述项
说明
用例名称
回复操作
用例描述
管理员正确登录后台管理的条件下,回复模块进行管理
参与者
管理员
前置条件
管理员成功登录
后置条件
操作成功
主事件流
(1)管理员进入回复管理页面,查询回复内容的信息
(2)管理员可以删除回复
异常事件流
e1.报500错误
e2.数据库连接异常
表3-1 评论管理用例描述
描述项
说明
用例名称
评论操作
用例描述
管理员正确登录后台管理的条件下,评论模块进行管理
参与者
管理员
前置条件
管理员成功登录
后置条件
操作成功
主事件流
(1)管理员进入评论管理页面,查询评论内容的信息
(2)管理员可以从用户评论中删除数据
异常事件流
e1.报500错误
e2.数据库连接异常
表3-1 帖子管理用例描述
描述项
说明
用例名称
帖子操作
用例描述
管理员正确登录后台管理的条件下,对帖子进行管理
参与者
管理员
前置条件
管理员成功登录
后置条件
操作成功
主事件流
(1)管理员进入帖子管理页面,查询帖子的信息
(2)管理员可以对进行增删除和编辑帖子操作
管理员新增帖子,添加成功跳转到查询页面
异常事件流
e1.报500错误
e2.数据库连接异常
系统性能需求第一,友好界面。宠物管理系统开发设计,界面的友好性比较重要,满足这一要求才能体现出人性化设计特征,和用户应用系统便捷性相适应,动态的人机交互设计,用户应用系统的时候能感受到操作的便利,提高用户的体验良好感受,才能有助于将系统开采设计的作用价值充分发挥出来。
第二,稳定性要求。开发设计的宠物管理系统,需要保持其稳定,系统应用稳定才能有助于各项管理工作高效率完成,提升系统使用体验度。系统运行保障因外部异常造成系统崩溃,系统发生问题后数据能及时备份,第一时间恢复数据信息,保障系统良好运行。
第三,可扩展性。宠物管理系统的开发设计,需要满足可扩展性的要求,系统的设计需要考虑未来系统业务扩展问题,在测试不断应用下,功能需求会不断扩展,通过良好扩展性作用发挥,满足多样化的需要。
系统设计 总体目标宠物管理系统主要服务于宠物的宠物管理系统,利用网络改变传统宠物管理系统模式,简化宠物管理系统流程,减轻传统宠物管理系统带来的工作负担和降低大量资源的消耗。本系统达到的目标主要有以下几点:
(1)通过简单的页面设计和便捷的功能操作,保证系统的简单性和实用性,形成良好的用户体验。
(2)本系统主要针对宠物管理系统需求进行设计开发,突出较强的针对性。
(3)能够具有一定的安全机制,保证用户信息的安全性。
总体结构设计层次框图是一系列由多层矩形框架组成的树,其顶部为矩形框架,表示整个数据结构,下方的长方形立方体表示独立的数据,下方的长方形表示该数据的实际数据(不能进行分割)。由于这个架构的精炼,层级方块图描述的资料结构也愈加详尽,这个模型很好地满足了需求分析的要求。首先对最上层的信息进行分类,然后在图表中的每个路径上重复地进行优化,直至完整的数据结构被确定。
这个系统由二个模块组成,一个是管理员,另一个是用户,这二个部分看起来是独立的,实际上却是连接着数据库,每个模块都有自己的权限,唯一不同的,就是访问的方式不同。在调研资料的基础上,完成了各个模块的功能。在对上述功能进行分析的基础上,本系统提出了二个主要的模块,每个单元可划分为若干小单元。
系统的功能结构图如下图所示。
图4-2 系统功能结构图
功能模块设计1.登录模块:
本宠物管理系统的用户登录涉及到三类信息的判断:第一类是用户名和密码是否为空;第二类是验证码是否录入和正确;第三类就是用户登录信息、验证码和权限是否匹配通过。在该用户登录流程对会对用户名和密码是否为空进行判断,以及验证码是否正确进行判断,只有以上的几类信息中的一种存在问题的情况下都是无法登录成功的。
2.公告管理模块:
本宠物管理系统中的公告管理,管理方式都是对信息的三种基本操作:一种是完成公告信息的添加,在这里会对公告信息的录入情况来判断;一种是对公告信息的修改,另一种就是对公告信息的删除。其后两种操作都是要建立在第一种操作而生成的公告列表的基础上完成的。
3.领养中心管理模块:
本宠物管理系统中的领养中心管理,管理方式都是对信息的三种基本操作:一种是完成领养中心信息的添加,在这里会对领养中心信息的录入情况来判断;一种是对领养中心信息的修改,另一种就是对领养中心信息的删除。其后两种操作都是要建立在第一种操作而生成的领养中心列表的基础上完成的。
4.交流论坛模块:
交流论坛模块包括话题板块模块、发帖、回帖、帖子管理等字模块,论坛模块里存在各种各样的话题板块,用户在相应的板块讨论相应的话题,用户在线发帖、回帖,管理人员管理所有论坛的帖子,对违规的在线删帖。
数据库设计 概念设计借助目前的UML建模软件,ER图使其他用户可以快速轻松地了解系统的功能以及他们之间的关系。根据宠物管理系统的系统分析结果,整个宠物管理系统包括以下各个单元:管理员,用户,交流论坛,评论,公告等。
系统的主要实体间关系E-R图如下图所示。
图4-3 系统E-R图
逻辑设计所有系统的应用数据相互区分。一旦在相应的系统中实现,它们将与自己相应的网络和服务器通信。所以这个系统可以连接这些数据。当我们选择桥梁截面时,以下将简要介绍如何建立系统。在单击上一个按键的时候,就会自动在对话框中弹出数据源的名字,之后再单击下一个按键时,就在填写相对应的身份验证和登录信息。按照系统功能设计的特点与职能模块的分类,宠物管理系统的总体设计和实施过程一共涉及到了几个资料表格。
以下就介绍了一些根据各类别主要数据库表的设计结构以及基本功能建立数据库表:
编号
名称
数据类型
长度
小数位
允许空值
主键
默认值
说明
1
activity_type_id
int
10
0
N
Y
活动类型ID
2
activity_type
varchar
64
0
Y
N
活动类型
3
recommend
int
10
0
N
N
0
智能推荐
4
create_time
datetime
19
0
N
N
CURRENT_TIMESTAMP
创建时间
5
update_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
更新时间
编号
名称
数据类型
长度
小数位
允许空值
主键
默认值
说明
1
adoption_application_id
int
10
0
N
Y
领养申请ID
2
pet_id
varchar
64
0
Y
N
宠物编号
3
pet_name
varchar
64
0
Y
N
宠物名称
4
pet_species
varchar
64
0
Y
N
宠物种类
5
pet_age
varchar
64
0
Y
N
宠物年龄
6
sex_of_pet
varchar
64
0
Y
N
宠物性别
7
pet_personality
varchar
64
0
Y
N
宠物性格
8
adoption_address
varchar
64
0
Y
N
领养地址
9
volunteer
int
10
0
Y
N
0
志愿者
10
ordinary_users
int
10
0
Y
N
0
普通用户
11
user_name
varchar
64
0
Y
N
用户姓名
12
petting_experience
varchar
64
0
Y
N
养宠经历
13
reason_for_adoption
text
65535
0
Y
N
领养理由
14
examine_state
varchar
16
0
N
N
未审核
审核状态
15
examine_reply
varchar
16
0
Y
N
审核回复
16
recommend
int
10
0
N
N
0
智能推荐
17
create_time
datetime
19
0
N
N
CURRENT_TIMESTAMP
创建时间
18
update_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
更新时间
编号
名称
数据类型
长度
小数位
允许空值
主键
默认值
说明
1
adoption_center_id
int
10
0
N
Y
领养中心ID
2
pet_id
varchar
64
0
Y
N
宠物编号
3
pet_name
varchar
64
0
Y
N
宠物名称
4
cover
varchar
255
0
Y
N
封面
5
pet_species
varchar
64
0
Y
N
宠物种类
6
pet_age
varchar
64
0
Y
N
宠物年龄
7
sex_of_pet
varchar
64
0
Y
N
宠物性别
8
pet_personality
varchar
64
0
Y
N
宠物性格
9
adoption_address
varchar
64
0
Y
N
领养地址
10
pet_status
varchar
64
0
Y
N
宠物状态
11
volunteer
int
10
0
Y
N
0
志愿者
12
pet_details
longtext
2147483647
0
Y
N
宠物详情
13
recommend
int
10
0
N
N
0
智能推荐
14
create_time
datetime
19
0
N
N
CURRENT_TIMESTAMP
创建时间
15
update_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
更新时间
编号
名称
数据类型
长度
小数位
允许空值
主键
默认值
说明
1
comment_id
int
10
0
N
Y
评论ID:
2
user_id
int
10
0
N
N
0
评论人ID:
3
reply_to_id
int
10
0
N
N
0
回复评论ID:空为0
4
content
longtext
2147483647
0
Y
N
内容:
5
nickname
varchar
255
0
Y
N
昵称:
6
avatar
varchar
255
0
Y
N
头像地址:[0,255]
7
create_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
创建时间:
8
update_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
更新时间:
9
source_table
varchar
255
0
Y
N
来源表:
10
source_field
varchar
255
0
Y
N
来源字段:
11
source_id
int
10
0
N
N
0
来源ID:
编号
名称
数据类型
长度
小数位
允许空值
主键
默认值
说明
1
confirmation_of_foster_care_id
int
10
0
N
Y
寄养确认ID
2
foster_care_number
varchar
64
0
N
N
寄养号
3
management_number
varchar
64
0
Y
N
管理编号
4
name_of_foster_care_room
varchar
64
0
Y
N
寄养房名
5
pet_species
varchar
64
0
Y
N
宠物种类
6
foster_care_address
varchar
64
0
Y
N
寄养地址
7
volunteer
int
10
0
Y
N
0
志愿者
8
date_of_foster_care
date
10
0
Y
N
寄养日期
9
ordinary_users
int
10
0
Y
N
0
普通用户
10
user_name
varchar
64
0
Y
N
用户姓名
11
number_of_foster_care
int
10
0
Y
N
0
寄养数量
12
pet_screenshot
varchar
255
0
Y
N
宠物截图
13
foster_care_application
text
65535
0
Y
N
寄养申请
14
recommend
int
10
0
N
N
0
智能推荐
15
create_time
datetime
19
0
N
N
CURRENT_TIMESTAMP
创建时间
16
update_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
更新时间
编号
名称
数据类型
长度
小数位
允许空值
主键
默认值
说明
1
end_of_foster_care_id
int
10
0
N
Y
寄养结束ID
2
foster_care_number
varchar
64
0
N
N
寄养号
3
management_number
varchar
64
0
Y
N
管理编号
4
name_of_foster_care_room
varchar
64
0
Y
N
寄养房名
5
pet_species
varchar
64
0
Y
N
宠物种类
6
foster_care_address
varchar
64
0
Y
N
寄养地址
7
volunteer
int
10
0
Y
N
0
志愿者
8
date_of_foster_care
date
10
0
Y
N
寄养日期
9
ordinary_users
int
10
0
Y
N
0
普通用户
10
user_name
varchar
64
0
Y
N
用户姓名
11
number_of_foster_care
int
10
0
Y
N
0
寄养数量
12
pet_screenshot
varchar
255
0
Y
N
宠物截图
13
remarks
text
65535
0
Y
N
备注
14
recommend
int
10
0
N
N
0
智能推荐
15
create_time
datetime
19
0
N
N
CURRENT_TIMESTAMP
创建时间
16
update_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
更新时间
编号
名称
数据类型
长度
小数位
允许空值
主键
默认值
说明
1
foster_care_application_id
int
10
0
N
Y
寄养申请ID
2
foster_care_number
varchar
64
0
Y
N
寄养号
3
management_number
varchar
64
0
Y
N
管理编号
4
name_of_foster_care_room
varchar
64
0
Y
N
寄养房名
5
pet_species
varchar
64
0
Y
N
宠物种类
6
foster_care_address
varchar
64
0
Y
N
寄养地址
7
volunteer
int
10
0
Y
N
0
志愿者
8
date_of_foster_care
date
10
0
Y
N
寄养日期
9
ordinary_users
int
10
0
Y
N
0
普通用户
10
user_name
varchar
64
0
Y
N
用户姓名
11
number_of_foster_care
int
10
0
Y
N
0
寄养数量
12
pet_screenshot
varchar
255
0
Y
N
宠物截图
13
foster_care_application
text
65535
0
Y
N
寄养申请
14
examine_state
varchar
16
0
N
N
未审核
审核状态
15
examine_reply
varchar
16
0
Y
N
审核回复
16
recommend
int
10
0
N
N
0
智能推荐
17
create_time
datetime
19
0
N
N
CURRENT_TIMESTAMP
创建时间
18
update_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
更新时间
编号
名称
数据类型
长度
小数位
允许空值
主键
默认值
说明
1
foster_care_center_id
int
10
0
N
Y
寄养中心ID
2
management_number
varchar
64
0
Y
N
管理编号
3
name_of_foster_care_room
varchar
64
0
Y
N
寄养房名
4
pet_species
varchar
64
0
Y
N
宠物种类
5
cover
varchar
255
0
Y
N
封面
6
number_of_house_types
int
10
0
Y
N
0
房型数量
7
foster_care_address
varchar
64
0
Y
N
寄养地址
8
volunteer
int
10
0
Y
N
0
志愿者
9
introduction_to_foster_care
longtext
2147483647
0
Y
N
寄养介绍
10
recommend
int
10
0
N
N
0
智能推荐
11
create_time
datetime
19
0
N
N
CURRENT_TIMESTAMP
创建时间
12
update_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
更新时间
编号
名称
数据类型
长度
小数位
允许空值
主键
默认值
说明
1
ordinary_users_id
int
10
0
N
Y
普通用户ID
2
user_name
varchar
64
0
Y
N
用户姓名
3
user_gender
varchar
64
0
Y
N
用户性别
4
petting_experience
varchar
64
0
Y
N
养宠经历
5
examine_state
varchar
16
0
N
N
已通过
审核状态
6
recommend
int
10
0
N
N
0
智能推荐
7
user_id
int
10
0
N
N
0
用户ID
8
create_time
datetime
19
0
N
N
CURRENT_TIMESTAMP
创建时间
9
update_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
更新时间
编号
名称
数据类型
长度
小数位
允许空值
主键
默认值
说明
1
participate_in_activities_id
int
10
0
N
Y
参加活动ID
2
activity_no
varchar
64
0
Y
N
活动编号
3
activity_name
varchar
64
0
Y
N
活动名称
4
activity_type
varchar
64
0
Y
N
活动类型
5
venue
varchar
64
0
Y
N
活动地点
6
activity_time
varchar
64
0
Y
N
活动时间
7
volunteer
int
10
0
Y
N
0
志愿者
8
ordinary_users
int
10
0
Y
N
0
普通用户
9
user_name
varchar
64
0
Y
N
用户姓名
10
reason_for_participation
text
65535
0
Y
N
参加原因
11
examine_state
varchar
16
0
N
N
未审核
审核状态
12
examine_reply
varchar
16
0
Y
N
审核回复
13
recommend
int
10
0
N
N
0
智能推荐
14
user_id
int
10
0
N
N
0
用户ID
15
create_time
datetime
19
0
N
N
CURRENT_TIMESTAMP
创建时间
16
update_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
更新时间
编号
名称
数据类型
长度
小数位
允许空值
主键
默认值
说明
1
pet_species_id
int
10
0
N
Y
宠物种类ID
2
pet_species
varchar
64
0
Y
N
宠物种类
3
recommend
int
10
0
N
N
0
智能推荐
4
create_time
datetime
19
0
N
N
CURRENT_TIMESTAMP
创建时间
5
update_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
更新时间
编号
名称
数据类型
长度
小数位
允许空值
主键
默认值
说明
1
volunteer_id
int
10
0
N
Y
志愿者ID
2
name_of_volunteer
varchar
64
0
Y
N
志愿者姓名
3
reason_for_application
text
65535
0
Y
N
申请原因
4
examine_state
varchar
16
0
N
N
未审核
审核状态
5
recommend
int
10
0
N
N
0
智能推荐
6
user_id
int
10
0
N
N
0
用户ID
7
create_time
datetime
19
0
N
N
CURRENT_TIMESTAMP
创建时间
8
update_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
更新时间
编号
名称
数据类型
长度
小数位
允许空值
主键
默认值
说明
1
volunteer_activities_id
int
10
0
N
Y
志愿活动ID
2
activity_no
varchar
64
0
Y
N
活动编号
3
activity_name
varchar
64
0
Y
N
活动名称
4
activity_type
varchar
64
0
Y
N
活动类型
5
cover
varchar
255
0
Y
N
封面
6
venue
varchar
64
0
Y
N
活动地点
7
activity_time
varchar
64
0
Y
N
活动时间
8
volunteer
int
10
0
Y
N
0
志愿者
9
activity_content
longtext
2147483647
0
Y
N
活动内容
10
recommend
int
10
0
N
N
0
智能推荐
11
timer_title
varchar
64
0
Y
N
计时器标题
12
timing_start_time
datetime
19
0
Y
N
计时开始时间
13
timing_end_time
datetime
19
0
Y
N
计时结束时间
14
limit_times
int
10
0
N
N
0
限制次数
15
limit_type
tinyint
4
0
N
N
2
限制次数类型1-每天次,2-总计次
16
create_time
datetime
19
0
N
N
CURRENT_TIMESTAMP
创建时间
17
update_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
更新时间
系统实现 登录模块的实现用户登录的验证将不再局限于登录信息和权限的匹配验证,而是另外增加了一个验证码,只有界面上所有的编辑框数据都准确的情况下才能实现登录成功。管理员的登录和前台用户登录是一样的过程,其主要就是利用权限字段来完成对用户或管理员的角色识别。
用户登录流程图如下所示。
图5-1 用户登录流程图
登录界面如下图所示。
图5-1 登录界面
登录关键代码如下所示。
/**
* 登录
* @param data
* @param httpServletRequest
* @return
*/
@PostMapping("login")
public Map<String, Object> login(@RequestBody Map<String, String> data, HttpServletRequest httpServletRequest) {
log.info("[执行登录接口]");
String username = data.get("username");
String email = data.get("email");
String phone = data.get("phone");
String password = data.get("password");
List resultList = null;
QueryWrapper wrapper = new QueryWrapper<User>();
Map<String, String> map = new HashMap<>();
if(username != null && "".equals(username) == false){
map.put("username", username);
resultList = service.selectBaseList(service.select(map, new HashMap<>()));
}
else if(email != null && "".equals(email) == false){
map.put("email", email);
resultList = service.selectBaseList(service.select(map, new HashMap<>()));
}
else if(phone != null && "".equals(phone) == false){
map.put("phone", phone);
resultList = service.selectBaseList(service.select(map, new HashMap<>()));
}else{
return error(30000, "账号或密码不能为空");
}
if (resultList == null || password == null) {
return error(30000, "账号或密码不能为空");
}
//判断是否有这个用户
if (resultList.size()<=0){
return error(30000,"用户不存在");
}
User byUsername = (User) resultList.get(0);
Map<String, String> groupMap = new HashMap<>();
groupMap.put("name",byUsername.getUserGroup());
List groupList = userGroupService.selectBaseList(userGroupService.select(groupMap, new HashMap<>()));
if (groupList.size()<1){
return error(30000,"用户组不存在");
}
UserGroup userGroup = (UserGroup) groupList.get(0);
//查询用户审核状态
if (!StringUtils.isEmpty(userGroup.getSourceTable())){
String res = service.selectExamineState(userGroup.getSourceTable(),byUsername.getUserId());
if (res==null){
return error(30000,"用户不存在");
}
if (!res.equals("已通过")){
return error(30000,"该用户审核未通过");
}
}
//查询用户状态
if (byUsername.getState()!=1){
return error(30000,"用户非可用状态,不能登录");
}
String md5password = service.encryption(password);
if (byUsername.getPassword().equals(md5password)) {
// 存储Token到数据库
AccessToken accessToken = new AccessToken();
accessToken.setToken(UUID.randomUUID().toString().replaceAll("-", ""));
accessToken.setUser_id(byUsername.getUserId());
tokenService.save(accessToken);
// 返回用户信息
JSONObject user = JSONObject.parseObject(JSONObject.toJSONString(byUsername));
user.put("token", accessToken.getToken());
JSONObject ret = new JSONObject();
ret.put("obj",user);
return success(ret);
} else {
return error(30000, "账号或密码不正确");
}
}
public String select(Map<String,String> query,Map<String,String> config){
StringBuffer sql = new StringBuffer("select ");
sql.append(config.get(FindConfig.FIELD) == null || "".equals(config.get(FindConfig.FIELD)) ? "*" : config.get(FindConfig.FIELD)).append(" ");
sql.append("from ").append("`").append(table).append("`").append(toWhereSql(query, "0".equals(config.get(FindConfig.LIKE))));
if (config.get(FindConfig.GROUP_BY) != null && !"".equals(config.get(FindConfig.GROUP_BY))){
sql.append("group by ").append(config.get(FindConfig.GROUP_BY)).append(" ");
}
if (config.get(FindConfig.ORDER_BY) != null && !"".equals(config.get(FindConfig.ORDER_BY))){
sql.append("order by ").append(config.get(FindConfig.ORDER_BY)).append(" ");
}
if (config.get(FindConfig.PAGE) != null && !"".equals(config.get(FindConfig.PAGE))){
int page = config.get(FindConfig.PAGE) != null && !"".equals(config.get(FindConfig.PAGE)) ? Integer.parseInt(config.get(FindConfig.PAGE)) : 1;
int limit = config.get(FindConfig.SIZE) != null && !"".equals(config.get(FindConfig.SIZE)) ? Integer.parseInt(config.get(FindConfig.SIZE)) : 10;
sql.append(" limit ").append( (page-1)*limit ).append(" , ").append(limit);
}
log.info("[{}] - 查询操作,sql: {}",table,sql);
return sql.toString();
}
public List selectBaseList(String select) {
List<Map<String,Object>> mapList = baseMapper.selectBaseList(select);
List<E> list = new ArrayList<>();
for (Map<String,Object> map:mapList) {
list.add(JSON.parseObject(JSON.toJSONString(map),eClass));
}
return list;
}
用户模块的实现 注册模块的实现系统的用户通过自行注册生成,在系统首页点击用户注册菜单,系统跳转到对应的注册页面。点击重置按钮,清空所填数据,点击注册按钮完成注册。
用户注册流程图如下所示。
图5-1 用户注册流程图
用户注册界面如下图所示。
图5-1 用户注册界面
注册关键代码如下所示。
/**
* 注册
* @return
*/
@PostMapping("register")
public Map<String, Object> signUp(HttpServletRequest request) throws IOException {
// 查询用户
Map<String, String> query = new HashMap<>();
Map<String,Object> map = service.readBody(request.getReader());
query.put("username",String.valueOf(map.get("username")));
List list = service.selectBaseList(service.select(query, new HashMap<>()));
if (list.size()>0){
return error(30000, "用户已存在");
}
map.put("password",service.encryption(String.valueOf(map.get("password"))));
service.insert(map);
return success(1);
}
public Map<String,Object> readBody(BufferedReader reader){
BufferedReader br = null;
StringBuilder sb = new StringBuilder("");
try{
br = reader;
String str;
while ((str = br.readLine()) != null){
sb.append(str);
}
br.close();
String json = sb.toString();
return JSONObject.parseObject(json, Map.class);
}catch (IOException e){
e.printStackTrace();
}finally{
if (null != br){
try{
br.close();
}catch (IOException e){
e.printStackTrace();
}
}
}
return null;
}
public void insert(Map<String,Object> body){
E entity = JSON.parseObject(JSON.toJSONString(body),eClass);
baseMapper.insert(entity);
log.info("[{}] - 插入操作:{}",entity);
}
交流模块的实现当用户和用户之间交流之后,管理者可以在主界面中可以选择交流功能,管理者可以进行用户的交流查看,可以进行填写交流回复,也可以对交流进行删除。通过这种方式,管理者可以和用户进行密切的交流。
发表交流流程图如下所示。
图5-1 发表交流流程图
发表交流界面如图所示。
图5-1 发表交流界面
领养中心收藏模块的实现用户选择相应的领养中心收藏,通过id传参,找到id为此传参的领养中心,在收藏页提交收藏记录表单,生成收藏记录,用户在个人中心管理个人的收藏夹。
领养中心收藏界面如下图所示。
图5-1 领养中心收藏界面
密码修改模块的实现用户使用该宠物管理系统注册完成后,用户对登录密码有修改需求时,系统也可以提供用户修改密码权限。系统中所有的操作者能够变更自己的密码信息,执行该功能首先必须要登入系统,然后选择密码变更选项以后在给定的文本框中填写初始密码和新密码来完成修改密码的操作。在填写的时候,假如两次密码填写存在差异,那么此次密码变更操作失败,下面的图片展示的就是该板块对应的工作面。
密码修改流程图如下所示。
图5-1 密码修改流程图
密码修改界面如图所示。
图5-1 密码修改界面
后台模块的实现 用户管理模块的实现用户通过注册了方可获得登录使用权限,此时选择注册用户选项,系统就会自动转到用户注册工作面,在注册该部分信息时系统会自动调用add函数,然后在给定的文本框中填写有关该用户的基础信息后选择确认即可完成注册。检索用户信息,在新增用户信息以后,在检索工具栏中填写对应的用户信息,系统就会将该用户有关的所有信息展示出来。
用户管理流程图如下所示。
图5-1 用户管理流程图
用户管理界面如下图所示。
图5-1 用户管理界面
用户管理代码如下。
public List selectBaseList(String select) {
List<Map<String,Object>> mapList = baseMapper.selectBaseList(select);
List<E> list = new ArrayList<>();
for (Map<String,Object> map:mapList) {
list.add(JSON.parseObject(JSON.toJSONString(map),eClass));
}
return list;
}
系统公告管理模块的实现在主页左侧菜单栏中点击“系统公告管理”按钮,再从二级目录中点击“新增公告”按钮,进入到新增公告界面。在此处公告可以添加公告的标题。
在主页左侧菜单栏中点击“系统公告管理”按钮,再从二级目录中点击“查询公告”按钮,进入到查询公告界面。在此处公告可以查询当前所有公告记录。
系统公告展示界面如下图所示。
图5-1 系统公告展示界面
系统公告管理界面如下图所示。
图5-1 系统公告管理界面
宠物种类管理模块的实现管理员执行宠物种类管理,并可以操作相关内容,例如添加,查看,编辑和删除。通过单击“添加宠物种类”,可以通过宠物种类添加界面添加详细信息并添加宠物种类注释。单击查看字段级别链接以查看有关所选字段级别的信息。然后单击“提交”跳转重返到添加页面。添加成功后的信息会载入到宠物种类查询列表中,管理员可进行编辑以及修改。
宠物种类管理流程如下图所示。
图5-1宠物种类管理流程
宠物种类管理界面如下图所示。
图5-1宠物种类管理界面
领养申请管理模块的实现用户选择领养添加申请记录,管理员审核领养申请信息,管理所有用户的领养申请记录。
领养申请管理流程图如下所示。
图5-1 领养申请管理流程图
领养申请维护界面如下所示。
图5-1 领养申请维护界面
寄养结束管理模块的实现管理员执行寄养结束管理,并可以操作相关内容,例如添加,查看,编辑和删除。通过单击“添加寄养结束”,可以通过寄养结束添加界面添加详细信息。单击查看字段级别链接以查看有关所选字段级别的信息。然后单击“提交”跳转重返到添加页面。添加成功后的信息会载入到寄养结束查询列表中,管理员可进行编辑以及修改。
寄养结束添加流程图如下所示。
图5-1 寄养结束添加流程图
寄养结束查询界面如下所示。
图5-1 寄养结束查询界面
[1]颜惠.基于Web的宠物店信息管理系统设计[J].软件,2023,44(02):147-149.
[2]平欣,宋育斌,孔维宾,方忠庆,陈希.基于GPS与微信小程序的智能宠物管理系统设计[J].软件导刊,2023,22(02):121-126.
[3]伍德鹏,李佩学.基于SSM框架的高职院校教学办公用品管理信息系统设计研究[J].轻工科技,2023,39(01):99-101.
[4]常婉纶,谈姝辰,屈小娥,田召.基于SSM框架的二级学院教科研信息共享系统的设计与实现[J].电脑知识与技术,2022,18(34):39-41.DOI:10.14004/j.cnki.ckt.2022.2208.
[5]曹泽翰.基于SSM框架的流体力学课程虚拟仿真实验平台设计[J].信息与电脑(理论版),2022,34(20):34-36.
[6]庄帅.宠物管理系统的设计及实现[J].福建电脑,2022,38(05):68-72.DOI:10.16707/j.cnki.fjpc.2022.05.017.
[7]陈锋, 基于物联网平台的宠物半散养式管理系统及方法. 安徽省,安徽一网网络科技有限公司,2021-05-04.
[8]陈侨,陈健,冯垚学. 智能宠物舍及宠物管理系统[P]. 四川省:CN212629498U,2021-03-02.
[9]王亚文,赵翠.基于SSM框架的社区宠物信息管理系统设计与分析[J].电脑编程技巧与维护,2021(01):103-105.DOI:10.16184/j.cnki.comprg.2021.01.036.
[10]吴文洋,刘世宇.基于B/S架构宠物领养管理系统设计[J].软件,2020,41(11):85-87.
[11]叶军,华旭奋,孙晓艳.基于用户体验的互联网+宠物管理系统设计与实现[J].科技创新与应用,2020(31):87-89.
[12]马海珠.小型宠物店管理系统的设计[J].电脑知识与技术,2019,15(36):93-94+108.DOI:10.14004/j.cnki.ckt.2019.4297.
[13]. Design and Implement of Pets Management System using Mobile Phone[J]. International Journal of Recent Technology and Engineering,2019,8(2S6).
[14]Sam-Jin Jeong. Design and Implement of Pets Management System using Mobile Phone[J]. International Journal of Recent Technology and Engineering (IJRTE),2019,8(2s6).
[15]张帆. 华阳社区宠物医院管理系统的设计与实现[D].东北大学,2016.
在此论文完成之际,感谢我的指导老师。在指导老师的网页设计课上,当时我学到了很多东西,这对于我实习过程中也打了一定的基础,而且指导老师对于我的设计也提出许多建议,并予以悉心的指导,对于一些细小的问题都耐心的指导我去完善,授予我写论文的心得,时常的鼓励我,另外感谢教导我完善此项目的前端同学,对于这个项目,我是边学习边实现完成的,有许多东西开始并不是很明白,但前端开发的同学非常耐心的引导我去将这个项目完成,在系统的后端开发中,所用到的后台开发技术也时常会给我讲解,助于我更好的将论文完成,在此对帮助到我的同学和一直予以教导的指导老师致以衷心的感谢,祝事业有成。
相关知识
宠物管理系统设计与实现 计算机毕设源码56932
毕设项目:宠物网站的设计与实现(JSP+java+springmvc+mysql+MyBatis)
毕设项目:宠物之家管理系统(JSP+java+springmvc+mysql+MyBatis)
毕设
计算机毕业设计宠物领养救助系统设计与实现SSM+源码+调试部署+系统+数据库+lw
【附源码】基于JavaWeb的宠物领养管理系统的设计与实现b98ry9计算机毕设SSM
【计算机专业毕设最新Java必过毕设选题2025】基于springboot的宠物医院预约管理系统(源码+万字LW)
开题报告+文档+源码】基于Java的宠物医院管理系统的设计与实现
[附源码]宠物领养管理系统696729计算机毕设JSP
java+vue计算机毕设宠物收养管理系统【源码+开题+论文+程序】
网址: 宠物管理系统设计与实现 计算机毕设源码56932 https://m.mcbbbk.com/newsview284630.html
上一篇: (附源码)SSM宠物领养系统的设 |
下一篇: 养猫特辑|耳螨❓耳炎❓猫咪耳朵常 |