# 03 状态/枚举字典（统一口径）

本节汇总数据库中以 `INTEGER + CHECK` 或 `TEXT + CHECK` 形式出现的核心状态字段，给出建议的统一解释口径。

> 注意：部分状态值在 `mall_migration.sql` 与 `complete_mall_database.sql` 存在细微差异（例如订单取消/取货的命名）。本字典以“脚本中出现的实际取值范围”为准，并在差异处标注。

---

## 1. 用户与认证

### 1.1 `ml_user_profiles.status`

取值：`IN (1,2,3,4)`

- `1`：正常
- `2`：冻结
- `3`：注销
- `4`：待审核

### 1.2 `ml_user_profiles.verification_status`

取值：`IN (0,1,2)`

- `0`：未认证
- `1`：已认证
- `2`：认证失败

### 1.3 `ml_user_addresses.status`

取值：`IN (1,2)`

- `1`：正常
- `2`：禁用

---

## 2. 商品

### 2.1 `ml_products.status`

取值：`IN (1,2,3,4)`

- `1`：上架
- `2`：下架
- `3`：草稿
- `4`：删除（逻辑删除）

### 2.2 `ml_product_skus.status`

取值：`IN (1,2)`

- `1`：正常
- `2`：禁用

---

## 3. 店铺

### `ml_shops.status`

取值：`IN (1,2,3)`

- `1`：正常
- `2`：暂停
- `3`：关闭

---

## 4. 订单（交易状态机）

> 订单存在三个并行状态字段：`order_status`（订单流程）、`payment_status`（支付/退款）、`shipping_status`（发货/物流）。

### 4.1 `ml_orders.order_status`

取值：`IN (1,2,3,4,5,6,7)`

- `1`：待付款
- `2`：待发货（在 `complete` 脚本里也可能被解释为“已付款/待发货”）
- `3`：待收货
- `4`：已完成
- `5`：已取消 / 已取货（不同脚本表述不一致，建议在业务层统一为“取消”或“自提完成”之一）
- `6`：退款中
- `7`：已退款

建议（文档口径）：

- 若业务没有“自提/取货”流程，建议将 `5` 固化为“已取消”。
- 若业务需要“自提/取货完成”，建议拆出更清晰的状态（例如新增 `8` 表示取货完成），并迁移更新 CHECK。

### 4.2 `ml_orders.payment_status`

取值：`IN (1,2,3,4)`

- `1`：未付款
- `2`：已付款
- `3`：部分退款
- `4`：全额退款

### 4.3 `ml_orders.shipping_status`

取值：`IN (1,2,3,4)`

- `1`：未发货
- `2`：已发货
- `3`：运输中
- `4`：已送达

---

## 5. 优惠券

### 5.1 `ml_coupon_templates.coupon_type`

取值：`IN (1,2,3)`

- `1`：满减券
- `2`：折扣券
- `3`：免运费券

### 5.2 `ml_coupon_templates.discount_type`

取值：`IN (1,2)`

- `1`：固定金额
- `2`：百分比

### 5.3 `ml_coupon_templates.status`

取值：`IN (1,2,3)`

- `1`：正常
- `2`：暂停
- `3`：已结束

### 5.4 `ml_user_coupons.status`

取值：`IN (1,2,3)`

- `1`：未使用
- `2`：已使用
- `3`：已过期

---

## 6. 配送

### 6.1 `ml_delivery_drivers.vehicle_type`

取值：`IN (1,2,3)`

- `1`：电动车
- `2`：摩托车
- `3`：汽车

### 6.2 `ml_delivery_drivers.work_status`

取值：`IN (1,2,3)`

- `1`：在线
- `2`：忙碌
- `3`：离线

### 6.3 `ml_delivery_drivers.status`

取值：`IN (1,2,3)`

- `1`：正常
- `2`：暂停
- `3`：离职

### 6.4 `ml_delivery_tasks.status`

取值：`IN (1,2,3,4,5,6)`

- `1`：待接单
- `2`：已接单
- `3`：取货中
- `4`：配送中
- `5`：已送达
- `6`：配送失败

---

## 7. 评价与行为

### 7.1 `ml_product_reviews.status`

取值：`IN (1,2,3)`

- `1`：正常
- `2`：已删除
- `3`：已隐藏

### 7.2 `ml_user_favorites.target_type`

取值：`IN (1,2)`

- `1`：商品
- `2`：店铺

---

## 8. 订阅（Subscription）

### `ml_user_subscriptions.status`

取值：`IN ('trial','active','past_due','canceled','expired')`

- `trial`：试用中
- `active`：生效中
- `past_due`：逾期（扣费失败/欠费）
- `canceled`：已取消
- `expired`：已过期
