# Change: 添加用户和组织模型

## Why

当前系统的 RBAC 模型（Account、Role、Permission）仅支持简单的账号-角色关系，无法满足多类型用户和组织实体的业务需求。系统需要支持四种用户类型（平台用户、代理商、企业客户、个人客户），以及两种组织实体（店铺、企业），并建立清晰的层级和归属关系。

## What Changes

### 新增模型

- **Shop（店铺）**: 代理商的组织实体，支持最多 7 级层级关系
- **Enterprise（企业）**: 企业客户的组织实体，归属于店铺或平台
- **PersonalCustomer（个人客户）**: 独立的个人用户表，支持微信绑定

### 修改现有模型

- **Account**: 重构用户类型枚举，明确区分平台用户、代理账号、企业账号
- **Role**: 调整角色类型以匹配新的用户体系
- **Permission**: 添加 `platform` 字段支持按端口区分权限（all/web/h5）

### 关键设计决策

1. 代理层级关系在**店铺**之间维护，而非账号之间
2. 一个店铺可以有多个账号（代理员工），权限相同
3. 一个企业目前只能有一个账号，未来可扩展为多账号
4. 个人客户独立一张表，通过 ICCID/设备号登录，绑定微信
5. 数据归属通过 `shop_id`（店铺归属）+ `owner_id`（具体归属者）双重控制

## Impact

- **Affected specs**: user-organization (新建), auth, data-permission
- **Affected code**:
  - `internal/model/` - 新增 Shop、Enterprise、PersonalCustomer 模型，修改 Account、Role、Permission
  - `internal/store/postgres/` - 新增对应的 Store 实现
  - `migrations/` - 新增数据库迁移脚本
  - `pkg/constants/` - 新增用户类型、组织类型等常量

## 拆分说明

根据任务复杂度，用户体系建模拆分为以下提案（按顺序执行）：

1. **add-user-organization-model（本提案）**: 核心用户和组织模型
2. **add-role-permission-system**: 角色权限体系（后续提案）
3. **add-personal-customer-wechat**: 个人客户和微信登录（后续提案）
4. **remove-legacy-rbac-cleanup**: 数据迁移和旧系统清理（后续提案）
