数据表前缀:shop_ | 共 19 张业务表
erDiagram
shop_user ||--o{ shop_points_log : "has"
shop_user ||--|| shop_user_level : "belongs_to"
shop_user ||--o{ shop_order : "places"
shop_user ||--o{ shop_address : "has"
shop_user ||--|| shop_distributor : "can_be"
shop_user ||--o{ shop_sign_in : "has"
shop_user ||--o{ shop_user_coupon : "has"
shop_merchant ||--o{ shop_goods : "sells"
shop_merchant ||--o{ shop_category : "has"
shop_merchant ||--o{ shop_order : "receives"
shop_merchant ||--o{ shop_order_review : "gets"
shop_category ||--o{ shop_goods : "contains"
shop_order ||--o{ shop_order_item : "contains"
shop_order ||--o| shop_payment_log : "paid_by"
shop_order ||--o{ shop_order_review : "reviewed_in"
shop_distributor ||--o{ shop_commission_log : "earns"
shop_distributor }o--|| shop_order : "promotes"
shop_coupon ||--o{ shop_user_coupon : "issued_to"
shop_user_coupon }o--|| shop_order : "used_in"
shop_user {
bigint id PK
varchar openid
varchar nickname
varchar phone
int points
int level_id
int is_distributor
bigint parent_id
}
shop_merchant {
int id PK
varchar name
varchar logo
decimal commission_rate
tinyint status
}
shop_goods {
int id PK
int merchant_id FK
int category_id FK
varchar name
decimal price
int stock
tinyint status
}
shop_order {
bigint id PK
varchar order_no
bigint user_id FK
int merchant_id FK
decimal pay_amount
tinyint status
}
shop_distributor {
int id PK
bigint user_id FK
decimal available_commission
decimal frozen_commission
tinyint status
}
| 字段 | 类型 | 说明 |
|---|---|---|
| id | bigint PK | 主键 |
| openid | varchar(64) | 微信 openid |
| unionid | varchar(64) | 微信 unionid |
| nickname | varchar(50) | 昵称 |
| avatar | varchar(255) | 头像 URL |
| phone | varchar(20) | 手机号 |
| points | int DEFAULT 0 | 当前积分 |
| level_id | int | 会员等级 ID |
| is_distributor | tinyint DEFAULT 0 | 是否为分销员 |
| parent_id | bigint | 推荐人 ID |
| grand_parent_id | bigint | 上上级推荐人 ID |
| status | tinyint DEFAULT 1 | 1正常 0禁用 |
| 字段 | 类型 | 说明 |
|---|---|---|
| id | int PK | 主键 |
| name | varchar(20) | 等级名称 |
| min_points | int | 最低累计积分 |
| discount_rate | decimal(3,2) | 折扣率 |
| points_rate | decimal(3,2) | 积分倍率 |
| icon | varchar(255) | 等级图标 |
| 字段 | 类型 | 说明 |
|---|---|---|
| id | bigint PK | 主键 |
| user_id | bigint | 用户 ID |
| type | varchar(20) | earn/consume |
| amount | int | 积分数量 |
| balance | int | 变动后余额 |
| source | varchar(50) | 来源 |
| source_id | varchar(50) | 关联业务 ID |
| 字段 | 类型 | 说明 |
|---|---|---|
| id | int PK | 主键 |
| name | varchar(100) | 商户名称 |
| logo | varchar(255) | 商户 logo |
| contact_name | varchar(50) | 联系人 |
| contact_phone | varchar(20) | 联系电话 |
| license_url | varchar(255) | 营业执照 |
| delivery_type | varchar(50) | 配送方式 |
| commission_rate | decimal(3,2) | 平台抽成比例 |
| status | tinyint | 0待审 1正常 2拒绝 3冻结 |
| rating | decimal(2,1) | 商户评分 |
| 字段 | 类型 | 说明 |
|---|---|---|
| id | int PK | 主键 |
| merchant_id | int | 商户 ID |
| category_id | int | 分类 ID |
| name | varchar(200) | 商品名称 |
| price | decimal(10,2) | 价格 |
| original_price | decimal(10,2) | 原价 |
| stock | int | 库存 |
| specs | text | 规格列表(JSON) |
| status | tinyint | 0下架 1上架 2审核中 |
| 字段 | 类型 | 说明 |
|---|---|---|
| id | bigint PK | 主键 |
| order_no | varchar(32) | 订单号(唯一) |
| user_id | bigint | 用户 ID |
| merchant_id | int | 商户 ID |
| status | tinyint | 0待付 1已付 2备餐 3配送 4完成 5取消 6退款 |
| total_amount | decimal(10,2) | 商品总额 |
| delivery_fee | decimal(10,2) | 配送费 |
| discount_amount | decimal(10,2) | 优惠金额 |
| points_amount | decimal(10,2) | 积分抵扣金额 |
| pay_amount | decimal(10,2) | 实付金额 |
| delivery_type | varchar(20) | 配送方式 |
| 字段 | 类型 | 说明 |
|---|---|---|
| id | int PK | 主键 |
| user_id | bigint UNIQUE | 用户 ID |
| total_commission | decimal(10,2) | 累计佣金 |
| available_commission | decimal(10,2) | 可提现佣金 |
| frozen_commission | decimal(10,2) | 冻结佣金 |
| total_orders | int | 推广订单数 |
| total_team | int | 团队总人数 |
| status | tinyint | 0待审 1正常 2冻结 |
| 字段 | 类型 | 说明 |
|---|---|---|
| id | bigint PK | 主键 |
| distributor_id | int | 分销员 ID |
| order_id | bigint | 关联订单 ID |
| type | varchar(20) | direct/indirect |
| amount | decimal(10,2) | 佣金金额 |
| status | tinyint | 0冻结 1可提现 2已提现 3已失效 |
| 字段 | 类型 | 说明 |
|---|---|---|
| id | int PK | 主键 |
| name | varchar(100) | 名称 |
| type | varchar(20) | full_reduce/fixed/discount |
| value | decimal(10,2) | 面值/折扣 |
| min_amount | decimal(10,2) | 最低使用金额 |
| total_count | int | 发放总量 |
| start_time | datetime | 生效时间 |
| end_time | datetime | 过期时间 |
| 字段 | 类型 | 说明 |
|---|---|---|
| id | int PK | 主键 |
| scene | varchar(50) | 场景:order/sign/share/activity |
| name | varchar(50) | 规则名称 |
| points | int | 积分数量 |
| rate | decimal(10,2) | 比率 |
| status | tinyint | 1启用 0禁用 |
| 字段 | 类型 | 说明 |
|---|---|---|
| id | int PK | 主键 |
| level | tinyint | 1=一级 2=二级 |
| commission_rate | decimal(3,2) | 佣金比例 |
| freeze_days | int | 冻结天数 |
| min_withdraw | decimal(10,2) | 最低提现金额 |