行业知识
springboot宠物领养管理系统-计算机毕业设计源码46534
摘 要
网络发布信息有其突出的优点,即信息量大,资源丰富,更新速度快等,很符合人们希望以捷、便利的方式获得最多最有效信息的要求。本系统就是一个网上宠物领用的系统,为宠物爱好者提供一个信息发布的平台,用户来到平台后,可以发布宠物信息,可以中请领养,给广大的用户提供了极大的方便。
本文主要介绍了基于Java的宠物领养平台,该系统以java为开发语言,myspl为系统数据库,运用当前流行的springboot为主要框架。利用网络高效率、低成本,以及及时更新的特点,为宠物爱好者提供一个信息发布和交流的平台。
网络发布信息有其突出的优点,即信息量大,资源丰富,更新速度快等,很符合人们希望以快捷、便利的方式获得最多最有效信息的要求。本系统就是一个网上宠物领用的系统,为宠物爱好者提供一个信息发布的平台,用户来到平台后,可以发布宠物信息,可以申请领养,给广大的用户提供了极大的方便。
关键词:宠物领养管理,Mysql数据库,Java技术
Abstract
The network publishing information has its outstanding advantages, that is, large amount of information, rich resources, fast update speed, etc., which is very consistent with the requirements that people want to get the most effective information in a quick and convenient way. This system is an online pet collection system, which provides a platform for pet lovers to release information. Users can release pet information after arriving at the platform, and can apply for adoption, which provides great convenience for users.
This paper mainly introduces a java based pet adoption platform. The system uses Java as the development language, myspl as the system database, and the current popular spring boot as the main framework. With the characteristics of high efficiency, low cost and timely updating of the network, it provides a platform for pet lovers to release and exchange information.
The network publishing information has its outstanding advantages, that is, large amount of information, rich resources, fast update speed, etc., which is very consistent with the requirements that people want to get the most effective information in a fast and convenient way. This system is an online pet collection system, which provides a platform for pet lovers to publish information. Users can publish pet information and apply for adoption after arriving at the platform, which provides great convenience for users.
Keywords: pet adoption management, MySQL database, Java technology
目 录
摘 要
第1章 概述
1.1 研究背景
1.2 研究现状
1.3 研究内容
第二章 开发技术介绍
2.1 系统开发平台
2.2 平台开发相关技术
2.2.1 B/S架构
2.2.2 Java技术介绍
2.2.3 mysql数据库介绍
第三章 系统分析
3.1 可行性分析
3.1.1 技术可行性
3.1.2 经济可行性
3.1.3 操作可行性
3.2 系统性能分析
3.3 系统功能需求分析
3.4 系统操作流程
3.4.1用户登录流程
3.4.2信息添加流程
3.4.3信息删除流程
第四章 系统设计
4.1 系统的功能结构图
4.2 数据库概念结构设计
4.2.1 数据库E-R图
4.2.2 数据库逻辑结构设计
第五章 系统功能实现
5.1系统功能模块
第六章 系统测试
6.1 测试目的
6.2 测试方案设计
6.2.1 测试策略
6.2.2 测试分析
6.3 测试结果
结束语
致 谢
参考文献
第1章 概述
1.1 研究背景
近年来,随着生活水平的不断提高与发展,越来越多人喜欢在宠物领养管理系统查看宠物信息,领养自己喜欢的宠物,将自己喜欢的宠物商品收藏,方便自己进行购买。宠物领养管理对用户和管理员都有很大帮助,在线寻主寻宠管理通过和数据库管理系软件协作来实现用户与管理员之间的一个很好的操作平台,基于这一点,设计了一个宠物领养管理。
经过对以上的情况进行分析,我们对用户的实际需求进行了详细的分析,指定出了相应的开发计划,为了方便用户在线进行查看宠物信息以及可以在线进行购买商品方面的管理操作,帮助宠物管理员节省很多的管理时间以及可以减少工作量,使得管理工作更加快捷顺利的进行,因此开发设计了该系统。
随着计算机的不断发展,已经融入到我们生活工作的每一个领域中,给我们的生活工作带来了很多的便利,因此,希望可以通过该系统的开发也能使宠物管理实现信息化管理,减轻人的负担,提高工作效率计。
1.2 研究现状
与其他国家相比,我国的软件产业相对落后,在信息化建设方面起步也比较晚,但是随着我国经济的不断发展,以及网络技术的不断提高,我国也在不断的进行软件行业的摸索,也得到了一些成果,我国的软件产业得到了快速的发展,越来越多的软件系统出现在人们的视线中,也逐渐改变着人们生活工作的方式。但是,对于信息化的建设,与很多发达国家相比,由于信息化程度的落后以及经费的不足,我国的宠物领养管理开发方面还是相对落后的,因此,要不断的努力探索,争取开发出一个实用的信息化的宠物管理系统,来实现宠物管理的信息化。因此本课题以宠物为例,目的是开发一个实用的宠物领养管理系统。
宠物领养管理的开发运用java技术,MIS的总体思想,以及MYSQL、springboot等技术的支持下共同完成了该网站系统的开发,实现了宠物管理的信息化,用户可以有一个非常好的宠物体验,管理员也可以通过该系统进行更加方便的管理操作,实现了之前指定好的计划。
1.3 研究内容
通过对管理员和用户的需求分析,我们将该宠物领养管理系统的功能逐步进行了添加,然后进行功能分析和检测,而且针对这两方面进行了深入研究探讨,该宠物领养管理系统主要对开发背景、市场需求、数据库分析、功能模块以及开发技术进行了着重介绍和分析。最后对系统中的功能信息进行测试和分析。本次毕业实现的宠物领养管理系统,不管是可行性分析、系统整体框架设计还是编码,都需要严格遵守软件开发的三个周期八个阶段,在该系统的开发过程中,要保证系统具有良好的时效性、易安装性以及稳定性。在代码编写时一定要按照要求进行,让代码编写看起来更美观,开发出一个便于用户的使用的宠物领养管理系统是本次开发的主要目标。在系统完成之后,利用电脑来将系统进行安置,并且用户可以通过电脑随时进行宠物领养管理。此次在宠物领养管理系统的开发中,对系统要进行可行性分析、系统需求分析等基本分析,并且完成系统的部署和测试,在这些功能都实现之后,通过电脑进行操作系统。系统规划分析中,需要按照以下所示的技术路线。
第二章 开发技术介绍
此次B/S结构、Java技术以及mysql数据库是该宠物领养管理系统的主要开发技术,然后对系统的整体设计、数据库设计、功能模块设计、系统页面设计以及系统程序设计进行了详细的研究与规划。
2.1 系统开发平台
在该宠物领养管理系统中,Eclipse 技术可以给用户带来极大方便,其主要特点就是可以使用户学习起来方便、快捷,另一方面就是信息储存量也是非常大的,该功能主要被应用为数据库中进行查询和编程。并且该功能的数据应用比较灵活,通过我们现在的发展可以得知,只要利用一小部分代码就可以来实现非常强大的功能。因此,该系统数据库开发主要是由Eclipse 技术进行系统代码管理。
2.2 平台开发相关技术
2.2.1 B/S架构
B/S结构的特点也非常多,例如在很多浏览器中都可以做出信号请求。并且可以适当的减轻用户的工作量,通过对客户端安装或者是配置少量的运行软件就能够逐步减少用户的工作量,这些功能的操作主要是由服务器来进行控制的,由于该软件的技术不断成熟,最主要的特点就是与浏览器相互配合为软件开发带来了极大的便利,不仅能够减少开发成本,还能够不断加强系统的软件功能,层层相互独立和展现层是该B/S结构完成相互连接的主要特性。
2.2.2 Java技术介绍
Java语言擅长开发互联网类应用和企业级应用,现在已经相当的成熟,而且也是目前使用最多的编程语言之一。Java语言具有很好的面向对象性,可以符合人的思维模式进行设计,封装是将对象的属性和方法尽可能地隐藏起来,使得外界并不知道是如何实现的,外界能通过接口进行访问,继承是指每个类都会有一个父类,所有的子类都有父类的方法,可以进行继承,但是只有final修饰的类不能被继承,通过继承可以使得代码得到重新利用,能够提高软件的开发效率,也是多态的前提。
Java就像C语言、C#语言等,也是一种程序开发语言,而它的特点就是面向对象。作为一种程序开发与设计的语言,它有很多特性,主要特性就是面向对象、夸平台以及可以分布式运行。Java语言项目不但安全性高、稳定性强,而且可以并发运行。
为了提高开发的速度及效率,必须做到代码的重复使用和简化程序的复杂度,要达到上述的要求java语言通过封装、继承与多态等方式实现,这样可以很大程度上达到信息的封装,提高代码复用率,减少冗余度,提高效率。在Java中难能可贵的一点就是它的垃圾回收机制,它使得以往程序中大量存在的内存泄漏的问题得到了较好的缓解。所谓的内存泄漏就是程序向操作系统申请了一块存储空间,比如定义了一个变量,但是由于某种原因,这个变量一直没有使用,但是仍然占用着系统的内存空间,可能一两个这样的变量对程序和操作系统造不成什么大的影响,但是试想如果这样的变量定义的多了系统的内存空间就会一步步减少,从而造成机器的性能降低甚至宕机。但是在Java中有垃圾回收机制的存在,这种机制极大地避免了内存泄漏的出现,在Java虚拟机中,垃圾回收机制会对长时间没有引用变量指向的对象实施垃圾回收,简单的说就是将这个对象销毁,以避免内存泄漏的情况出现。
2.2.3 mysql数据库介绍
MySQL是一款Relational Database Management System,直译过来的意思就是关系型数据库管理系统,MySQL有着它独特的特点,这些特点使他成为目前最流行的RDBMS之一,MySQL想比与其他数据库如ORACLE、DB2等,它属于一款体积小、速度快的数据库,重点是它符合本次毕业设计的真实宠物环境,拥有成本低,开发源码这些特点,这也是选择它的主要原因。
本系统使用了MySQL数据库,建立了多张数据库表来存储宠物以及宠物领养管理相关数据。系统中主要应用查询(select),修改(update),删除(delete)以及增加(insert)等语句来实现系统功能。
第三章 系统分析
通过对系统功能模块分析可以得知,主要是对项目元素组合、分解和更换做出相应的单元,再通过系统模块来规划出一个原则,系统的设计首先是围绕管理员需求进行开发设计的,主要是为了能够更好的管理信息和服务于用户,其次就是围绕宠物领养管理进行设计,最终的设计必须要满足管理员和用户的需求,这样才能够实现系统的最大意义和价值,并且在设计的时候一定要避免代码相互重复的情况发生。
3.1 可行性分析
可行性分析是每开发一个项目必不可少的一部分,可行性分析可以直接影响一个系统的存活问题,针对开发意义进行分析,还有就是是否可以通过所开发的系统来弥补传统宠物领养管理模式的不足,是否能够更好的解决宠物领养管理问题等,通过对该宠物领养管理系统的开发设计,不仅能够逐步减少工作人员的工作量,而且还可以进行高效工作和管理。所以该系统的开发实现了最大的意义和价值,在系统完成后,利益是否大过于成本,是否能够达到预期效果,这些方面都要进行可行性分析,再通过分析之后,就可以决定是否开发此系统。该宠物领养管理系统的开发设计中,以下几点进行了可行性分析:技术可行性:通过Java技术的采用,由于该技术不断成熟,所以使用该技术设计宠物领养管理系统是具有可行性的。经济可行性:在开发过程中,系统完成后的利益是否大过于开发成本。操作可行性:宠物领养管理系统的开发设计中,方便用户的可操作性和实用性。
3.1.1 技术可行性
由于Java技术的不断成熟,所以它在本次宠物领养管理系统中是非常重要的,该系统的开发主要是基于服务端采用Java 、B/S结构和mysql数据库进行开发设计的。通过对这些技术进行使用,从而保证了系统的完整性和简单性。并且在数据库中保证数据的安全性和稳定性。在校时间我们对Java语言技术和mysql数据库技术进行了学习和交流,并且对软件测试也是简单的了解,然后根据这些销售方式我们可以做出一个简单的系统开发、检验和辨别。通过Java技术和Mysql数据库的相互配合开发出一个高效、稳定的宠物领养管理系统。
(1)轻量级系统,使用灵活:宠物领养管理系统,设计时,考虑到不同使用者的习惯,让系统比较轻量级,便于安装,也完成了系统所具备的所有功能,在以上基础上,通过系统测试与优化,让操作更加灵活。
(2)系统开发0成本:该宠物领养管理系统,以开源的Windows 7 操作系统为基础,采用Java技术编码开发,并使用MySQL轻量级数据库,没有多余的开发成本。
(3)覆盖范围:任何城市,都能安装使用本次设计的宠物领养管理系统,对系统使用方没有严格的规定,平台搭建好了就能使用。
3.1.2 经济可行性
通过经济效益和社会价值来决定一个系统的存活问题,是否通过开发宠物领养管理系统来帮助管理员减少工作,是否能够方便用户的使用,假如开发的软件不能够实现成本节约和资源节约,并且还要投入大量的时间、经济和精力,那么这个系统的开发设计是没有意义和价值的,就不具备开发设计的条件。
3.1.3 操作可行性
此次开发的宠物领养管理系统登录界面是我们最常见的一种登录窗口进行造成的,只需通过电脑就可以登录访问,没有那些复杂的登录过程。该宠物领养管理系统主要是采用B/S结构、Java语言技术以及mysql数据库进行开发设计的,使得系统的开发更高效和稳定,也体现出来该系统的的现代化和规范化。用户可以轻松的进行学习,其系统主要特点就是易操作和易管理。
3.2 系统性能分析
1.系统功能完整性:根据系统每一个功能模块,都能够设计出当初的算法和代码,用户信息主要是以文字和表格的模式进行介绍。
2.系统运行分析:系统中的每一个功能都要有相应的代码和编写数据的关系。系统的物理的数据主要是通过需求分析和可行性分析进行分析和显示的。
3.界面设计:系统中的软件都是由不同的代码来进行处理和分析的,并且保证了系统界面的易操作性能。
4.安全分析:不同的角色要有不同的信息,所以我们登录系统时必须要使用自己的账号和密码进行登录,不能随意进行操作,这样才可以保证系统的安全性。
3.3 系统功能需求分析
任务需求分析是每个系统开发设计必不可少的一部分,系统质量的好坏可以直接影响系统的存活问题,所以我们必须要将任务需求分析做到位,宠物领养管理系统的设计在初期的分析是尤为重要的,通过任务分析可以更顺利的进行系统设计,并且保证了用户的满意度。
(1)用户界面功能表
用户进入系统可以查看首页、宠物论坛、公告消息、宠物商品、领养中心、寻主寻宠、挂失管理、留言反馈操作。用户用例图如图3-1所示。
图3-1 用户界面表
(2)管理员界面功能表
管理员登陆后,主要功能模块包括首页、站点管理(轮播图、公告栏)用户管理(管理员、发布用户、普通用户)内容管理(宠物论坛、论坛分类列表)商城管理(宠物商品、分类列表、订单列表)更多管理(送领记录、领养申请、领养中心、商品报表、寻主寻宠、挂失管理、留言反馈)等功能如图3-2所示。
图3-4 管理员功能表
3.4 系统操作流程
3.4.1用户登录流程
对于系统的安全性的第一关,就是用户想要进入系统,必须通过登录窗口,输入自己的登录信息才可以进行登录,用户输入的信息准确无误后才可以进入到操作系统界面,进行功能模块的相对应操作,如果用户输入的信息不正确,则窗口出现提示框,用户登录失败,返回到第一步进行重新输入,如图3-1所示。
图3-1登录操作流程图
3.4.2信息添加流程
对于宠物领养管理系统,需要随时添加所需要的数据信息,对于用户添加信息,需要根据添加界面,根据选框的内容进行填写所要添加的数据信息,信息输入完成后判断数据信息是否符合要求,符合要求则添加完成,用户所添加的信息不符合要求,则需要返回到第一步,重新输入数据信息,再进行判断操作,如图3-2所示。
图3-2 信息添加流程图
3.4.3信息删除流程
不管是哪个用户角色进入到不通的系统操作界面,都可以进行不同的信息内容的操作功能,对用系统数据信息的删除,用户一旦将信息删除,那么该删除的数据信息将无法恢复,所以用户在对数据删除事,一定判断删除的内容是否是确定要删除的,确定无误后选择确定删除操作,如图3-3所示。
图3-3 信息删除流程图
第四章 系统设计
4.1 系统的功能结构图
通过系统需求分析,该宠物领养管理系统的设计与实现功能结构图如图4-1所示:
图4-1 宠物领养管理系统系统结构图
4.2 数据库概念结构设计
4.2.1 数据库E-R图
数据库是整个软件编程中最重要的一个步骤,对于数据库问题主要是判定数据库的数量和结构公式的创建。展示系统使用的是Mysql进行对数据库进行管理,进行保证数据的安全性、稳定性等。
概念模型的设计是为了抽象真实世界的信息,并对信息世界进行建模。它是数据库设计的强大工具。数据库概念模型设计可以通过E-R图描述现实世界的概念模型。系统的E-R图显示了系统中实体之间的链接。而且Mysql数据库是自我保护能力比较强的数据库,下图主要是对数据库实体的E-R图:
(1) 用户信息E-R图,如图4-3所示:
图4-3 用户信息实体属性图
(2) 宠物信息E-R图如图4-4所示:
图4-4宠物信息实体图
4.2.2 数据库逻辑结构设计
数据库的主要功能就是对相关信息就行存储,通过某种计算进行数据储存,其数据库的数据存储是井井有条的。并且其中的数据具有一定的独立性和安全性。通过对系统功能设计的要求和功能模块的规划,该宠物领养管理系统的设计与实现设计到了多个数据表。以下信息是介绍数据库表的设计结构以及功能建立数据库表:
| adoption_application | |||||
| 字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
| adoption_application_id | int | 11 | 是 | 主键 | 领养申请ID |
| pet_serial_number | varchar | 64 | 否 | 宠物序号 | |
| pet_nickname | varchar | 64 | 否 | 宠物昵称 | |
| classification_of_animals | varchar | 64 | 否 | 动物分类 | |
| animal_species | varchar | 64 | 否 | 动物种类 | |
| adoption_address | varchar | 64 | 否 | 领养地址 | |
| pet_age | varchar | 64 | 否 | 宠物年龄 | |
| sex_of_pet | varchar | 64 | 否 | 宠物性别 | |
| date_of_application | date | 0 | 否 | 申请日期 | |
| publisher_no | int | 11 | 否 | 发布者编号 | |
| publisher_name | varchar | 64 | 否 | 发布者姓名 | |
| user_no | int | 11 | 否 | 用户编号 | |
| user_name | varchar | 64 | 否 | 用户姓名 | |
| adoption_experience | varchar | 64 | 否 | 领养经验 | |
| reasons_for_adoption | varchar | 64 | 否 | 领养理由 | |
| examine_state | varchar | 16 | 是 | 审核状态 | |
| examine_reply | varchar | 16 | 否 | 审核回复 | |
| recommend | int | 11 | 是 | 智能推荐 | |
| user_id | int | 11 | 是 | 用户ID | |
| create_time | datetime | 0 | 是 | 创建时间 | |
| update_time | timestamp | 0 | 是 | 更新时间 | |
| adoption_center | |||||
| 字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
| adoption_center_id | int | 11 | 是 | 主键 | 领养中心ID |
| pet_serial_number | varchar | 64 | 否 | 宠物序号 | |
| pet_nickname | varchar | 64 | 否 | 宠物昵称 | |
| cover | varchar | 255 | 否 | 封面 | |
| classification_of_animals | varchar | 64 | 否 | 动物分类 | |
| animal_species | varchar | 64 | 否 | 动物种类 | |
| adoption_address | varchar | 64 | 否 | 领养地址 | |
| pet_age | varchar | 64 | 否 | 宠物年龄 | |
| sex_of_pet | varchar | 64 | 否 | 宠物性别 | |
| notice_on_adoption | varchar | 64 | 否 | 领养须知 | |
| vaccination | varchar | 64 | 否 | 接种疫苗 | |
| release_date | date | 0 | 否 | 发布日期 | |
| related_videos | varchar | 255 | 否 | 相关视频 | |
| adoptive_status | varchar | 64 | 否 | 领养状态 | |
| publisher_no | int | 11 | 否 | 发布者编号 | |
| publisher_name | varchar | 64 | 否 | 发布者姓名 | |
| pet_information | longtext | 0 | 否 | 宠物信息 | |
| praise_len | int | 11 | 是 | 点赞数 | |
| recommend | int | 11 | 是 | 智能推荐 | |
| timer_title | varchar | 64 | 否 | 计时器标题 | |
| timing_start_time | datetime | 0 | 否 | 计时开始时间 | |
| timing_end_time | datetime | 0 | 否 | 计时结束时间 | |
| limit_times | int | 8 | 是 | 限制次数 | |
| limit_type | tinyint | 2 | 是 | 限制次数类型1-每天次,2-总计次 | |
| create_time | datetime | 0 | 是 | 创建时间 | |
| update_time | timestamp | 0 | 是 | 更新时间 | |
| adoption_record | |||||
| 字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
| adoption_record_id | int | 11 | 是 | 主键 | 领养记录ID |
| pet_serial_number | varchar | 64 | 是 | 宠物序号 | |
| pet_nickname | varchar | 64 | 否 | 宠物昵称 | |
| classification_of_animals | varchar | 64 | 否 | 动物分类 | |
| animal_species | varchar | 64 | 否 | 动物种类 | |
| adoption_address | varchar | 64 | 否 | 领养地址 | |
| pet_age | varchar | 64 | 否 | 宠物年龄 | |
| sex_of_pet | varchar | 64 | 否 | 宠物性别 | |
| date_of_application | date | 0 | 否 | 申请日期 | |
| publisher_no | int | 11 | 否 | 发布者编号 | |
| publisher_name | varchar | 64 | 否 | 发布者姓名 | |
| user_no | int | 11 | 否 | 用户编号 | |
| user_name | varchar | 64 | 否 | 用户姓名 | |
| recommend | int | 11 | 是 | 智能推荐 | |
| create_time | datetime | 0 | 是 | 创建时间 | |
| update_time | timestamp | 0 | 是 | 更新时间 | |
| classification_of_animals | |||||
| 字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
| classification_of_animals_id | int | 11 | 是 | 主键 | 动物分类ID |
| classification_of_animals | varchar | 64 | 否 | 动物分类 | |
| recommend | int | 11 | 是 | 智能推荐 | |
| create_time | datetime | 0 | 是 | 创建时间 | |
| update_time | timestamp | 0 | 是 | 更新时间 | |
| commodity_report | |||||
| 字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
| commodity_report_id | int | 11 | 是 | 主键 | 商品报表ID |
| trade_name | varchar | 64 | 否 | 商品名称 | |
| sales_volumes | int | 11 | 否 | 销售数量 | |
| sales_unit_price | int | 11 | 否 | 销售单价 | |
| sales_amount | varchar | 64 | 否 | 销售金额 | |
| date | date | 0 | 否 | 日期 | |
| recommend | int | 11 | 是 | 智能推荐 | |
| create_time | datetime | 0 | 是 | 创建时间 | |
| update_time | timestamp | 0 | 是 | 更新时间 | |
| look_for_the_lord_and_the_pet | |||||
| 字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
| look_for_the_lord_and_the_pet_id | int | 11 | 是 | 主键 | 寻主寻宠ID |
| title | varchar | 64 | 否 | 标题 | |
| cover | varchar | 255 | 否 | 封面 | |
| revelation_type | varchar | 64 | 否 | 启示类型 | |
| pet_name | varchar | 64 | 否 | 宠物名称 | |
| classification_of_animals | varchar | 64 | 否 | 动物分类 | |
| animal_species | varchar | 64 | 否 | 动物种类 | |
| related_videos | varchar | 255 | 否 | 相关视频 | |
| detailed_description | text | 0 | 否 | 详细描述 | |
| release_date | varchar | 64 | 否 | 发布日期 | |
| contact_mobile_phone | varchar | 16 | 否 | 联系手机 | |
| recommend | int | 11 | 是 | 智能推荐 | |
| create_time | datetime | 0 | 是 | 创建时间 | |
| update_time | timestamp | 0 | 是 | 更新时间 | |
| loss_reporting_management | |||||
| 字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
| loss_reporting_management_id | int | 11 | 是 | 主键 | 挂失管理ID |
| title | varchar | 64 | 否 | 标题 | |
| cover | varchar | 255 | 否 | 封面 | |
| pet_name | varchar | 64 | 否 | 宠物名称 | |
| classification_of_animals | varchar | 64 | 否 | 动物分类 | |
| animal_species | varchar | 64 | 否 | 动物种类 | |
| related_videos | varchar | 255 | 否 | 相关视频 | |
| detailed_description | text | 0 | 否 | 详细描述 | |
| release_date | date | 0 | 否 | 发布日期 | |
| contact_mobile_phone | varchar | 16 | 否 | 联系手机 | |
| user_no | int | 11 | 否 | 用户编号 | |
| user_name | varchar | 64 | 否 | 用户姓名 | |
| examine_state | varchar | 16 | 是 | 审核状态 | |
| recommend | int | 11 | 是 | 智能推荐 | |
| create_time | datetime | 0 | 是 | 创建时间 | |
| update_time | timestamp | 0 | 是 | 更新时间 | |
| message_feedback | |||||
| 字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
| message_feedback_id | int | 11 | 是 | 主键 | 留言反馈ID |
| user_no | int | 11 | 否 | 用户编号 | |
| user_name | varchar | 64 | 否 | 用户姓名 | |
| message_content | text | 0 | 否 | 留言内容 | |
| message_time | datetime | 0 | 否 | 留言时间 | |
| examine_state | varchar | 16 | 是 | 审核状态 | |
| examine_reply | varchar | 16 | 否 | 审核回复 | |
| recommend | int | 11 | 是 | 智能推荐 | |
| create_time | datetime | 0 | 是 | 创建时间 | |
| update_time | timestamp | 0 | 是 | 更新时间 | |
| ordinary_users | |||||
| 字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
| ordinary_users_id | int | 11 | 是 | 主键 | 普通用户ID |
| user_no | varchar | 64 | 否 | 用户编号 | |
| user_name | varchar | 64 | 否 | 用户姓名 | |
| gender | varchar | 64 | 否 | 性别 | |
| examine_state | varchar | 16 | 是 | 审核状态 | |
| recommend | int | 11 | 是 | 智能推荐 | |
| user_id | int | 11 | 是 | 用户ID | |
| create_time | datetime | 0 | 是 | 创建时间 | |
| update_time | timestamp | 0 | 是 | 更新时间 | |
| pet_goods | |||||
| 字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
| pet_goods_id | int | 11 | 是 | 主键 | 宠物商品ID |
| commodity_specifications | varchar | 64 | 否 | 商品规格 | |
| expiry_date | varchar | 64 | 否 | 效期 | |
| manufacturer | varchar | 64 | 否 | 厂商 | |
| recommend | int | 11 | 是 | 智能推荐 | |
| cart_title | varchar | 125 | 否 | 标题 | |
| cart_img | text | 0 | 否 | 封面图 | |
| cart_description | varchar | 255 | 否 | 描述 | |
| cart_price_ago | double | 8 | 是 | 原价 | |
| cart_price | double | 8 | 是 | 卖价 | |
| cart_inventory | int | 11 | 是 | 商品库存 | |
| cart_type | varchar | 64 | 是 | 商品分类 | |
| cart_content | longtext | 0 | 否 | 正文产品 | |
| cart_img_1 | text | 0 | 否 | 主图1 | |
| cart_img_2 | text | 0 | 否 | 主图2 | |
| cart_img_3 | text | 0 | 否 | 主图3 | |
| cart_img_4 | text | 0 | 否 | 主图4 | |
| cart_img_5 | text | 0 | 否 | 主图5 | |
| create_time | datetime | 0 | 是 | 创建时间 | |
| update_time | timestamp | 0 | 是 | 更新时间 | |
| publish_user | |||||
| 字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
| publish_user_id | int | 11 | 是 | 主键 | 发布用户ID |
| publisher_no | varchar | 64 | 否 | 发布者编号 | |
| publisher_name | varchar | 64 | 否 | 发布者姓名 | |
| examine_state | varchar | 16 | 是 | 审核状态 | |
| recommend | int | 11 | 是 | 智能推荐 | |
| user_id | int | 11 | 是 | 用户ID | |
| create_time | datetime | 0 | 是 | 创建时间 | |
| update_time | timestamp | 0 | 是 | 更新时间 |
第五章 系统功能实现
5.1系统功能模块
宠物领养管理系统,在系统首页可以查看首页、宠物论坛、公告消息、宠物商品、领养中心、寻主寻宠、挂失管理、留言反馈、注册登录以及站内搜索等内容,
如图5-1所示。
图5-1系统功能界面图
注册,在注册页面通过填写用户名、密码、姓名、昵称、身份、手机号、用户编号等内容进行注册,如图5-2所示。
图5-2用户注册界面图
注册代码如下:
/**
* 注册
* @param user
* @return
*/
@PostMapping("register")
public Map signUp(@RequestBody User user) {
// 查询用户
Map query = new HashMap();
query.put("username",user.getUsername());
List list = service.select(query, new HashMap()).getResultList();
if (list.size()>0){
return error(30000, "用户已存在");
}
user.setUserId(null);
user.setPassword(service.encryption(user.getPassword()));
service.save(user);
return success(1);
}
/**
* 用户ID:[0,8388607]用户获取其他与用户相关的数据
*/
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "user_id")
private Integer userId;
/**
* 账户状态:[0,10](1可用|2异常|3已冻结|4已注销)
*/
@Basic
@Column(name = "state")
private Integer state;
/**
* 所在用户组:[0,32767]决定用户身份和权限
*/
@Basic
@Column(name = "user_group")
private String userGroup;
/**
* 上次登录时间:
*/
@Basic
@Column(name = "login_time")
private Timestamp loginTime;
/**
* 手机号码:[0,11]用户的手机号码,用于找回密码时或登录时
*/
@Basic
@Column(name = "phone")
private String phone;
/**
* 手机认证:[0,1](0未认证|1审核中|2已认证)
*/
@Basic
@Column(name = "phone_state")
private Integer phoneState;
/**
* 用户名:[0,16]用户登录时所用的账户名称
*/
@Basic
@Column(name = "username")
private String username;
/**
* 昵称:[0,16]
*/
@Basic
@Column(name = "nickname")
private String nickname;
/**
* 密码:[0,32]用户登录所需的密码,由6-16位数字或英文组成
*/
@Basic
@Column(name = "password")
private String password;
/**
* 邮箱:[0,64]用户的邮箱,用于找回密码时或登录时
*/
@Basic
@Column(name = "email")
private String email;
/**
* 邮箱认证:[0,1](0未认证|1审核中|2已认证)
*/
@Basic
@Column(name = "email_state")
private Integer emailState;
/**
* 头像地址:[0,255]
*/
@Basic
@Column(name = "avatar")
private String avatar;
/**
* 创建时间:
*/
@Basic
@Column(name = "create_time")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Timestamp createTime;
@Basic
@Transient
private String code;
}
领养中心,在领养中心页面查看宠物序号、宠物昵称、动物分类、动物种类、领养地址、宠物年龄、宠物性别、发布日期、相关视频、领养状态、发布者编号、发布者姓名等信息并可根据需要申请领养、点赞、收藏,如图5-3所示。
图5-3领养中心界面图
领养中心代码如下:
@SpringBootApplication
@EnableJpaRepositories
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class,args);
}
}
宠物商品信息,在宠物商品页面中可以查看商品名称、价格、商品描述。图片等信息进行加入购物车购买、评论或收藏,如图5-4所示。
图5-4宠物商品信息界面图
宠物商品信息代码如下:
宠物用品订单通过宠物用品信息界面进行订单商品,购买链接输入订单号、商品编号、商品名称、价格、库存、购买数量、总价格、联系电话、收货地址、姓名、备注、购买人等信息完成购买订单,如图5-5所示。
图5-5订单信息界面图
订单信息代码如下:
@RequestMapping(value = "/del")
@Transactional
public Map del(HttpServletRequest request) {
service.delete(service.readQuery(request), service.readConfig(request));
return success(1);
}
@Transactional
public void delete(Map query,Map config){
StringBuffer sql = new StringBuffer("DELETE FROM ").append("`").append(table).append("`").append(" ");
sql.append(toWhereSql(query, "0".equals(config.get(FindConfig.GROUP_BY))));
log.info("[{}] - 删除操作:{}",table,sql);
Query query1 = runCountSql(sql.toString());
query1.executeUpdate();
}
5.2管理员功能模块
管理员登录,通过填写注册时输入的用户名、密码、权限、验证码进行登录,如图5-6所示。
图5-6管理员登录界面图
登录代码如下:
/**
* 登录
* @param data
* @param httpServletRequest
* @return
*/
@PostMapping("login")
public Map login(@RequestBody Map 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;
Map map = new HashMap();
if(username != null && "".equals(username) == false){
map.put("username", username);
resultList = service.select(map, new HashMap()).getResultList();
}
else if(email != null && "".equals(email) == false){
map.put("email", email);
resultList = service.select(map, new HashMap()).getResultList();
}
else if(phone != null && "".equals(phone) == false){
map.put("phone", phone);
resultList = service.select(map, new HashMap()).getResultList();
}else{
return error(30000, "账号或密码不能为空");
}
if (resultList == null || password == null) {
return error(30000, "账号或密码不能为空");
}
//判断是否有这个用户
if (resultList.size()
上一篇:Nginx极速重启实战教程