| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193 |
- -- ============================================================
- -- 宠物服务管理系统 — 数据库初始化脚本
- -- 数据库版本: MySQL 8.0
- -- 数据库名: pet_service_managemen_system
- -- 字符集: utf8mb4
- -- ============================================================
- CREATE DATABASE IF NOT EXISTS pet_service_managemen_system
- DEFAULT CHARACTER SET utf8mb4
- DEFAULT COLLATE utf8mb4_unicode_ci;
- USE pet_service_managemen_system;
- -- ============================================================
- -- 1. 用户表
- -- ============================================================
- CREATE TABLE IF NOT EXISTS user (
- id BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键',
- account VARCHAR(100) NOT NULL COMMENT '登录账号',
- username VARCHAR(100) NOT NULL COMMENT '用户名',
- password VARCHAR(255) NOT NULL COMMENT 'MD5 加密密码',
- email VARCHAR(255) DEFAULT NULL COMMENT '邮箱',
- phone VARCHAR(20) DEFAULT NULL COMMENT '联系方式',
- avatar VARCHAR(500) DEFAULT NULL COMMENT '头像 URL',
- role VARCHAR(20) DEFAULT 'user' NOT NULL COMMENT '角色: user/admin',
- enable TINYINT(1) DEFAULT 1 NOT NULL COMMENT '状态: 0禁用 1启用',
- created_at DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL COMMENT '创建时间',
- updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP NOT NULL COMMENT '更新时间',
- PRIMARY KEY (id),
- UNIQUE KEY uk_account (account)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户表';
- -- ============================================================
- -- 2. 宠物表
- -- ============================================================
- CREATE TABLE IF NOT EXISTS pet (
- id BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键',
- user_id BIGINT NOT NULL COMMENT '所属用户 ID',
- name VARCHAR(100) NOT NULL COMMENT '宠物名称',
- species VARCHAR(50) NOT NULL COMMENT '物种: DOG/CAT/OTHER',
- breed VARCHAR(100) DEFAULT NULL COMMENT '品种',
- gender VARCHAR(10) DEFAULT NULL COMMENT '性别: MALE/FEMALE',
- birth_date DATE DEFAULT NULL COMMENT '出生日期',
- weight DECIMAL(5,2) DEFAULT NULL COMMENT '体重(kg)',
- avatar VARCHAR(500) DEFAULT NULL COMMENT '头像 URL',
- remark TEXT DEFAULT NULL COMMENT '备注',
- created_at DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL COMMENT '创建时间',
- updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP NOT NULL COMMENT '更新时间',
- PRIMARY KEY (id),
- KEY idx_user_id (user_id)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='宠物表';
- -- ============================================================
- -- 3. 疫苗记录表
- -- ============================================================
- CREATE TABLE IF NOT EXISTS vaccination_record (
- id BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键',
- pet_id BIGINT NOT NULL COMMENT '关联宠物 ID',
- vaccine_name VARCHAR(255) NOT NULL COMMENT '疫苗名称',
- vaccine_date DATE NOT NULL COMMENT '接种日期',
- hospital VARCHAR(255) DEFAULT NULL COMMENT '接种机构',
- doctor VARCHAR(100) DEFAULT NULL COMMENT '接种兽医',
- remark TEXT DEFAULT NULL COMMENT '备注',
- created_at DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL COMMENT '创建时间',
- PRIMARY KEY (id),
- KEY idx_pet_id (pet_id)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='疫苗记录表';
- -- ============================================================
- -- 4. 驱虫记录表
- -- ============================================================
- CREATE TABLE IF NOT EXISTS deworming_record (
- id BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键',
- pet_id BIGINT NOT NULL COMMENT '关联宠物 ID',
- deworming_name VARCHAR(255) NOT NULL COMMENT '驱虫名称',
- deworming_date DATE NOT NULL COMMENT '驱虫日期',
- hospital VARCHAR(255) DEFAULT NULL COMMENT '驱虫机构',
- doctor VARCHAR(100) DEFAULT NULL COMMENT '驱虫兽医',
- remark TEXT DEFAULT NULL COMMENT '备注',
- created_at DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL COMMENT '创建时间',
- PRIMARY KEY (id),
- KEY idx_pet_id (pet_id)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='驱虫记录表';
- -- ============================================================
- -- 5. 套餐表
- -- ============================================================
- CREATE TABLE IF NOT EXISTS package (
- id BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键',
- name VARCHAR(255) NOT NULL COMMENT '套餐名称',
- type VARCHAR(20) NOT NULL COMMENT '类型: BOARDING/GROOMING',
- price DECIMAL(10,2) NOT NULL COMMENT '价格',
- duration INT DEFAULT NULL COMMENT '寄养天数(仅寄养套餐)',
- description TEXT DEFAULT NULL COMMENT '项目内容描述',
- is_active TINYINT(1) DEFAULT 1 NOT NULL COMMENT '是否启用: 0禁用 1启用',
- created_at DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL COMMENT '创建时间',
- updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP NOT NULL COMMENT '更新时间',
- PRIMARY KEY (id),
- KEY idx_type (type)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='套餐表';
- -- ============================================================
- -- 6. 寄养房型表
- -- ============================================================
- CREATE TABLE IF NOT EXISTS boarding_room (
- id BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键',
- room_name VARCHAR(100) NOT NULL COMMENT '房型名称',
- room_type VARCHAR(50) DEFAULT NULL COMMENT '房型分类: STANDARD/VIP/DELUXE',
- capacity INT DEFAULT 1 NOT NULL COMMENT '可容纳宠物数',
- price_per_day DECIMAL(10,2) NOT NULL COMMENT '每晚价格',
- is_active TINYINT(1) DEFAULT 1 NOT NULL COMMENT '是否启用: 0禁用 1启用',
- description TEXT DEFAULT NULL COMMENT '房型描述',
- created_at DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL COMMENT '创建时间',
- updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP NOT NULL COMMENT '更新时间',
- PRIMARY KEY (id)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='寄养房型表';
- -- ============================================================
- -- 7. 房态表
- -- ============================================================
- CREATE TABLE IF NOT EXISTS boarding_room_status (
- id BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键',
- room_id BIGINT NOT NULL COMMENT '关联房型 ID',
- date DATE NOT NULL COMMENT '日期',
- status VARCHAR(20) DEFAULT 'AVAILABLE' NOT NULL COMMENT '房态: AVAILABLE/OCCUPIED/MAINTENANCE',
- appointment_id BIGINT DEFAULT NULL COMMENT '关联预约订单 ID',
- created_at DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL COMMENT '创建时间',
- PRIMARY KEY (id),
- UNIQUE KEY uk_room_date (room_id, date),
- KEY idx_appointment_id (appointment_id)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='房态表';
- -- ============================================================
- -- 8. 预约订单表
- -- ============================================================
- CREATE TABLE IF NOT EXISTS appointment (
- id BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键',
- user_id BIGINT NOT NULL COMMENT '用户 ID',
- pet_id BIGINT NOT NULL COMMENT '宠物 ID',
- package_id BIGINT NOT NULL COMMENT '套餐 ID',
- room_id BIGINT DEFAULT NULL COMMENT '寄养房型 ID',
- type VARCHAR(20) NOT NULL COMMENT '类型: BOARDING/GROOMING',
- status VARCHAR(30) DEFAULT 'PENDING' NOT NULL COMMENT '状态: PENDING/CONFIRMED/CANCELLED/CANCEL_REQUESTED',
- start_date DATE DEFAULT NULL COMMENT '开始日期(寄养)',
- end_date DATE DEFAULT NULL COMMENT '结束日期(寄养)',
- total_price DECIMAL(10,2) NOT NULL COMMENT '总价',
- deposit DECIMAL(10,2) DEFAULT 0.00 NOT NULL COMMENT '定金金额',
- deposit_paid TINYINT(1) DEFAULT 0 NOT NULL COMMENT '是否支付定金: 0未支付 1已支付',
- cancel_reason TEXT DEFAULT NULL COMMENT '取消原因',
- reject_reason VARCHAR(500) DEFAULT NULL COMMENT '拒绝原因',
- remark TEXT DEFAULT NULL COMMENT '备注',
- created_at DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL COMMENT '创建时间',
- updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP NOT NULL COMMENT '更新时间',
- PRIMARY KEY (id),
- KEY idx_user_id (user_id),
- KEY idx_status (status),
- KEY idx_package_id (package_id)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='预约订单表';
- -- ============================================================
- -- 9. 排班表
- -- ============================================================
- CREATE TABLE IF NOT EXISTS schedule (
- id BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键',
- employee_name VARCHAR(100) NOT NULL COMMENT '员工姓名',
- work_date DATE NOT NULL COMMENT '排班日期',
- time_slot VARCHAR(20) NOT NULL COMMENT '时段: MORNING/AFTERNOON/FULL_DAY',
- remark TEXT DEFAULT NULL COMMENT '备注',
- created_at DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL COMMENT '创建时间',
- PRIMARY KEY (id),
- KEY idx_work_date (work_date)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='排班表';
- -- ============================================================
- -- 初始数据
- -- ============================================================
- -- 默认管理员账号: admin / admin123
- INSERT INTO user (account, username, password, role, enable) VALUES
- ('admin', '系统管理员', 'f0a2f3c9e1b8d4e7a6c5b0d9f8e7a6c5', 'admin', 1);
- -- 测试套餐数据
- INSERT INTO package (name, type, price, duration, description, is_active) VALUES
- ('标准寄养', 'BOARDING', 100.00, 1, '基础寄养服务,含每日喂食、遛宠、基础清洁', 1),
- ('豪华寄养', 'BOARDING', 200.00, 1, '豪华寄养服务,含独立空调房、每日零食、视频监控', 1),
- ('基础洗护', 'GROOMING', 80.00, NULL, '基础洗护服务,含洗澡、吹干、剪指甲', 1),
- ('全套洗护', 'GROOMING', 150.00, NULL, '全套洗护服务,含洗澡、美容修剪、SPA护理', 1);
- -- 测试房型数据
- INSERT INTO boarding_room (room_name, room_type, capacity, price_per_day, description, is_active) VALUES
- ('标准单间', 'STANDARD', 1, 100.00, '标准独立单间,适合中小型犬猫', 1),
- ('豪华套房', 'VIP', 1, 200.00, '豪华独立套房,含空调、摄像头、软垫', 1),
- ('标准双间', 'STANDARD', 2, 150.00, '标准双宠间,适合同一家庭的宠物', 1);
|