# Change: 企业客户管理模块（基础CRUD）

## Why

平台和代理商需要管理企业客户：
1. 新增企业客户，同时自动创建企业账号
2. 查询企业客户列表
3. 编辑企业信息
4. 启用/禁用企业（同步禁用账号）
5. 重置企业账号密码

这是账号管理-企业客户管理模块的基础功能。

## What Changes

### 新增 API 接口

| 方法 | 路径 | 说明 |
|------|------|------|
| POST | `/api/admin/enterprises` | 新增企业（含自动创建账号） |
| GET | `/api/admin/enterprises` | 企业列表 |
| PUT | `/api/admin/enterprises/:id` | 编辑企业 |
| PUT | `/api/admin/enterprises/:id/status` | 启用/禁用 |
| PUT | `/api/admin/enterprises/:id/password` | 修改密码 |

### 技术实现

- 新增 Handler：`internal/handler/admin/enterprise.go`
- 新增 Service：`internal/service/enterprise/service.go`
- 新增 DTO：`internal/model/dto/enterprise_dto.go`
- 扩展 Store：`internal/store/postgres/enterprise_store.go`

### 业务逻辑

**新增企业**：
1. 验证企业编号唯一性
2. 验证 `login_phone` 在账号表中不存在
3. 如果指定 `owner_shop_id`，验证店铺存在且有权限
4. 开启事务：
   - 创建企业记录
   - 创建企业账号（UserType=4, EnterpriseID=企业ID）
5. 提交事务

**禁用企业**：
1. 更新企业状态
2. 同步禁用企业关联的账号

## Impact

### 影响的规范
- **新增 Capability**：`enterprise-management`

### 影响的代码

**新增文件**（约 400 行）：
- `internal/handler/admin/enterprise.go`（~120 行）
- `internal/service/enterprise/service.go`（~200 行）
- `internal/model/dto/enterprise_dto.go`（~80 行）

### 兼容性
- ✅ 向后兼容：新增 API，不影响现有功能

## Dependencies

- 依赖提案：`add-commission-model-changes`
- 依赖现有模型：`Enterprise`、`Account`、`Shop`

## Testing Strategy

1. **单元测试**：企业创建逻辑、状态同步逻辑
2. **集成测试**：完整 CRUD 流程
3. **事务测试**：创建企业+账号的原子性
