# 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. **事务测试**:创建企业+账号的原子性