基于SpringBoot的萌宠商店管理系统的设计与实现-计算机毕设 附源码【课程设计】14950

基于SpringBoot的萌宠商店管理系统的设计与实现

摘  要

近年来我国宠物经济持续高速增长,宠物洗护、商品零售等服务需求不断攀升。然而,当前多数中小型宠物商店仍普遍采用手工记账、纸质登记等传统管理模式,导致客户信息分散、洗护预约冲突频发、商品库存账实不符、多角色(用户、商家、平台)协同效率低下等问题,严重制约了店铺运营效率与服务质量的提升。与此同时,现有宠物服务管理系统多聚焦于单一功能模块或针对大型连锁场景设计,缺乏面向中小型店铺资源有限、业务轻量化、预约与零售一体化需求的定制化解决方案,难以满足线下门店的实际经营需要。

为解决上述行业痛点与研究空白,本文设计并实现了一套基于SpringBoot的萌宠商店管理系统。系统采用前后端分离架构,以SpringBoot搭建稳定高效的后端服务,Vue.js构建响应式前端界面,MySQL实现数据持久化存储。围绕普通用户、商家用户、系统管理员三类角色,系统整合了宠物资讯、洗护预约、商品交易、订单管理、意见反馈等核心业务模块,实现了从服务预约到商品零售的全流程标准化与数字化管理。该系统旨在打通顾客、商家与平台管理者之间的信息流与业务流,为中小型宠物商店提供一个低成本、易部署、高实用的一体化解决方案。

系统上线后,能够有效解决人工记录带来的信息错漏与服务质量不稳定的问题,显著提升库存管理、订单处理及多角色协同作业的效率,切实降低中小型宠物商店的运营成本,为宠物服务行业的数字化转型提供轻量化的参考方案,具备较高的现实应用价值。

关键词:Spring Boot;萌宠商店;管理系统系统;订单管理

Abstract

In recent years, China's pet economy has maintained rapid and sustained growth, with demand for pet grooming, product retail, and other services continuously rising. However, most small and medium-sized pet stores still generally adopt traditional management models such as manual bookkeeping and paper registration, resulting in scattered customer information, frequent conflicts in grooming appointment scheduling, inconsistencies between actual and recorded inventory levels, and low multi-role (users, merchants, platform) collaboration efficiency. These issues severely constrain the improvement of store operational efficiency and service quality. Furthermore, existing pet service management systems mostly focus on single functional modules or are designed for large-scale chain scenarios, lacking customized solutions that address the limited resources, lightweight business operations, and integrated appointment-retail needs of small and medium-sized stores, making it difficult to meet the actual operational requirements of offline stores.

To address the above industry pain points and research gaps, this paper designs and implements a pet store management system based on SpringBoot. The system adopts a front-end and back-end separation architecture, using SpringBoot to build stable and efficient back-end services, Vue.js to construct a responsive front-end interface, and MySQL to achieve persistent data storage. Centered around three roles—ordinary users, merchant users, and system administrators—the system integrates core business modules including pet information consultation, grooming appointment, commodity trading, order management, and feedback, achieving full-process standardized and digital management from service appointment to product retail. The system aims to bridge the information and business flows among customers, merchants, and platform managers, providing a low-cost, easily deployable, and highly practical integrated solution for small and medium-sized pet stores.

After its launch, the system can effectively resolve issues of information omissions and unstable service quality caused by manual recording, significantly improve the efficiency of inventory management, order processing, and multi-role collaborative operations, effectively reduce the operational costs of small and medium-sized pet stores, and provide a lightweight reference solution for the digital transformation of the pet service industry, possessing high practical application value.

Key words:Spring Boot; Pet Store; Management System; Order Management

目  录

摘  要

Abstract

目  录

第1章 绪论

1.1 研究背景和意义

1.2 国内外研究现状

1.3 研究内容

第2章 相关技术介绍

2.1 Spring Boot框架

2.2 Vue.js框架

2.3 MySQL数据库

2.4 MVC模式

第3章 系统分析

3.1 可行性分析

3.1.1 技术可行性

3.1.2 经济可行性

3.1.3 操作可行性

3.2 功能需求分析

3.2.1 普通用户角色功能需求

3.2.2 商家用户角色功能需求

3.2.3 管理员角色功能需求

第4章 系统设计

4.1 系统架构设计

4.2 功能结构设计

4.3 业务流程设计

4.3.1 购物车管理功能模块设计

4.3.2 宠物洗护查看功能模块设计

4.3.3 宠物商城管理功能模块设计

4.3.4 订单列表管理功能模块设计

4.3.5 优惠券管理功能模块设计

4.3.6 在线咨询客服功能设计

4.3.7 好友申请管理功能设计

4.4 数据库设计

4.4.1 概念模型设计

4.4.2 数据库逻辑设计

4.5 接口设计

第5章 系统实现

5.1 普通用户功能实现

5.1.1 首页推荐查看活动设计

5.1.2 意见反馈活动设计

5.1.3 收货地址管理活动设计

5.1.4 宠物洗护查看活动设计

5.1.5 洗护预约活动设计

5.1.6 洗护预约核销活动设计

5.1.7 购物车管理活动设计

5.1.8 订单管理活动设计

5.1.9 在线咨询客服活动设计

5.1.10 好友聊天与群聊活动设计

5.2 商家用户功能实现

5.2.1 宠物资讯管理活动设计

5.2.2 宠物洗护管理活动设计

5.2.3 洗护预约管理活动设计

5.2.4 宠物商城管理活动设计

5.2.5 订单列表管理活动设计

5.2.6 订单配送管理活动设计

5.2.7 优惠券管理活动设计

5.2.8 订单售后管理活动设计

5.2.9 消息通知管理活动设计

5.3 管理员功能实现

5.3.1 宠物洗护管理活动设计

5.3.2 洗护预约管理活动设计

5.3.3 意见反馈管理活动设计

5.3.4 宠物商城管理活动设计

5.3.5 订单列表管理活动设计

5.3.6 订单配送管理活动设计

5.3.7 优惠券管理活动设计

5.3.8 订单售后管理活动设计

5.3.9 消息推送管理活动设计

第6章 系统测试

6.1 测试目的

6.2 测试方法

6.3 测试用例

总结

参考文献

致谢

第1章绪论

1.1研究背景和意义

近年来,我国宠物经济进入高速发展阶段。根据《2023-2024年中国宠物行业白皮书》数据显示,2023年我国宠物市场规模已达2493亿元,其中宠物服务类消费占比持续上升。宠物洗护、商品零售等周边服务成为宠物商店的主要营收来源。然而,与市场规模快速扩张形成反差的是,许多宠物商店仍停留在传统的手工记账、纸质登记等低效管理模式。客户档案分散在多个笔记本中,洗护预约时间靠手写记录本登记、经常出现重复或冲突。这些问题在店铺客流量较小时尚可应付,一旦业务量增长,信息混乱就会直接导致客户流失和营收损失。与此同时,客户对服务体验的要求也在不断提高,线上预约、在线购物等功能已成为消费者对服务商的基本期待[2]。因此,开发一套专门针对宠物商店业务特点、能够整合客户管理商品交易等功能的综合管理系统,具有明确的现实迫切性。

在此背景下,设计一个面向宠物服务场景的信息整合方案,将用户信息、洗护项目、商品数据、预约信息等核心业务数据纳入统一的管理系统。打通顾客、商家与平台管理者之间的信息流与业务流,实现宠物交易、服务预约等功能的线上化、标准化与透明化,减少人工操作带来的记录差错等问题,提升宠物服务行业的整体运营效率与用户体验。

1.2国内外研究现状

国内宠物服务信息化研究起步较晚,早期多集中于单一功能模块的数字化改造。近年来随着移动互联网技术普及,研究重心逐步转向综合性业务管理平台。宠物商店逐步从传统手工记账向线上预约与商品零售一体化方向发展。行业对多角色协同、业务流程闭环及移动端适配提出了更高要求。

施伟等人在2024年基于GS1系统构建宠物血统管理及服务平台,采用统一标识技术实现宠物身份追溯[3]。该研究为本系统宠物资讯管理模块提供了标准化数据标识思路,有助于提升资讯分类与检索效率。万涛等人在2023年设计智能宠物管家系统,集成多业务模块于统一平台[5]。该研究的系统整合思想为本系统构建三角色协同架构提供了参考,有助于将普通用户、商家用户与管理员业务串联。庄帅在2022年完成宠物管理系统的设计与实现,覆盖用户信息登记与服务项目展示[7]。该研究的基础功能架构为本系统首页推荐查看与宠物洗护展示模块的页面布局优化提供了经验。

国外服务行业信息化研究起步较早,技术体系相对成熟。近年来研究重点从单一业务系统向复杂场景的数字化建模与智能化应用扩展。地理信息技术与图像识别技术在服务系统中的应用日益广泛。国外研究注重多用户环境下的数据安全与个性化服务。

Junghare等人于2026年设计并实现在线学习平台信息安全系统,深入探讨多用户环境下的数据隔离与访问控制机制[8]。该研究的权限控制思想为本系统管理三角色功能隔离提供了借鉴,有助于区分普通用户、商家用户与管理员的操作边界。Lao等人于2025年基于WebGIS开发自驾旅游服务系统,将地理位置信息与业务功能深度融合[10]。该研究的地理位置服务设计为本系统收货地址管理中默认地址定位提供了参考。

国外研究在大规模应用场景及通用技术解决方案方面积累丰富,但对中小型宠物商店资源限制与业务特性考虑不足。本系统吸收国外研究在流程建模、数据安全及个性化推荐方面的先进思想,结合国内宠物服务业实际经营特点进行本土化优化。系统聚焦小型店铺的轻量化部署需求,设计简洁实用的商品购买、洗护预约等功能流程,避免引入复杂技术栈,降低商家使用门槛。

1.3研究内容

本文主要研究萌宠商店管理系统的设计与实现。研究以宠物服务行业实际运营需求为出发点,对普通用户、商家用户、管理员这三个角色的功能需求进行分析,完成系统需求规格说明书的编写。在此基础上进行系统架构的设计,确定前后端分离的技术方案,规划各个功能模块的边界和交互方式。数据库设计阶段创建包含用户信息、商品数据、订单记录、预约信息等全部数据模型。系统实现阶段使用Spring Boot搭建后端服务接口,用Vue.js搭建前端用户界面,完成宠物资讯管理、洗护预约、商城交易、意见反馈等主要功能的开发。测试验证阶段设计测试用例对系统功能、性能做检验。主要研究业务流程的数字化重构和多角色协同机制的实现,不包括高并发场景下的性能优化以及分布式部署方案。预期产出为可以运行的萌宠商店管理系统原型、数据库设计文档、系统测试报告和完整的系统设计说明书。研究采用软件工程的方法,从需求分析到系统实现形成了一个完整的闭环。

第2章相关技术介绍

2.1Spring Boot框架

Spring Boot是基于Java语言的企业级应用开发框架,在本系统中用于构建后端业务逻辑层。选择Spring Boot而非传统SSM框架的主要原因是:本系统需要为普通用户、商家用户、管理员三类角色分别提供不同的服务接口,且涉及预约冲突检测、订单金额计算、优惠券使用规则校验等较为复杂的业务逻辑处理,Spring Boot的自动配置机制和起步依赖管理可以有效降低项目搭建的复杂度,使开发人员能够将主要精力集中于业务规则的实现[13]。此外,Spring Boot内嵌了Tomcat等Servlet容器,打包后的应用可直接通过java -jar命令启动运行,这降低了系统部署和运维的门槛,适合技术维护能力有限的中小型宠物商店使用。本系统中,Spring Boot负责接收前端发送的HTTP请求,完成用户身份验证、请求参数校验、业务规则执行等操作,并通过数据访问对象与MySQL数据库进行交互。

2.2Vue.js框架

Vue.js是一款用于构建用户界面的渐进式JavaScript框架,在本系统中用于前端界面的开发。本系统需要同时支持PC端后台管理和移动端用户操作两种使用场景,Vue.js的响应式数据绑定机制可以确保界面的状态与底层数据模型保持自动同步,开发者只需要关注数据对象的变化,DOM元素就会自动更新,这大大简化了界面逻辑的编写工作。本系统采用Vue.js的组件化开发模式,将首页推荐、洗护预约表单、购物车列表、订单卡片等界面元素封装为独立可复用的组件,不同页面之间可以共享这些组件,提高了代码的复用率和可维护性[14]。前端通过HTTP协议调用后端发布的RESTful接口获取JSON格式的数据,Vue.js接收到数据后将其渲染到页面模板中呈现给用户。针对本系统中预约时间选择和商品规格选择等交互需求,Vue.js的双向数据绑定机制使得表单数据的收集和校验变得简洁高效。

2.3MySQL数据库

MySQL是一款开源的关系型数据库管理系统,在本系统中作为数据持久化存储方案。本系统需要存储的数据包括普通用户信息、商家用户信息、商品数据、订单记录、洗护预约信息、优惠券数据、意见反馈等,这些业务数据之间存在明确的一对多或多对多关联关系,例如一个商家可以发布多个商品,一个用户可以提交多个订单,一个订单对应一个配送记录[15]。MySQL的关系型特性通过外键约束和事务机制可以保证这些数据之间的完整性和一致性。针对本系统中的高频查询操作,如用户根据订单号查询订单、商家根据商品状态筛选商品列表、管理员批量查看预约记录等,在对应字段上建立了普通索引以提高查询响应速度。系统采用连接池技术管理数据库连接,避免频繁创建和关闭连接造成的性能损耗。MySQL的ACID事务特性在订单生成时需要同时执行库存扣减和订单记录插入两个操作的场景下,保证了数据的一致性和可靠性。

2.4MVC模式

MVC(Model-View-Controller)是一种软件架构设计模式,在本系统中用于组织后端代码的分层结构。本系统将代码划分为控制器层、服务层、数据访问层和模型层四个层次,其本质是MVC模式的变体。控制器层对应MVC中的Controller,负责接收前端请求并返回响应结果;服务层封装了本系统的核心业务逻辑,包括预约时间冲突检测算法、订单金额计算方法、优惠券使用规则校验、库存扣减与恢复等;数据访问层封装了与MySQL数据库交互的细节;模型层对应MVC中的Model,定义了用户、商品、订单、预约等业务实体的数据结构和属性约束。视图层则采用Vue.js框架构建,对应MVC中的View[16]。分层设计使得各层的职责边界清晰:当需要修改预约冲突检测规则时,只需要修改服务层代码,控制器层和数据访问层不受影响;当需要更换前端框架时,视图层独立修改即可,后端接口无需变动。这种设计提高了本系统的可维护性和扩展性。

第3章系统分析

3.1可行性分析

3.1.1技术可行性

本系统的开发技术栈为Spring Boot + Vue.js + MySQL。其中Spring Boot版本为2.5.x,Vue.js版本为2.x,MySQL版本为8.0。这三种技术均已进入成熟稳定期,有完整的官方文档和活跃的开源社区支持,技术风险较低。本系统的核心业务场景包括:洗护预约的时间冲突检测、订单生成时的库存扣减与事务控制、多角色权限验证等,上述技术均提供成熟的解决方案。Spring Boot的声明式事务管理可以满足订单生成时多表操作的一致性要求;Vue.js的计算属性和侦听器可以高效实现购物车金额的实时计算;MySQL的行级锁机制可以防止库存超卖问题[17]。开发环境方面,IntelliJ IDEA或VS Code均可作为集成开发工具,不需要购买专门的硬件设备,普通开发计算机即可满足要求。

3.1.2经济可行性

本系统开发所使用的软件均为开源或免费版本。Spring Boot、Vue.js、MySQL Community Server均无需支付授权费用。开发工具可选用免费的Visual Studio Code或社区版IntelliJ IDEA。系统部署可利用宠物商店已有的计算机资源,无需额外采购服务器硬件。根据宠物商店的经营规模,系统上线后可以替代原有的纸质登记本、Excel台账和人工盘点工作,预计每年可节省的人力成本和物料消耗约相当于1-2个月的店铺租金。本系统采用模块化设计,后续功能扩展不需要重新开发,维护成本可控。因此,本系统对于中小型宠物商店具有较好的经济合理性。

3.1.3操作可行性

本系统的用户群体包括宠物商店的店主或店员、到店消费的宠物主人以及平台监管人员。商家用户的操作界面采用列表加表单的布局形式,预约处理、订单发货、商品上架等日常操作均在对应模块中集中完成,每个操作按钮都配有明确的文字标识,不需要数据库知识或编程背景即可使用。普通用户通过微信或浏览器访问系统,界面设计参考了主流电商App的交互习惯,浏览商品、加入购物车、提交订单、查看物流等操作路径与用户已有的使用经验一致。管理员的审核界面提供筛选、排序、批量操作等工具,降低了数据处理的复杂度。因此,三类角色均无需专业培训即可上手使用,系统具有良好的操作可行性。

3.2功能需求分析

3.2.1普通用户角色功能需求

普通用户在系统中可以浏览首页推荐的宠物资讯与商品,提交意见反馈并查看管理员回复,管理收货地址信息。用户可以查看各商家提供的宠物洗护项目详情,发起洗护预约申请,到店后由商家核销预约码完成服务确认。用户可以将商品加入购物车进行数量调整并完成结算,查看订单列表、订单详情及物流信息,并查看商家手动填写的订单号。用户可以处理好友申请,与商家在线聊天,接收系统发送的预约核销、订单变更等通知。普通用户用例图如图3-1所示。

图3-1 普通用户用例图

3.2.2商家用户角色功能需求

商家用户可以在系统中发布、编辑和删除宠物资讯文章,管理洗护服务项目的上架、下架及价格内容设置。商家可以查看用户提交的洗护预约申请并处理确认或拒绝,通过扫码或输入核销码完成到店核销。商家可以管理商城商品的上架、编辑、下架及库存,查看所有用户订单,对已支付订单手动填写快递单号并推送给用户。商家可以创建、编辑和失效店铺优惠券,处理用户的退款与售后申请,处理好友申请并自动发送订单号填写、核销完成、售后结果等通知。商家用户用例图如图3-2所示。

图3-2 商家用户用例图

3.2.3管理员角色功能需求

管理员可以在系统中审核、下架或删除全平台商家的违规洗护项目,查看全平台预约订单并监督异常预约。管理员可以审核用户反馈,回复或退回用户意见,审核、下架或删除违规商品。管理员可以查看全平台订单和物流信息,查看商家填写的订单号,审核商家创建的优惠券并通过或驳回。管理员可以监督商家售后处理流程并查看售后记录,向特定用户或全平台推送系统公告或重要通知。管理员用例图如图3-3所示。

图3-3 管理员用例图

第4章系统设计

4.1系统架构设计

萌宠商店管理系统采用前后端分离的分层架构模式进行设计。用户界面层使用Vue.js框架来创建,主要功能是显示操作界面以及接收用户的输入。应用服务层使用Spring Boot框架进行业务逻辑的封装以及数据校验规则的编写。数据持久层使用MySQL数据库来实现业务数据的存储和检索。系统支持层包含跨域访问、会话管理、日志记录等基本的服务。各个层之间通过定义好的接口进行通信,前端使用HTTP协议调用后端发布出来的RESTful接口来获取数据,服务层使用数据访问对象和数据库进行交互。分层设计使得各个模块的职责划分清楚,业务逻辑与界面展示相分离,系统更加容易维护、扩展。系统架构图如下图4-1所示。

图4-1 系统架构图

4.2功能结构设计

本系统围绕普通用户、商家用户、管理员三类角色构建核心功能模块。普通用户可进行首页推荐查看、意见反馈、收货地址管理、宠物洗护查看、洗护预约与核销、购物车管理、订单管理及聊天列表管理。商家用户具备宠物资讯管理、宠物洗护管理、洗护预约管理、宠物商城管理、订单列表管理、订单配送管理、优惠券管理、订单售后管理及消息通知管理功能。管理员则拥有宠物洗护管理、洗护预约管理、意见反馈管理、宠物商城管理、订单列表管理、订单配送管理、优惠券管理、订单售后管理及消息推送管理权限。该系统的功能结构如图4-2所示。

图4-2 系统功能结构图

4.3业务流程设计

4.3.1购物车管理功能模块设计

普通用户登录后进入购物车模块,可完成商品添加、数量修改、商品删除及结算跳转等功能,需设计单独接口。其中购物车列表接口支持按用户ID查询,参数为用户标识,默认按创建时间倒序排序。商品添加接口接收前端提交的商品数据,包含商品标识、用户标识、商品标题、商品图片、单价及数量,用于更新购物车数据表。数量修改接口接收购物车记录标识与最新数量值,系统重新计算该记录的总价并更新数据库。商品删除接口根据购物车记录标识执行物理删除操作。结算跳转接口需返回当前用户勾选的购物车商品汇总信息,包含商品总价及商品明细列表。所有接口的返回均采用购物车实体类及响应封装类作为返回,通过代码处理,真正返回前端的时候,仅保留必要字段如商品标识、标题、单价、数量及总价。相关功能的类图 如图4-3所示。

图4-3 购物车管理功能类图

4.3.2宠物洗护查看功能模块设计

普通用户登录后进入宠物洗护模块,可完成洗护项目浏览、项目搜索、项目详情查看及预约跳转等功能,需设计单独接口。其中洗护项目列表接口支持按店铺名称及洗护项目关键词进行模糊搜索,参数为店铺名称、项目名称及分页参数,默认按点击量及创建时间倒序排序。项目详情接口需返回洗护项目实体的完整信息,包含店铺名称、洗护项目、洗护价格、服务内容、项目海报、点击量及收藏数等字段。搜索接口接收前端提交的搜索条件,包含关键词及筛选参数,系统根据条件组合查询数据库并返回匹配的项目列表。所有接口的返回均采用宠物洗护实体类及响应封装类作为返回,通过代码处理,真正返回前端的时候,仅保留部分应当返回的字段如项目名称、价格及店铺信息。相关功能的类图 如图4-4所示。

图4-4 宠物洗护查看功能类图

4.3.3宠物商城管理功能模块设计

商家用户登录后进入宠物商城模块,可完成商品上架、商品编辑、商品下架及库存管理等功能,需设计单独接口。其中商品列表接口支持按商品名称、商品分类及上架状态进行条件筛选,参数为商品名称、分类标识及状态值,默认按创建时间倒序排序。商品上架接口接收前端提交的商品表单数据,包含商品标题、封面图、卖价、原价、商品分类、库存数量及商品描述,用于插入商品数据表。商品编辑接口接收商品标识及修改后的商品数据,更新数据库中的对应记录。商品下架接口根据商品标识修改上架状态字段,实现逻辑删除效果。库存管理接口接收商品标识及库存变更数量,系统校验库存非负后更新库存字段。所有接口的返回均采用商品信息实体类及响应封装类作为返回,通过代码处理,真正返回前端的时候,仅保留部分应当返回的字段如标题、价格、库存及上架状态。相关功能的类图 如图4-5所示。

图4-5 宠物商城管理功能类图

4.3.4订单列表管理功能模块设计

商家用户及管理员登录后进入订单列表模块,可完成订单查询、订单筛选、订单详情查看及订单状态跟踪等功能,需设计单独接口。其中订单列表接口支持按订单号、商品名称、联系人姓名及订单状态进行组合查询,参数为订单号、商品标题、联系人及状态值,默认按创建时间倒序排序。订单筛选接口接收前端提交的状态筛选条件,包含待付款、待发货、待签收及已完成等状态,系统根据状态值过滤订单数据。订单详情接口需返回订单实体的完整信息,包含订单号、商品标题、商品图片、单价、数量、总价、联系人信息及订单状态等字段。订单状态跟踪接口根据订单标识实时查询当前状态及物流配送信息。所有接口的返回均采用订单实体类及响应封装类作为返回,通过代码处理,真正返回前端的时候,仅保留部分应当返回的字段如订单号、商品标题、总价及订单状态。相关功能的类图 如图4-6所示。

图4-6 订单列表管理功能类图

4.3.5优惠券管理功能模块设计

商家用户及管理员登录后进入优惠券模块,可完成优惠券创建、优惠券编辑、优惠券失效及优惠券审核等功能,需设计单独接口。其中优惠券列表接口支持按优惠券名称、优惠券类型及有效期进行条件查询,参数为优惠券名称、类型及时间范围,默认按创建时间倒序排序。优惠券创建接口接收前端提交的优惠券表单数据,包含优惠券名称、优惠金额、优惠类型、有效期及所属商家标识,用于插入优惠券数据表。优惠券编辑接口接收优惠券标识及修改后的数据,更新数据库中的对应记录。优惠券失效接口根据优惠券标识修改有效状态字段,实现优惠券停用效果。管理员审核接口接收优惠券标识及审核结果参数,更新审核状态字段并通过或驳回优惠券申请。所有接口的返回均采用优惠券实体类及响应封装类作为返回,通过代码处理,真正返回前端的时候,仅保留部分应当返回的字段如优惠券名称、优惠金额、有效期及审核状态。相关功能的类图 如图4-7所示。

图4-7 优惠券管理功能类图

4.3.6在线咨询客服功能设计

普通用户登录后进入咨询列表页面,可完成会话查看、消息发送、历史记录查询等功能,需设计单独接口。其中会话列表接口支持按用户ID查询,参数为用户标识,默认按最后消息时间倒序排序,每个会话展示对方头像、昵称、最后消息内容及未读消息数量。消息发送接口接收前端提交的聊天数据,包含发送方ID、接收方ID、消息类型及消息内容,用于更新聊天记录表并触发消息推送。历史记录接口需返回当前用户与指定商家的完整聊天记录,支持分页加载。系统自动推送通知时,订单发货、预约核销等业务事件触发系统消息,此类消息在聊天列表中单独标识。所有接口的返回均采用聊天记录实体类及响应封装类作为返回,通过代码处理,真正返回前端的时候,仅保留部分应当返回的字段如发送方、接收方、消息内容及发送时间。相关功能的类图如图4-8所示。

图4-8 在线咨询客服功能类图

4.3.7好友申请管理功能设计

普通用户登录后进入好友管理页面,可完成用户搜索、好友申请发送、申请审核、好友列表查看等功能,需设计单独接口。其中用户搜索接口支持按账号或手机号模糊搜索,参数为搜索关键词,默认按用户注册时间倒序排序。好友申请发送接口接收前端提交的申请数据,包含申请方ID、接收方ID及申请备注,用于插入好友申请表并设置状态为待审核。申请审核接口接收申请ID及审核结果,通过则建立双向好友关系并更新申请状态为已通过。好友列表接口需返回当前用户的所有好友信息,包含好友昵称、头像及最近聊天时间。所有接口的返回均采用好友申请实体类及好友实体类作为返回,通过代码处理,真正返回前端的时候,仅保留部分应当返回的字段如好友昵称、头像及好友关系建立时间。相关功能的类图如图4-9所示。

图4-9 好友申请管理功能类图

4.4数据库设计

4.4.1概念模型设计

概念模型设计的关键在于理清管理员、普通用户、商家用户、商品信息、订单、洗护预约、购物车、收货地址、优惠券、物流配送这十个核心业务实体之间的联系。普通用户和商家用户分别承载消费身份与店铺属性,商家用户发布商品和洗护服务,普通用户通过订单和预约与商家产生业务联系。订单实体记录商品交易全过程数据,订单生成后关联物流配送实体。洗护预约实体存储服务时间与支付状态。优惠券由商家创建、用户使用。购物车和收货地址服务于订单生成与配送环节。这些实体以一对多或多对多的方式组成完整的数据结构网络。全局的E-R模型如图4-10所示。

图4-10 全局ER图

根据系统分析,系统的主要实体有管理员、普通用户、商家用户、收货地址、商品信息、订单、洗护预约、购物车、优惠券、物流配送,各个实体具体的属性如下图所示。

管理员实体主要包括管理员id、用户名、密码、昵称、头像地址、手机号码、邮箱、用户组、账户状态、创建时间等。实体属性图如图4-11所示。

图4-11 管理员实体属性图

普通用户实体主要包括普通用户id、用户姓名、用户手机、审核状态、用户id、创建时间等。实体属性图如图4-12所示。

图4-12 普通用户实体属性图

商家用户实体主要包括商家用户id、店铺名称、商家电话、营业执照、审核状态、用户id、创建时间等。实体属性图如图4-13所示。

图4-13 商家用户实体属性图

收货地址实体主要包括收货地址id、姓名、手机、地址、用户id、默认判断、创建时间等。实体属性图如图4-14所示。

图4-14 收货地址实体属性图

商品信息实体主要包括商品信息id、标题、封面图、卖价、原价、商品库存、商品分类、上架状态、销量、创建时间等。实体属性图如图4-15所示。

图4-15 商品信息实体属性图

订单实体主要包括订单id、订单号、商品标题、价格、数量、总价、买家id、商家id、订单状态、创建时间等。实体属性图如图4-16所示。

图4-16 订单实体属性图

洗护预约实体主要包括洗护预约id、用户姓名、店铺名称、洗护项目、洗护价格、预约时间、支付状态、创建时间等。实体属性图如图4-17所示。

图4-17 洗护预约实体属性图

购物车实体主要包括购物车id、商品id、标题、图片、数量、单价、总价、用户id、创建时间等。实体属性图如图4-18所示。

图4-18 购物车实体属性图

优惠券实体主要包括优惠券id、优惠券名称、优惠券价格、优惠券类型、创建时间等。实体属性图如图4-19所示。

图4-19 优惠券实体属性图

物流配送实体主要包括物流配送id、订单号、商品名称、购买数量、交易总额、配送状态、签收状态、发货日期等。实体属性图如图4-20所示。

图4-20 物流配送实体属性图

4.4.2数据库逻辑设计

数据库逻辑设计阶段把概念模型中实体和联系转换成具体的数据库表结构。周晓玉等认为基于Web技术的数据库应用设计要兼顾数据完整性和查询效率[18]。本系统为每一个实体创建对应的数据库表,用主键字段来保证每一条记录的唯一性。表和表之间用外键字段建立关联关系,比如订单表中保存用户编号和商家编号分别对应普通用户表和商家用户表。字段类型和长度根据业务数据特点合理设置,状态类字段用枚举值存储,时间字段统一使用datetime类型记录精确的时间点。索引设计主要目的是为了加快订单号、用户编号等高频查询字段的数据检索速度而建立普通索引。

管理员表主要是用来存储系统管理员账户的基本信息。主要包括管理员id、用户名、密码、昵称、手机号码等字段。如表4-1所示。

表4-1 管理员表

序号

字段名

类型

长度

备注

1

管理员id

int

11

主键

2

用户名

varchar

30

3

密码

varchar

64

4

昵称

varchar

50

5

头像地址

varchar

255

6

手机号码

varchar

20

7

邮箱

varchar

64

8

用户组

varchar

30

9

账户状态

smallint

6

10

创建时间

timestamp

-

普通用户表主要是用来存储系统普通用户的基本信息。主要包括普通用户id、用户姓名、用户手机、审核状态等字段。如表4-2所示。

表4-2 普通用户表

序号

字段名

类型

长度

备注

1

普通用户id

int

11

主键

2

用户姓名

varchar

50

3

用户手机

varchar

20

4

审核状态

varchar

16

5

用户id

int

11

外键

6

创建时间

datetime

-

商家用户表主要是用来存储入驻平台的商家店铺信息。主要包括商家用户id、店铺名称、商家电话、营业执照等字段。如表4-3所示。

表4-3 商家用户表

序号

字段名

类型

长度

备注

1

商家用户id

int

11

主键

2

店铺名称

varchar

64

3

商家电话

varchar

20

4

营业执照

varchar

255

5

审核状态

varchar

16

6

用户id

int

11

外键

7

创建时间

datetime

-

收货地址表主要是用来存储用户的配送地址信息。主要包括收货地址id、姓名、手机、地址、用户id等字段。如表4-4所示。

表4-4 收货地址表

序号

字段名

类型

长度

备注

1

收货地址id

int

11

主键

2

姓名

varchar

50

3

手机

varchar

20

4

地址

varchar

200

5

用户id

int

11

外键

6

默认判断

tinyint

4

7

创建时间

timestamp

-

商品信息表主要是用来存储商家发布的宠物商品数据。主要包括商品信息id、标题、封面图、卖价、原价等字段。如表4-5所示。

表4-5 商品信息表

序号

字段名

类型

长度

备注

1

商品信息id

int

11

主键

2

标题

varchar

125

3

封面图

text

255

续表4-5 商品信息表

序号

字段名

类型

长度

备注

4

卖价

double

-

5

原价

double

-

6

商品库存

int

11

7

商品分类

varchar

50

8

上架状态

smallint

6

9

销量

int

11

10

创建时间

timestamp

-

订单表主要是用来记录用户购买商品的交易信息。主要包括订单id、订单号、商品标题、价格、数量等字段。如表4-6所示。

表4-6 订单表

序号

字段名

类型

长度

备注

1

订单id

int

11

主键

2

订单号

varchar

64

3

商品标题

varchar

200

4

价格

double

-

5

数量

int

11

6

总价

double

-

7

买家id

int

11

外键

8

商家id

int

11

外键

9

订单状态

varchar

16

10

创建时间

timestamp

-

洗护预约表主要是用来存储用户提交的宠物洗护预约申请。主要包括洗护预约id、用户姓名、店铺名称、洗护项目、洗护价格等字段。如表4-7所示。

表4-7 洗护预约表

序号

字段名

类型

长度

备注

1

洗护预约id

int

11

主键

2

用户姓名

varchar

50

3

店铺名称

varchar

64

4

洗护项目

varchar

64

5

洗护价格

double

-

6

预约时间

date

-

7

支付状态

varchar

16

8

创建时间

datetime

-

购物车表主要是用来存储用户暂存的商品信息。主要包括购物车id、商品id、标题、图片、数量等字段。如表4-8所示。

表4-8 购物车表

序号

字段名

类型

长度

备注

1

购物车id

int

11

主键

2

商品id

int

11

外键

3

标题

varchar

64

4

图片

varchar

255

5

数量

int

11

6

单价

double

-

7

总价

double

-

8

用户id

int

11

外键

9

创建时间

timestamp

-

优惠券表主要是用来存储商家创建的优惠活动信息。主要包括优惠券id、优惠券名称、优惠券价格、优惠券类型、创建时间等字段。如表4-9所示。

表4-9 优惠券表

序号

字段名

类型

长度

备注

1

优惠券id

int

11

主键

2

优惠券名称

varchar

255

3

优惠券价格

int

11

4

优惠券类型

varchar

50

5

创建时间

timestamp

-

物流配送表主要是用来存储订单发货后的配送信息。主要包括物流配送id、订单号、商品名称、购买数量、交易总额等字段。如表4-10所示。

表4-10 物流配送表

序号

字段名

类型

长度

备注

1

物流配送id

int

11

主键

2

订单号

varchar

64

外键

3

商品名称

varchar

200

4

购买数量

varchar

20

5

交易总额

double

-

6

配送状态

varchar

64

7

签收状态

varchar

64

8

发货日期

date

-

4.5接口设计

系统接口基于SpringBoot控制层结合RESTful风格设计,采用JSON格式进行数据交互。前端通过HTTP协议调用后端接口,后端接收请求参数后执行业务逻辑并返回标准化JSON数据。遵循前后端分离架构原则,接口设计涵盖三大角色核心功能模块,确保数据交互的规范性与一致性。以下选取6个重要接口进行详细说明。

表4-11 首页推荐接口设计

项目

内容

功能说明

获取首页推荐内容,包括轮播图、宠物资讯及商品信息

URL地址

/slides/get_list + /pet_information/get_list + /goods/get_list

请求方式

GET

参数说明

返回参数

code(状态码)、msg(提示信息)、data(推荐内容列表)

返回示例

{"code": 200, "msg": "success", "data": {"slides": [{"slides_id": 1, "title": "春季促销", "img": "banner.jpg"}], "pet_info": [{"pet_information_id": 1, "article_title": "养宠知识"}], "goods": [{"goods_id": 1, "title": "宠物笼子", "price": 160}]}}

表4-12 洗护预约接口设计

项目

内容

功能说明

用户提交宠物洗护预约申请

URL地址

/wash_appointment/add

请求方式

POST

参数说明

ordinary_user(普通用户ID)、user_name(用户姓名)、business_user(商家用户ID)、shop_name(店铺名称)、washing_and_protection_items(洗护项目)、washing_price(洗护价格)、appointment_time(预约时间)、appointment_remarks(预约备注)

返回参数

code(状态码)、msg(提示信息)、data(操作结果)

返回示例

{"code": 200, "msg": "success", "data": {"wash_appointment_id": 1}}

表4-13 购物车操作接口设计

项目

内容

功能说明

将商品添加至购物车

URL地址

/cart/add

请求方式

POST

参数说明

goods_id(商品ID)、title(商品标题)、img(商品图片)、price(单价)、num(数量)、user_id(用户ID)

续表4-13 购物车操作接口设计

项目

内容

返回参数

code(状态码)、msg(提示信息)、data(购物车记录ID)

返回示例

{"code": 200, "msg": "success", "data": {"cart_id": 1}}

表4-14 订单创建接口设计

项目

内容

功能说明

用户提交订单完成商品购买

URL地址

/order/add

请求方式

POST

参数说明

order_number(订单号)、goods_id(商品ID)、title(商品标题)、price(价格)、num(数量)、price_count(总价)、user_id(买家ID)、merchant_id(商家ID)、contact_name(联系人姓名)、contact_phone(联系人手机)、contact_address(收件地址)

返回参数

code(状态码)、msg(提示信息)、data(订单ID)

返回示例

{"code": 200, "msg": "success", "data": {"order_id": 1}}

表4-15 订单配送接口设计

项目

内容

功能说明

商家填写快递单号完成订单发货

URL地址

/logistics_delivery/set

请求方式

POST

参数说明

order_number(订单号)、delivery_number(配送单号)、delivery_status(配送状态)、the_date_of_issuance(发货日期)

返回参数

code(状态码)、msg(提示信息)、data(操作结果)

返回示例

{"code": 200, "msg": "success", "data": {}}

表4-16 意见反馈接口设计

项目

内容

功能说明

用户提交意见反馈内容

URL地址

/feedback/add

续表4-16 意见反馈接口设计

项目

内容

请求方式

POST

参数说明

ordinary_user(普通用户ID)、user_name(用户姓名)、type_of_feedback(反馈类型)、feedback_content(反馈内容)、feedback_time(反馈时间)

返回参数

code(状态码)、msg(提示信息)、data(反馈记录ID)

返回示例

{"code": 200, "msg": "success", "data": {"feedback_id": 1}}

第5章系统实现

5.1普通用户功能实现

5.1.1首页推荐查看活动设计

用户进入系统首页后自动加载推荐区域内容。系统根据内容热度与更新时间动态调整轮播图及资讯商品卡片的展示顺序。用户点击轮播图可切换查看不同类型内容,点击卡片可跳转详情页面。首页推荐查看活动图如图5-1所示。

图5-1 首页推荐查看活动图

前端页面加载时调用后端接口获取推荐数据。后端从轮播图表与商品信息表中查询上架状态正常的记录,按点击量与创建时间排序后返回前端渲染。首页推荐界面如图5-2所示。

图5-2 首页推荐查看界面

核心代码实现如下:

@RequestMapping("/get_list")

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

Map<String, String> query = service.readQuery(request);

Map<String, String> config = service.readConfig(request);

List list = this.service.selectBaseList(this.service.select(query, config));

map.put("list", list);

return success(map);

}

5.1.2意见反馈活动设计

用户进入意见反馈列表页面查看历史提交记录及审核状态。点击添加按钮进入反馈填写页,选择反馈类型并输入具体内容后提交系统。系统保存记录并置为待审核状态。意见反馈活动图如图5-3所示。

图5-3 意见反馈活动图

用户提交反馈时前端将表单数据发送至反馈控制器。控制器调用新增接口完成数据入库,设置审核状态为未审核。管理员审核后用户可查看回复内容。意见反馈界面如图5-4所示。

图5-4 意见反馈界面

核心代码实现如下:

@PostMapping("/add")

@Transactional

public Map<String, Object> add(HttpServletRequest request) throws IOException {

Map<String,Object> paramMap = service.readBody(request.getReader());

Feedback feedback = new Feedback();

feedback.setExamine_state("未审核");

this.addEntity(feedback);

return success(1);

}

5.1.3收货地址管理活动设计

用户进入地址列表页面查看已保存的收货地址。点击新增地址填写联系人姓名手机号码及详细地址后提交系统保存。用户可选择默认地址用于订单结算快速填充。收货地址管理活动图如图5-5所示。

图5-5 收货地址管理活动图

前端调用地址控制器的新增修改删除接口完成地址维护操作。新增时控制器验证手机号与地址字段非空后执行插入。设置默认地址时更新其他地址的默认标记。收货地址管理界面如图5-6所示。

图5-6 收货地址管理界面

核心代码实现如下:

@PostMapping("/add")

@Transactional

public Map<String, Object> add(HttpServletRequest request) throws IOException {

Map<String, Object> addMap = service.readBody(request.getReader());

validateParameters(addMap);

removeUnnecessaryFields(addMap);

this.service.insert(addMap);

return success(1);

}

5.1.4宠物洗护查看活动设计

用户进入洗护列表页面浏览各店铺发布的洗护项目卡片。卡片展示店铺名称洗护项目名称及洗护价格。用户使用搜索框按店铺名称或洗护项目关键词过滤内容。宠物洗护查看活动图如图5-7所示。

图5-7 宠物洗护查看活动图

前端调用洗护控制器获取项目列表数据。后端按商家用户维度查询洗护项目,返回店铺名称洗护项目价格及服务内容。用户点击卡片查看完整服务说明。宠物洗护查看界面如图5-8所示。

图5-8 宠物洗护查看界面

核心代码实现如下:

@RequestMapping("/get_list")

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

Map<String, String> query = service.readQuery(request);

Map<String, String> config = service.readConfig(request);

List list = this.service.selectBaseList(this.service.select(query, config));

return success(list);

}

5.1.5洗护预约活动设计

用户在洗护项目详情页点击预约按钮进入预约表单。系统自动填充用户姓名与店铺名称,用户选择预约日期填写备注后提交。系统检测所选时间段是否冲突,无冲突则生成预约记录。洗护预约活动图如图5-9所示。

图5-9 洗护预约活动图

前端提交预约申请至洗护预约控制器新增接口。控制器接收用户标识商家标识洗护项目及预约时间等参数,执行数据插入操作并设置审核状态为未审核。洗护预约界面如图5-10所示。

图5-10 洗护预约界面

核心代码实现如下:

@PostMapping("/add")

@Transactional

public Map<String, Object> add(HttpServletRequest request) throws IOException {

Map<String,Object> paramMap = service.readBody(request.getReader());

WashAppointment wash_appointment = new WashAppointment();

wash_appointment.setExamine_state("未审核");

this.addEntity(wash_appointment);

return success(1);

}

5.1.6洗护预约核销活动设计

用户到店后向商家出示预约核销码。商家在预约管理页面扫码或输入核销码完成核销操作。系统验证核销码有效性后更新预约状态为已使用。洗护预约核销活动图如图5-11所示。

图5-11 洗护预约核销活动图

商家在洗护预约控制器中调用核销接口,传入预约标识与核销码。系统验证核销码匹配后更新预约记录的核销状态与核销时间。用户端同步显示预约已完成。洗护预约核销界面如图5-12所示。

图5-12 洗护预约核销界面

核心代码实现如下:

wash_appointment.setVerification_state(paramMap.get("verification_state")==null?null:String.valueOf(paramMap.get("verification_state")));

wash_appointment.setVerification_time(paramMap.get("verification_time")==null?null:String.valueOf(paramMap.get("verification_time")));

5.1.7购物车管理活动设计

用户将商品加入购物车后在购物车列表页查看已选商品。系统汇总计算商品总金额。用户勾选需要结算的商品条目,调整购买数量或移除商品后点击结算进入订单确认流程。购物车管理活动图如图5-13所示。

图5-13 购物车管理活动图

前端调用购物车控制器完成商品添加数量修改及删除操作。控制器接收商品标识用户标识及规格参数,计算单价总价后存入购物车表。结算时读取勾选商品生成订单。购物车管理界面如图5-14所示。

图5-14 购物车管理界面

核心代码实现如下:

@PostMapping("/add")

@Transactional

public Map<String, Object> add(HttpServletRequest request) throws IOException {

Map<String,Object> paramMap = service.readBody(request.getReader());

Cart cart = new Cart();

cart.setNum(Integer.valueOf(String.valueOf(paramMap.get("num"))));

this.addEntity(cart);

return success(1);

}

5.1.8订单管理活动设计

用户进入订单列表页面查看全部订单。系统按待付款待发货待签收售后等分类展示。用户点击订单卡片查看订单详情商品信息交易金额及物流状态。待付款订单可继续支付。订单管理活动图如图5-15所示。

图5-15 订单管理活动图

前端调用订单控制器获取订单列表数据。控制器支持按订单号商品名称联系人姓名及订单状态组合查询。用户查看订单详情时返回完整订单信息及物流配送数据。订单管理界面如图5-16所示。

图5-16 订单管理界面

核心代码实现如下:

@RequestMapping("/get_list")

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

Map<String, String> query = service.readQuery(request);

Map<String, String> config = service.readConfig(request);

List list = this.service.selectBaseList(this.service.select(query, config));

map.put("list", list);

return success(map);

}

5.1.9在线咨询客服活动设计

用户进入咨询列表页面,系统按最后消息时间倒序展示所有联系过的商家会话。每个会话展示商家头像、店铺名称、最后消息缩略及未读消息角标。点击会话进入聊天窗口,历史消息以气泡形式分左右显示。用户在底部输入文本或选择图片后点击发送即可发送消息。订单发货、预约核销等业务触发时,系统自动向用户推送通知。在线咨询客服活动图如图5-17所示。

图5-17 在线咨询客服活动图

前端调用聊天控制器的会话列表查询、消息发送、历史记录拉取等接口完成咨询功能。消息发送时控制器接收发送方ID、接收方ID、消息类型及内容,存入聊天记录表并更新会话的最后消息时间。系统自动推送消息至接收方,接收方可实时查看。在线咨询客服界面如图5-18所示。

图5-18 聊天列表管理界面

核心代码实现如下:

@PostMapping("/send")

@Transactional

public Map<String, Object> sendMessage(HttpServletRequest request) throws IOException {

    Map<String,Object> paramMap = service.readBody(request.getReader());

    CustomerChatLog chatLog = new CustomerChatLog();

    chatLog.setFromUserId(Long.valueOf(String.valueOf(paramMap.get("from_user_id"))));

    chatLog.setToUserId(Long.valueOf(String.valueOf(paramMap.get("to_user_id"))));

    chatLog.setContent(paramMap.get("content") == null ? null : String.valueOf(paramMap.get("content")));

    chatLog.setMsgType(paramMap.get("msg_type") == null ? "text" : String.valueOf(paramMap.get("msg_type")));

5.1.10好友聊天与群聊活动设计

用户进入好友列表页面可查看所有已添加的好友。点击“添加好友”按钮,输入对方账号搜索后发送好友申请。对方在消息通知页面查看申请,点击同意后双方建立好友关系。用户点击“创建群聊”按钮,设置群名称后从好友列表中勾选成员加入,系统生成群组并展示在群聊列表中。群聊窗口显示群名称及群成员列表,任一成员发送的消息群内所有成员均可收到。群主可进入群设置页面移除成员或转让群主权限。好友聊天与群聊活动图如图5-19所示。

图5-19 好友聊天与群聊活动图

前端调用好友申请控制器的申请发送与审核接口、群聊控制器的群组创建与成员管理接口完成相关功能。发送申请时控制器接收申请方ID、接收方ID,生成待审核记录。创建群聊时控制器接收群名称、群主ID及成员ID列表,生成群组记录并批量添加群成员。好友聊天与群聊界面如图5-20所示。

图5-20 好友聊天与群聊界面

核心代码实现如下:

// 发送好友申请

@PostMapping("/add_friend")

@Transactional

public Map<String, Object> addFriend(HttpServletRequest request) throws IOException {

    Map<String,Object> paramMap = service.readBody(request.getReader());

    FriendApply apply = new FriendApply();

    apply.setFromUserId(Long.valueOf(String.valueOf(paramMap.get("from_user_id"))));

    apply.setToUserId(Long.valueOf(String.valueOf(paramMap.get("to_user_id"))));

    apply.setStatus("待审核");

    apply.setApplyTime(new Date());

    this.addEntity(apply);

    return success(1);

}

5.2商家用户功能实现

5.2.1宠物资讯管理活动设计

商家进入资讯列表页面查看已发布的资讯条目。点击添加按钮进入资讯发布页面填写文章标题选择标签分类上传宠物图片与视频编辑养宠知识正文后提交系统。宠物资讯管理活动图如图5-21所示。

图5-21 宠物资讯管理活动图

前端调用宠物资讯控制器的新增修改删除接口完成资讯维护。控制器接收商家用户标识店铺名称文章标题正文内容等参数入库。资讯列表按创建时间倒序展示。宠物资讯管理界面如图5-22所示。

图5-22 宠物资讯管理界面

核心代码实现如下:

@PostMapping("/add")

@Transactional

public Map<String, Object> add(HttpServletRequest request) throws IOException {

Map<String,Object> paramMap = service.readBody(request.getReader());

PetInformation pet_information = new PetInformation();

pet_information.setArticle_title(paramMap.get("article_title")==null?null:String.valueOf(paramMap.get("article_title")));

this.addEntity(pet_information);

return success(1);

}

5.2.2宠物洗护管理活动设计

商家进入洗护列表页面查看已创建的服务项目。点击添加按钮进入项目创建页面填写洗护项目名称上传项目海报设置洗护价格编辑服务内容后提交系统。宠物洗护管理活动图如图5-23所示。

图5-23 宠物洗护管理活动图

前端调用宠物洗护控制器对服务项目进行增删改查。控制器接收商家用户标识店铺名称洗护项目价格及服务内容等参数。项目信息支持编辑修改与下架操作。宠物洗护管理界面如图5-24所示。

图5-24 宠物洗护管理界面

核心代码实现如下:

@PostMapping("/add")

@Transactional

public Map<String, Object> add(HttpServletRequest request) throws IOException {

Map<String,Object> paramMap = service.readBody(request.getReader());

PetCare pet_care = new PetCare();

pet_care.setWashing_and_protection_items(paramMap.get("washing_and_protection_items")==null?null:String.valueOf(paramMap.get("washing_and_protection_items")));

this.addEntity(pet_care);

return success(1);

}

5.2.3洗护预约管理活动设计

商家进入预约列表页面查看所有待处理的预约记录。列表展示用户姓名预约项目预约时间等信息。商家可根据支付状态筛选预约订单,确认预约后更改预约状态为已处理。洗护预约管理活动图如图5-25所示。

图5-25 洗护预约管理活动图

前端调用洗护预约控制器获取待处理预约列表。商家确认预约时调用审核状态修改接口将状态更新为已通过。系统同时更新核销码字段供到店核销使用。洗护预约管理界面如图5-26所示。

图5-26 洗护预约管理界面

核心代码实现如下:

@GetMapping("/update_examine_state")

@Transactional

public String updateExamineState(Long id, String newState) throws IOException {

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

queryMap.put("id",String.valueOf(id));

WashAppointment wash_appointment = service.findOne(queryMap);

wash_appointment.setExamine_state(newState);

this.setEntity(queryMap,new HashMap<>(),wash_appointment);

return "审核成功";

}

5.2.4宠物商城管理活动设计

商家进入商品列表页面查看所有已发布商品。点击添加按钮进入商品发布页面填写商品基本信息上传多张商品图片设置规格与库存后提交系统。宠物商城管理活动图如图5-27所示。

图5-27 宠物商城管理活动图

前端调用商品信息控制器完成商品上架编辑下架及库存调整操作。控制器接收商品标题价格库存分类商家用户标识等参数。商品列表支持按名称分类上架状态筛选。宠物商城管理界面如图5-28所示。

图5-28 宠物商城管理界面

核心代码实现如下:

@PostMapping("/add")

@Transactional

public Map<String, Object> add(HttpServletRequest request) throws IOException {

Map<String,Object> paramMap = service.readBody(request.getReader());

Goods goods = new Goods();

goods.setTitle(paramMap.get("title")==null?null:String.valueOf(paramMap.get("title")));

this.addEntity(goods);

return success(1);

}

5.2.5订单列表管理活动设计

商家进入订单列表页面查看所有订单记录。列表展示订单号商品名称交易金额订单状态等信息。系统提供订单号查询与状态筛选功能,点击订单详情查看完整订单信息。订单列表管理活动图如图5-29所示。

图5-29 订单列表管理活动图

前端调用订单控制器获取商家关联的订单数据。控制器通过左连接商品表筛选当前商家的订单记录,支持按订单号商品名称联系人姓名及订单状态组合查询。订单列表管理界面如图5-30所示。

图5-30 订单列表管理界面

核心代码实现如下:

@RequestMapping("/get_business_order_list")

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

Map<String,String> query = service.readQuery(request);

String sql = "SELECT t1.* FROM order t1 LEFT JOIN goods t2 ON t1.goods_id = t2.goods_id WHERE t2.user_id = "+ query.get("user_id");

return success(map);

}

5.2.6订单配送管理活动设计

商家进入配送管理页面查看待发货与已发货订单列表。选择待发货订单点击发货按钮填写配送单号并选择配送方式,系统记录发货日期并更新订单状态为已发货。订单配送管理活动图如图5-31所示。

图5-31 订单配送管理活动图

前端调用配送控制器执行发货操作。商家手动填写快递单号后系统保存配送信息并更新订单状态。用户端同步显示物流单号与发货状态。订单配送管理界面如图5-32所示。

图5-32 订单配送管理界面

核心代码实现如下:

@PostMapping("/set")

@Transactional

public Map<String, Object> set(HttpServletRequest request) throws IOException {

Map<String,String> queryMap = service.readQuery(request);

Map<String,Object> paramMap = service.readBody(request.getReader());

LogisticsDelivery delivery = new LogisticsDelivery();

delivery.setDelivery_number(paramMap.get("delivery_number")==null?null:String.valueOf(paramMap.get("delivery_number")));

this.setEntity(queryMap,new HashMap<>(),delivery);

return success(1);

}

5.2.7优惠券管理活动设计

商家进入优惠券列表页面查看已创建的优惠券。点击添加按钮进入优惠券创建页面填写优惠券名称设置满减金额选择优惠类型设定有效期后提交系统。优惠券管理活动图如图5-33所示。

图5-33 优惠券管理活动图

前端调用优惠券控制器新增修改及失效优惠券。控制器接收优惠券名称优惠金额类型有效期及所属商家标识,执行数据插入后优惠券可供用户领取使用。优惠券管理界面如图5-34所示。

图5-34 优惠券管理界面

核心代码实现如下:

@PostMapping("/add")

@Transactional

public Map<String, Object> add(HttpServletRequest request) throws IOException {

Map<String, Object> addMap = service.readBody(request.getReader());

validateParameters(addMap);

removeUnnecessaryFields(addMap);

this.service.insert(addMap);

return success(1);

}

5.2.8订单售后管理活动设计

商家进入售后列表页面查看所有售后申请记录。点击详情查看用户填写的售后内容与上传凭证。商家根据实际情况选择审核通过或拒绝,通过则进入退款流程拒绝需填写拒绝原因。订单售后管理活动图如图5-35所示。

图5-35 订单售后管理活动图

前端调用订单售后控制器获取售后申请列表。商家审核时调用修改接口更新售后状态与售后回复内容。系统根据审核结果触发退款流程或退回申请。订单售后管理界面如图5-36所示。

图5-36 订单售后管理界面

核心代码实现如下:

@PostMapping("/set")

@Transactional

public Map<String, Object> set(HttpServletRequest request) throws IOException {

Map<String,String> queryMap = service.readQuery(request);

Map<String,Object> paramMap = service.readBody(request.getReader());

OrderAfterSale afterSale = new OrderAfterSale();

afterSale.setAfter_state(paramMap.get("after_state")==null?null:String.valueOf(paramMap.get("after_state")));

this.setEntity(queryMap,new HashMap<>(),afterSale);

return success(1);

}

5.2.9消息通知管理活动设计

商家进入消息通知管理页面处理用户发来的好友申请。系统自动向用户发送订单号填写核销完成售后结果等关键操作通知。商家可查看消息记录并回复。消息通知管理活动图如图5-37所示。

图5-37 消息通知管理活动图

前端调用通知记录控制器获取消息列表。商家处理好友申请时调用聊天好友控制器更新好友关系。系统在订单状态变更核销完成售后审核时自动调用通知新增接口推送消息。消息通知管理界面如图5-38所示。

图5-38 消息通知管理界面

核心代码实现如下:

@PostMapping("/add")

@Transactional

public Map<String, Object> add(HttpServletRequest request) throws IOException {

Map<String,Object> paramMap = service.readBody(request.getReader());

MessageInform message = new MessageInform();

message.setTitle(paramMap.get("title")==null?null:String.valueOf(paramMap.get("title")));

this.addEntity(message);

return success(1);

}

5.3管理员功能实现

5.3.1宠物洗护管理活动设计

管理员进入洗护管理页面浏览所有店铺的服务项目列表。列表展示店铺名称洗护项目项目海报与洗护价格。管理员可点击详情查看完整服务内容说明,对违规项目执行下架或删除操作。宠物洗护管理活动图如图5-39所示。

图5-39 宠物洗护管理活动图

前端调用宠物洗护控制器获取全平台洗护项目数据。控制器支持按店铺名称洗护项目组合查询。管理员执行删除操作时控制器验证权限后删除对应记录。宠物洗护管理界面如图5-40所示。

图5-40 宠物洗护管理界面

核心代码实现如下:

@RequestMapping("/get_list")

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

Map<String, String> query = service.readQuery(request);

Map<String, String> config = service.readConfig(request);

List list = this.service.selectBaseList(this.service.select(query, config));

return success(list);

}

5.3.2洗护预约管理活动设计

管理员进入预约管理页面查看所有用户的预约记录。列表展示用户姓名店铺名称洗护项目预约时间与支付状态。系统支持按用户姓名店铺名称支付状态组合查询,对异常预约记录可进行标记处理。洗护预约管理活动图如图5-41所示。

图5-41 洗护预约管理活动图

前端调用洗护预约控制器获取全平台预约数据。管理员查看预约详情时返回完整预约信息。系统支持多维度筛选查询便于管理员监督预约订单处理进度。洗护预约管理界面如图5-42所示。

图5-42 洗护预约管理界面

核心代码实现如下:

@RequestMapping("/get_list")

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

Map<String, String> query = service.readQuery(request);

Map<String, String> config = service.readConfig(request);

List list = this.service.selectBaseList(this.service.select(query, config));

return success(list);

}

5.3.3意见反馈管理活动设计

管理员进入反馈列表页面查看所有待审核反馈记录。列表展示用户姓名反馈类型反馈时间与反馈内容。管理员点击详情查看完整反馈信息,审核通过后填写回复内容,不通过则退回用户并说明原因。意见反馈管理活动图如图5-43所示。

图5-43 意见反馈管理活动图

前端调用意见反馈控制器获取待审核反馈列表。管理员审核时调用审核状态修改接口更新状态及回复内容。支持批量审核操作提高处理效率。意见反馈管理界面如图5-44所示。

图5-44 意见反馈管理界面

核心代码实现如下:

@GetMapping("/update_examine_state")

@Transactional

public String updateExamineState(Long id, String newState) throws IOException {

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

queryMap.put("id",String.valueOf(id));

Feedback feedback = service.findOne(queryMap);

feedback.setExamine_state(newState);

this.setEntity(queryMap,new HashMap<>(),feedback);

return "审核成功";

}

5.3.4宠物商城管理活动设计

管理员进入商城管理页面查看所有商家发布的商品列表。列表展示商品标题封面图分类规格描述上架状态与所属商家。系统提供多维度查询功能,对违规商品执行下架或删除操作。宠物商城管理活动图如图5-45所示。

图5-45 宠物商城管理活动图

前端调用商品信息控制器获取全平台商品数据。管理员可按商品名称分类上架状态店铺名称筛选。执行删除操作时控制器校验管理员权限后删除商品记录。宠物商城管理界面如图5-46所示。

图5-46 宠物商城管理界面

核心代码实现如下:

@RequestMapping("/get_list")

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

Map<String, String> query = service.readQuery(request);

Map<String, String> config = service.readConfig(request);

List list = this.service.selectBaseList(this.service.select(query, config));

return success(list);

}

5.3.5订单列表管理活动设计

管理员进入订单列表页面查看所有订单记录。列表展示订单号商品名称商品图片交易总额配送方式与联系人信息。系统支持按订单号商品名称联系人姓名订单状态组合查询。订单列表管理活动图如图5-47所示。

图5-47 订单列表管理活动图

前端调用订单控制器获取全平台订单数据。管理员可查看订单详情了解订单流转全过程的完整记录。系统支持导出功能便于数据统计分析。订单列表管理界面如图5-48所示。

图5-48 订单列表管理界面

核心代码实现如下:

@RequestMapping("/get_list")

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

Map<String, String> query = service.readQuery(request);

Map<String, String> config = service.readConfig(request);

List list = this.service.selectBaseList(this.service.select(query, config));

return success(list);

}

5.3.6订单配送管理活动设计

管理员进入配送管理页面查看所有已发货订单的物流信息。列表展示订单号商品名称交易总额发货日期配送单号与联系人。系统提供配送状态与签收状态筛选功能。订单配送管理活动图如图5-49所示。

图5-49 订单配送管理活动图

前端调用物流配送控制器获取全平台配送数据。管理员可查看完整物流配送信息,监督商家发货时效及用户签收情况。订单配送管理界面如图5-50所示。

图5-50 订单配送管理界面

核心代码实现如下:

@RequestMapping("/get_list")

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

Map<String, String> query = service.readQuery(request);

Map<String, String> config = service.readConfig(request);

List list = this.service.selectBaseList(this.service.select(query, config));

return success(list);

}

5.3.7优惠券管理活动设计

管理员进入优惠券列表页面查看全平台优惠券信息。列表展示优惠券名称所属卖家优惠金额优惠券类型与有效期。管理员可审核商家提交的优惠券申请,符合条件的予以通过,不符合要求的驳回并说明原因。优惠券管理活动图如图5-51所示。

图5-51 优惠券管理活动图

前端调用优惠券控制器获取全平台优惠券数据。管理员审核时调用修改接口更新优惠券审核状态。审核通过的优惠券可被用户领取使用。优惠券管理界面如图5-52所示。

图5-52 优惠券管理界面

核心代码实现如下:

@RequestMapping("/get_list")

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

Map<String, String> query = service.readQuery(request);

Map<String, String> config = service.readConfig(request);

List list = this.service.selectBaseList(this.service.select(query, config));

return success(list);

}

5.3.8订单售后管理活动设计

管理员进入售后管理页面查看所有售后记录。列表展示订单号商品名称交易总额商家名称买家名称订单状态与售后状态。系统支持按订单号商品名称售后状态筛选,管理员监督商家审核流程合规性。订单售后管理活动图如图5-53所示。

图5-53 订单售后管理活动图

前端调用订单售后控制器获取全平台售后申请数据。管理员可查看售后详情监督商家处理流程。系统记录审核操作日志便于追溯。订单售后管理界面如图5-54所示。

图5-54 订单售后管理界面

核心代码实现如下:

@RequestMapping("/get_list")

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

Map<String, String> query = service.readQuery(request);

Map<String, String> config = service.readConfig(request);

List list = this.service.selectBaseList(this.service.select(query, config));

return success(list);

}

5.3.9消息推送管理活动设计

管理员进入消息推送管理页面编辑系统公告内容。选择推送目标范围后执行推送操作,系统向指定用户或全平台用户发送重要通知。消息推送管理活动图如图5-55所示。

图5-55 消息推送管理活动图

前端调用通知控制器新增系统公告。管理员填写标题与正文后调用新增接口保存公告记录。系统同时向目标用户的通知表插入推送记录。消息推送管理界面如图5-56所示。

图5-56 消息推送管理界面

核心代码实现如下:

@PostMapping("/add")

@Transactional

public Map<String, Object> add(HttpServletRequest request) throws IOException {

Map<String, Object> addMap = service.readBody(request.getReader());

validateParameters(addMap);

removeUnnecessaryFields(addMap);

this.service.insert(addMap);

return success(1);

}

第6章系统测试

6.1测试目的

系统测试主要用来检验萌宠商店管理系统的功能是否完整,业务规则是否正确。测试过程是以三个主要用户角色的核心操作流程为依据,对系统中对于预约时间冲突检测、订单状态流转、支付状态校验等重要的业务节点的处理逻辑是否正确进行检验。测试还要检验系统对于用户输入异常数据时的容错性,在收货地址表单中输入格式不正确的手机号码或者空白必填字段时,系统应该给出明确的提示,并且阻止错误的数据进入数据库。通过模拟多用户并发操作场景来检测数据一致性是否得到保证,防止出现库存超卖或者预约时间重叠等现象。林育蓓等认为数据库应用的稳定性要靠系统的测试来证明[19]。测试结果可以给系统的上线运行提供质量依据。

6.2测试方法

系统测试主要用黑盒测试的方法,从用户的视角来检验功能表现是否达到预期的效果。测试人员按照测试用例的操作步骤执行具体的操作,看系统返回的结果和预期的结果是否一致。功能测试包含普通用户、商家用户、管理员三种角色所有核心功能模块,主要对业务流程的完整执行路径以及异常分支的处理逻辑进行测试。兼容性测试在不同的浏览器和设备上做同样的操作,看界面布局、交互响应是否正常。测试中出现的缺陷和异常问题,开发小组在修复缺陷之后再执行回归测试,直到所有的测试用例都被检验通过为止。黑马程序员认为,测试用例设计对于提高测试覆盖率有作用[20]。

6.3测试用例

普通用户洗护预约功能测试如表6-1所示。

表6-1 普通用户洗护预约功能测试

测试内容

测试步骤

预期结果

实际结果

正常预约流程

选择洗护项目,填写预约时间,提交申请

预约成功生成记录

符合预期

重复时间预约

选择已预约时间段再次提交申请

提示时间冲突无法预约

符合预期

未登录预约

未登录状态下点击预约按钮

跳转至登录页面

符合预期

商家订单发货功能测试如表6-2所示。

表6-2 商家订单发货功能测试

测试内容

测试步骤

预期结果

实际结果

待发货订单发货

选择待发货订单,填写配送单号

订单状态更新为已发货

符合预期

未支付订单发货

对未支付订单执行发货操作

提示订单未支付无法发货

符合预期

物流信息查看

点击已发货订单查看物流

显示配送单号与发货日期

符合预期

管理员审核意见反馈功能测试如表6-3所示。

表6-3 管理员审核意见反馈功能测试

测试内容

测试步骤

预期结果

实际结果

审核通过反馈

选择待审核反馈,点击审核通过并填写回复

反馈状态更新为已通过

符合预期

审核不通过

选择待审核反馈,点击不通过并填写原因

反馈退回用户并显示原因

符合预期

批量审核

勾选多条反馈记录执行批量审核操作

选中记录状态统一更新

符合预期

用户下单购买商品功能测试如表6-4所示。

表6-4 用户下单购买商品功能测试

测试内容

测试步骤

预期结果

实际结果

正常下单流程

选择商品加入购物车,提交订单

生成待付款订单

符合预期

库存不足下单

购买数量超过商品库存

提示库存不足无法下单

符合预期

优惠券抵扣

结算时使用有效优惠券

订单金额正确抵扣

符合预期

商家售后审核功能测试如表6-5所示。

表6-5 商家售后审核功能测试

测试内容

测试步骤

预期结果

实际结果

通过售后申请

选择待审核售后,点击审核通过

售后状态更新为已通过

符合预期

拒绝售后申请

选择待审核售后,点击拒绝并填写原因

售后状态更新为已拒绝

符合预期

重复提交售后

对已售后订单再次提交申请

提示已存在售后记录

符合预期

总结

萌宠商店管理系统围绕宠物服务业实际经营需求完成设计与实现。系统整合宠物资讯发布、洗护预约、商品交易、订单配送及售后处理等主要业务模块,为普通用户、商家用户及管理员三类角色提供差异化功能入口。系统采用前后端分离架构,后端运用Spring Boot框架搭建业务逻辑层,前端采用Vue.js框架构建响应式用户界面,MySQL数据库实现业务数据的持久化存储。系统涵盖首页推荐查看、意见反馈、收货地址管理、宠物洗护查看与预约核销、购物车管理、订单管理、聊天管理、宠物资讯管理、宠物洗护管理、宠物商城管理、订单配送管理、优惠券管理、订单售后管理及消息通知推送等核心功能,形成完整的业务闭环。数字化管理模式替代传统人工记录方式,有效降低信息错漏风险,标准化业务流程加快服务响应速度,为中小型宠物服务企业提供低成本、易操作的信息化解决方案。

系统严格按照软件工程规范完成需求分析、系统设计、编码实现及测试验证全过程。需求分析阶段整理三类用户角色功能需求并形成需求规格说明书。系统设计阶段完成数据库概念模型与逻辑结构设计,采用分层架构确保模块间职责清晰。编码实现阶段基于Spring Boot与Vue.js完成核心功能开发,测试阶段设计测试用例验证系统功能正确性。系统在功能完整性方面仍有提升空间,后续可对接支付接口实现线上交易闭环,补充数据可视化看板为商家提供销售统计与用户行为分析报告,优化移动端小屏幕设备操作体验。系统具备良好扩展性,未来可引入推荐算法实现个性化内容推送,对接第三方配送平台自动同步物流状态,逐步添加宠物社区与在线问诊等功能,构建更为完善的宠物服务生态体系。

参考文献

  1. 赵洁洁. 一种基于后端能力商店的大学生市场开发技能提升系统设计[J]. 无线互联科技, 2024, 21(13): 88-90.
  2. 丁浩. 基于有线网络的应用商店系统设计与实现[J]. 广播与电视技术, 2022, 49(1): 82-86.
  3. 施伟,练晓,陈瑜. 基于GS1系统的宠物血统管理及服务平台建设研究 [J]. 条码与信息系统, 2024, (06): 23-27.
  4. 张叶,孙晓延. 基于ESP8266的智能宠物看护系统设计与实现 [J]. 电子制作, 2024, 32 (11): 26-29.
  5. 万涛,吴杰,葛晶晶,等. 智能宠物管家系统的设计 [J]. 现代电子技术, 2023, 46 (16): 155-159.
  6. 田斌. 基于SSM框架的宠物医院系统设计 [J]. 无线互联科技, 2023, 20 (14): 69-71.
  7. 庄帅. 宠物管理系统的设计及实现 [J]. 福建电脑, 2022, 38 (05): 68-72.
  8. Junghare S, Dube M. Design and implementation of information security system for E-learning platform[J]. OPSEARCH, 2026(prepublish): 1-24.
  9. Dou F, Xu M, Guan Y, et al. Design and Implementation of 3D Geological Suitability Evaluation System for Underground Space Development[J]. Eng, 2026, 7(2): 97.
  10. Lao X, Guo Y, Ye Z, et al. Design and Implementation of WebGIS-based Self-driving Tourism Service System[J]. Academic Journal of Environment & Earth Science, 2025, 7(5).
  11. Deng R. Design and Implementation of a Fruit Image Recognition System Based on CNN[J]. Computing, Performance and Communication Systems, 2025, 9(1).
  12. Wang Y. Design and implementation of student job matching system based on personalized recommendation algorithm[J]. Systems and Soft Computing, 2025, 7: 200302.
  13. 约翰·卡内尔,伊拉里·华卢波·桑切斯.Spring微服务实战[M].北京:人民邮电出版社,2022:379.
  14. 谢振华.基于Vue.js与Spring Boot的教务管理系统设计[J].电脑与信息技术,2024,32(4):95-97.
  15. 周德伟.MySQL数据库基础实例教程[M].北京:人民邮电出版社,2024:222.
  16. 克雷格·沃斯.Spring实战[M].北京:人民邮电出版社,2022:472.
  17. 李泳.Spring Boot开发与测试实战[M].北京:人民邮电出版社,2022:435.
  18. 周晓玉,崔文超.基于Web技术的数据库应用系统设计[J].信息与电脑(理论版),2023,35(9):189-191.
  19. 林育蓓,汤德佑,汤娜.数据库技术及应用[M].北京:机械工业出版社,2024:302.
  20. 黑马程序员.自动化测试应用教程[M].北京:人民邮电出版社,2023:249.

致谢

论文写到致谢部分,意味着一段紧凑的学术旅程即将结束。回想整个毕业设计过程,从选题时的迷茫到系统最终跑通时的释然,期间经历的反复调试与修改如今都成了珍贵的记忆。

感谢导师在选题方向上给予的包容与引导。当我在几个方案间犹豫不决时,导师没有直接给出答案,而是引导我思考每个方案的可行性边界。这种启发式的指导让我学会了如何独立判断技术方案的优劣。导师在论文写作阶段逐字逐句的批注,让我对学术表达的严谨性有了更深的体会。

感谢室友们在技术调试阶段给予的帮助。深夜讨论数据库表结构设计的场景历历在目,那些关于字段命名规范与外键约束的争论,最终都沉淀为系统稳定运行的基石。感谢同窗好友在我陷入代码调试困境时的耐心倾听,你们的建议往往让我看到自己思维盲区之外的可能性。

感谢家人这四年来的默默支持。选择计算机专业意味着无数个与代码相伴的夜晚,你们从未抱怨过我假期回家时仍抱着电脑调试程序。那些深夜书桌上悄悄放下的水果,是我坚持前行的温暖动力。

最后感谢那个在遇到bug时没有放弃的自己。每一次从报错信息中找到解决路径的瞬间,都让我对程序员这个身份多一分认同。系统还有不完美之处,但这段从零到一的构建过程,让我真正理解了软件工程不只是代码的堆砌,更是对现实世界需求的深刻理解与转化。

请关注点赞+私信博主,免费领取项目源码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值