1. 项目概述与背景
宠物行业近年来呈现爆发式增长,根据行业数据显示,2022年中国城镇宠物消费市场规模已达2706亿元。在这种背景下,传统的手工记账、Excel管理方式已经无法满足现代宠物店在会员管理、商品库存、服务预约等方面的需求。作为一名长期从事宠物行业信息化建设的开发者,我深刻理解宠物店主们面临的痛点:客户信息分散、库存盘点困难、预约排班混乱、经营数据分析缺失等。
基于SpringBoot+Vue的宠物店管理系统正是为解决这些问题而设计。这套系统采用了现代化的前后端分离架构,后端使用SpringBoot框架提供稳定的API服务,前端采用Vue.js构建响应式用户界面。我在实际开发中特别注重系统的实用性和易用性,确保即使是没有技术背景的宠物店员工也能快速上手。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 系统架构设计解析
2.1 技术选型考量
选择SpringBoot作为后端框架主要基于以下几个方面的考虑:
- 快速开发:SpringBoot的自动配置和起步依赖大大减少了样板代码
- 微服务友好:便于后期扩展为微服务架构,适应连锁宠物店的多店管理需求
- 生态丰富:整合Spring Security、MyBatis等成熟组件非常方便
前端选择Vue.js则是因为:
- 渐进式框架:可以根据项目需求灵活选用功能
- 组件化开发:适合构建复杂的后台管理系统界面
- 活跃社区:遇到问题能够快速找到解决方案
数据库选用MySQL 5.7+版本,主要考虑到:
- 事务支持:确保订单、库存等关键业务的数据一致性
- 成本效益:相比商业数据库,MySQL的性价比更高
- 运维简单:中小型宠物店通常没有专职DBA
2.2 系统模块划分
系统主要分为六大核心模块:
-
会员管理模块
- 会员信息登记与分级
- 宠物档案管理
- 消费记录追踪
-
商品管理模块
- 商品分类与库存管理
- 进货与销售记录
- 库存预警功能
-
服务预约模块
- 美容、寄养等服务预约
- 技师排班管理
- 服务进度跟踪
-
财务管理模块
- 日常收支记录
- 经营报表生成
- 利润分析
-
营销管理模块
- 优惠券发放
- 会员积分系统
- 促销活动管理
-
系统管理模块
- 角色权限配置
- 操作日志审计
- 系统参数设置
3. 数据库设计与实现
3.1 核心表结构设计
数据库设计遵循第三范式,确保数据的一致性和完整性。以下是几个关键表的设计:
会员表(yonghu)
sql复制CREATE TABLE `yonghu` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
`yonghuzhanghao` varchar(12) NOT NULL COMMENT '用户账号',
`mima` varchar(64) NOT NULL COMMENT '密码',
`yonghuxingming` varchar(50) NOT NULL COMMENT '用户姓名',
`xingbie` varchar(10) DEFAULT NULL COMMENT '性别',
`nianling` int(11) DEFAULT NULL COMMENT '年龄',
`shouji` varchar(11) DEFAULT NULL COMMENT '手机',
`youxiang` varchar(50) DEFAULT NULL COMMENT '邮箱',
`shenfenzheng` varchar(18) DEFAULT NULL COMMENT '身份证',
`touxiang` varchar(255) DEFAULT NULL COMMENT '头像',
`jifen` decimal(10,2) DEFAULT '0.00' COMMENT '积分',
`huiyuandengji` varchar(20) DEFAULT '普通会员' COMMENT '会员等级',
`createtime` datetime DEFAULT NULL COMMENT '创建时间',
PRIMARY KEY (`id`),
UNIQUE KEY `yonghuzhanghao` (`yonghuzhanghao`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='会员信息表';
宠物表(chongwu)
sql复制CREATE TABLE `chongwu` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
`yonghu_id` bigint(20) NOT NULL COMMENT '所属用户',
`chongwumingcheng` varchar(50) NOT NULL COMMENT '宠物名称',
`chongwuleixing` varchar(20) NOT NULL COMMENT '宠物类型',
`pinzhong` varchar(50) DEFAULT NULL COMMENT '品种',
`nianling` int(11) DEFAULT NULL COMMENT '年龄',
`xingbie` varchar(10) DEFAULT NULL COMMENT '性别',
`tizhong` decimal(5,2) DEFAULT NULL COMMENT '体重(kg)',
`jiemuqingkuang` text COMMENT '绝育情况',
`jieguanqingkuang` text COMMENT '健康状况',
`tupian` varchar(255) DEFAULT NULL COMMENT '图片',
`createtime` datet
