基于springboot的宠物领养与丢失寻找信息平台
摘 要
本文介绍了一个基于Spring Boot框架的宠物领养与丢失寻找信息平台的设计与实现。该平台旨在解决宠物领养和丢失寻找过程中的信息不对称和效率低下问题,为宠物主人、领养者提供一个便捷、高效的交互平台。
平台采用了Spring Boot框架作为后端技术,实现了用户管理、救助信息管理、领养信息管理、宠物种类管理、领养申请管理、寻宠信息管理、活动信息管理、报名记录管理、宠物知识管理等功能。通过合理的架构设计,确保了系统的稳定性和可扩展性。同时,采用了MySQL数据库进行数据存储,保证了数据的安全性和可靠性。
平台还注重用户体验和交互设计,提供了简洁明了的界面和操作流程,方便用户快速上手和使用。同时,通过发布领养与丢失寻找信息、提供在线交流和互动功能,增强了用户之间的信息交流和信任度,提高了领养和寻找的成功率。
平台在实际应用中取得了良好的效果,得到了宠物主人、领养者的积极反馈和认可。通过该平台,不仅为宠物主人提供了一个快速、便捷的领养和丢失寻找渠道,也为领养者提供了一个可靠的宠物信息来源和交流平台。
本文所设计的基于Spring Boot框架的宠物领养与丢失寻找信息平台,具有功能完善、操作简便、安全可靠等特点,对于促进宠物领养和丢失寻找的信息对称和效率提升具有重要意义。
关键词:宠物领养与丢失寻找信息平台;Java;Spring Boot框架
A pet adoption and loss search information platform based on Springboot
Abstract
This article introduces the design and implementation of a pet adoption and loss search information platform based on the Spring Boot framework. This platform aims to solve the problems of information asymmetry and low efficiency in the process of pet adoption and lost search, providing a convenient and efficient interaction platform for pet owners and adopters.
The platform adopts the Spring Boot framework as the backend technology, achieving functions such as user management, rescue information management, adoption information management, pet species management, adoption application management, pet search information management, activity information management, registration record management, and pet knowledge management. Through reasonable architecture design, the stability and scalability of the system have been ensured. At the same time, MySQL database was used for data storage, ensuring the security and reliability of the data.
The platform also emphasizes user experience and interaction design, providing a concise and clear interface and operation process, making it convenient for users to quickly get started and use. At the same time, by publishing adoption and lost information, providing online communication and interaction functions, the information exchange and trust between users have been enhanced, and the success rate of adoption and search has been improved.
The platform has achieved good results in practical applications, receiving positive feedback and recognition from pet owners and adopters. Through this platform, not only does it provide a fast and convenient channel for pet owners to adopt and find lost pets, but it also provides a reliable source of pet information and communication platform for adopters.
The pet adoption and loss finding information platform designed in this article based on the Spring Boot framework has the characteristics of complete functionality, easy operation, safety and reliability. It is of great significance for promoting information symmetry and efficiency improvement in pet adoption and loss finding.
Key words:Pet adoption and lost search information platform; Java; Spring Boot framework
目 录
第1章 绪论
1.1 研究背景与意义
1.2 国内外研究现状
1.3 论文组成结构
第2章 系统分析
2.1 可行性分析
2.1.1 技术可行性
2.1.2 经济可行性
2.1.3 操作可行性
2.2 需求分析
2.3 性能分析
2.4 系统用例分析
2.5 系统流程分析
第3章 系统设计
3.1 系统架构设计
3.2 系统功能结构
3.3 数据库设计
3.3.1 数据库E-R图设计
3.3.2 逻辑结构设计
第4章 系统实现
4.1 普通用户模块的实现
4.1.1 前台首页界面
4.1.2 用户注册界面
4.1.3 用户登录界面
4.1.4 宠物资讯界面
4.1.5 救助信息界面
4.1.6领养信息界面
4.2 管理员功能模块的实现
4.2.1 管理员登录界面
4.2.2 管理员功能界面
4.2.3 系统用户管理界面
4.2.4宠物种类管理界面
4.2.5 系统管理界面
4.2.6通知公告管理界面
4.2.7活动信息管理界面
第5章 系统测试
5.1系统测试的目的
5.2 系统测试用例
5.3 系统测试结果
第6章 总结与展望
参考文献
致谢
基于Spring Boot的宠物领养与丢失寻找信息平台是在当前社会背景下应运而生的一种创新解决方案。随着人们生活水平的提高,宠物在人们的生活中扮演着越来越重要的角色。然而,传统的宠物领养与丢失寻找方式存在许多痛点,如信息不对称、流程繁琐、效率低下等。这些问题不仅给宠物主人带来了困扰,也阻碍了宠物领养和丢失寻找的顺利进行。
在这样的背景下,开发一个基于Spring Boot的宠物领养与丢失寻找信息平台显得尤为重要。该平台通过整合现有的宠物资源,提供宠物信息的发布、查询、匹配等功能,旨在解决传统领养方式中的信息不对称问题。同时,平台还提供了领养流程指导、在线交流等功能,帮助领养者和宠物主人更好地了解彼此,提高领养成功率。
该平台的建立不仅为宠物主人、领养者提供了一个便捷、高效的交互平台,还具有重要的社会意义。通过提高宠物领养和丢失寻找的效率,平台有助于减少流浪宠物的数量,推动社会的和谐发展。平台还可以帮助更多的人了解和参与到宠物保护和救助事业中,提高整个社会对宠物福利的关注和认识。最后,平台的建设也促进了信息技术在宠物管理领域的应用和发展,为未来的宠物管理提供了更多的可能性。
综上所述,基于Spring Boot的宠物领养与丢失寻找信息平台的研究与开发具有重要的现实意义和社会价值,它不仅解决了传统宠物领养与丢失寻找方式中的痛点,还推动了社会的和谐发展,提高了人们对宠物福利的关注和认识。
在国内,随着城市化进程的加快和人们生活水平的提高,宠物数量不断增加,宠物领养与丢失寻找问题日益突出。近年来,国内一些机构和组织开始关注并投入资源研究宠物领养与丢失寻找的解决方案。一些大型动物保护组织或政府部门已经建立了类似的平台和系统,但这些系统大多集中在大型机构内部使用,功能相对简单,用户体验也有待提升。因此,有必要设计并实现一款更加高效、稳定、易用的宠物领养与丢失寻找信息平台,以满足广大宠物主人、领养者的需求。
在国外,一些动物保护组织和志愿者团队已经开始使用专门的软件来管理宠物领养与丢失寻找工作。这些软件功能齐全,包括宠物信息管理、领养申请处理、志愿者管理等。这些系统在用户界面设计、操作便捷性和数据安全性等方面都表现出较高的水平。这些成熟的系统和应用为国外宠物领养与丢失寻找工作提供了有力的支持。
然而,无论是国内还是国外,现有的宠物领养与丢失寻找管理系统都存在一些问题和挑战。例如,用户界面不友好、操作复杂、数据安全性差等问题仍然普遍存在。因此,有必要设计并实现一款基于Spring Boot的宠物领养与丢失寻找信息平台,以解决上述问题,提高用户体验和管理效率。
综上所述,基于Spring Boot的宠物领养与丢失寻找信息平台在国内外都具有广阔的研究和应用前景。通过整合现有资源和技术优势,设计并实现一款高效、稳定、易用的平台,将有助于推动宠物领养与丢失寻找工作的顺利进行,提高整个社会对宠物福利的关注和认识。
根据市场调研得到的信息数据,结合国内外前沿研究,利用相关系统开发和设计方法,最终设计出宠物领养与丢失寻找信息平台。
本文共有七章,如下所示。
第一章概述了宠物领养与丢失寻找信息平台的研究背景和意义;精炼地总结了国内外研究情况和未来的研究趋势,最后给出了论文的组成结构。
第二章简要对系统各业务流程进行需求分析、可行性分析。
第三章对宠物领养与丢失寻找信息平台进行设计。
第四章对宠物领养与丢失寻找信息平台进行实现,并贴出相关页面截图,语言描述出具体功能实现的操作方法。
第五章对宠物领养与丢失寻找信息平台采用测试用例的方式来对一些主要功能模块测试,最后得出测试结果。
第六章总结全文并对未来的研究做出展望。
在软件开发的过程中系统的可行性分析是必不可少的,可行性的研究就是评估问题是否能得到解决并且是要以最少的时间和最少的代价来解决。为实现上面的目标还要必须考虑到解决这些问题的方法的优点和缺点,还要考虑到实现了这些系统规模的开发带来的经济效益。这里可以用技术的可行性,操作的可行性,经济的可行性对我们的系统进行可行性的研究。宠物领养与丢失寻找信息平台的可行性分析如下所示:
基于Spring Boot的宠物领养与丢失寻找信息平台在技术上是完全可行的。Spring Boot作为一个成熟、稳定且广泛应用的Java框架,为快速构建Web应用程序提供了强大的支持。它简化了Spring应用的初始搭建以及开发过程,通过自动配置和起步依赖,使开发者能够专注于业务逻辑的实现。此外,Spring Boot与MySQL等关系型数据库的良好集成,确保了宠物信息的安全存储和高效检索。因此,利用Spring Boot技术栈开发宠物领养与丢失寻找信息平台,在技术上是完全可行的,并且有望为用户提供一个稳定、高效、安全的在线交互平台。
基于Spring基于Spring Boot的宠物领养与丢失寻找信息平台在经济上也是可行的。Spring Boot是一个开源框架,可以免费使用,降低了开发成本。平台还可以通过广告、赞助等方式实现商业化运营,为平台的持续运营和维护提供经济支持。因此,综合考虑开发成本、运营成本以及潜在的收益,基于Spring Boot的宠物领养与丢失寻找信息平台在经济上是可行的,并且有望为用户和商家创造双赢的局面。
本系统是基于浏览器和服务器的宠物领养与丢失寻找信息平台,系统开发完成之后用户只需要在浏览器中输入正确的URL地址即可进行访问。本系统的前台页面简单明了,在没有操作指导的情况下也可以进行操作,无论是系统管理员还是用户在页面中所有的操作都是在浏览器中完成的,因此只要电脑在有网络的情况下,打开浏览器都能操作。而且在使用之前也不用进行相关的环境配置,因此本系统方便、简单、易于使用,所以该系统是容易并且可操作的。
在着手设计和实现基于Spring Boot的宠物领养与丢失寻找信息平台之前,我们进行了详尽的需求分析和用户调研,以确保系统能够精准地满足广大宠物主人、领养者的实际需求与期望。
明确业务需求:通过与宠物医院、动物保护组织、宠物主人和领养者的深入交流,我们了解到宠物领养与丢失寻找涉及救助信息管理、领养信息管理、宠物种类管理、领养申请管理、寻宠信息管理、活动信息管理、报名记录管理、宠物知识管理、在线交流互动、用户认证与权限管理等多个关键环节。每个环节都需要确保数据的准确性和实时性,以便为宠物主人和领养者提供高效、便捷的服务。
系统性能与稳定性:宠物领养与丢失寻找信息平台需要处理大量的用户请求和数据交互,因此系统必须具备良好的性能和稳定性。这包括快速响应用户请求、处理并发访问、保证数据一致性等,以确保用户在任何时间都能获得流畅的使用体验。
界面友好与易用性:考虑到用户可能不具备专业的计算机技能,我们在界面设计上追求简洁、直观、易操作。通过提供清晰的用户指导和友好的交互设计,帮助用户快速上手并顺利完成领养、丢失寻找等操作。
数据安全与隐私保护:宠物信息涉及用户的个人隐私和安全,因此系统必须提供严格的数据安全保障措施。这包括数据加密、访问控制、安全审计等,以防止数据泄露和非法访问。同时,系统还需要确保数据的完整性,防止因操作失误或系统故障导致的数据损坏或丢失。
扩展性与可定制性:随着宠物领养与丢失寻找业务的不断发展和变化,系统可能需要不断扩展和定制。因此,我们在设计系统时充分考虑了扩展性和可定制性,以便在未来能够轻松地添加新功能或调整现有功能,满足业务的发展需求。
综上所述,基于Spring Boot的宠物领养与丢失寻找信息平台的设计与实现旨在通过技术手段解决宠物领养与丢失寻找中的实际问题,提升服务质量和用户体验。我们期待这一系统能够为宠物主人、领养者和志愿者带来实质性的改进,推动宠物领养与丢失寻找工作的高效、便捷进行。
针对基于Spring Boot的宠物领养与丢失寻找信息平台,性能分析是确保系统能够满足用户需求和提供高质量服务的关键环节。以下是对该平台性能的详细分析:
并发处理能力:在高峰时段,平台可能会面临大量的并发访问请求。因此,系统需要具备高并发处理能力,确保即使在大量用户同时访问时,也能保持稳定的性能表现,不出现延迟或崩溃的情况。
数据处理能力:平台需要处理大量的宠物信息和用户数据。系统应具备高效的数据处理能力,能够快速地完成数据的增删改查等操作,确保用户在使用过程中的流畅体验。
稳定性与可靠性:平台应保证24小时不间断运行,确保用户随时可以进行宠物领养与丢失寻找的操作。系统应具备高稳定性,能够抵御各种异常情况,如网络波动、硬件故障等,确保服务的连续性和数据的完整性。
可扩展性:随着业务的不断发展,平台可能会面临用户量增长、功能扩展等需求。系统应具备良好的可扩展性,能够轻松地应对这些变化,通过增加硬件资源或调整系统配置来满足新的需求。
安全性:宠物信息涉及用户的个人隐私和安全,因此系统必须提供严格的数据安全保障措施。通过加密传输、访问控制、安全审计等手段,确保用户数据的安全性和隐私性。
综上所述,基于Spring Boot的宠物领养与丢失寻找信息平台在性能上应具备高并发处理、高效数据处理、稳定可靠、可扩展以及安全等特点。通过合理的系统设计和优化,可以确保平台能够满足广大宠物主人、领养者和志愿者的实际需求,为他们提供高质量的服务体验。
宠物领养与丢失寻找信息平台的完整UML用例图分别是图2-1和图2-2,在参与者上包括普通用户和管理员。
普通用户角色的用例包括首页、通知公告、宠物资讯、救助信息、领养信息、寻宠信息、活动信息、宠物知识、我的账户、个人中心(个人首页、救助信息、领养信息、领养申请、寻宠信息、活动信息、报名记录、宠物知识、收藏)。
普通用户角色用例如图2-1所示。
图2-1普通用户用例图
管理员角色的用例包括后台首页、系统用户、救助信息管理、领养信息管理、宠物种类管理、领养申请管理、寻宠信息管理、活动信息管理、报名记录管理、宠物知识管理、系统管理、通知公告管理、资源管理。
管理员角色用例如图2-2所示。
图2-2管理员用例图
系统中的所有用户(管理员、普通用户)都可以实现增加数据功能,图2-3显示的就是在增加数据时的流程。
图2-3增加数据流程图
在录入系统信息的时候如果信息有错,可以对系统中的数据进行编辑。图2-4显示的就是修改数据的流程。
图2-4修改数据流程图
在系统中经常会出现一些过期的数据,那就可以直接删除这些数据,图2-5就是删除数据时的流程图。
图2-5删除数据流程图
由于本系统在逻辑事务处理方面对数据库的操作比较频繁所以系统在底层连接数据库时并没有使用原生的JDBC,而是把JDBC进行了封装,封装之后相当于一个连接数据库的工具DB UTIL,这样使用起来会更加方便而且这样进行封装还可以降低系统中代码的冗余,当我们需要连接和使用数据库时只需要调用这个工具里面的一个方法就可以了。而且通过封装可以把对数据库的操作独立起来,当需要连接不同种类的数据库时只需要加以修改就可以达到目的。
DAO层本来并无这个类,它只是java中MVC构造里的一个model概念,主要就是里面的一些方法,而这些方法就是用来访问数据库的方法。我们在软件开发时DAO层我们一般都放接口和接口的实现类,用于来规范实现类的我们叫它接口,实现类重点用于对数据库的操纵。
MVC是一种系统研发的关键模型,M是Model模型,它是系统内部关键程序运行的核心,主要进行对数据库的各种操作。视图View是V也叫做视图,主要的作用是对一些数据进行显示。控制器Controller 是C执行从View的视图层来读取数据,然后控制用户的输入。
系统架构如下图所示。
图3-1系统架构图
进入系统后首先要进行登录,验证你的身份,赋予你不同的权限。当你成功登录后,页面会有多个板块,分别是后台首页、系统用户、救助信息管理、领养信息管理、宠物种类管理、领养申请管理、寻宠信息管理、活动信息管理、报名记录管理、宠物知识管理、系统管理、通知公告管理、资源管理。里面界面简单易懂,根据标示可以直接进行方便快捷的操作。
系统功能结构图如下所示。
图3-2系统功能结构图
一个好的系统它的后台数据库一定要考虑的全面,这和我们建造房子一个概念,房子不是随心所欲建起来的,一切都是在合理设计的基础是实现的,地基打牢固了房子才能建的更高。数据库如果设计的很合理,而且每个方面都能考虑到了那么这个系统才能不会出现大的问题。
一个好的数据库可以关系到程序开发的优劣,数据库设计离不开表结构的设计,还有表与表之间的联系,以及系统开发需要设计的数据表内容等信息。在进行数据库设计期间,要结合实际情况来对数据库进行针对性的开发设计。
本宠物领养与丢失寻找信息平台采用的是mysql数据库,数据存储快,因为宠物领养与丢失寻找信息平台,主要的就是对信息的管理,信息内容比较多,这就需要好好的设计一个好的数据库,分类要清楚,不能添加信息的时候,造成信息太过混乱,设计好的数据库首先就需要先把各个实体之间的关系表达明确,
系统的主要实体间关系E-R图如下图所示。
图3-3系统E-R图
此环节把概念转变成数据。由于整个数据库所处理的信息过多,就只展示以下几个表。
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | token_id | int | 10 | 0 | N | Y | 临时访问牌ID | |
2 | token | varchar | 64 | 0 | Y | N | 临时访问牌 | |
3 | info | text | 65535 | 0 | Y | N | ||
4 | maxage | int | 10 | 0 | N | N | 2 | 最大寿命:默认2小时 |
5 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
6 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
7 | user_id | int | 10 | 0 | N | N | 0 | 用户编号: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | adoption_application_id | int | 10 | 0 | N | Y | 领养申请ID | |
2 | adoption_title | 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 | pet_gender | varchar | 64 | 0 | Y | N | 宠物性别 | |
7 | health_condition | varchar | 64 | 0 | Y | N | 健康状况 | |
8 | delivery_users | int | 10 | 0 | Y | N | 0 | 送养用户 |
9 | applying_for_users | int | 10 | 0 | Y | N | 0 | 申请用户 |
10 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
11 | contact_phone_number | varchar | 64 | 0 | Y | N | 联系电话 | |
12 | application_content | text | 65535 | 0 | Y | N | 申请内容 | |
13 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
14 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | adoption_information_id | int | 10 | 0 | N | Y | 领养信息ID | |
2 | adoption_title | varchar | 64 | 0 | Y | N | 领养标题 | |
3 | pet_name | varchar | 64 | 0 | Y | N | 宠物名称 | |
4 | pet_species | varchar | 64 | 0 | Y | N | 宠物种类 | |
5 | pet_status | varchar | 64 | 0 | Y | N | 宠物状态 | |
6 | pet_age | varchar | 64 | 0 | Y | N | 宠物年龄 | |
7 | pet_gender | varchar | 64 | 0 | Y | N | 宠物性别 | |
8 | health_condition | varchar | 64 | 0 | Y | N | 健康状况 | |
9 | delivery_users | int | 10 | 0 | Y | N | 0 | 送养用户 |
10 | pet_pictures | varchar | 255 | 0 | Y | N | 宠物图片 | |
11 | introduction_to_pets | longtext | 2147483647 | 0 | Y | N | 宠物介绍 | |
12 | hits | int | 10 | 0 | N | N | 0 | 点击数 |
13 | praise_len | int | 10 | 0 | N | N | 0 | 点赞数 |
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 | article_id | mediumint | 8 | 0 | N | Y | 文章id:[0,8388607] | |
2 | title | varchar | 125 | 0 | N | Y | 标题:[0,125]用于文章和html的title标签中 | |
3 | type | varchar | 64 | 0 | N | N | 0 | 文章分类:[0,1000]用来搜索指定类型的文章 |
4 | hits | int | 10 | 0 | N | N | 0 | 点击数:[0,1000000000]访问这篇文章的人次 |
5 | praise_len | int | 10 | 0 | N | N | 0 | 点赞数 |
6 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
7 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
8 | source | varchar | 255 | 0 | Y | N | 来源:[0,255]文章的出处 | |
9 | url | varchar | 255 | 0 | Y | N | 来源地址:[0,255]用于跳转到发布该文章的网站 | |
10 | tag | varchar | 255 | 0 | Y | N | 标签:[0,255]用于标注文章所属相关内容,多个标签用空格隔开 | |
11 | content | longtext | 2147483647 | 0 | Y | N | 正文:文章的主体内容 | |
12 | img | varchar | 255 | 0 | Y | N | 封面图 | |
13 | description | text | 65535 | 0 | Y | N | 文章描述 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | type_id | smallint | 5 | 0 | N | Y | 分类ID:[0,10000] | |
2 | display | smallint | 5 | 0 | N | N | 100 | 显示顺序:[0,1000]决定分类显示的先后顺序 |
3 | name | varchar | 16 | 0 | N | N | 分类名称:[2,16] | |
4 | father_id | smallint | 5 | 0 | N | N | 0 | 上级分类ID:[0,32767] |
5 | description | varchar | 255 | 0 | Y | N | 描述:[0,255]描述该分类的作用 | |
6 | icon | text | 65535 | 0 | Y | N | 分类图标: | |
7 | url | varchar | 255 | 0 | Y | N | 外链地址:[0,255]如果该分类是跳转到其他网站的情况下,就在该URL上设置 | |
8 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | auth_id | int | 10 | 0 | N | Y | 授权ID: | |
2 | user_group | varchar | 64 | 0 | Y | N | 用户组: | |
3 | mod_name | varchar | 64 | 0 | Y | N | 模块名: | |
4 | table_name | varchar | 64 | 0 | Y | N | 表名: | |
5 | page_title | varchar | 255 | 0 | Y | N | 页面标题: | |
6 | path | varchar | 255 | 0 | Y | N | 路由路径: | |
7 | position | varchar | 32 | 0 | Y | N | 位置: | |
8 | mode | varchar | 32 | 0 | N | N | _blank | 跳转方式: |
9 | add | tinyint | 3 | 0 | N | N | 1 | 是否可增加: |
10 | del | tinyint | 3 | 0 | N | N | 1 | 是否可删除: |
11 | set | tinyint | 3 | 0 | N | N | 1 | 是否可修改: |
12 | get | tinyint | 3 | 0 | N | N | 1 | 是否可查看: |
13 | field_add | text | 65535 | 0 | Y | N | 添加字段: | |
14 | field_set | text | 65535 | 0 | Y | N | 修改字段: | |
15 | field_get | text | 65535 | 0 | Y | N | 查询字段: | |
16 | table_nav_name | varchar | 500 | 0 | Y | N | 跨表导航名称: | |
17 | table_nav | varchar | 500 | 0 | Y | N | 跨表导航: | |
18 | option | text | 65535 | 0 | Y | N | 配置: | |
19 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
20 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | collect_id | int | 10 | 0 | N | Y | 收藏ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 收藏人ID: |
3 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
4 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
5 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
6 | title | varchar | 255 | 0 | Y | N | 标题: | |
7 | img | varchar | 255 | 0 | Y | N | 封面: | |
8 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
9 | 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 | event_information_id | int | 10 | 0 | N | Y | 活动信息ID | |
2 | activity_title | varchar | 64 | 0 | Y | N | 活动标题 | |
3 | event_date | date | 10 | 0 | Y | N | 活动日期 | |
4 | event_location | varchar | 64 | 0 | Y | N | 活动地点 | |
5 | publish_users | int | 10 | 0 | Y | N | 0 | 发布用户 |
6 | cover_photo | varchar | 255 | 0 | Y | N | 封面图片 | |
7 | content_details | longtext | 2147483647 | 0 | Y | N | 内容详情 | |
8 | praise_len | int | 10 | 0 | N | N | 0 | 点赞数 |
9 | examine_state | varchar | 16 | 0 | N | N | 未审核 | 审核状态 |
10 | examine_reply | varchar | 16 | 0 | Y | N | 审核回复 | |
11 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
12 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | hits_id | int | 10 | 0 | N | Y | 点赞ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 点赞人: |
3 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
4 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
5 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
6 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
7 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | notice_id | mediumint | 8 | 0 | N | Y | 公告id: | |
2 | title | varchar | 125 | 0 | N | N | 标题: | |
3 | content | longtext | 2147483647 | 0 | Y | N | 正文: | |
4 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
5 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | pet_knowledge_id | int | 10 | 0 | N | Y | 宠物知识ID | |
2 | knowledge_title | varchar | 64 | 0 | Y | N | 知识标题 | |
3 | knowledge_tags | varchar | 64 | 0 | Y | N | 知识标签 | |
4 | release_date | date | 10 | 0 | Y | N | 发布日期 | |
5 | publish_users | int | 10 | 0 | Y | N | 0 | 发布用户 |
6 | cover_photo | varchar | 255 | 0 | Y | N | 封面图片 | |
7 | knowledge_content | longtext | 2147483647 | 0 | Y | N | 知识内容 | |
8 | praise_len | int | 10 | 0 | N | N | 0 | 点赞数 |
9 | examine_state | varchar | 16 | 0 | N | N | 未审核 | 审核状态 |
10 | examine_reply | varchar | 16 | 0 | Y | N | 审核回复 | |
11 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
12 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表pet_seeking_information (寻宠信息)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | pet_seeking_information_id | int | 10 | 0 | N | Y | 寻宠信息ID | |
2 | pet_seeking_title | varchar | 64 | 0 | Y | N | 寻宠标题 | |
3 | pet_name | varchar | 64 | 0 | Y | N | 宠物名称 | |
4 | pet_species | varchar | 64 | 0 | Y | N | 宠物种类 | |
5 | pet_characteristics | varchar | 64 | 0 | Y | N | 宠物特点 | |
6 | lost_location | varchar | 64 | 0 | Y | N | 走失地点 | |
7 | lost_time | datetime | 19 | 0 | Y | N | 走失时间 | |
8 | publish_users | int | 10 | 0 | Y | N | 0 | 发布用户 |
9 | contact_phone_number | varchar | 64 | 0 | Y | N | 联系电话 | |
10 | cover_photo | varchar | 255 | 0 | Y | N | 封面图片 | |
11 | content_details | longtext | 2147483647 | 0 | Y | N | 内容详情 | |
12 | hits | int | 10 | 0 | N | N | 0 | 点击数 |
13 | praise_len | int | 10 | 0 | N | N | 0 | 点赞数 |
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 | pet_species_id | int | 10 | 0 | N | Y | 宠物种类ID | |
2 | pet_species | varchar | 64 | 0 | Y | N | 宠物种类 | |
3 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
4 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | praise_id | int | 10 | 0 | N | Y | 点赞ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 点赞人: |
3 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
4 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
5 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
6 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
7 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
8 | status | bit | 1 | 0 | N | N | 1 | 点赞状态:1为点赞,0已取消 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | registration_record_id | int | 10 | 0 | N | Y | 报名记录ID | |
2 | activity_title | varchar | 64 | 0 | Y | N | 活动标题 | |
3 | event_date | date | 10 | 0 | Y | N | 活动日期 | |
4 | event_location | varchar | 64 | 0 | Y | N | 活动地点 | |
5 | publish_users | int | 10 | 0 | Y | N | 0 | 发布用户 |
6 | registered_users | int | 10 | 0 | Y | N | 0 | 报名用户 |
7 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
8 | contact_phone_number | varchar | 64 | 0 | Y | N | 联系电话 | |
9 | registration_content | text | 65535 | 0 | Y | N | 报名内容 | |
10 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
11 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | regular_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 | contact_phone_number | varchar | 16 | 0 | Y | N | 联系电话 | |
5 | examine_state | varchar | 16 | 0 | N | N | 已通过 | 审核状态 |
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 | rescue_information_id | int | 10 | 0 | N | Y | 救助信息ID | |
2 | rescue_title | varchar | 64 | 0 | Y | N | 救助标题 | |
3 | rescue_location | varchar | 64 | 0 | Y | N | 救助地点 | |
4 | release_date | date | 10 | 0 | Y | N | 发布日期 | |
5 | publish_users | int | 10 | 0 | Y | N | 0 | 发布用户 |
6 | cover_photo | varchar | 255 | 0 | Y | N | 封面图片 | |
7 | content_details | longtext | 2147483647 | 0 | Y | N | 内容详情 | |
8 | praise_len | int | 10 | 0 | N | N | 0 | 点赞数 |
9 | examine_state | varchar | 16 | 0 | N | N | 未审核 | 审核状态 |
10 | examine_reply | varchar | 16 | 0 | Y | N | 审核回复 | |
11 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
12 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | slides_id | int | 10 | 0 | N | Y | 轮播图ID: | |
2 | title | varchar | 64 | 0 | Y | N | 标题: | |
3 | content | varchar | 255 | 0 | Y | N | 内容: | |
4 | url | varchar | 255 | 0 | Y | N | 链接: | |
5 | img | varchar | 255 | 0 | Y | N | 轮播图: | |
6 | hits | int | 10 | 0 | N | N | 0 | 点击量: |
7 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | upload_id | int | 10 | 0 | N | Y | 上传ID | |
2 | name | varchar | 64 | 0 | Y | N | 文件名 | |
3 | path | varchar | 255 | 0 | Y | N | 访问路径 | |
4 | file | varchar | 255 | 0 | Y | N | 文件路径 | |
5 | display | varchar | 255 | 0 | Y | N | 显示顺序 | |
6 | father_id | int | 10 | 0 | Y | N | 0 | 父级ID |
7 | dir | varchar | 255 | 0 | Y | N | 文件夹 | |
8 | type | varchar | 32 | 0 | Y | N | 文件类型 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | user_id | mediumint | 8 | 0 | N | Y | 用户ID:[0,8388607]用户获取其他与用户相关的数据 | |
2 | state | smallint | 5 | 0 | N | N | 1 | 账户状态:[0,10](1可用|2异常|3已冻结|4已注销) |
3 | user_group | varchar | 32 | 0 | Y | N | 所在用户组:[0,32767]决定用户身份和权限 | |
4 | login_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 上次登录时间: |
5 | phone | varchar | 11 | 0 | Y | N | 手机号码:[0,11]用户的手机号码,用于找回密码时或登录时 | |
6 | phone_state | smallint | 5 | 0 | N | N | 0 | 手机认证:[0,1](0未认证|1审核中|2已认证) |
7 | username | varchar | 16 | 0 | N | N | 用户名:[0,16]用户登录时所用的账户名称 | |
8 | nickname | varchar | 16 | 0 | Y | N | 昵称:[0,16] | |
9 | password | varchar | 64 | 0 | N | N | 密码:[0,32]用户登录所需的密码,由6-16位数字或英文组成 | |
10 | | varchar | 64 | 0 | Y | N | 邮箱:[0,64]用户的邮箱,用于找回密码时或登录时 | |
11 | email_state | smallint | 5 | 0 | N | N | 0 | 邮箱认证:[0,1](0未认证|1审核中|2已认证) |
12 | avatar | varchar | 255 | 0 | Y | N | 头像地址:[0,255] | |
13 | open_id | varchar | 255 | 0 | Y | N | 针对获取用户信息字段 | |
14 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
15 | vip_level | varchar | 255 | 0 | Y | N | 会员等级 | |
16 | vip_discount | double | 11 | 2 | Y | N | 0.00 | 会员折扣 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | group_id | mediumint | 8 | 0 | N | Y | 用户组ID:[0,8388607] | |
2 | display | smallint | 5 | 0 | N | N | 100 | 显示顺序:[0,1000] |
3 | name | varchar | 16 | 0 | N | N | 名称:[0,16] | |
4 | description | varchar | 255 | 0 | Y | N | 描述:[0,255]描述该用户组的特点或权限范围 | |
5 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
6 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
7 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
8 | register | smallint | 5 | 0 | Y | N | 0 | 注册位置: |
9 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
10 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
进入系统首页,系统以上中下的布局进行展示,首先映入眼帘的是系统的导航栏,下面是轮播图,最下面是通知公告,其主界面展示如下图所示。
图4-1 前台首页界面图
用户注册:当用户想要进入系统中对信息进行查看的时候,就必须要登录到系统当中,要是新的用户没有系统的账号的话,点击“注册”按钮,就会进入到新用户注册这个界面上,用户输入对应的账号(必须填写)+密码(必须填写)+确认密码(必须填写,而且要与密码一直)+昵称+邮箱+性别+联系电话+选择用户身份等,然后点击“注册”,系统在用户这一数据库中会查询账号是不是存在,两次密码是不是一样,都填写正确就会注册成功,然后再进行登录,如果是之前已经注册过的用户很长时间没有使用,忘记密码,也可以点击“忘记密码”进行找回。用户注册界面如下图所示。
图4-2 用户注册界面图
注册代码如下:
public String encryption(String plainText) {
String re_md5 = new String();
try {
MessageDigest md = MessageDigest.getInstance("MD5");
md.update(plainText.getBytes());
byte b[] = md.digest();
int i;
StringBuffer buf = new StringBuffer("");
for (int offset = 0; offset < b.length; offset++) {
i = b[offset];
if (i < 0)
i += 256;
if (i < 16)
buf.append("0");
buf.append(Integer.toHexString(i));
}
re_md5 = buf.toString();
} catch (Exception e) {
e.printStackTrace();
}
return re_md5;
}
系统中的前台上注册后的用户是可以通过自己的账户名、密码和验证码进行登录的,当用户输入完整的自己的账户名和密码信息并点击“登录”按钮后,将会首先验证输入的有没有空数据,再次验证输入的账户名+密码和数据库中当前保存的用户信息是否一致,只有在一致后将会登录成功并自动跳转到系统的首页中;否则将会提示相应错误信息。用户登录界面如下图所示。
图4-3用户登录界面图
登录代码如下:
/**
* 登录
* @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;
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());
Duration duration = Duration.ofSeconds(7200L);
redisTemplate.opsForValue().set(accessToken.getToken(), accessToken,duration);
// 返回用户信息
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, "账号或密码不正确");
}
}
当用户点击“宠物资讯”这一菜单按钮,会显示管理员在后台发布的所有的宠物资讯信息,支持通过关键词对资讯进行搜索,选择需要的资讯信息点击可以进入到资讯信息详细的介绍界面,同时可以进行点赞、收藏和评论等操作,宠物资讯界面如下图所示。
图4-4宠物资讯界面图
当用户点击“救助信息”这一菜单按钮,会显示管理员在后台发布的所有的救助信息,支持通过关键词对救助信息进行搜索,选择需要的救助信息点击可以进入到救助信息详细的介绍界面,同时可以进行点赞、收藏和评论,救助信息界面如下图所示。
图4-5救助信息界面图
用户可以浏览宠物领养的相关信息,包括宠物种类、性别、年龄、照片等,以便选择合适的宠物进行领养。领养信息界面如下图所示。
图4-6领养信息界面图
管理员进入到系统登录界面,需要填写正确的账号、密码和验证码等信息输入准确无误后登录进入到系统操作界面。管理员的账号是在数据表表中直接设置生成的,不需要进行注册;修改密码:管理员可以随时修改自己进入系统的登录密码,以保证系统的安全性。管理员登录界面如下图所示。
图4-7管理员登录界面图
管理员可以查看后台首页、系统用户、救助信息管理、领养信息管理、宠物种类管理、领养申请管理、寻宠信息管理、活动信息管理、报名记录管理、宠物知识管理、系统管理、通知公告管理、资源管理等,并且可以根据需要进行相应的操作。管理员功能界面如下图所示。
图4-8管理员功能界面图
管理员可以对系统中所有的用户角色进行管控,包含了管理员、普通用户这两种角色,如果需要添加新的用户,点击页面中的“添加”按钮根据提示输入上用户信息,点击“提交”以后在对应的用户界面就可以查看到了,可以点击用户后面的“删除”按钮直接删除某一用户。系统用户管理界面如下图所示。
管理员可以管理宠物种类信息,包括添加、编辑、删除宠物种类,确保平台上展示的宠物种类信息的准确性和完整性。宠物种类管理界面如下图所示。
图4-10宠物种类管理界面图
管理员可以对系统前台展示的轮播图进行增删改查,方便用户进行查看。系统管理界面如下图所示。
图4-11系统管理界面图
@PostMapping("/add")
@Transactional
public Map<String, Object> add(HttpServletRequest request) throws IOException {
service.insert(service.readBody(request.getReader()));
return success(1);
}
public Map<String, Object> addMap(Map<String,Object> map){
service.insert(map);
return success(1);
}
管理员可以对系统前台展示的通知公告进行增删改查,方便用户进行查看。通知公告管理界面如下图所示。
图4-12通知公告管理界面图
管理员可以管理平台上发布的活动信息,包括添加、编辑、删除活动信息,确保活动信息的及时更新和展示。活动信息管理界面如下图所示。
图4-13活动信息管理界面图
系统开发到了最后一个阶段那就是系统测试,系统测试对软件的开发其实是非常有必要的。因为没什么系统一经开发出来就可能会尽善尽美,再厉害的系统开发工程师也会在系统开发的时候出现纰漏,系统测试能够较好的改正一些bug,为后期系统的维护性提供很好的支持。通过系统测试,开发人员也可以建立自己对系统的信心,为后期的系统版本的跟新提供支持。
系统测试包括:用户登录功能测试、宠物资讯查看功能测试、领养信息添加、领养信息搜索、密码修改功能测试,如表5-1、5-2、5-3、5-4、5-5所示:
表5-1 用户登录功能测试表
用例名称 | 用户登录系统 |
目的 | 测试用户通过正确的用户名和密码可否登录功能 |
前提 | 未登录的情况下 |
测试流程 | 1) 进入登录页面 2) 输入正确的用户名和密码 |
预期结果 | 用户名和密码正确的时候,跳转到登录成功界面,反之则显示错误信息,提示重新输入 |
实际结果 | 实际结果与预期结果一致 |
宠物资讯查看功能测试:
表5-2宠物资讯查看功能测试表
用例名称 | 宠物资讯查看 |
目的 | 测试宠物资讯查看功能 |
前提 | 用户登录 |
测试流程 | 点击宠物资讯列表 |
预期结果 | 可以查看到所有宠物资讯信息 |
实际结果 | 实际结果与预期结果一致 |
管理员添加领养信息界面测试:
表5-3 管理员添加领养信息界面测试表
用例名称 | 领养信息添加测试用例 |
目的 | 测试领养信息添加功能 |
前提 | 管理员正常登录情况下 |
测试流程 | 1)管理员点击领养信息添加,填写信息。 2)点击进行提交。 |
预期结果 | 提交以后,领养信息列表会显示新的领养信息 |
实际结果 | 实际结果与预期结果一致 |
领养信息搜索功能测试:
表5-4领养信息搜索功能测试表
用例名称 | 领养信息搜索测试 |
目的 | 测试领养信息搜索功能 |
前提 | 无 |
测试流程 | 1)在搜索框填入搜索关键字。 2)点击搜索按钮。 |
预期结果 | 页面显示包含有搜索关键字的领养信息 |
实际结果 | 实际结果与预期结果一致 |
密码修改功能测试:
表5-5 密码修改功能测试表
用例名称 | 密码修改测试用例 |
目的 | 测试管理员密码修改功能 |
前提 | 管理员用户正常登录情况下 |
测试流程 | 1)管理员密码修改并完成填写。 2)点击进行提交。 |
预期结果 | 使用新的密码可以登录 |
实际结果 | 实际结果与预期结果一致 |
通过编写宠物领养与丢失寻找信息平台的测试用例,已经检测完毕用户登录模块、宠物资讯查看模块、领养信息添加模块、领养信息搜索模块、密码修改功能测试,通过这5大模块为宠物领养与丢失寻找信息平台的后期推广运营提供了强力的技术支撑。
在大学的最后阶段,我有幸参与了基于Spring Boot的宠物领养与丢失寻找信息平台的设计与开发工作。这个项目不仅是对我大学四年所学知识的全面检验,更是将理论与实践相结合,解决实际问题的一次宝贵机会。
该平台的核心目标是为用户提供便捷、高效的宠物领养与丢失寻找服务,同时确保管理员能够对系统进行智能、高效的数据维护和管理。为了实现这些目标,我选择了Spring Boot作为后端框架,利用其强大的功能和简洁的编程模型,快速搭建起了稳定、可靠的系统基础。
在项目推进过程中,我深入分析了每个功能模块的需求,精心设计了系统的整体架构,并逐一实现了用户管理、救助信息管理、领养信息管理、宠物种类管理、领养申请管理、寻宠信息管理、活动信息管理、报名记录管理、宠物知识管理等功能。遇到技术难题或设计挑战时,我积极寻求解决方案,与团队成员紧密合作,不断优化和完善系统功能。
经过一个学期的辛勤努力,我成功完成了平台的开发,并通过严格的测试验证了其功能的稳定性和可靠性。在实际应用中,该平台得到了广大用户的一致好评,为宠物主人、领养者提供了便捷、高效的服务体验。
这次项目实践让我深刻体会到,理论与实践相结合的重要性。只有将所学知识真正应用于实际项目中,才能更好地理解和掌握技术,提升自己的综合能力。同时,我也学会了如何面对挑战和困难,坚持不懈地追求成功。
基于Spring Boot的宠物领养与丢失寻找信息平台的实现是我大学生活中的一次重要经历。它不仅提升了我的技术能力,更增强了我的自信心和面对未来挑战的勇气。我相信,在未来的道路上,我会继续努力学习、不断进步,为社会的发展贡献自己的力量。
参考文献
[1]王晓东,刘海燕,王迎,等.基于SpringBoot的气象信息资源管理系统设计与实现[J].电脑编程技巧与维护,2024,(03):79-82.DOI:10.16184/j.cnki.comprg.2024.03.028.
[2]刘慧玲,谭定英,陈平平.基于SpringBoot和Vue.js的大学生团队管理系统的设计[J].电脑编程技巧与维护,2024,(03):120-122.DOI:10.16184/j.cnki.comprg.2024.03.039.
[3]郭甲天,陈婷,向阳.一种基于SpringBoot框架校园宿舍管理系统的设计与实现[J].电脑知识与技术,2024,20(07):37-40.DOI:10.14004/j.cnki.ckt.2024.0444.
[4]徐少军,李宗哲,梅杰,等.基于Springboot+Vue框架的质量检验监督管理系统研发[J].纺织标准与质量,2024,(01):11-14+21.
[5]雷欣,马宏琳,郑霖,等.基于SpringBoot的域名信息系统设计与实现[J].电脑知识与技术,2024,20(05):44-47.DOI:10.14004/j.cnki.ckt.2024.0188.
[6]Sartika D A R ,Wirawan F ,Putri N P , et al.Association between Iron-Folic Acid Supplementation during Pregnancy and Maternal and Infant Anemia in West Java, Indonesia: A Mixed-Method Prospective Cohort Study.[J].The American journal of tropical medicine and hygiene,2024,
[7]Heliyanto B ,Murianingrum M ,Hartati S R , et al.Observation on local high-yielding stevia (Stevia rebaudiana Bertoni L.) clone specific to Bandung District, West Java[J].IOP Conference Series: Earth and Environmental Science,2024,1302(1):
[8]Lestari E ,Rusdiyana E ,Sugihardjo, et al.The role of village owned enterprises in the development and sustainability of the agrotourism sector (A case study of agrotourism in Karanganyar Regency, Central Java)[J].IOP Conference Series: Earth and Environmental Science,2024,1302(1):
[9]Hasyim A M ,Qurrotaayunina P R ,Nayomi M , et al.The diversity of aerial insect in coffee agroforestry, Dampit and Purwodadi district East Java Indonesia[J].IOP Conference Series: Earth and Environmental Science,2024,1312(1):
[10]Solikin S .Diversity and infestation of mistletoes in cultivation of sengon (Falcataria moluccana (Miq.) BarnebyJ.W.Grimes) in Malang East Java Indonesia[J].IOP Conference Series: Earth and Environmental Science,2024,1312(1):
[11]张雷雨,单田清,梁霄.基于SpringBoot的水利地理信息系统设计与实现[J].连云港职业技术学院学报,2023,36(04):1-7.DOI:10.19858/j.cnki.1009-4318.2023.04.003.
[12]吴伶琳.基于SpringBoot的客户关系管理系统设计与实现[J].无线互联科技,2023,20(24):60-62.
[13]黄赛英.基于Springboot的医院档案管理系统设计[J].集成电路应用,2023,40(11):384-385.DOI:10.19339/j.issn.1674-2583.2023.11.176.
[14]戴建成,王华,范玉婷.基于SpringBoot+VUE的高校廉政档案管理系统设计与实现[J].产业与科技论坛,2023,22(21):58-60.
[15]费天乐,刘君.宠物领养一站式服务平台可行性及运行模式研究[J].国际公关,2023,(12):170-172.DOI:10.16645/j.cnki.cn11-5281/c.2023.12.003.
[16]赵亚洲,杨晓冬.动物领养管理系统的设计与实现[J].无线互联科技,2022,19(18):61-65+72.
[17]笪伟瀚.AI宠物技术应用于宠物领养app的设计研究[J].电子测试,2022,36(09):115-118.DOI:10.16520/j.cnki.1000-8519.2022.09.027.
[18]周粉妹,吴仁平,钱荣华,等.基于SSM的宠物领养网站设计[J].扬州职业大学学报,2021,25(01):32-35.DOI:10.15954/j.cnki.cn32-1529/g4.2021.01.009.
[19]吴文洋,刘世宇.基于B/S架构宠物领养管理系统设计[J].软件,2020,41(11):85-87.
[20]杨芹.宠物领养Web App的设计与实现[D].华中科技大学,2020.DOI:10.27157/d.cnki.ghzku.2020.006892.
致谢
经过几个月时间的努力终于完成了这篇文章,在文章的写作与研究的过程中遇到了很多困难,都在同学和老师的帮助下解决了。尤其非常感谢我最敬爱的老师,他对我进行了无私的指导和帮助,不厌其烦的帮助进行文章的修改。老师严谨的治学态度、渊博的学术知识、诲人不倦的敬业精神以及宽容的待人风范使我获益颇丰。此外,在校图书馆查找资料的时候,图书馆的老师也给我提供了很多方面的支持与帮助。在此,向帮助和指导过我的老师表示最衷心的感谢!感谢这篇文章所涉及到的各位学者。本文引用了数位学者的文献,如果没有各位学者的研究成果的帮助和启发,我将很难完成本篇文章的写作。感谢我的同学和朋友,在我写文章的过程中给与了我很多素材和帮助,还在文章的撰写和排版过程中提供热情的帮助。同时,感谢我的室友对我的热心指导和帮助,经常有不懂之处都是大家在帮助我,才使得我比较顺利的完成了这篇文章。由于我水平有限,所写文章难免有不足之处,恳请各位老师和学友批评和指正!
请关注点赞+私信博主,免费领取项目源码