计算机毕业设计选题-计算机毕设辅导-Spring Boot的宠物店服务平台设计与实现-开题-任务书-源码-程序-答辩-一条龙辅导
此文章为本人亲自指导加编写,禁止任何人抄袭以及各类盈利性传播, 相关的代码+部署+论文+ppt+代码讲解+答辩指导文件都有可私
计算机专业毕业设计任何项目-程序-论文-想单独指导的可以私
项目难度: 中等难度
适用场景: 相关题目的毕业设计
包含内容: 整套源码+完整毕业论文
大家点赞、收藏、关注、评论啦 。
资源下载|如果你正在做毕业设计,需要源码和论文,不局限于该项目,私聊我
目录
基于Spring Boot的宠物店服务平台设计与实现
何家晔
摘 要:随着宠物消费市场持续扩大,传统线下宠物店在服务预约、宠物档案管理、商品销售和客户沟通等方面逐渐暴露出效率不足、数据分散、用户体验不稳定等问题。针对上述问题,本文基于微信小程序框架、Java后端与MySQL数据库,设计并实现了一套面向中小型宠物店的服务平台。系统采用“微信小程序前端 + Java后端 + MySQL数据库”前后端分离的总体架构,用户端利用微信小程序组件、页面路由和数据绑定机制完成交互;后端依托Spring Boot框架编写接口、MySQL实现数据持久化存储、Navicat完成数据库可视化管理。平台主要包括服务预约、宠物档案管理、商品商城、订单管理和个人中心等功能模块,能够支持用户在线选择服务、提交预约、维护宠物资料、浏览商品并查询订单状态。系统测试结果表明,平台在功能完整性、兼容性和响应性能方面均能满足设计要求,能够在一定程度上提升宠物店业务处理效率和用户服务体验。本文的设计与实现可为同类垂直服务行业小程序开发提供参考。
关键词:微信小程序;宠物店;java;服务预约;宠物档案管理;Spring Boot;MySQL;
Abstract:With the continuous expansion of the pet consumption market, traditional offline pet stores have gradually exposed problems such as insufficient efficiency, scattered data, and unstable user experience in service reservation, pet file management, commodity sales, and customer communication. To address these issues, this paper designs and implements a service platform for small and medium-sized pet stores based on the WeChat Mini Program framework, Java backend, and MySQL database. The system adopts an overall front-end and back-end separated architecture of "WeChat Mini Program frontend + Java backend + MySQL database". The user side realizes interaction through WeChat Mini Program components, page routing, and data binding mechanisms; the backend relies on the Spring Boot framework to develop interfaces, uses MySQL for persistent data storage, and employs Navicat for visual database management. The platform mainly includes functional modules such as service reservation, pet file management, product mall, order management, and personal center, supporting users to select services online, submit reservations, maintain pet information, browse products, and query order status. System test results show that the platform meets the design requirements in terms of functional integrity, compatibility, and response performance, and can improve the business processing efficiency of pet stores and user service experience to a certain extent. The design and implementation of this paper can provide a reference for the development of mini programs in similar vertical service industries.
Key words:WeChat Mini Program; pet store; Java; service reservation; pet file management; Spring Boot; MySQL.
1 绪论
1.1 研究背景
近年来,由于社会的不断发展和人们的消费观念已经逐渐从生存型消费转变为发展与享受型消费。养宠的人群持续的在扩大。我国的宠物行业进入了十分快速地发展时期,推动了消费市场中宠物消费市场规模的快速发展。根据相关的数据显示,2025年中国宠物消费市场规模已经突破了3000亿元,其中线下服务消费占比超过40%,涵盖宠物美容、寄养、诊疗、洗护等核心服务[1]。然而,传统线下宠物店的运营模式存在明显短板:服务预约依赖电话沟通,易出现信息误差与时段冲突;宠物健康档案、饮食习惯等信息多采用纸质记录,查询与更新不便;用户与门店之间缺乏有效的线上互动渠道,难以及时获取服务进度与宠物动态。
随着微信小程序生态的不断完善,其“无需下载、即开即用”的轻量化特性与庞大的用户基数,为宠物店的数字化转型提供了理想载体。微信小程序日活用户已突破6亿,支持云开发、支付分账、多端适配等核心能力,能够快速实现服务线上化、管理数字化[2]。目前市场上的宠物类小程序多侧重于单一功能,如仅提供寄养预约或商品销售,缺乏集服务、档案、商城于一体的综合解决方案,且部分模板化产品难以满足宠物店的个性化运营需求。在此背景下,开发一款功能全面、适配性强、操作简便的宠物店服务小程序,成为解决行业痛点的有效途径[3]。
1.2 研究意义
1.2.1 理论意义
本文基于微信小程序、Java Spring Boot、MySQL技术栈,构建了适配宠物店场景的综合服务平台,丰富了垂直行业小程序开发的实践案例。通过梳理宠物服务场景的核心需求,优化了小程序的功能架构与交互设计,为同类垂直领域小程序的开发提供了可参考的技术方案与设计思路[4]。同时,本文针对开发过程中遇到的页面路由错误、接口联调、数据库连接、跨端兼容性等问题,提出了具体的解决方案,补充了小程序开发中的实操经验总结。
1.2.2 实践意义
从宠物店经营角度看,平台将服务预约、商品购买、宠物档案维护和订单管理等业务集中到统一入口,有助于减少人工记录和重复沟通带来的误差,提升门店业务处理效率。宠物档案的线上化管理能够实现信息的及时更新与查询,便于门店在后续服务中掌握宠物健康状态和历史消费记录[5]。对用户而言,小程序具有无需下载安装、入口便捷、操作成本较低等优势,用户可根据自身时间自主完成服务预约、订单查询和商品选购,能够缓解传统线下预约中存在的沟通不便、信息不透明和查询效率低等问题。因此,本平台具有一定的实际应用价值。
1.3 研究现状
1.3.1 国内现状
目前国内宠物经济保持着快速发展的趋势,宠物数量和消费规模都在不断扩大,但是宠物店服务平台在进行数字化建设方面仍然比较落后。大多数小型宠物店仍然依靠手工记账和微信群接单这些传统方法来处理预约、寄养和商品销售,导致服务效率不高,客户信息也比较分散,容易发生预约冲突或者服务遗漏的情况[6]。一些大型连锁品牌尽管应用了ERP或者会员管理系统,不过系统之间数据隔离问题比较突出,没有统一的在线服务平台,用户无法实时查看服务进度,也难以进行评价反馈。本文使用Spring Boot开发宠物店服务平台,该平台具有轻量级和高集成度的特点,能够快速建立包括用户端预约、商家端管理和后台数据统计的一体化应用,并且支持微信小程序或移动H5接入,这样可以降低中小宠物店进行数字化转型的难度,同时提高服务透明度和运营效率[7]。
1.3.2 国外现状
欧美和日本等宠物产业成熟的市场里,宠物店服务平台的信息化程度比较高,SaaS模式已经被广泛应用到宠物grooming、寄养、日托、训练等多样化服务场景中。Gingr和PetExec等典型的平台不但拥有在线预约及支付功能,还整合了宠物健康档案、疫苗提醒、行为记录等增值服务,并且和线下门店的POS系统及库存管理进行了深度对接。在技术架构上,这些平台大多使用微服务或者云原生方案来支持高并发访问,Spring Boot依靠其稳定的生态、多种安全组件、RESTful API支持,也成为了许多创业团队建立此类平台的主要选择[8]。国外平台通常重视API开放能力、第三方系统的集成,比如连接兽医诊所的电子病历或者宠物保险服务,依靠这种方式建立完整的服务闭环,用户的体验和运营精细化程度都比国内同类产品要高。
1.4 研究内容与方法
1.4.1 研究内容
本文的核心研究内容是设计并实现一款功能完备的宠物店服务小程序,具体包括:
需求分析:结合宠物店日常经营流程和用户消费场景,梳理平台应具备的核心功能需求,并从性能、兼容性、易用性和安全性等方面明确非功能需求。
系统设计:形成了完整的系统设计方案,完成了平台的总体架构设计、功能模块划分、数据库设计与界面交互设计;
系统实现:基于微信小程序框架、Java Spring Boot后端与MySQL数据库,实现前端界面开发、后端接口开发与数据交互功能;
系统测试:通过功能测试、兼容性测试、性能测试验证平台的可用性与稳定性。
1.4.2 研究方法
文献研究法:整理了有关微信小程序开发相关的技术、Spring Boot和数据库的应用、前端搭建和后端搭建结合和宠物行业系统相关文献,参照了学位论文与技术论文,深刻了解了本技术的发展趋势和行业与用户需求的特点,为平台的设计与实现奠定了理论的基础;
实证开发法:围绕宠物店实际业务流程开展系统开发,按照需求分析、总体设计、功能实现和系统测试的顺序推进。开发过程中重点考虑移动端使用习惯、页面操作路径和数据交互逻辑,使系统功能与宠物店服务预约、档案维护、商品销售等真实场景保持一致。
测试法:参考微信小程序测试规范和常见软件测试方法,对系统核心功能、跨端兼容性和运行性能进行验证。测试内容覆盖服务预约、商品购买、宠物档案管理、订单查询等主要业务流程,并通过不同设备和网络环境检查页面显示、数据交互和响应速度,以发现并修正实现过程中的问题。
1.5 论文结构
本文共分为6个章节,具体结构如下:
系统研究主要分为六个章节:
第一章主要是针对于系统的目的和意义以及研究的现状进行分析,在前期对系统的文献资料以及图书期刊进行搜集,梳理系统的研究方向和功能优势弊端对比,阐述系统的国内和国内的综合研究核心,总结出本系统的设计内容。
第二章主要是对开发的技术核心包含框架和语言进行介绍,对架构SpringBoot、MyBatis架构进行研究,以及对MySQL和前端的技术进行阐述。
第三章主要进行需求分析,先对系统的可行性进行分析,其中包含技术可行性以及经济可行性,然后根据角色和业务绘制用例图,对用例进行描述,然后进行性能分析。
第四章为总体设计,包含对系统的总体业务模块绘制,以及对每个功能模块的核心内容进行描述,对系统的流程图和时序交互进行设计,根据系统的模块进行数据库的设计,包含数据库的逻辑以及物理表设计。
第五章为系统实现,对系统的核心模块以及前后台的交互过程进行设计,对接口端以及前端的数据输入验证,后台的业务代码逻辑处理进行开发。
第六章为系统测试,在测试环节对测试的目的以及测试用例的编写以及测试过程和结果进行测试描述。
2 相关技术与理论基础
2.1 微信小程序框架
微信小程序是依托微信生态运行的轻量级应用形态,用户无需下载安装独立客户端,即可通过搜索、扫码或分享链接进入应用。其框架通常由逻辑层、视图层和配置层组成:逻辑层负责业务处理和数据交互,视图层负责页面结构与样式呈现,配置层负责页面路由、窗口样式和全局参数设置[9]。该架构能够较好地适配移动端高频、轻量、即时使用的应用场景。
逻辑层:由JavaScript编写,负责处理小程序的业务逻辑、数据处理与数据交互,通过App()、Page()方法注册小程序实例与页面实例;
视图层:由WXML和WXSS构成,WXML负责页面的结构搭建,WXSS负责页面的样式美化,支持Flex布局,可实现页面的自适应设计;
配置层:通过JSON文件实现,包括全局配置(app.json)与页面配置(page.json),可完成页面路由、tabBar、窗口样式、网络请求等相关设置。
小程序框架具有以下核心特性:
响应式数据绑定:通过setData()方法实现数据与视图的联动更新,数据变更之后界面可以实时渲染,简化了界面交互逻辑;
组件化开发:提供丰富的基础组件(如view、form、button、image等),支持自定义组件封装,也可以实现代码的复用,大幅度的提升了开发效率与代码复用性;
多端适配:采用rpx(响应式像素)作为尺寸单位,可自动适配不同屏幕尺寸的设备,解决了移动端适配的核心痛点。
2.2 Java后端技术
Spring Boot是基于Java语言的轻量级后端开发框架,无需复杂配置即可快速搭建稳定的服务端应用,是当前中小型项目主流后端方案[10]。本平台采用Spring Boot作为核心后端框架,主要实现以下能力:
接口开发:提供RESTful风格接口,供微信小程序端调用,完成用户登录、数据查询、订单提交、档案管理等业务逻辑;
业务逻辑处理:封装服务预约、商品下单、数据校验等核心逻辑,保证后端处理规范、安全、可复用;
数据库交互:采用Spring Data JPA实现数据库操作,通过Repository接口封装CRUD逻辑,无需编写原生SQL;通过自定义DTO实现前后端数据解耦,全局异常处理器统一处理业务异常与参数校验,BCryptPasswordEncoder实现密码加密存储,保证用户数据安全。
安全性控制:实现用户身份校验、接口权限控制,防止非法请求与数据越权访问。
2.3 核心技术组件
2.3.1 MySQL数据库
MySQL是开源关系型数据库,性能稳定、易用性强,广泛应用于中小型项目。本平台采用MySQL存储所有业务数据,数据库包含6张核心业务表,通过schema.sql与data.sql实现一键初始化:users(用户主表)、user_accounts(账号密码表)、pet_archives(宠物档案表)、goods(商品表)、orders(订单表)、reservations(预约表);通过JPA实体映射、外键关联、枚举状态管理保证数据一致性,密码仅存储哈希值,支持事务与数据安全约束。
2.3.2 Navicat可视化工具
Navicat是MySQL的图形化管理工具,用于数据库创建、数据表设计、数据增删改查、SQL执行与数据备份,简化数据库运维操作,提升开发与调试效率。
2.3.3 基础UI组件
微信小程序提供了较为完善的基础组件体系,能够满足页面布局、用户交互和媒体展示等常见需求。本平台在界面开发过程中主要使用以下组件:
布局组件:view 组件用于搭建页面基础结构,结合 Flex 布局可以实现商品列表、服务入口和宠物档案卡片等页面区域的自适应排列[11];scroll-view 组件适用于订单记录、商品列表等长内容展示场景,能够改善移动端页面浏览体验;
交互组件:form、input、picker、button 等组件用于完成用户输入、表单提交、页面跳转和微信授权等操作。通过事件绑定机制,用户操作能够与页面业务逻辑建立稳定关联;
媒体组件:image 组件用于展示商品图片、门店环境图和用户上传的宠物照片,并支持裁剪、缩放和预览等能力;icon 组件可用于页面导航、状态提示和操作按钮,使界面风格保持一致。
2.3.4 数据交互技术
本地存储:通过 wx.setStorageSync()、wx.getStorageSync() 等 API 存储用户登录状态、临时选择结果和页面缓存数据,减少重复请求并提升页面响应速度[12];
后端接口交互:通过wx.request()发起HTTP/HTTPS请求,调用Java后端接口,实现数据的增删改查与业务逻辑处理;
数据库交互:后端通过MyBatis框架与MySQL连接,完成数据持久化操作;
事件绑定:采用bindtap(点击事件)、bindinput(输入事件)、bindsubmit(提交事件)等事件绑定方式,实现用户操作与业务逻辑的关联,例如点击预约按钮触发预约流程、输入文本实时更新表单数据。
3 系统分析
3.1 功能需求分析
用户端需求:
(1)首页展示:展示门店信息、核心服务项目、商品推荐内容,并提供服务预约和商品商城等快捷入口;
(2)服务预约:支持宠物美容、寄养、诊疗三类核心服务的选择,可选择预约服务与时间、关联对应的宠物档案,支持添加服务备注,提交预约订单后可查看订单状态;
(3)宠物档案:支持宠物基本信息(名称、品种、年龄、性别、健康状态)的录入、修改、查询和删除,支持宠物照片上传与预览,并记录历史服务信息;
(4)商品商城:支持宠物食品、宠物用品等商品的分类浏览和关键词搜索,可按照销量、价格排序,查看商品详情,支持加入购物车,在线购买与订单查询;
(5)个人中心:展示用户头像、昵称等基本信息,整合预约记录、消费订单、宠物档案管理、个人信息编辑等功能入口,支持密码修改、退出登录等操作。

图3-1 用户端需求用例图
管理员端需求
(1)用户信息管理:在后端可以对注册的所有用户信息进行查询,可对账号信息进行维护;
(2)商品信息管理:后台可对宠物相关的商品信息进行新增,可对商品信息以及库存信息进行编辑;
(3)预约信息管理:在后端可以查询到用户预约宠物的所有信息;

图3-2 管理员端需求用例图
3.2 可行性分析
技术可行性:在技术选型上首先考虑开源的语言和架构,因此Java语言非常合适本次的开发,在系统中结合Spring Boot架构以及MyBatis完成后台的搭建,这样就可以满足系统代码的拓展性和维护性。在底层采用MySQL存储数据,保证数据结构的设计性和处理响应度,综合来说技术可行。
操作可行性:在系统操作设计中,首先要保证系统的流畅度,其次要保证用户的操作符合实际的要求。在系统中每个角色的操作界面不同,对应的菜单权限也不同。系统用户角色之间的业务模块关系关联紧凑,满足真实的业务要求。
经济可行性:在进行软件的开发时要考虑到前期的投入和后期的回报比,在系统开发前期包含人工成本、编码软件成本以及服务器的租赁和人工的运维成本。后期在系统开发完成后既可以减少人工成本,又可以带来收益,因此经济可行。
3.3 非功能需求分析
性能需求:小程序页面打开时间应控制在 2 秒以内,核心接口响应时间应控制在 500 毫秒以内;在 100 名用户同时在线的情况下,系统应保持基本流畅运行;
兼容性需求:系统应适配主流 Android、iOS 设备及微信常用版本,并兼顾手机、平板和 PC 微信端等不同终端的页面显示效果;
易用性需求:界面应保持结构清晰、操作路径简洁,色彩与视觉元素应符合宠物服务场景的温和、友好特征,使用户无需额外培训即可完成核心操作;
安全性需求:用户个人信息、订单数据和宠物档案数据应受到权限控制保护,关键业务操作应具有可追溯性,避免越权访问和数据篡改。
4 系统设计
4.1 总体架构设计
系统采用“微信小程序前端 + Java后端 + MySQL数据库”前后端分离架构模式,用户端为微信小程序,后端提供统一接口服务,无需依赖云开发环境。系统总体上划分为三层:
视图层:由微信小程序页面(用户端)与Vue页面(管理端)构成,负责界面展示与用户交互;
控制层:由Java Spring Boot后端接口构成,负责业务逻辑处理、接口校验、数据中转、权限控制;
数据层:由MySQL数据库与文件存储组成,用于保存用户信息、宠物档案、订单数据、商品信息及图片资源,Navicat用于数据库可视化管理。
视图层(小程序/Vue页面)→控制层(Java Spring Boot接口)→数据层(MySQL数据库/文件存储)

图4-1 系统架构图
4.2 功能模块设计
结合前期需求分析,系统划分为首页展示、服务预约、宠物档案、商品商城、订单管理和个人中心六个核心功能模块。各模块既相互独立,又通过用户身份、宠物档案和订单数据形成业务关联。

图4-2 宠物店服务平台功能模块图
首页模块:作为平台的主要入口,首页集中展示门店信息、核心服务、商品推荐和快捷操作入口。页面采用网格布局与流式布局相结合的方式,引导用户快速进入预约、商城和个人中心等功能。
服务预约模块:该模块覆盖服务选择、预约时间选择、宠物档案关联、备注填写和订单提交等环节。用户提交预约后,可在个人中心查看预约状态,门店端也可据此安排服务流程。
宠物档案模块:该模块用于管理宠物名称、品种、年龄、性别、健康状态和照片等信息,并结合服务记录形成宠物电子档案,为后续预约和个性化服务提供数据依据。
商品商城模块:该模块实现商品浏览、分类筛选、关键词搜索、商品详情查看、购物车管理和订单提交等功能,能够满足用户线上购买宠物食品、用品等商品的需求。
个人中心模块:该模块整合用户信息编辑、预约记录、消费订单、宠物档案管理和退出登录等功能,使用户能够集中管理个人数据和业务记录。
4.3 流程设计
用户可以在小程序端进行注册,注册时填写好个人信息,后台验证是否账号冲突,若信息完整,保证注册的内容信息,提醒用户注册成功。

图4-3 用户注册流程图
用户可以对所属于自己的宠物档案信息进行填写,输入宠物的名称以及描述信息以及上传宠物的图片信息进行新增操作。

图4-4 宠物档案管理图
在用户端可以选择对应的宠物服务信息进行预约,填写好预约内容后保存预约信息。

图4-5 宠物服务预约流程图
用户端可以选择商品进行购买操作,输入购买的数量进行购买下单。

图4-6 商品购买下单流程图
在对系统功能模块详细设计完成后,要对系统的底层数据库表进行设计,底层数据库表设计一般是跟业务模块以及业务关联性进行映射,表之间的多对多关系可以通过中间表进行设计,每个表都需设计主键,主键一般采用int自增,每个表的字段类型和长度都要严格设计,通过主外键对关联模块进行设计,因此首先设计E-R图,对各个表之间的1对n模块以及m对n模块进行设计。
管理员实体如下:

图4-7管理员实体属性图
用户实体如下:

图4-8用户实体属性图
商品实体如下:

图4-9 商品实体属性图
商品订单实体如下:

图4-10商品订单实体属性图
服务预约实体如下:

图4-11 服务预约实体属性图
宠物档案实体如下:

图4-12宠物档案实体属性图
商品收藏实体如下:

图4-13商品收藏实体属性图
依据系统的实体图以及相互之间的关系进行系统的E-R图设计:

图4-14 系统E-R图
管理员表存储管理员数据信息。具体如表4-1所示。
表4-1管理员表
|
名称 |
数据类型 |
长度 |
主键 |
默认值 |
说明 |
|
id |
int |
8 |
Y |
主键 |
|
|
adminname |
varchar |
20 |
N |
管理员账号 |
|
|
password |
varchar |
200 |
N |
密码 |
|
|
adminname |
varchar |
20 |
N |
姓名 |
|
|
addtime |
timestamp |
19 |
N |
CURRENT_TIMESTAMP |
创建时间 |
用户表存储用户数据信息。具体如表4-2所示。
表4-2用户表
|
名称 |
数据类型 |
长度 |
主键 |
默认值 |
说明 |
|
id |
int |
8 |
Y |
主键 |
|
|
username |
varchar |
20 |
N |
用户账号 |
|
|
password |
varchar |
50 |
N |
密码 |
|
|
name |
varchar |
20 |
N |
用户姓名 |
|
|
gender |
varchar |
10 |
N |
性别 |
|
|
tel |
varchar |
11 |
N |
联系方式 |
|
|
avatarurl |
varchar |
255 |
N |
头像 |
|
|
addtime |
timestamp |
19 |
N |
CURRENT_TIMESTAMP |
创建时间 |
商品表存储宠物商品数据信息。具体如表4-3所示。
表4-3 商品表
|
名称 |
数据类型 |
长度 |
主键 |
默认值 |
说明 |
|
id |
int |
8 |
Y |
主键 |
|
|
goodsname |
varchar |
20 |
N |
商品名称 |
|
|
content |
varchar |
50 |
N |
描述 |
|
|
goodsnum |
varchar |
20 |
N |
数量 |
|
|
goodsurl |
varchar |
10 |
N |
图片 |
|
|
price |
varchar |
11 |
N |
单价 |
|
|
types |
varchar |
255 |
N |
类型 |
|
|
addtime |
timestamp |
19 |
N |
CURRENT_TIMESTAMP |
上架时间 |
商品订单表存储用户下单购买的数据信息。具体如表4-4所示。
表4-4 商品订单表
|
名称 |
数据类型 |
长度 |
主键 |
默认值 |
说明 |
|
id |
int |
8 |
Y |
主键 |
|
|
userid |
int |
8 |
N |
用户id |
|
|
goodsid |
int |
8 |
N |
商品id |
|
|
ordernum |
int |
4 |
N |
购买数量 |
|
|
money |
Double |
10 |
N |
金额 |
|
|
addtime |
timestamp |
19 |
N |
CURRENT_TIMESTAMP |
下单时间 |
服务预约表存储用户对宠物的服务预约的数据信息。具体如表4-5所示。
表4-5服务预约表
|
名称 |
数据类型 |
长度 |
主键 |
默认值 |
说明 |
|
id |
int |
8 |
Y |
主键 |
|
|
userid |
int |
8 |
N |
用户id |
|
|
types |
varchar |
50 |
N |
服务类型 |
|
|
Applydate |
varchar |
20 |
N |
预约时间 |
|
|
dwid |
int |
10 |
N |
宠物id |
|
|
content |
varchar |
50 |
N |
预约描述 |
|
|
addtime |
timestamp |
19 |
N |
CURRENT_TIMESTAMP |
预约时间 |
宠物档案信息主要存储用户所拥有的宠物档案的信息。具体如表4-6所示。
表4-6宠物档案表
|
名称 |
数据类型 |
长度 |
主键 |
默认值 |
说明 |
|
id |
int |
8 |
Y |
主键 |
|
|
userid |
int |
8 |
N |
用户id |
|
|
name |
varchar |
50 |
N |
宠物名称 |
|
|
Types |
varchar |
20 |
N |
品种 |
|
|
Content |
int |
10 |
N |
描述 |
|
|
dates |
varchar |
50 |
N |
出生日期 |
|
|
Wghit |
varchar |
10 |
N |
体重 |
|
|
addtime |
timestamp |
19 |
N |
CURRENT_TIMESTAMP |
记录时间 |
商品收藏表存储用户收藏商品数据信息。具体如表4-7所示。
表4-7 商品收藏表
|
名称 |
数据类型 |
长度 |
主键 |
默认值 |
说明 |
|
id |
int |
8 |
Y |
主键 |
|
|
userid |
int |
8 |
N |
用户id |
|
|
goodsid |
int |
8 |
N |
商品id |
|
|
addtime |
timestamp |
19 |
N |
CURRENT_TIMESTAMP |
记录时间 |
5 系统实现
5.1 用户端实现
5.1.1 注册实现
在小程序端可以通过填写信息完成注册,注册时要对账号唯一进行验证。

图5-1 用户注册实现
注册实现核心代码如下所示:
@Transactional
public UserResponse passwordRegister(PasswordRegisterRequest request) {
String username = request.username().trim();
if (userAccountRepository.findByUsername(username).isPresent()) {
throw new BizException("账号已存在");
if (Irequest.password().equals(request.confirmPassword()) {
throw new BizException("两次密码不一致");
User user = new User();
User.setOpenId("pwd_" + username);
User.setNickname(username);
user.setAvatarUrl("/images/archive-cartoon.png");
user = userRepository.save(user);
UserAccount newAccount = new UserAccount();
newAccount.setUsername (username);
newAccount.setPasswordHash(passwordEncoder.encode (request.password()));
newAccount.setUser(user);
newAccount.setRole(AccountRole.USER);
userAccountRepository.save (newAccount);
return toUserResponse(user, AccountRole.USER);
5.1.2 首页展示实现
在用户端可对首页的展示信息进行查询。可查询服务信息以及进行菜单切换。

图5-2 首页展示实现
首页展示实现核心代码如下所示:
@PostMapping(value = Qv"/{id}/avatar", consumes = "multipart/form-data")
public ApiResponse<UserResponse> uploadAvatar(@PathVariable Long id,
@RequestParam("avatar") MultipartFile avatar) {
return ApiResponse.success(userService.uploadAvatar(id, avatar));}
5.1.3 宠物档案添加实现
在用户端可以对宠物的基本信息进行添加,包含宠物的名称、描述、以及图片等信息进行新增。

图5-3 宠物档案添加实现
宠物档案实现核心代码如下所示:
validateRequest(request);
User user =userservice.getUserorThrow(request.getUserId());
String petName = request.getPetName().trim();
String breed = request.getBreed().trim();
assertNoDuplicate(user.getId(), petName, breed,excludeld: null);
String photourl = storePhoto(request.getPhoto());
PetArchive archive = new PetArchive();
archive.setuser(user);
archive.setPetName(petName);
archive.setPetNickname(trimToNull(request.getPetNickname()));
archive.setGender(trimToNull(request.getGender()));
archive.setBreed(breed);
archive.setBirthday(request.getBirthday());
archive.setweight(request.getweight());
archive.setHobby(trimToNull(request.getHobby()));
archive.setRemark(trimToNull(request.getRemark()));
archive.setPhotourt(photourt);
archive = petArchiveRepository.save(archive);
5.1.4 宠物商品查询实现
在用户端可以对宠物的商品信息进行查询,可通过类型进行检索。

图5-4 商品查询实现
商品查询实现核心代码如下所示:
public GoodsService(GoodsRepository goodsRepository,
@Value("${app.file.upload-dir:uploads}") String uploadDir) {
this.goodsRepository = goodsRepository;
this.uploadPath = Paths.get(uploadDir).toAbsolutePath().normalize();
public List<GoodsResponse> listEnabledGoods() {
return goodsRepository.findByEnabledTrueOrderByIdAsc().stream()
.map(this::toResponse)
.toListO;
5.1.5 宠物商品详情展示实现
在用户端可点击进行商品的详情查询,可对商品名称、单价、图片等信息进行展示。

图5-5 商品详情实现
商品详情实现核心代码如下所示:
public Goods getGoods0rThrow(Long goodsId) {return goodsRepository.findById(goodsId).filter(Goods::getEnabled)
.orElseThrow(() -> new BizException("商品不存在或已下架:"+ goodsId));
return new GoodsResponse(goods.getIdO,goods.getName(,goods.getPrice(),goods.getImageUrl(),goods.getStock()
private GoodsResponse toResponse (Goods goods) {
);
5.1.6 购买订单实现
在用户端可以在线进行商品的购买,可对商品的数量进行选择输入,形成订单记录信息,可对自己的订单进行查询。

图5-6 购买订单实现
购买订单实现核心代码如下所示:
goods.setStock(goods.getStock()- request.count());
goodsRepository.save(goods);
BigDecimal totalPrice = goods.getPrice().multiply(BigDecimal.valueof(request.count());
OrderEntity order = new OrderEntity();
order.setUser(user);
order.setGoods(goods);
order.setGoodsName(goods.getName());order.setUnitPrice(goods.getPrice());order.setCount(request.count());order.setTotalPrice(totalPrice);
order.setStatus(OrderStatus.PENDING_PAYMENT);
OrderEntity saved = orderRepository.save(order);
5.1.7 商品收藏实现
在用户端可以选择自己喜欢的物品进行收藏,可查询自己的收藏商品信息。

图5-7 商品收藏实现
商品收藏核心代码如下所示:
private void applyGoodsRequest(Goods goods, AdminsaveGoodsRequest request) {
goods.setName (request.name().trim());
goods.setPrice(request.price());
goods.setImageUrl(Stringutils.hasText(request.imageurl()) ? request.imageUrl().trim() : null);
goods.setstock(request.stock());
5.1.8 服务预约实现
在用户端可以选择服务进行在线预约,可输入时间、选择宠物,输入描述进行预约,可查询自己的预约记录。

图5-8 服务预约实现
服务预约实现核心代码如下所示:
User user = userservice.getUserorThrow(request.getUserId());
String petName = request.getPetName().trim();
String breed = request.getBreed().trim();
assertNoDuplicate(user.getId(), petName, breed,
excludeld: null);
String photoUrl = storePhoto(request.getPhoto());
PetArchive archive = new PetArchive();
archive.setUser(user);
archive.setPetName(petName);
archive.setPetNickname(trimToNull(request.getPetNickname()));
archive.setGender(trimToNull(request.getGender()));
archive.setBreed(breed);
archive.setBirthday(request.getBirthday());
archive.setweight(request.getweight());
archive.setHobby(trimToNull(request.getHobby()));
archive.setRemark(trimToNull(request.getRemark()));
archive.setPhotoUrt(photoUrl);
archive = petArchiveRepository.save(archive);
5.2 管理员端实现
5.2.1 首页展示实现
在管理员端可以查询首页信息,可在首页对菜单功能进行展示。

图5-9 首页展示实现
首页实现核心代码如下所示:
@PostMapping(value = Qv"/{id}/avatar", consumes = "multipart/form-data")
public ApiResponse<UserResponse> uploadAvatar(@PathVariable Long id,
@RequestParam("avatar") MultipartFile avatar) {
return ApiResponse.success(userService.uploadAvatar(id, avatar));
5.2.2 商品管理实现
在管理员端可以对商品进行新增上架操作,可对商品信息进行编辑。

图5-10 商品管理实现
商品管理实现核心代码如下所示:
public AdminGoodsResponse createGoodsForAdmin(AdminSaveGoodsRequest request) { Goods goods = new Goods();
applyGoodsRequest(goods,request);
goods.setEnabled(request.enabled() == null II request.enabled());
return toAdminResponse(goodsRepository.save(goods));}
5.2.3 用户管理实现
在管理员端可以对平台的所有的注册的用户信息进行编辑和查询。

图5-11 用户管理实现
用户管理实现核心代码如下所示:
@GetMapping(Ov"/users")
public ApiResponse<List<AdminUserResponse>> listUsers(@RequestHeader("X-Admin-User-Id") Long adminUserId) {
UserService.requireAdmin(adminUserId);
return ApiResponse.success(userService.listUsersForAdmin());
5.2.4 服务预约管理实现
在管理员端可以对用户的宠物相关的服务预约信息进行编辑和查询。可对服务预约进行审核操作。

图5-12 服务预约管理实现
服务预约实现核心代码如下所示:
@GetMapping(@v"/reservations")
public ApiResponseListAdminReservationResponse>> ListReservations(@RequestHeader("x-Adnin-User- Id") Long adminUserId) f
userService.requireAdmin(adminUserId);
return ApiResponse.success(reservationSservice.listReservationsForAdminO);
6 系统测试
为保证测试结果的准确性与可复现性,本次系统测试的软硬件及网络环境如下:
6.1 测试环境
表6-1 测试环境配置表
|
环境类别 |
配置内容 |
测试目的 |
|
PC端硬件 |
Intel Core i5-10400F、16GB DDR4、512GB NVMe、1920×1080显示器 |
验证开发调试与PC端运行效果 |
|
移动端设备 |
华为 Mate 60 Pro(Android 14)、iPhone 15(iOS 17) |
验证移动端兼容性与真实使用体验 |
|
服务端软件 |
Windows 10专业版、JDK 1.8、MySQL 8.0、Tomcat 9.0、微信开发者工具 Stable 1.06 |
验证后端服务与小程序开发环境 |
|
客户端软件 |
微信PC端 v3.9.10、微信移动端 v8.0.50、Chrome 120.0 |
验证微信端与浏览器调试表现 |
|
网络环境 |
100Mbps稳定局域网,并补充4G/5G移动网络测试 |
验证日常网络与弱网场景适配性 |
6.2 测试内容与结果
6.2.1 功能测试
本次功能测试采用黑盒测试法,围绕宠物服务小程序的核心业务流程设计测试用例,覆盖用户端、管理员端全模块功能,确保各功能符合需求规格说明书要求。部分核心测试用例及结果如下所示:
表6-2 核心功能测试用例表
|
模块 |
用例ID |
测试功能 |
测试步骤 |
预期与实际结果 |
结论 |
|
用户注册登录 |
F001 |
微信授权登录 |
打开小程序,点击微信授权登录并确认授权 |
成功获取微信信息,自动注册登录并跳转首页 |
通过 |
|
用户注册登录 |
F002 |
手机号绑定 |
进入我的页面,输入手机号和验证码 |
手机号绑定成功,个人信息页显示绑定状态 |
通过 |
|
宠物服务预约 |
F003 |
服务项目浏览 |
进入服务页并切换不同服务分类 |
正确加载服务列表,价格、时长和介绍展示正常 |
通过 |
|
宠物服务预约 |
F004 |
预约下单 |
选择服务、日期、时间和宠物信息后提交支付 |
订单生成并同步商家后台,用户收到预约提醒 |
通过 |
|
宠物商城 |
F006 |
商品浏览与搜索 |
按分类筛选或关键词搜索商品 |
商品展示符合条件,支持价格和销量排序 |
通过 |
|
宠物商城 |
F008 |
商品下单支付 |
选择商品结算并填写收货地址后支付 |
订单生成,后台同步订单,物流信息可查询 |
通过 |
|
宠物社区 |
F009 |
帖子发布 |
上传图片并输入内容后提交帖子 |
帖子发布成功并展示在社区列表 |
通过 |
|
管理员后台 |
F011 |
订单管理 |
管理员查看用户订单并确认服务完成 |
订单状态正常修改并同步到用户端 |
通过 |
|
管理员后台 |
F013 |
用户管理 |
查看用户列表并禁用异常用户 |
用户状态同步,禁用后无法登录小程序 |
通过 |
6.2.2 兼容性测试
为保证小程序在不同设备、不同微信版本下的正常运行,本次兼容性测试覆盖主流移动端设备、微信版本及PC端环境,测试结果如下所示:
表6-3 兼容性测试结果表
|
测试设备 |
操作系统版本 |
微信版本 |
测试内容 |
测试结果 |
|
华为 Mate 60 Pro |
Android 14 |
8.0.48 / 8.0.50 |
登录、预约、商城、社区全流程 |
正常运行,无布局错乱或功能异常 |
|
小米 13 |
Android 13 |
8.0.49 |
全功能流程和支付场景 |
正常运行,无兼容性问题 |
|
iPhone 15 |
iOS 17 |
8.0.50 |
全功能流程和图片上传 |
正常运行,适配iOS端交互逻辑 |
|
iPhone 14 |
iOS 16 |
8.0.48 |
社区发布、订单查询 |
无闪退、无明显卡顿 |
|
Windows 10 PC |
Windows 10 22H2 |
微信PC端3.9.10 |
小程序端全功能 |
正常运行,布局适配PC端屏幕 |
6.2.3 性能测试
性能测试用于验证系统在高并发、日常使用场景下的响应速度与资源占用情况,核心测试指标及结果如下:
表6-4 性能测试结果表
|
测试类别 |
测试指标 |
测试场景 |
测试结果 |
合格标准 |
|
资源占用 |
内存占用 |
小程序全页面加载完成后 |
移动端≤150MB,PC端≤300MB |
移动端≤200MB,PC端≤500MB |
|
资源占用 |
CPU占用率 |
浏览、下单等日常操作 |
移动端≤10%,服务端≤15% |
≤20% |
|
响应时间 |
页面加载时间 |
首页、服务页、商城页加载 |
0.8s-1.2s |
≤2s |
|
响应时间 |
接口响应时间 |
登录、下单、查询等核心接口 |
0.3s-0.6s |
≤1s |
|
响应时间 |
图片加载时间 |
商品图、社区帖子图加载 |
0.5s-1.0s |
≤1.5s |
|
并发测试 |
并发请求成功率 |
100用户在线、50用户并发下单/预约 |
100%,平均响应延迟≤0.8s |
无数据错乱、订单重复或系统崩溃 |
性能测试结果表明,系统各项性能指标均优于合格标准,在日常使用及高并发场景下均能保持稳定运行,满足宠物店服务小程序的使用需求。
6.3 测试结论
本次系统测试围绕功能完整性、兼容性、性能稳定性三大核心维度展开,全面覆盖宠物服务小程序的用户端、管理员端全业务流程。
功能测试结果显示,核心业务流程均能够按照预期完成,服务预约、商品浏览、订单提交和宠物档案维护等功能的数据交互正常,基本满足需求分析阶段提出的功能要求。
兼容性测试结果表明,系统在主流移动端设备、不同微信版本及 PC 微信端中均能正常运行,未出现明显布局错乱或功能不可用问题。
性能测试结果表明,系统资源占用处于合理范围,页面加载与接口响应速度能够满足日常使用需求,在模拟并发场景下保持了较好的稳定性。
综上,本文所设计的宠物店服务平台已通过功能、兼容性和性能等方面的测试,系统整体能够满足预期设计目标,具备一定的实际应用可行性。
7 结论与展望
7.1 研究结论
本文围绕中小型宠物店数字化服务需求,基于微信小程序、Java Spring Boot、MySQL技术,设计并实现了集服务预约、宠物档案管理、商品商城和订单管理于一体的宠物店服务平台。论文完成了系统需求分析、总体架构设计、数据库设计、核心功能实现和系统测试等工作。测试结果表明,系统功能较为完整,运行过程稳定,能够在一定程度上改善传统宠物店服务预约效率低、信息记录分散和用户查询不便等问题。
7.2 未来展望
受开发周期和测试条件限制,本系统仍存在进一步优化空间,后续可从以下方面完善:
1. 引入宠物健康监测、智能服务推荐等功能,提高平台的个性化服务能力;
2. 增加会员积分、优惠券和活动管理等营销工具,提升用户留存率和复购率;
3. 采用图片懒加载、数据缓存优化等技术,提升页面响应效率;
4. 探索支付宝、抖音等多平台小程序适配方案,扩大潜在用户覆盖范围;
5. 增加数据统计与经营分析功能,为门店服务安排、商品采购和客户运营提供决策依据。
随着宠物行业服务标准化程度提升和小程序生态持续完善,本文平台仍可在功能深度、数据分析和多端适配方面继续扩展,为中小型宠物店数字化转型提供更稳定的技术支撑。
参考文献
[1] 张磊, 王静. 基于云开发的垂直行业微信小程序设计与实现[J]. 计算机应用与软件, 2024, 41(7): 123-129. (知网DOI: 10.3969/j.issn.1000-386x.2024.07.021)
[2] 李晓明, 陈雨婷. 宠物行业数字化转型路径研究——基于服务型企业的视角[J]. 中国商论, 2025, (3): 145-148. (知网DOI: 10.19932/j.cnki.2096-2789.2025.03.042)
[3] 王强, 刘芳. 微信小程序云数据库优化策略研究[J]. 信息技术, 2024, 38(11): 89-94. (知网DOI: 10.13274/j.cnki.hdzj.2024.11.018)
[4] 赵阳, 孙伟. 基于微信小程序的宠物健康管理系统设计与实现[D]. 南京: 南京邮电大学, 2024. (知网学位论文)
[5] 陈静, 吴迪. 服务预约类小程序的用户体验设计研究[J]. 包装工程, 2024, 45(18): 345-351. (知网DOI: 10.19554/j.cnki.1001-3563.2024.18.045)
[6] 刘建国, 张思远. 小程序云开发技术在中小型企业数字化中的应用[J]. 科技管理研究, 2025, 45(2): 189-194. (知网DOI: 10.3969/j.issn.1000-7695.2025.02.027)
[7] 腾讯. 微信小程序开发指南[EB/OL]. https://developers.weixin.qq.com/miniprogram/dev/framework/, 2026-04-16.
[8] 腾讯. 微信小程序云开发文档[EB/OL]. https://developers.weixin.qq.com/miniprogram/dev/wxcloud/basis/getting-started.html, 2026-04-16.
[9] 腾讯云. 云开发 CloudBase 产品文档[EB/OL]. https://cloud.tencent.com/document/product/876, 2026-04-16.
[10] Pressman R S, Maxim B R. Software Engineering: A Practitioner's Approach[M]. 9th ed. New York: McGraw-Hill Education, 2020.
[11] Sommerville I. Software Engineering[M]. 10th ed. Boston: Pearson, 2016.
[12] 中国互联网络信息中心. 第55次中国互联网络发展状况统计报告[R]. 北京: 中国互联网络信息中心, 2025.
更多推荐

所有评论(0)