基于Java的宠物领养及健康管理系统 毕业设计-附源码 14820

 目  录

摘要

第一章  项目概述

1.1 项目背景

1.2项目适用范围

1.3项目运行环境

第二章 系统分析

2.1 可行性分析

2.1.1技术可行性

2.1.2经济可行性

2.1.3社会可行性

2.2 功能性需求

2.2.1 用例概述

2.2.2 用例描述

2.3 非功能性需求

2.4开发流程分析

第3章 系统设计

3.1 技术路线

3.2 软件体系结构设计

3.2.1功能结构

3.2.2系统架构

3.3 数据库设计

3.3.1 数据库概念结构设计

3.3.2 数据库逻辑结构设计

表access_token (登陆访问时长)

表adoption_application (领养申请)

表adoption_information (领养信息)

表auth (用户权限管理)

表balance_information (余额信息)

表cancel_purchase (取消购买)

表collect (收藏)

表comment (评论)

表hits (用户点击)

表item_classification (物品分类)

表notice (公告)

表order_delivery (订单配送)

表pet_breeds (宠物品种)

表pet_foster_care (宠物寄养)

表pet_information (宠物信息)

表pet_reporting (宠物上报)

表pet_room (宠物房间)

表pet_supplies (宠物用品)

表praise (点赞)

表purchase_information (购买信息)

表recharge_records (充值记录)

表regular_users (普通用户)

表room_allocation (房间分配)

表signing_status (签收状态)

表slides (轮播图)

表thank_you_for_your_message (感谢信息)

表upload (文件上传)

表user (用户账户:用于保存用户登录信息)

表user_group (用户组:用于用户前端身份和鉴权)

第4章系统实现

4.1普通用户功能模块

4.1.1用户注册界面

4.1.2用户登录界面

4.1.3首页界面

4.1.4 系统公告界面

4.1.5宠物信息界面

4.1.6宠物用品界面

4.1.7感谢信息界面

4.1.8个人中心界面

4.2管理员功能模块

4.2.1系统用户界面

4.2.2充值记录管理界面

4.2.3宠物信息管理界面

4.2.4领养申请管理界面

4.2.5宠物寄养管理界面

4.2.6宠物用品管理界面

4.1.8系统管理界面

第5章 系统测试

5.1测试目的

5.2测试方案设计

5.2.1 测试策略

5.2.2 测试分析

5.3 测试结果

6 结论

参考文献

致谢 29

摘要

随着社会经济的发展,人们的生活水平不断提高,宠物产业逐渐兴起。越来越多的人选择领养宠物,宠物已成为人们生活中的重要组成部分。然而,宠物领养及健康管理方面的问题日益凸显。为此,本文提出并实现了一种基于Java的宠物领养及健康管理系统。本系统采用Spring Boot框架进行开发。Spring Boot作为Java开发领域的先进框架,具有简洁的配置、快速的开发等特点,使用Spring Boot开发可以提高系统的可维护性和可扩展性,满足宠物领养及健康管理系统的需求。

本系统主要包括普通用户和管理员这两大模块。用户功能模块主要包括注册登录、系统公告、宠物信息、宠物用户和感谢信息等功能;管理员功能主要包括系统用户、充值记录管理、宠物信息管理、领养申请管理、宠物寄养管理、订单配送管理、宠物上报管理、感谢信息管理、系统管理、系统公告管理等功能。研究此系统旨在为宠物主人和宠物提供更加便捷、高效的服务。

关键词:宠物领养;健康管理;Java;Spring Boot 

Abstract

With the development of social economy, people's living standards are constantly improving, and the pet industry is gradually emerging. More and more people are choosing to adopt pets, which have become an important part of people's lives. However, issues related to pet adoption and health management are becoming increasingly prominent. Therefore, this article proposes and implements a Java based pet adoption and health management system. This system is developed using the Spring Boot framework. As an advanced framework in the Java development field, Spring Boot has the characteristics of simple configuration and fast development. Using Spring Boot for development can improve the maintainability and scalability of the system, meeting the needs of pet adoption and health management systems.

This system mainly includes two modules: ordinary users and administrators. The user function module mainly includes functions such as registration and login, system announcements, pet information, pet users, and thank-you messages; The administrator functions mainly include system users, recharge record management, pet information management, adoption application management, pet foster management, order delivery management, pet reporting management, thank you information management, system management, system announcement management, and other functions. The research on this system aims to provide more convenient and efficient services for pet owners and pets.

Keywords Pet adoption; Health management; Java; Spring Boot

第一章  项目概述

1.1 项目背景

随着社会发展和人们生活水平的提高,宠物已经成为越来越多家庭的重要成员。宠物的健康问题也日益受到关注,但很多宠物主人在面对宠物健康问题时往往缺乏专业的指导和建议。如何更好地领养和照顾宠物,提高宠物的生活质量,成为当下亟待解决的问题。随着信息技术的不断发展,越来越多的技术被应用于宠物行业。

Java作为一种成熟、稳定、易于扩展的编程语言,已被广泛应用于各个领域。利用Java开发宠物领养及健康管理系统,可以实现系统的可维护性、可扩展性和可重用性,从而满足不断变化的用户需求和技术发展。此外,Spring Boot作为一种轻量级、易于上手的Java开发框架,具有快速构建Web应用的能力。同时,随着移动互联网和大数据技术的发展,为开发宠物领养及健康管理系统提供了强大的技术支持。

1.2项目适用范围

基于Java的宠物领养及健康管理系统的适用范围主要包括以下几个方面:

1.宠物服务机构:如宠物店、宠物医院、宠物救助站等,这些机构需要对大量的宠物

信息进行管理,包括宠物的领养信息、健康记录、疫苗接种情况等。使用该系统可以大大提高工作效率,减少人力成本,并更好地为宠物提供服务。

2.个人宠物主人:宠物主人可以通过该系统方便地管理自己宠物的信息,包括宠物的健康状况、饮食情况、疫苗接种提醒等。此外,该系统还可以提供宠物寄养、宠物用品购买等功能,帮助宠物主人更好地照顾自己的宠物。

3.政府部门和动物保护组织:这些机构需要对流浪动物进行管理和救助,使用该系统

可以方便地记录动物的领养情况、健康状况、救助历程等,有助于更好地管理和保护流浪动物。

总之,基于Java的宠物领养及健康管理系统适用于所有需要管理宠物信息、关注宠物健康的场景,无论是宠物服务机构、个人宠物主人还是政府部门和动物保护组织,都可以从中受益。

1.3项目运行环境

操作系统:Windows 11、Windows 10、Windows 8、Windows 7

开发语言:Java

使用框架:spring boot

开发工具:IDEA(2020版)/MyEclipse(2017)/Eclipse、vs code

数据库:MySQL 5.6以上

数据库管理工具: Navicat

JDK版本:Java sdk 1.8

Maven:apache-maven 3.6.1-bin

第二章 系统分析 

2.1 可行性分析

2.1.1技术可行性

Java 是一种成熟、稳定、安全的语言,已经被广泛用于构建各种复杂的应用系统。Java 的强大功能、跨平台性以及广泛的支持,使其非常适合用于开发宠物领养及健康管理系统。此外,Spring Boot 是一个简化了 Spring 应用开发的框架,它提供了许多开箱即用的功能和工具,如自动配置、内嵌服务器、无代码生成和XML配置等。这使得开发者可以更加快速地构建和部署应用。

2.1.2经济可行性

Spring Boot 的快速开发能力意味着项目可以在较短的时间内完成,从而降低开发成本。Spring Boot 简化了配置和管理,减少了不必要的资源消耗,如服务器硬件和运维人力成本。此外,采用Spring Boot框架开发的系统通常具有更好的性能和稳定性,这有助于提高用户满意度,进而实现长期的经济效益。

2.1.3社会可行性

随着社会的发展,越来越多的人开始养宠物,对宠物领养和健康管理系统的需求也在不断增加。同时一些地方政府可能会提供政策支持,鼓励开发这样的系统,以提高社会的宠物管理和服务水平。

2.2 功能性需求

2.2.1 用例概述

用例概述是一种软件工程的技术,主要用于描述系统应具有的功能或行为。用例(Use Case)通常包括三个主要部分:参与者、用例描述和用例关系。用例描述提供了一种描述系统的需求或目标的方法,这通常以成功交互序列的形式给出,即用例中的主角(参与者)执行的操作序列。在编写用例概述时,需要考虑以下几个方面:

1.参与者:识别与系统交互的人或其他系统,并确定他们的角色和目标。

2.用例描述:描述参与者与系统之间的交互,包括输入、输出和系统响应。使用简短、明确的语句描述预期结果。

3.约束和假设:说明实现该用例的约束条件和任何假设。这有助于在开发过程中考虑潜在的问题和限制。

2.2.2 用例描述

按照基于Java的宠物领养及健康管理系统的角色,主要包括普通用户和管理员这两大功能模块。

  1. 普通用户功能主要包括注册登录、首页、系统公告、宠物信息、宠物用品、感谢信息、我的(我的账户、个人中心、退出),其中个人中心包括个人首页、余额信息、充值记录、领养申请、领养信息、宠物寄养、房间分配、购买信息、取消购买、订单配送、签收状态、宠物上报和收藏信息。其用例图如下图2-1所示:

图2-1 普通用户用例图

  1. 管理员功能主要包括后台首页、系统用户、余额信息管理、充值记录管理、宠物品种管理、宠物信息管理、领养申请管理、领养信息管理、宠物房间管理、宠物寄养管理、房间分配管理、物品分类管理、购买信息管理、取消购买管理、订单配送管理、签收状态管理、宠物上报管理、感谢信息管理、系统管理、系统公告管理。其用例图如下图2-2所示:

图2-2 管理员用例图

  1. 系统相关用例描述如下所示:

表2-1 系统公告浏览用例描述

描述项

说明

用例名称

系统公告浏览

用例描述

用户可以查看公告的详情

参与者

用户

前置条件

使用者是普通用户类型并成功进入该系统

后置条件

浏览成功

主事件流

(1)用户可以浏览系统公告的模块、公告的内容

(2)用户点击公告可以对公告进行详情阅读

异常事件流

e1.报500错误

e2.数据库连接异常

表2-2 宠物领养申请用例描述

描述项

说明

用例名称

宠物领养申请

用例描述

用户可以查看宠物信息列表中某个宠物的详情并可以申请领养

参与者

用户

前置条件

用户是普通用户并成功进入该系统

后置条件

申请信息提交成功且显示在个人中心中的领养申请列表中

主事件流

系统检查是否是系统用户

未注册的用户可以查看宠物信息

已注册的用户的可以提交申请领养宠物信息

异常事件流

e1.报500错误

e2.数据库连接异常

e3.申请领养信息不显示

表2-3个人信息管理用例描述

用例名称

用户修改个人信息

参与者

用户

描述

用户查看、修改个人信息

前置条件

用户已登录到系统中

后置条件

事件流

(1)用户查看个人信息

(2)用户修改个人信息

补充说明

(a)用户可修改密码

(b)用户可修改个人资料,例如姓名,头像等

表2-4系统公告管理用例描述

用例名称

系统公告管理

参与者

管理者

描述

管理者提供新增、修改、删除、查阅等功能

前置条件

  1. 管理者成功登录系统
  2. 管理者只能对已存在的公告进行修改和删除

后置条件

事件流

(1)管理者查看修改公告

(2)管理者添加公告

(3)管理者删除公告

补充说明

(a)新添加的公告不符合要求时会添加失败

(b)修改的公告不符合要求时会修改失败

表2-5 收藏用例描述

用例名称

收藏

参与者

用户

描述

用户将内容加入收藏夹

前置条件

用户已登录

后置条件

事件流

(1)在收藏页加入收藏

(2)更新并显示收藏夹

补充说明

2.3 非功能性需求

基于Java的宠物领养及健康管理系统的非功能性需求比如系统的安全性怎么样,可靠性怎么样,性能怎么样,可拓展性怎么样等。具体可以表示在如下2-1表格中:

2-1基于Java的宠物领养及健康管理系统非功能需求表

安全性

主要指基于Java的宠物领养及健康管理系统数据库的安装,数据库的使用和密码的设定必须合乎规范。

可靠性

可靠性是指基于Java的宠物领养及健康管理系统能够安装用户的指示进行操作,经过测试,可靠性90%以上。

性能

性能是影响基于Java的宠物领养及健康管理系统占据市场的必要条件,所以性能最好要佳才好。

可扩展性

比如数据库预留多个属性,比如接口的使用等确保了系统的非功能性需求。

易用性

用户只要跟着基于Java的宠物领养及健康管理系统的页面展示内容进行操作,就可以了。

可维护性

基于Java的宠物领养及健康管理系统开发的可维护性是非常重要的,经过测试,可维护性没有问题

2.4开发流程分析

软件开发设计的思想始终贯穿本系统,前期需要进行功能分析,功能设计,还有对系统后台支持数据库的设计,利用编码技术对设计的系统进行实现,然后检测和完善。其开发流程如下图2-3所示。

图2-3 开发流程图

第3章 系统设计

本章主要讨论的内容包括基于Java的宠物领养及健康管理系统的技术路线、体系结构设计、数据库系统设计。

3.1 技术路线

本系统采用B/S结构,前端框架拟采用渐进式JavaScript框架VUE.JS。使用Vue-Router和VUEX实现动态路由和全局状态管理,Ajax实现前后端通信,Element UI组件库使页面快速成型;后端采用基于Java语言的Spring Boot作为开发框架进行系统开发。同时集成MyBatis、Redis等相关技术;采用MySQL数据库对系统数据的存储和管理。首先完成系统需求分析,确定系统功能,然后完成系统数据库、系统架构设计,接着对系统进行测试和完善,最后完成毕业论文的撰写。技术路线图如下图所示:

图3-1 系统技术路线图

3.2 软件体系结构设计

3.2.1功能结构

在上一章节中主要对系统的功能性需求和非功能性需求进行分析,并且根据需求分析了本基于Java的宠物领养及健康管理系统中的用例。根据前面章节的需求分析得出系统的整体功能结构,其总体设计模块图如图3-2所示。

图3-2 系统功能结构图

3.2.2系统架构

本系统从架构上分为三层:表现层(UI)、业务逻辑层(BLL)以及数据层(DL)。

图3-3系统架构设计图

表现层(UI):又称UI层,主要完成本系统的UI交互功能,一个良好的UI可以打打提高用户的用户体验,增强用户使用本系统时的舒适度。UI的界面设计也要适应不同版本的系统以及不同尺寸的分辨率,以做到良好的兼容性。UI交互功能要求合理,用户进行交互操作时必须要得到与之相符的交互结果,这就要求表现层要与业务逻辑层进行良好的对接。

业务逻辑层(BLL):主要完成本系统的数据处理功能。用户从表现层传输过来的数据经过业务逻辑层进行处理交付给数据层,系统从数据层读取的数据经过业务逻辑层进行处理交付给表现层。

数据层(DL):由于本系统的数据是放在服务端的MySQL数据库中,因此本属于服务层的部分可以直接整合在业务逻辑层中,所以数据层中只有数据库,其主要完成本系统的数据存储和管理功能。

3.3 数据库设计

数据库设计一般包括需求分析、概念模型设计、数据库表建立三大过程,其中需求分析前面章节已经阐述,概念模型设计有概念模型和逻辑结构设计两部分。

3.3.1 数据库概念结构设计

下面是整个基于Java的宠物领养及健康管理系统中主要的数据库表总E-R实体关系图。

图3-4 系统总E-R关系图

3.3.2 数据库逻辑结构设计

通过上一小节中基于Java的宠物领养及健康管理系统中总E-R关系图上得出一共需要创建很多个数据表。在此主要罗列几个主要的数据库表结构设计。

表access_token (登陆访问时长)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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

用户编号:

表adoption_application (领养申请)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

adoption_application_id

int

10

0

N

Y

领养申请ID

2

user_account

int

10

0

Y

N

0

用户账号

3

user_name

varchar

64

0

Y

N

用户姓名

4

user_phone_number

varchar

64

0

Y

N

用户电话

5

pet_name

varchar

64

0

Y

N

宠物名称

6

pet_breeds

varchar

64

0

Y

N

宠物品种

7

application_time

date

10

0

Y

N

申请时间

8

reason_for_application

text

65535

0

Y

N

申请原因

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

更新时间

表adoption_information (领养信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

adoption_information_id

int

10

0

N

Y

领养信息ID

2

user_account

int

10

0

Y

N

0

用户账号

3

user_name

varchar

64

0

Y

N

用户姓名

4

user_phone_number

varchar

64

0

Y

N

用户电话

5

pet_name

varchar

64

0

Y

N

宠物名称

6

pet_breeds

varchar

64

0

Y

N

宠物品种

7

adoption_time

date

10

0

Y

N

领养时间

8

adoption_details

text

65535

0

Y

N

领养详情

9

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表auth (用户权限管理)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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

更新时间:

表balance_information (余额信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

balance_information_id

int

10

0

N

Y

余额信息ID

2

user_account

int

10

0

Y

N

0

用户账号

3

user_name

varchar

64

0

Y

N

用户姓名

4

user_phone_number

varchar

64

0

Y

N

用户电话

5

account_balance

int

10

0

Y

N

0

账户余额

6

remarks

text

65535

0

Y

N

备注信息

7

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表cancel_purchase (取消购买)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

cancel_purchase_id

int

10

0

N

Y

取消购买ID

2

user_account

int

10

0

Y

N

0

用户账号

3

user_name

varchar

64

0

Y

N

用户姓名

4

user_phone_number

varchar

64

0

Y

N

用户电话

5

item_name

varchar

64

0

Y

N

物品名称

6

item_price

int

10

0

Y

N

0

物品价格

7

purchase_time

datetime

19

0

Y

N

购买时间

8

purchase_quantity

int

10

0

Y

N

0

购买数量

9

purchase_amount

varchar

64

0

Y

N

购买金额

10

order_number

varchar

64

0

Y

N

订单编号

11

receiving_address

text

65535

0

Y

N

收货地址

12

cancel_time

datetime

19

0

Y

N

取消时间

13

reason_for_cancellation

text

65535

0

Y

N

取消原因

14

examine_state

varchar

16

0

N

N

未审核

审核状态

15

examine_reply

varchar

16

0

Y

N

审核回复

16

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

17

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表collect (收藏)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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

更新时间:

表comment (评论)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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:

表hits (用户点击)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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:

表item_classification (物品分类)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

item_classification_id

int

10

0

N

Y

物品分类ID

2

item_classification

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

更新时间

表notice (公告)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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

更新时间:

表order_delivery (订单配送)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

order_delivery_id

int

10

0

N

Y

订单配送ID

2

user_account

int

10

0

Y

N

0

用户账号

3

user_name

varchar

64

0

Y

N

用户姓名

4

user_phone_number

varchar

64

0

Y

N

用户电话

5

item_name

varchar

64

0

Y

N

物品名称

6

item_price

int

10

0

Y

N

0

物品价格

7

purchase_time

datetime

19

0

Y

N

购买时间

8

purchase_quantity

int

10

0

Y

N

0

购买数量

9

purchase_amount

varchar

64

0

Y

N

购买金额

10

order_number

varchar

64

0

Y

N

订单编号

11

receiving_address

text

65535

0

Y

N

收货地址

12

delivery_time

datetime

19

0

Y

N

发货时间

13

shipment_status

varchar

64

0

Y

N

发货状态

14

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

15

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表pet_breeds (宠物品种)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

pet_breeds_id

int

10

0

N

Y

宠物品种ID

2

pet_breeds

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

更新时间

表pet_foster_care (宠物寄养)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

pet_foster_care_id

int

10

0

N

Y

宠物寄养ID

2

user_account

int

10

0

Y

N

0

用户账号

3

user_name

varchar

64

0

Y

N

用户姓名

4

user_phone_number

varchar

64

0

Y

N

用户电话

5

pet_name

varchar

64

0

Y

N

宠物名称

6

pet_breeds

varchar

64

0

Y

N

宠物品种

7

foster_care_period

datetime

19

0

Y

N

寄养时间

8

end_time

datetime

19

0

Y

N

结束时间

9

reason_for_foster_care

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

更新时间

表pet_information (宠物信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

pet_information_id

int

10

0

N

Y

宠物信息ID

2

pet_name

varchar

64

0

Y

N

宠物名称

3

pet_photos

varchar

255

0

Y

N

宠物照片

4

pet_breeds

varchar

64

0

Y

N

宠物品种

5

pet_age

varchar

64

0

Y

N

宠物年龄

6

pet_gender

varchar

64

0

Y

N

宠物性别

7

vaccine_situation

varchar

64

0

Y

N

疫苗情况

8

number_of_injections

int

10

0

Y

N

0

注射针数

9

sterilization_or_not

varchar

64

0

Y

N

是否绝育

10

whether_to_conceive_or_not

varchar

64

0

Y

N

是否生育

11

pet_preferences

varchar

64

0

Y

N

宠物喜好

12

genetic_diseases

varchar

64

0

Y

N

遗传病

13

etiological_notes

text

65535

0

Y

N

病因备注

14

pet_details

text

65535

0

Y

N

宠物详情

15

hits

int

10

0

N

N

0

点击数

16

praise_len

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

更新时间

表pet_reporting (宠物上报)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

pet_reporting_id

int

10

0

N

Y

宠物上报ID

2

user_account

int

10

0

Y

N

0

用户账号

3

user_name

varchar

64

0

Y

N

用户姓名

4

user_phone_number

varchar

64

0

Y

N

用户电话

5

pet_name

varchar

64

0

Y

N

宠物名称

6

pet_photos

varchar

255

0

Y

N

宠物照片

7

pet_breeds

varchar

64

0

Y

N

宠物品种

8

reporting_time

date

10

0

Y

N

上报时间

9

report_details

text

65535

0

Y

N

上报详情

10

examine_state

varchar

16

0

N

N

未审核

审核状态

11

examine_reply

varchar

16

0

Y

N

审核回复

12

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

13

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表pet_room (宠物房间)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

pet_room_id

int

10

0

N

Y

宠物房间ID

2

room_name

varchar

64

0

Y

N

房间名称

3

room_number

varchar

64

0

N

N

房间编号

4

usage_status

varchar

64

0

Y

N

使用状态

5

room_facilities

varchar

64

0

Y

N

房间设施

6

room_details

text

65535

0

Y

N

房间详情

7

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表pet_supplies (宠物用品)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

pet_supplies_id

int

10

0

N

Y

宠物用品ID

2

item_name

varchar

64

0

Y

N

物品名称

3

item_images

varchar

255

0

Y

N

物品图片

4

item_classification

varchar

64

0

Y

N

物品分类

5

serial_number

varchar

64

0

Y

N

物品编号

6

item_price

int

10

0

Y

N

0

物品价格

7

item_details

text

65535

0

Y

N

物品详情

8

hits

int

10

0

N

N

0

点击数

9

praise_len

int

10

0

N

N

0

点赞数

10

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

11

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表praise (点赞)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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已取消

表purchase_information (购买信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

purchase_information_id

int

10

0

N

Y

购买信息ID

2

user_account

int

10

0

Y

N

0

用户账号

3

user_name

varchar

64

0

Y

N

用户姓名

4

user_phone_number

varchar

64

0

Y

N

用户电话

5

item_name

varchar

64

0

Y

N

物品名称

6

item_price

int

10

0

Y

N

0

物品价格

7

purchase_time

datetime

19

0

Y

N

购买时间

8

purchase_quantity

int

10

0

Y

N

0

购买数量

9

purchase_amount

varchar

64

0

Y

N

购买金额

10

order_number

varchar

64

0

Y

N

订单编号

11

receiving_address

text

65535

0

Y

N

收货地址

12

pay_state

varchar

16

0

N

N

未支付

支付状态

13

pay_type

varchar

16

0

Y

N

支付类型: 微信、支付宝、网银

14

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

15

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表recharge_records (充值记录)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

recharge_records_id

int

10

0

N

Y

充值记录ID

2

user_account

int

10

0

Y

N

0

用户账号

3

user_name

varchar

64

0

Y

N

用户姓名

4

user_phone_number

varchar

64

0

Y

N

用户电话

5

recharge_time

date

10

0

Y

N

充值时间

6

recharge_amount

int

10

0

Y

N

0

充值金额

7

recharge_details

text

65535

0

Y

N

充值详情

8

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表regular_users (普通用户)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

regular_users_id

int

10

0

N

Y

普通用户ID

2

user_name

varchar

64

0

Y

N

用户姓名

3

user_phone_number

varchar

16

0

Y

N

用户电话

4

examine_state

varchar

16

0

N

N

已通过

审核状态

5

user_id

int

10

0

N

N

0

用户ID

6

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

7

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表room_allocation (房间分配)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

room_allocation_id

int

10

0

N

Y

房间分配ID

2

user_account

int

10

0

Y

N

0

用户账号

3

user_name

varchar

64

0

Y

N

用户姓名

4

user_phone_number

varchar

64

0

Y

N

用户电话

5

pet_name

varchar

64

0

Y

N

宠物名称

6

pet_breeds

varchar

64

0

Y

N

宠物品种

7

foster_care_period

datetime

19

0

Y

N

寄养时间

8

end_time

datetime

19

0

Y

N

结束时间

9

reason_for_foster_care

text

65535

0

Y

N

寄养原因

10

room_name

varchar

64

0

Y

N

房间名称

11

room_number

varchar

64

0

Y

N

房间编号

12

room_facilities

varchar

64

0

Y

N

房间设施

13

foster_care_details

text

65535

0

Y

N

寄养详情

14

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

15

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表signing_status (签收状态)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

signing_status_id

int

10

0

N

Y

签收状态ID

2

user_account

int

10

0

Y

N

0

用户账号

3

user_name

varchar

64

0

Y

N

用户姓名

4

user_phone_number

varchar

64

0

Y

N

用户电话

5

item_name

varchar

64

0

Y

N

物品名称

6

item_price

int

10

0

Y

N

0

物品价格

7

purchase_time

datetime

19

0

Y

N

购买时间

8

purchase_quantity

int

10

0

Y

N

0

购买数量

9

purchase_amount

varchar

64

0

Y

N

购买金额

10

order_number

varchar

64

0

Y

N

订单编号

11

receiving_address

text

65535

0

Y

N

收货地址

12

delivery_time

datetime

19

0

Y

N

发货时间

13

shipment_status

varchar

64

0

Y

N

发货状态

14

signing_status

varchar

64

0

Y

N

签收状态

15

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

16

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表slides (轮播图)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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

更新时间:

表thank_you_for_your_message (感谢信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

thank_you_for_your_message_id

int

10

0

N

Y

感谢信息ID

2

user_account

int

10

0

Y

N

0

用户账号

3

user_name

varchar

64

0

Y

N

用户姓名

4

user_phone_number

varchar

64

0

Y

N

用户电话

5

thank_you_for_your_name

varchar

64

0

Y

N

感谢名称

6

thank_you_for_the_pictures

varchar

255

0

Y

N

感谢图片

7

release_time

date

10

0

Y

N

发布时间

8

thank_you_for_the_reason

varchar

64

0

Y

N

感谢原因

9

thank_you_for_the_details

text

65535

0

Y

N

感谢详情

10

hits

int

10

0

N

N

0

点击数

11

praise_len

int

10

0

N

N

0

点赞数

12

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

13

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表upload (文件上传)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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

文件类型

表user (用户账户:用于保存用户登录信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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

email

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

会员折扣

表user_group (用户组:用于用户前端身份和鉴权)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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章系统实现

基于Java的宠物领养及健康管理系统的详细设计与实现主要是根据前面的需求分析和总体设计来设计页面并实现业务逻辑。主要从系统界面实现、业务逻辑实现这两部分进行介绍。

4.1普通用户功能模块

4.1.1用户注册界面

用户点击首页导航栏左上方的“注册”进入注册页面填写账号、密码、确认密码、昵称、邮箱、身份等信息后点击“注册”按钮,系统会对输入的信息进行验证,验证通过后即可完成注册。其界面展示如下图4-1所示。

图4-1用户注册界面图

注册代码如下:

    /**

     * 注册

     * @param user

     * @return

     */

    @PostMapping("register")

    public Map<String, Object> signUp(@RequestBody User user) {

        // 查询用户

        Map<String, String> query = new HashMap<>();

        Map<String,Object> map = JSON.parseObject(JSON.toJSONString(user));

        query.put("username",user.getUsername());

        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);

}   

4.1.2用户登录界面

用户注册后通过后可以通过自己的账户名和密码进行登录,用户点击首页导航栏左上方的“登录”进入页面填写用户名、密码和验证信息后点击“登录”,系统会对输入的信息进行验证,验证通过后即可完成登录。其界面如下图4-2所示。

图4-2用户登录界面图

登录的代码如下:

 /**

     * 登录

     * @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.1.3首页界面

首页界面是用户访问系统的入口页面,系统首页以上中下的布局进行展示。用户可以查看首页展示的轮播图、网站公告等信息。其界面展示如下图4-3所示。

图4-3 首页界面图

4.1.4 系统公告界面

用户可以查看系统发布的网站公告、关于我们、联系方式、网站介绍等信息。点击网站公告进入页面可以查看该公告的详细信息。其界面如下图4-4所示。

图4-4 系统公告界面图

4.1.5宠物信息界面

用户可以查看宠物信息列表中所有的宠物信息,点击某个宠物进入页面可以查看该宠物的详细信息并可以申请、点赞、收藏和评论。点击详情下方的“申请”进入页面填写申请原因后点击“提交”即可完成宠物领养申请。其界面如下图4-5所示。

图4-5 宠物信息界面图

4.1.6宠物用品界面

用户可以查看宠物用品列表中所有的宠物用品信息,点击某个宠物用品进入页面可以查看该用品的详细信息并可以购买、点赞、收藏和评论。点击详情下方的“购买”进入页面填写购买数量、收货地址等信息后点击“提交”即可完成该宠物用品的购买。其界面如下图4-6所示。

图4-6 宠物用品界面图

4.1.7感谢信息界面

用户可以查看感谢信息列表中所有用户发表的感谢信息,点击某个感谢信息进入页面可以查看该信息的详情并可以点赞、收藏和评论。其界面如下图4-7所示。

图4-7 感谢信息界面图

4.1.8个人中心界面

用户点击我的头像的下拉菜单“个人中心”进入页面可以查看和管理个人首页、余额信息、充值记录、领养申请、领养信息、宠物寄养、房间分配、购买信息、取消购买、订单配送、签收状态、宠物上报和收藏信息。可以查询和重置余额信息、领养信息、房间分配、订单配送;可以查询、重置、添加和删除充值记录、宠物寄养、取消购买、签收状态、宠物上报信息;可以查询、重置和删除领养申请、购买信息;可以查看或删除收藏列表信息。其界面如下图4-8所示。

图4-8 个人中心界面图

4.2管理员功能模块

4.2.1系统用户界面

管理员可以查看系统用户(管理员、普通用户)列表中某个用户的详情,可以查询、重置、添加或删除系统用户信息。其界面如下图4-9所示:

4-9 系统用户界面图

添加的代码如下:

   @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.2.2充值记录管理界面

管理员可以添加充值记录信息,可以对已有的用户充值记录信息进行查询、重置和删除操作。其界面如下图4-10所示:

4-10 充值记录管理界面图

删除的代码如下:

  @RequestMapping(value = "/del")

    @Transactional

    public Map<String, Object> del(HttpServletRequest request) {

        service.delete(service.readQuery(request), service.readConfig(request));

        return success(1);

    }

    @Transactional

    public void delete(Map<String,String> query,Map<String,String> config){

        QueryWrapper wrapper = new QueryWrapper<E>();

        toWhereWrapper(query, "0".equals(config.get(FindConfig.GROUP_BY)),wrapper);

        baseMapper.delete(wrapper);

        log.info("[{}] - 删除操作:{}",wrapper.getSqlSelect());

    }

4.2.3宠物信息管理界面

管理员点击“宠物信息列表”可以查看已有宠物信息中某个宠物信息的详情和评论;点击“宠物信息添加”进入页面可以输入宠物名称、宠物品种、宠物年龄等信息后点击“提交”即可完成宠物信息的添加,可以对宠物信息进行增删改查操作。其界面如下图4-11所示:

4-11 宠物信息管理界面图

4.2.4领养申请管理界面

管理员可以查看领养申请列表中某个用户的领养申请的详情并进行审核和回复,审核通过后可以发送领养通知信息,可以对列表信息进行查询、重置和删除操作。其界面如下图4-12所示:

4-12 领养申请管理界面图

4.2.5宠物寄养管理界面

管理员可以查看宠物寄养列表中某个用户的寄养详情并提交房间分配信息,可以对列表信息进行查询、重置和删除操作。其界面如下图4-13所示:

4-13 宠物寄养管理界面图

4.2.6宠物用品管理界面

管理员点击“宠物用品列表”可以查看已有的宠物用品中某个用户的详情和评论;点击“宠物用品添加”进入页面可以输入物品名称、物品分类、物品价格等信息后点击“提交”即可完成宠物用品的添加,可以对宠物用品信息进行增删改查操作。其界面如下图4-14所示:

4-14 宠物用品管理界面图

4.1.8系统管理界面

在系统管理界面,管理员可以查看所有轮播图信息,可以添加新的轮播图信息,对已有的轮播图信息可以进行查询、重置和删除操作。其界面如下图4-15所示:

4-15 系统管理界面图

图片上传的代码如下:

 @PostMapping("/upload")

    public Map<String, Object> upload(@RequestParam("file") MultipartFile file) {

        log.info("进入方法");

        if (file.isEmpty()) {

            return error(30000, "没有选择文件");

        }

        try {

            String filePath = System.getProperty("user.dir") + "/src/main/resources/static/";

            File targetDir = new File(filePath);

            if (!targetDir.exists() && !targetDir.isDirectory()) {

                if (targetDir.mkdirs()) {

                    log.info("创建目录成功");

                } else {

                    log.error("创建目录失败");

                }

            }

            String fileName = file.getOriginalFilename();

            File dest = new File(filePath + fileName);

            log.info("文件路径:{}", dest.getPath());

            log.info("文件名:{}", dest.getName());

            file.transferTo(dest);

            JSONObject jsonObject = new JSONObject();

            jsonObject.put("url", "/api/upload/" + fileName);

            return success(jsonObject);

        } catch (IOException e) {

            log.info("上传失败:{}", e.getMessage());

        }

        return error(30000, "上传失败");

    }

5章 系统测试

5.1测试目的

程序设计不能保证没有错误,这是一个开发过程,在错误或错误的过程中难以避免,这是不可避免的,但我们不能使这些错误始终存在于系统中,错误可能会造成无法估量的后果 如系统崩溃,安全信息,系统无法正常启动,导致安装用户手机屏幕等,为了避免这些问题,我们需要测试程序,并发现这些问题,并纠正它们 ,并使系统更长时间稳定成熟,本章的作用是发现这些问题,并对其进行修改,虽然耗时费力,但长期非常重要和必要系统的开发。

软件测试与开发过程是一样的,都必须按照软件工程的正规原理进行,遵守管理学理论。不过,目前国内的软件测试已经积累了大量经验和方法,步骤相对成熟,软件测试的效率也越来越高。

基于Java的宠物领养及健康管理系统的实现,对于系统中功能模块的实现及操作都必须通过测试进行来评判系统是否可以准确的实现。在基于Java的宠物领养及健康管理系统正式上传使用之前必须做的一步就是系统测试,对于测试发现的错误及时修改处理,保证系统准确无误的供给用户使用。

5.2测试方案设计

5.2.1 测试策略

1、功能测试

从用户的角度来看,测试时不了解新开发软件的内部结构,因此可以将系统与黑匣子进行比较,盲目输入后可以查看系统给出的反馈。这种测试属于黑盒测试,在测试中如果输入错误信息系统会报错。

2、性能测试

测试软件程序的整体状况(称为性能测试)通常使用自动化测试工具来检测系统的整体功能,在负载测试和压力测试之间进行分配,在某些情况下,将这两种情况结合起来。虽然压力测试可以检测到系统可以提供的最高级别的服务,但负载测试可以测试系统如何响应增加的负载。

5.2.2 测试分析

测试评估系统质量的方法不局限于系统编码和过程,应该与软件设计工作和历史需求分析密切相关。

软件测试应遵循以下原则:

(1)软件测试应尽快进行,整个测试部分应在软件开发和设计的整个过程中进行。如发现错误,立即处理,将大大减少软件开发的时间,并提高软件的质量。

(2)在软件的各种测试中,测试过程中使用的计划、报告等应妥善处理和存储。其主要目的是为了便于以后系统的维护。

(3)软件测试整个过程中的聚类现象应优先考虑。

(4)对于软件测试,我们应该尽量不去和自己设计的系统进行参考,而是要测试对方的程序,以确保软件测试结果的客观性和公平性。

(5)整个测试计划严格按照软件测试的具体实施细则进行。

(6)对整个测试结果进行综合检查,尽量避免重复错误。

基于Java的宠物领养及健康管理系统满足用户的要求和需求,本系统的使用能够有效的提高用户的使用率。

5.3 测试结果

测试后得到的性能和用例,系统具有足够的正确性、可靠性、稳定性,并且可以对输入数据进行准确的点击操作处理和响应测试用户的体验也得到了很好的反馈和响应时间。合理的范围,可以兼容所有主流浏览器,设计所需的效果。

6 总结

本文描述了基于Java的宠物领养及健康管理系统开发过程,该系统是通过采用现下比较流程的Java语言,采用Spring Boot框架进行开发,采用MySQL数据库存储和管理系统数据。在文中主要通过对系统进行可行性、功能、用例等方面进行分析,确定了本系统的具体功能,功能确定后就是对系统的设计以及功能的实现,最终完成系统的开发,对系统进行测试,确保系统运行的可靠性和稳定性。

在开发本系统的过程中我成长了很多,学习到了很多书本上没有的知识,目前系统虽然已经完成。由于自己专业知识有限,系统做的并不是十分完美,还有许多地方需要改进,比如界面布局方面,代码的编写方面,都可以进一步完善。以后本人将继续进行努力学习,对系统进行完善,同时希望此系统以后有机会能够投入到实际的使用当中,为用户提供便利的宠物领养和健康管理服务。

参考文献

[1]粟梁.基于Java的汽车租赁管理系统[J].电脑编程技巧与维护,2024,(01):43-45+52.

[2]马绍阳,王伟东,韩斌倩等.基于Spring Boot+Vue的智能远程医疗平台的设计与实现[J].网络安全技术与应用,2024,(01):55-57.

[3]吴伶琳.基于SpringBoot的客户关系管理系统设计与实现[J].无线互联科技,2023,20(24):60-62.

[4]姜一波.基于SpringBoot+Vue的在线考试系统设计与实现[J].无线互联科技,2023,20(23):68-71.

[5]张豪,朱石磊,胡建华等.基于B/S架构的校园论坛系统的设计与实现[J].电脑知识与技术,2023,19(33):32-35.

[6]李鹏,张海燕.基于Java技术的图书馆预约座位管理系统的设计[J].电脑知识与技术,2021,17(08):71-73.

[7]何泫臻,范志聪,李孜,等.宠物健康智能监测发展现状[J].广东饲料,2023,32(10):8-14.

[8]吕秀萍,王瑞欣.“保险+健康管理”——犬等宠物保险发展新路径研究[J].中国工作犬业,2023,(08):10-12.

[9]费天乐,刘君.宠物领养一站式服务平台可行性及运行模式研究[J].国际公关,2023,(12):170-172.

[10]赵亚洲,杨晓冬.动物领养管理系统的设计与实现[J].无线互联科技,2022,19(18):61-65+72.

[11]许亦卿.一种云领养宠物创业模式[J].合作经济与科技,2022,(01):116-118.

[12]叶欣若,肖松鸿,杨妍.“爱宠e+”宠物综合服务平台开发模式研究[J].电脑知识与技术,2021,17(28):79-80.

[13]金馨.基于SSM的宠物店线上运营系统的设计与实现[D].首都经济贸易大学,2021.

[14]周粉妹,吴仁平,钱荣华,等.基于SSM的宠物领养网站设计[J].扬州职业大学学报,2021,25(01):32-35.

[15]Liang C .School Vehicle Management System Based on JAVA Language[J].Academic Journal of Computing  Information Science,2023,6(9):

[16]Yang Y .Design and Implementation of Student Information Management System Based on Springboot[J].Advances in Computer, Signals and Systems,2022,6(6):

[17]Hejing W .Commerce Middle Office Management System Based on Springboot[J].International Journal of Advanced Network, Monitoring and Controls,2022,7(2):32-45.

[18]张文.基于SpringBoot的国有企业固定资产信息管理系统的设计与实现[D].华东师范大学,2023.

[19]任浩然,刘丹,景永强.JAVA在计算机软件开发中的应用研究[J].信息记录材料,2022,23(11):83-85.

[20]赵停停.基于MySQL数据库技术的Web动态网页设计研究[J].信息与电脑(理论版),2023,35(17):174-176.

致谢

首先,我要向我的论文指导老师献上最深的敬意和感谢。在整个论文创作的过程中,老师的指导是我前行道路上的明灯。他耐心地指导我,用他深厚的学识和敏锐的洞察力,提出了许多具有深远意义的建议。他的严谨治学态度、敬业务实的精神和高超的教学艺术,都为我树立了追求卓越的榜样,对我未来的人生道路和学业成就产生了深远的影响。

同时,我要向我班的同学们表达我的诚挚感谢。你们既是我的亲密战友,也是我生活中的良师。正是你们的鼓励和支持,使我在大学期间的学习和生活变得丰富多彩。我要对那些在我求学路上给予我帮助的所有老师和同学们表示衷心的感谢,是你们给了我继续前进的力量。

最后,我还要感谢我的父母,是他们用无私的爱抚养我成人,你们的养育之恩我永远不会忘记。在成长的道路上,我会不断努力,不负众望,用实际行动来回报你们对我的期望。

总之,在这篇论文中,我要感谢所有给予我帮助的人,包括指导老师、同学们、家人和朋友们。是你们的支持与关爱,让我在学术和个人生活中取得了优异的成绩。我会珍惜这份感恩之情,将这份力量用于学习和未来的生活中,不断追求卓越,成为一个更加优秀的人。

点赞+收藏+关注 → 私信领取本源代码、数据库

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值