Files
jiebanke/docs/database-design-java.md

24 KiB

结伴客Java微服务系统数据库设计文档

1. 数据库概览

1.1 数据库配置

开发环境

  • 主机: localhost
  • 端口: 3306
  • 用户名: root
  • 密码: root
  • 数据库: jiebanke

测试环境

  • 主机: 192.168.0.240
  • 端口: 3306
  • 用户名: root
  • 密码: aiot$Aiot123
  • 数据库: jiebandata_test

生产环境

  • 主机: 129.211.213.226
  • 端口: 9527
  • 用户名: root
  • 密码: aiotAiot123!
  • 数据库: jiebandata

1.2 ER图

erDiagram
    USERS ||--o{ TRAVEL_PLANS : creates
    USERS ||--o{ ANIMAL_CLAIMS : claims
    USERS ||--o{ MESSAGES : sends
    USERS ||--o{ ORDERS : places
    USERS ||--o{ REVIEWS : writes
    
    MERCHANTS ||--o{ PRODUCTS : sells
    MERCHANTS ||--o{ ORDERS : processes
    MERCHANTS ||--o{ ACTIVITIES : organizes
    MERCHANTS ||--o{ ANIMALS : manages
    
    TRAVEL_PLANS ||--o{ TRAVEL_MATCHES : matches
    
    ANIMALS ||--o{ ANIMAL_CLAIMS : claimed
    ANIMALS ||--o{ ANIMAL_UPDATES : updates
    
    PRODUCTS ||--o{ ORDER_ITEMS : contains
    
    ORDERS ||--o{ ORDER_ITEMS : contains
    ORDERS ||--o{ PAYMENTS : has
    
    ACTIVITIES ||--o{ ACTIVITY_REGISTRATIONS : registers
    
    ADMINS ||--o{ ADMIN_LOGS : creates
    
    PROMOTION_ACTIVITIES ||--o{ REWARD_RECORDS : rewards
    
    USERS {
        bigint id PK
        varchar username
        varchar password
        varchar email
        varchar phone
        varchar real_name
        varchar id_card
        varchar status
        decimal balance
        int credit_score
        timestamp last_login
        timestamp created_at
        timestamp updated_at
    }
    
    ADMINS {
        bigint id PK
        varchar username
        varchar password
        varchar email
        varchar role
        varchar status
        timestamp last_login
        timestamp created_at
        timestamp updated_at
    }
    
    MERCHANTS {
        bigint id PK
        bigint user_id FK
        varchar merchant_type
        varchar business_name
        varchar business_license
        varchar contact_person
        varchar contact_phone
        varchar address
        varchar description
        varchar status
        timestamp created_at
        timestamp updated_at
    }
    
    TRAVEL_PLANS {
        bigint id PK
        bigint user_id FK
        varchar destination
        date start_date
        date end_date
        decimal budget
        text interests
        varchar visibility
        timestamp created_at
        timestamp updated_at
    }
    
    ANIMALS {
        bigint id PK
        bigint merchant_id FK
        varchar name
        varchar species
        varchar breed
        date birth_date
        text personality
        varchar farm_location
        decimal price
        varchar status
        timestamp created_at
        timestamp updated_at
    }
    
    ORDERS {
        bigint id PK
        bigint user_id FK
        bigint merchant_id FK
        varchar order_number
        decimal total_amount
        varchar status
        varchar delivery_address
        timestamp ordered_at
        timestamp completed_at
    }
    
    PRODUCTS {
        bigint id PK
        bigint merchant_id FK
        varchar name
        text description
        decimal price
        varchar image_url
        varchar category
        varchar status
        timestamp created_at
        timestamp updated_at
    }
    
    PROMOTION_ACTIVITIES {
        bigint id PK
        varchar name
        text description
        varchar reward_type
        decimal reward_amount
        varchar status
        timestamp start_time
        timestamp end_time
        int max_participants
        int current_participants
        timestamp created_at
        timestamp updated_at
    }
    
    REWARD_RECORDS {
        bigint id PK
        bigint user_id
        varchar user_name
        varchar user_phone
        bigint activity_id
        varchar activity_name
        varchar reward_type
        decimal reward_amount
        varchar status
        timestamp issued_at
        timestamp created_at
    }

2. 核心表结构设计

2.1 用户表 (users)

字段名 类型 约束 描述
id BIGINT PRIMARY KEY, AUTO_INCREMENT 用户ID
username VARCHAR(50) UNIQUE, NOT NULL 用户名
password VARCHAR(255) NOT NULL 密码(bcrypt加密)
email VARCHAR(100) UNIQUE 邮箱地址
phone VARCHAR(20) UNIQUE 手机号码
real_name VARCHAR(100) 真实姓名
id_card VARCHAR(20) UNIQUE 身份证号
status VARCHAR(20) DEFAULT 'active' 状态(active/inactive)
balance DECIMAL(15,2) DEFAULT 0.00 账户余额
credit_score INT DEFAULT 100 信用分
last_login TIMESTAMP 最后登录时间
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP 创建时间
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP 更新时间

2.2 管理员表 (admins)

字段名 类型 约束 描述
id BIGINT PRIMARY KEY, AUTO_INCREMENT 管理员ID
username VARCHAR(50) UNIQUE, NOT NULL 管理员用户名
password VARCHAR(255) NOT NULL 密码(bcrypt加密)
email VARCHAR(100) UNIQUE 邮箱地址
role VARCHAR(20) DEFAULT 'admin' 角色(super_admin/admin/operator)
status VARCHAR(20) DEFAULT 'active' 状态(active/inactive)
last_login TIMESTAMP 最后登录时间
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP 创建时间
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP 更新时间

2.3 商家表 (merchants)

字段名 类型 约束 描述
id BIGINT PRIMARY KEY, AUTO_INCREMENT 商家ID
user_id BIGINT FOREIGN KEY, NOT NULL 关联的用户ID
merchant_type VARCHAR(50) NOT NULL 商家类型(flower_shop/activity_organizer/farm_owner)
business_name VARCHAR(100) NOT NULL 商家名称
business_license VARCHAR(255) 营业执照图片URL
contact_person VARCHAR(50) NOT NULL 联系人
contact_phone VARCHAR(20) NOT NULL 联系电话
address VARCHAR(255) 地址
description TEXT 商家介绍
status VARCHAR(20) DEFAULT 'pending' 商家状态(pending/approved/rejected/suspended)
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP 创建时间
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP 更新时间

2.4 订单表 (orders)

字段名 类型 约束 描述
id BIGINT PRIMARY KEY, AUTO_INCREMENT 订单ID
user_id BIGINT FOREIGN KEY, NOT NULL 用户ID
merchant_id BIGINT FOREIGN KEY, NOT NULL 商家ID
order_number VARCHAR(50) UNIQUE, NOT NULL 订单编号
total_amount DECIMAL(15,2) NOT NULL 订单总金额
status VARCHAR(20) DEFAULT 'pending' 订单状态(pending/paid/shipped/completed/cancelled)
delivery_address VARCHAR(255) 配送地址
ordered_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP 下单时间
completed_at TIMESTAMP 完成时间
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP 创建时间
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP 更新时间

2.5 商品表 (products)

字段名 类型 约束 描述
id BIGINT PRIMARY KEY, AUTO_INCREMENT 商品ID
merchant_id BIGINT FOREIGN KEY, NOT NULL 商家ID
name VARCHAR(100) NOT NULL 商品名称
description TEXT 商品描述
price DECIMAL(10,2) NOT NULL 商品价格
image_url VARCHAR(255) 商品图片URL
category VARCHAR(50) NOT NULL 商品分类
status VARCHAR(20) DEFAULT 'active' 商品状态(active/inactive/deleted)
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP 创建时间
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP 更新时间

2.6 动物表 (animals)

字段名 类型 约束 描述
id BIGINT PRIMARY KEY, AUTO_INCREMENT 动物ID
merchant_id BIGINT FOREIGN KEY, NOT NULL 关联的农场商家ID
name VARCHAR(50) NOT NULL 动物名称
species VARCHAR(50) NOT NULL 动物种类
breed VARCHAR(50) 品种
birth_date DATE 出生日期
personality TEXT 性格特点
farm_location VARCHAR(255) 农场位置
images JSON 动物图片列表
price DECIMAL(10,2) NOT NULL 认领价格
claim_count INT DEFAULT 0 认领次数
status VARCHAR(20) DEFAULT 'available' 状态(available/claimed/unavailable)
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP 创建时间
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP 更新时间

2.7 动物认领表 (animal_claims)

字段名 类型 约束 描述
id BIGINT PRIMARY KEY, AUTO_INCREMENT 认领ID
user_id BIGINT FOREIGN KEY, NOT NULL 用户ID
animal_id BIGINT FOREIGN KEY, NOT NULL 动物ID
price_paid DECIMAL(10,2) NOT NULL 支付金额
agreement_url VARCHAR(255) 电子协议URL
status VARCHAR(20) DEFAULT 'active' 认领状态(active/ended/cancelled)
claimed_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP 认领时间
ended_at TIMESTAMP 结束时间
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP 创建时间
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP 更新时间

2.8 送花商品表 (flower_products)

字段名 类型 约束 描述
id BIGINT PRIMARY KEY, AUTO_INCREMENT 商品ID
merchant_id BIGINT FOREIGN KEY, NOT NULL 商家ID
name VARCHAR(100) NOT NULL 商品名称
description TEXT 商品描述
price DECIMAL(10,2) NOT NULL 商品价格
original_price DECIMAL(10,2) 原价
images JSON 商品图片列表
category VARCHAR(50) NOT NULL 商品分类
sales_count INT DEFAULT 0 销售数量
rating DECIMAL(3,2) DEFAULT 0 评分
status VARCHAR(20) DEFAULT 'active' 商品状态(active/inactive/deleted)
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP 创建时间
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP 更新时间

2.9 送花订单表 (flower_orders)

字段名 类型 约束 描述
id BIGINT PRIMARY KEY, AUTO_INCREMENT 订单ID
user_id BIGINT FOREIGN KEY, NOT NULL 用户ID
product_id BIGINT FOREIGN KEY, NOT NULL 商品ID
order_number VARCHAR(50) UNIQUE, NOT NULL 订单编号
quantity INT NOT NULL 数量
total_amount DECIMAL(15,2) NOT NULL 订单总金额
recipient_info JSON 收花人信息
delivery_date DATE 配送日期
message VARCHAR(500) 祝福语
status VARCHAR(20) DEFAULT 'pending' 订单状态(pending/paid/shipped/completed/cancelled)
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP 创建时间
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP 更新时间

2.10 旅行邀请表 (travel_invitations)

字段名 类型 约束 描述
id BIGINT PRIMARY KEY, AUTO_INCREMENT 邀请ID
travel_plan_id BIGINT FOREIGN KEY, NOT NULL 旅行计划ID
inviter_id BIGINT FOREIGN KEY, NOT NULL 邀请人ID
invitee_id BIGINT FOREIGN KEY, NOT NULL 被邀请人ID
message VARCHAR(500) 邀请消息
status VARCHAR(20) DEFAULT 'pending' 邀请状态(pending/accepted/rejected/cancelled)
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP 创建时间
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP 更新时间

2.11 旅行匹配表 (travel_matches)

字段名 类型 约束 描述
id BIGINT PRIMARY KEY, AUTO_INCREMENT 匹配ID
plan_id BIGINT FOREIGN KEY, NOT NULL 旅行计划ID
matched_plan_id BIGINT FOREIGN KEY, NOT NULL 匹配的旅行计划ID
match_score DECIMAL(5,4) NOT NULL 匹配分数
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP 创建时间

2.12 旅行计划表 (travel_plans)

字段名 类型 约束 描述
id BIGINT PRIMARY KEY, AUTO_INCREMENT 计划ID
user_id BIGINT FOREIGN KEY, NOT NULL 用户ID
destination VARCHAR(100) NOT NULL 目的地
start_date DATE NOT NULL 开始日期
end_date DATE NOT NULL 结束日期
budget DECIMAL(10,2) 预算
interests TEXT 兴趣偏好
description TEXT 描述
visibility VARCHAR(20) DEFAULT 'public' 可见范围(public/friends/private)
status VARCHAR(20) DEFAULT 'active' 状态(active/completed/cancelled)
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP 创建时间
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP 更新时间

2.13 推广活动表 (promotion_activities)

字段名 类型 约束 描述
id BIGINT PRIMARY KEY, AUTO_INCREMENT 活动ID
name VARCHAR(100) NOT NULL 活动名称
description TEXT 活动描述
reward_type VARCHAR(20) 奖励类型(cash/coupon/points)
reward_amount DECIMAL(10,2) 奖励金额
status VARCHAR(20) DEFAULT 'active' 活动状态(active/inactive/expired)
start_time TIMESTAMP 开始时间
end_time TIMESTAMP 结束时间
max_participants INT 最大参与人数
current_participants INT DEFAULT 0 当前参与人数
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP 创建时间
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP 更新时间

2.14 奖励记录表 (reward_records)

字段名 类型 约束 描述
id BIGINT PRIMARY KEY, AUTO_INCREMENT 记录ID
user_id BIGINT 用户ID
user_name VARCHAR(50) 用户姓名
user_phone VARCHAR(20) 用户手机号
activity_id BIGINT 活动ID
activity_name VARCHAR(100) 活动名称
reward_type VARCHAR(20) 奖励类型
reward_amount DECIMAL(10,2) 奖励金额
status VARCHAR(20) DEFAULT 'pending' 状态(pending/issued/cancelled)
issued_at TIMESTAMP 发放时间
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP 创建时间

2.15 管理员操作日志表 (admin_operation_logs)

字段名 类型 约束 描述
id BIGINT PRIMARY KEY, AUTO_INCREMENT 日志ID
admin_id BIGINT FOREIGN KEY REFERENCES admins(id), NOT NULL 操作管理员ID
admin_name VARCHAR(50) NOT NULL 管理员名称
action_type VARCHAR(50) NOT NULL 操作类型
target_type VARCHAR(50) 目标类型
target_id BIGINT 目标ID
target_name VARCHAR(100) 目标名称
old_value TEXT 操作前值
new_value TEXT 操作后值
ip_address VARCHAR(45) 操作IP地址
user_agent VARCHAR(500) 用户代理信息
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP 创建时间

3. 微服务API接口规范

3.1 接口统一格式

请求格式

响应格式

{
  "code": 200,
  "message": "操作成功",
  "data": {
    // 具体数据
  },
  "pagination": {
    // 分页信息(列表接口)
  }
}

3.2 通用状态码

状态码 描述
200 成功
400 请求参数错误
401 未授权
403 权限不足
404 资源不存在
500 服务器内部错误

3.3 认证接口

3.3.1 微信用户登录

  • Endpoint: POST /auth/wechat-login
  • 认证要求: 无
  • 请求体:
{
  "code": "string, required",
  "userInfo": {
    "nickName": "string, required",
    "avatarUrl": "string, required",
    "gender": "number, optional",
    "province": "string, optional",
    "city": "string, optional"
  }
}

3.3.2 获取用户信息

  • Endpoint: GET /users/profile
  • 认证要求: Bearer Token

3.4 用户管理接口

3.4.1 获取用户列表

  • Endpoint: GET /admin/users
  • 认证要求: Bearer Token
  • 查询参数: page, limit, username, status

3.4.2 获取用户详情

  • Endpoint: GET /admin/users/{id}
  • 认证要求: Bearer Token

3.4.3 更新用户状态

  • Endpoint: PUT /admin/users/{id}/status
  • 认证要求: Bearer Token

3.5 商家管理接口

3.5.1 获取商家列表

  • Endpoint: GET /admin/merchants
  • 认证要求: Bearer Token
  • 查询参数: page, limit, business_name, status

3.5.2 审核商家申请

  • Endpoint: PUT /admin/merchants/{id}/approve
  • 认证要求: Bearer Token

3.5.3 拒绝商家申请

  • Endpoint: PUT /admin/merchants/{id}/reject
  • 认证要求: Bearer Token

3.6 订单管理接口

3.6.1 获取订单列表

  • Endpoint: GET /admin/orders
  • 认证要求: Bearer Token
  • 查询参数: page, limit, order_no, status

3.6.2 更新订单状态

  • Endpoint: PUT /admin/orders/{id}/status
  • 认证要求: Bearer Token

3.7 推广活动接口

3.7.1 获取推广活动列表

  • Endpoint: GET /admin/promotions
  • 认证要求: Bearer Token
  • 查询参数: page, limit, name, status

3.7.2 创建推广活动

  • Endpoint: POST /admin/promotions
  • 认证要求: Bearer Token

3.7.3 更新推广活动

  • Endpoint: PUT /admin/promotions/{id}
  • 认证要求: Bearer Token

4. 数据库初始化脚本

4.1 创建数据库和表

-- 创建数据库
CREATE DATABASE IF NOT EXISTS jiebanke CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
USE jiebanke;

-- 创建管理员表
CREATE TABLE IF NOT EXISTS admins (
    id BIGINT AUTO_INCREMENT PRIMARY KEY,
    username VARCHAR(50) NOT NULL UNIQUE,
    password VARCHAR(255) NOT NULL,
    email VARCHAR(100),
    role VARCHAR(20) DEFAULT 'admin',
    status VARCHAR(20) DEFAULT 'active',
    last_login TIMESTAMP NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);

-- 创建用户表
CREATE TABLE IF NOT EXISTS users (
    id BIGINT AUTO_INCREMENT PRIMARY KEY,
    username VARCHAR(50) NOT NULL UNIQUE,
    password VARCHAR(255) NOT NULL,
    email VARCHAR(100) UNIQUE,
    phone VARCHAR(20),
    real_name VARCHAR(100),
    id_card VARCHAR(20),
    status VARCHAR(20) DEFAULT 'active',
    balance DECIMAL(15,2) DEFAULT 0.00,
    credit_score INT DEFAULT 100,
    last_login TIMESTAMP NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);

-- 创建订单表
CREATE TABLE IF NOT EXISTS orders (
    id BIGINT AUTO_INCREMENT PRIMARY KEY,
    user_id BIGINT NOT NULL,
    order_no VARCHAR(50) NOT NULL UNIQUE,
    amount DECIMAL(15,2) NOT NULL,
    status VARCHAR(20) DEFAULT 'pending',
    type VARCHAR(20) NOT NULL,
    description TEXT,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);

-- 创建旅行计划表
CREATE TABLE IF NOT EXISTS travel_plans (
    id BIGINT AUTO_INCREMENT PRIMARY KEY,
    user_id BIGINT NOT NULL,
    destination VARCHAR(100) NOT NULL,
    start_date DATE NOT NULL,
    end_date DATE NOT NULL,
    budget DECIMAL(10,2),
    interests TEXT,
    description TEXT,
    visibility VARCHAR(20) DEFAULT 'public',
    status VARCHAR(20) DEFAULT 'active',
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);

-- 创建动物表
CREATE TABLE IF NOT EXISTS animals (
    id BIGINT AUTO_INCREMENT PRIMARY KEY,
    merchant_id BIGINT NOT NULL,
    name VARCHAR(50) NOT NULL,
    species VARCHAR(50) NOT NULL,
    breed VARCHAR(50),
    birth_date DATE,
    personality TEXT,
    farm_location VARCHAR(255),
    price DECIMAL(10,2) NOT NULL,
    claim_count INT DEFAULT 0,
    status VARCHAR(20) DEFAULT 'available',
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);

-- 创建推广活动表
CREATE TABLE IF NOT EXISTS promotion_activities (
    id BIGINT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(100) NOT NULL,
    description TEXT,
    reward_type VARCHAR(20),
    reward_amount DECIMAL(10,2),
    status VARCHAR(20) DEFAULT 'active',
    start_time TIMESTAMP,
    end_time TIMESTAMP,
    max_participants INT,
    current_participants INT DEFAULT 0,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);

-- 创建奖励记录表
CREATE TABLE IF NOT EXISTS reward_records (
    id BIGINT AUTO_INCREMENT PRIMARY KEY,
    user_id BIGINT,
    user_name VARCHAR(50),
    user_phone VARCHAR(20),
    activity_id BIGINT,
    activity_name VARCHAR(100),
    reward_type VARCHAR(20),
    reward_amount DECIMAL(10,2),
    status VARCHAR(20) DEFAULT 'pending',
    issued_at TIMESTAMP,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

4.2 插入默认数据

-- 插入默认管理员账号
INSERT INTO admins (username, password, email, role) VALUES 
('admin', '$2a$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', 'admin@jiebanke.com', 'super_admin'),
('manager', '$2a$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', 'manager@jiebanke.com', 'admin');

-- 插入测试用户账号
INSERT INTO users (username, password, email, phone, real_name, id_card, balance, credit_score) VALUES 
('user1', '$2a$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', 'user1@jiebanke.com', '13800138001', '张三', '110101199001011234', 1000.00, 95),
('user2', '$2a$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', 'user2@jiebanke.com', '13800138002', '李四', '110101199002022345', 500.00, 85);

4.3 创建索引

-- 创建索引
CREATE INDEX idx_admins_username ON admins(username);
CREATE INDEX idx_admins_email ON admins(email);
CREATE INDEX idx_users_username ON users(username);
CREATE INDEX idx_users_email ON users(email);
CREATE INDEX idx_users_phone ON users(phone);
CREATE INDEX idx_orders_user_id ON orders(user_id);
CREATE INDEX idx_orders_order_no ON orders(order_no);
CREATE INDEX idx_orders_status ON orders(status);
CREATE INDEX idx_travel_plans_user_id ON travel_plans(user_id);
CREATE INDEX idx_travel_plans_destination ON travel_plans(destination);
CREATE INDEX idx_animals_species ON animals(species);
CREATE INDEX idx_animals_status ON animals(status);
CREATE INDEX idx_promotion_activities_status ON promotion_activities(status);
CREATE INDEX idx_reward_records_user_id ON reward_records(user_id);
CREATE INDEX idx_reward_records_activity_id ON reward_records(activity_id);

5. 数据库维护

5.1 备份策略

  • 每日全量备份
  • 每小时增量备份
  • 备份保留30天

5.2 性能优化

  • 为常用查询字段创建索引
  • 定期分析慢查询日志
  • 数据库连接池配置优化

5.3 安全措施

  • 定期更换数据库密码
  • 限制数据库访问IP
  • 启用SSL加密连接

6. 微服务数据分片建议

6.1 用户服务数据表

  • users
  • user_profiles
  • user_settings

6.2 旅行服务数据表

  • travel_plans
  • travel_invitations
  • travel_matches

6.3 动物服务数据表

  • animals
  • animal_claims
  • animal_updates

6.4 订单服务数据表

  • orders
  • order_items
  • payments

6.5 推广服务数据表

  • promotion_activities
  • reward_records
  • participant_records

最后更新: 2025年 📅