宠物服务管理系统服务端
springboot

yangyi 8393711068 feat:更新readme文档和其他的开发文档 4 mesiacov pred
.mvn 5703d514b3 init 4 mesiacov pred
sql f7fcecf480 feat:初步开发完成 4 mesiacov pred
src 696735944f fix:修复管理员不能通过id查询非自己宠物的问题 4 mesiacov pred
.gitattributes 5703d514b3 init 4 mesiacov pred
.gitignore 5703d514b3 init 4 mesiacov pred
AGENTS.md 8393711068 feat:更新readme文档和其他的开发文档 4 mesiacov pred
README.md 8393711068 feat:更新readme文档和其他的开发文档 4 mesiacov pred
detailDesign.md 8393711068 feat:更新readme文档和其他的开发文档 4 mesiacov pred
mvnw 5703d514b3 init 4 mesiacov pred
mvnw.cmd 5703d514b3 init 4 mesiacov pred
nextWork.md 8393711068 feat:更新readme文档和其他的开发文档 4 mesiacov pred
pom.xml ae371d92b2 feat:数据库配置和openAPI文档配置 4 mesiacov pred
work.md 8393711068 feat:更新readme文档和其他的开发文档 4 mesiacov pred

README.md

Pet Service Management System

宠物服务管理系统 - 一个完整的宠物服务预约管理平台,支持用户管理、宠物档案、服务预约、房态管理等功能。

项目简介

本项目是一个基于 Spring Boot 开发的宠物服务管理后端系统,为宠物主人提供便捷的在线预约服务,同时为管理员提供完善的后台管理功能。

技术栈

技术 版本 说明
Spring Boot 3.5.15 核心框架
MyBatis 3.0.5 ORM 框架
MySQL 8.x 关系型数据库
Java 17 开发语言
Maven - 构建工具
OpenAPI/Swagger 2.8.16 API 文档

功能特性

用户端功能

  • 用户认证:注册、登录、登出
  • 个人中心:信息管理、密码修改、头像上传
  • 宠物档案:添加宠物、疫苗记录、驱虫记录
  • 服务预约:浏览套餐、选择房型、提交预约
  • 预约管理:查看预约状态、申请取消、支付定金

管理端功能

  • 用户管理:查看注册用户、宠物档案详情
  • 预约管理:审核预约、处理取消申请
  • 套餐管理:新增/修改/删除服务套餐
  • 房型管理:房态查看、手动调整房态
  • 排班管理:员工排班管理

快速开始

环境要求

  • JDK 17+
  • MySQL 8.x
  • Maven 3.6+

安装步骤

  1. 克隆项目

    git clone <repository-url>
    cd server
    
  2. 配置数据库

修改 src/main/resources/application.yaml 中的数据库连接信息:

   spring:
     datasource:
       url: jdbc:mysql://localhost:3306/pet_service_management_system
       username: your_username
       password: your_password
  1. 创建数据库

    CREATE DATABASE pet_service_management_system CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
    
  2. 运行项目

    # 使用 Maven Wrapper
    ./mvnw spring-boot:run
       
    # 或打包后运行
    ./mvnw clean package
    java -jar target/server-0.0.1-SNAPSHOT.jar
    
  3. 访问 API 文档

启动后访问:http://localhost:8080/swagger-ui.html

项目结构

server/
├── src/main/java/space/anyi/petServiceManagementSystem/server/
│   ├── ServerApplication.java          # 主启动类
│   ├── common/                         # 公共类(响应封装、异常)
│   ├── config/                         # 配置类
│   ├── controller/                     # 控制器层
│   │   ├── AuthController.java
│   │   ├── UserController.java
│   │   ├── PetController.java
│   │   ├── AppointmentController.java
│   │   └── admin/                      # 管理员接口
│   ├── service/                        # 服务层
│   ├── mapper/                         # MyBatis Mapper
│   ├── entity/                         # 数据库实体
│   ├── dto/                            # 数据传输对象
│   ├── vo/                             # 视图对象
│   ├── interceptor/                    # 拦截器
│   └── util/                           # 工具类
├── src/main/resources/
│   ├── application.yaml                # 应用配置
│   └── mapper/                         # MyBatis XML 映射文件
└── pom.xml                             # Maven 配置

API 概览

认证接口

方法 端点 说明
POST /auth/register 用户注册
POST /auth/login 用户登录
POST /auth/logout 退出登录

用户接口

方法 端点 说明
GET /user/{id} 获取用户信息
PUT /user 修改用户信息
PUT /user/updatePassword 修改密码

宠物接口

方法 端点 说明
GET /pets 获取宠物列表
POST /pets 新增宠物
GET /pets/{id} 获取宠物详情
GET /pets/{id}/vaccinations 疫苗记录
GET /pets/{id}/deworming 驱虫记录

预约接口

方法 端点 说明
POST /appointments 提交预约
GET /appointments 我的预约列表
POST /appointments/{id}/cancel 申请取消
POST /appointments/{id}/pay-deposit 支付定金

管理员接口

方法 端点 说明
GET /admin/users 用户列表
GET /admin/appointments 全部预约
PUT /admin/appointments/{id}/review 审核预约
POST /admin/packages 新增套餐
POST /admin/boarding-rooms 新增房型
POST /admin/schedules 添加排班

数据库设计

核心表

  • user - 用户表
  • pet - 宠物表
  • appointment - 预约表
  • package - 服务套餐表
  • boarding_room - 寄养房型表
  • boarding_room_status - 房型状态表
  • schedule - 排班表
  • vaccination_record - 疫苗记录表
  • deworming_record - 驱虫记录表

开发规范

分层架构

  • Controller:处理 HTTP 请求,参数校验
  • Service:业务逻辑,事务管理
  • Mapper:数据访问层
  • Entity:数据库实体
  • DTO:请求参数封装
  • VO:响应数据封装

代码规范

  • 所有 Controller API 必须添加 OpenAPI 注解
  • 请求参数使用 DTO,响应数据使用 VO
  • 业务逻辑写在 Service 层,Controller 只负责委托
  • Entity 字段必须添加中文注释
  • 关键业务步骤添加注释说明

安全配置

  • 认证方式:Session 认证
  • 密码加密:MD5 + SALT
  • Session 超时:30 分钟
  • 跨域配置:已配置 CORS

相关项目

  • 前端项目:位于 ../ui/ 目录,使用 Vite + React + TypeScript 开发

开发命令

# 启动开发服务器
./mvnw spring-boot:run

# 运行测试
./mvnw test

# 打包
./mvnw clean package

# 跳过测试打包
./mvnw clean package -DskipTests

许可证

MIT License


作者:anyi
版本:1.0.0