## ADDED Requirements ### Requirement: Customer Role Default Credit Configuration The role management page SHALL allow customer roles to configure default credit only for future newly created agent shops. #### Scenario: Display default credit controls for customer roles - **GIVEN** 用户正在客户角色配置页编辑客户角色 - **WHEN** 页面渲染角色表单或配置区域 - **THEN** 页面 MUST 展示“新建代理默认信用”开关 - **AND** 页面 MUST 展示信用额度输入框 - **AND** 页面 MUST 展示提示文案“修改后不会影响已有店铺” #### Scenario: Hide default credit controls for platform employee roles - **GIVEN** 用户正在编辑平台员工角色 - **WHEN** 页面渲染角色表单或配置区域 - **THEN** 页面 MUST NOT 展示“新建代理默认信用”开关 - **AND** 页面 MUST NOT 展示信用额度输入框 #### Scenario: Save customer role default credit - **GIVEN** 用户正在编辑客户角色默认信用 - **WHEN** 用户提交默认信用配置 - **THEN** 前端 MUST call `PUT /api/admin/roles/{id}/default-credit` - **AND** 请求体 MUST include `credit_enabled: bool` and `credit_limit: int64` - **AND** 保存成功后页面 MUST 提示保存成功 #### Scenario: Disable customer role default credit - **GIVEN** 用户正在编辑客户角色默认信用 - **WHEN** 用户关闭“新建代理默认信用”开关 - **THEN** 页面 MUST 将额度输入归零 - **AND** 提交时请求体 MUST include `credit_enabled=false` - **AND** 提交时请求体 MUST include `credit_limit=0` #### Scenario: Role default credit does not mutate existing shops - **GIVEN** 已有店铺已经创建并拥有实际信用额度 - **WHEN** 用户修改该店铺所属客户角色的默认信用配置 - **THEN** 系统 MUST NOT 修改已有店铺的实际信用额度 - **AND** 已有店铺的实际额度 MUST 只能通过店铺实际额度调整入口修改