# 设备状态拆分功能总结 ## 背景 设备原 `status` 同时表达在库、分销、激活和停用,导致“已分销且已激活”的设备只能展示一个状态,语义混淆。 ## 调整内容 - `status` 收敛为设备归属状态:`1=在库`、`2=已分销` - 设备响应新增 `activation_status` 和 `activation_status_name` - 设备列表和批量筛选支持按 `activation_status` 查询 - 设备激活状态不落库,按查询实时计算 - 历史 `status=3/4` 迁移为归属状态:有 `shop_id` 归为已分销,无 `shop_id` 归为在库 ## 激活判定 设备激活必须同时满足: 1. 存在生效中的主套餐(`tb_package_usage.status=1` 且 `master_usage_id IS NULL`) 2. 设备任意绑定卡已实名(`tb_iot_card.real_name_status=1`) ## 响应示例 ```json { "status": 2, "status_name": "已分销", "activation_status": 1, "activation_status_name": "已激活" } ```