Files
ccdi/openspec/changes/add-intermediary-blacklist/specs/intermediary-blacklist/spec.md
2026-01-28 09:58:31 +08:00

15 KiB
Raw Blame History

Spec: 中介人员黑名单管理

ADDED Requirements

Requirement: 系统SHALL支持查询中介黑名单列表

系统MUST提供查询功能允许用户查询系统中已维护的中介人员/机构黑名单列表,以便了解当前黑名单库的内容。

Scenario: 分页查询中介黑名单列表

Given 用户已登录系统且具有 dpc:intermediary:list 权限 When 用户访问中介库管理页面 Then 系统应显示中介黑名单列表,支持分页展示

Scenario: 按名称模糊搜索中介黑名单

Given 用户已登录系统且具有 dpc:intermediary:list 权限 And 系统中存在姓名为"张三"的中介人员 When 用户在搜索框输入"张"并点击搜索 Then 系统应返回所有姓名中包含"张"的中介记录

Scenario: 按证件号精确搜索中介黑名单

Given 用户已登录系统且具有 dpc:intermediary:list 权限 And 系统中存在证件号为"110101199001011234"的中介人员 When 用户在搜索框输入"110101199001011234"并点击搜索 Then 系统应返回该证件号对应的中介记录

Scenario: 按中介类型筛选中介黑名单

Given 用户已登录系统且具有 dpc:intermediary:list 权限 And 系统中存在个人和机构两种类型的中介记录 When 用户选择中介类型为"个人"并点击搜索 Then 系统应仅返回中介类型为"个人"的记录

Scenario: 按状态筛选中介黑名单

Given 用户已登录系统且具有 dpc:intermediary:list 权限 And 系统中存在正常和停用两种状态的中介记录 When 用户选择状态为"正常"并点击搜索 Then 系统应仅返回状态为"正常"的记录

Scenario: 组合条件查询中介黑名单

Given 用户已登录系统且具有 dpc:intermediary:list 权限 When 用户同时输入名称"张"、选择中介类型为"个人"、选择状态为"正常"并点击搜索 Then 系统应返回同时满足所有条件的记录


Requirement: 系统SHALL支持新增中介黑名单

系统MUST提供新增功能允许用户手动添加中介人员或机构到黑名单中以建立和维护黑名单库。

Scenario: 新增个人类型的中介黑名单

Given 用户已登录系统且具有 dpc:intermediary:add 权限 When 用户点击"新增"按钮 And 填写姓名为"张三" And 填写证件号为"110101199001011234" And 选择中介类型为"个人" And 选择状态为"正常" And 点击"确定"按钮 Then 系统应保存中介信息并提示"操作成功" And 列表中应显示新增的记录

Scenario: 新增机构类型的中介黑名单

Given 用户已登录系统且具有 dpc:intermediary:add 权限 When 用户点击"新增"按钮 And 填写机构名称为"XX中介公司" And 填写证件号为"91110000XXXXXXXXXX" And 选择中介类型为"机构" And 选择状态为"正常" And 点击"确定"按钮 Then 系统应保存中介信息并提示"操作成功" And 列表中应显示新增的记录

Scenario: 新增时不填写证件号

Given 用户已登录系统且具有 dpc:intermediary:add 权限 When 用户点击"新增"按钮 And 仅填写姓名为"张三" And 不填写证件号 And 选择中介类型为"个人" And 选择状态为"正常" And 点击"确定"按钮 Then 系统应保存中介信息并提示"操作成功"

Scenario: 新增时姓名为空应校验失败

Given 用户已登录系统且具有 dpc:intermediary:add 权限 When 用户点击"新增"按钮 And 不填写姓名 And 点击"确定"按钮 Then 系统应提示"姓名/机构名称不能为空" And 不保存数据

Scenario: 新增时姓名超过100字符应校验失败

Given 用户已登录系统且具有 dpc:intermediary:add 权限 When 用户点击"新增"按钮 And 填写姓名为101个字符的字符串 And 点击"确定"按钮 Then 系统应提示"姓名/机构名称长度不能超过100个字符" And 不保存数据

Scenario: 新增时填写备注信息

Given 用户已登录系统且具有 dpc:intermediary:add 权限 When 用户点击"新增"按钮 And 填写必填信息 And 填写备注为"涉及多起违规交易" And 点击"确定"按钮 Then 系统应保存中介信息及备注 And 列表中应显示新增的记录


Requirement: 系统SHALL支持编辑中介黑名单

系统MUST提供编辑功能允许用户修改已存在的中介黑名单信息以更新或纠正数据。

Scenario: 编辑中介黑名单的基本信息

Given 用户已登录系统且具有 dpc:intermediary:edit 权限 And 系统中存在一条中介记录 When 用户点击该记录的"编辑"按钮 And 修改姓名为"李四" And 点击"确定"按钮 Then 系统应更新中介信息并提示"操作成功" And 列表中应显示更新后的姓名

Scenario: 编辑中介黑名单的证件号

Given 用户已登录系统且具有 dpc:intermediary:edit 权限 And 系统中存在一条中介记录 When 用户点击该记录的"编辑"按钮 And 修改证件号为"110101199001011235" And 点击"确定"按钮 Then 系统应更新证件号并提示"操作成功"

Scenario: 编辑中介黑名单的状态为停用

Given 用户已登录系统且具有 dpc:intermediary:edit 权限 And 系统中存在一条状态为"正常"的中介记录 When 用户点击该记录的"编辑"按钮 And 修改状态为"停用" And 点击"确定"按钮 Then 系统应更新状态并提示"操作成功" And 该记录在列表中应显示为"停用"状态

Scenario: 编辑时姓名为空应校验失败

Given 用户已登录系统且具有 dpc:intermediary:edit 权限 And 系统中存在一条中介记录 When 用户点击该记录的"编辑"按钮 And 清空姓名字段 And 点击"确定"按钮 Then 系统应提示"姓名/机构名称不能为空" And 不更新数据


Requirement: 系统SHALL支持删除中介黑名单

系统MUST提供删除功能允许用户删除不再需要的中介黑名单记录以保持黑名单库的准确性。

Scenario: 删除单条中介黑名单记录

Given 用户已登录系统且具有 dpc:intermediary:remove 权限 And 系统中存在一条中介记录 When 用户点击该记录的"删除"按钮 And 确认删除操作 Then 系统应删除该记录并提示"操作成功" And 列表中不再显示该记录

Scenario: 批量删除中介黑名单记录

Given 用户已登录系统且具有 dpc:intermediary:remove 权限 And 系统中存在多条中介记录 When 用户勾选3条记录 And 点击"删除"按钮 And 确认删除操作 Then 系统应删除选中的3条记录并提示"操作成功" And 列表中不再显示这3条记录


Requirement: 系统SHALL支持导出中介黑名单

系统MUST提供导出功能允许用户将查询结果导出为 Excel 文件,以便进行离线分析或备份。

Scenario: 导出所有中介黑名单数据

Given 用户已登录系统且具有 dpc:intermediary:export 权限 And 系统中存在100条中介记录 When 用户点击"导出"按钮 And 不设置任何筛选条件 Then 系统应生成包含100条记录的 Excel 文件并下载

Scenario: 导出筛选后的中介黑名单数据

Given 用户已登录系统且具有 dpc:intermediary:export 权限 And 系统中存在个人和机构两种类型的中介记录 When 用户筛选中介类型为"个人" And 点击"导出"按钮 Then 系统应生成仅包含个人类型记录的 Excel 文件并下载

Scenario: 导出的 Excel 文件格式正确

Given 用户已登录系统且具有 dpc:intermediary:export 权限 When 用户点击"导出"按钮 Then Excel 文件应包含以下列:姓名/机构名称、证件号、中介类型、状态、备注、创建时间 And 表头应使用中文显示 And 数据应正确显示(中介类型、状态应显示中文而非数字)


Requirement: 系统SHALL支持下载 Excel 导入模板

系统MUST提供模板下载功能允许用户下载标准的 Excel 导入模板,以便按照模板格式准备数据后批量导入。

Scenario: 下载导入模板

Given 用户已登录系统且具有 dpc:intermediary:import 权限 When 用户点击"下载模板"按钮 Then 系统应生成 Excel 模板文件并下载 And 模板应包含示例数据行 And 模板应包含以下列:姓名/机构名称、证件号、中介类型、状态、备注

Scenario: 模板中的示例数据正确

Given 用户已登录系统且具有 dpc:intermediary:import 权限 When 用户下载导入模板 Then 模板应包含至少一行示例数据 And 示例数据应展示正确的填写格式 And 中介类型示例应为"个人"或"机构" And 状态示例应为"正常"或"停用"


Requirement: 系统SHALL支持通过 Excel 批量导入中介黑名单

系统MUST提供批量导入功能允许用户通过 Excel 文件批量导入中介黑名单数据,以提高数据录入效率。

Scenario: 导入包含有效数据的 Excel 文件

Given 用户已登录系统且具有 dpc:intermediary:import 权限 And 用户已准备好包含10条有效数据的 Excel 文件 When 用户点击"导入"按钮 And 选择准备好的 Excel 文件 And 点击"确定" Then 系统应导入10条记录并提示"成功导入10条数据" And 列表中应显示这10条新增记录

Scenario: 导入时部分数据格式错误

Given 用户已登录系统且具有 dpc:intermediary:import 权限 And 用户准备的 Excel 文件包含10条数据 And 其中2条数据的姓名字段为空 When 用户点击"导入"按钮 And 选择 Excel 文件 And 点击"确定" Then 系统应仅导入8条有效数据 And 提示"成功导入8条数据失败2条数据" And 显示失败行的错误详情

Scenario: 导入时中介类型值不在允许范围内

Given 用户已登录系统且具有 dpc:intermediary:import 权限 And 用户准备的 Excel 文件中某条记录的中介类型填写为"未知" When 用户点击"导入"按钮 And 选择 Excel 文件 And 点击"确定" Then 系统应提示该行数据"中介类型只能填写'个人'或'机构'" And 该行数据不被导入

Scenario: 导入时状态值不在允许范围内

Given 用户已登录系统且具有 dpc:intermediary:import 权限 And 用户准备的 Excel 文件中某条记录的状态填写为"未知" When 用户点击"导入"按钮 And 选择 Excel 文件 And 点击"确定" Then 系统应提示该行数据"状态只能填写'正常'或'停用'" And 该行数据不被导入

Scenario: 导入时证件号超过50字符

Given 用户已登录系统且具有 dpc:intermediary:import 权限 And 用户准备的 Excel 文件中某条记录的证件号为51个字符 When 用户点击"导入"按钮 And 选择 Excel 文件 And 点击"确定" Then 系统应提示该行数据"证件号长度不能超过50个字符" And 该行数据不被导入

Scenario: 导入时备注超过500字符

Given 用户已登录系统且具有 dpc:intermediary:import 权限 And 用户准备的 Excel 文件中某条记录的备注为501个字符 When 用户点击"导入"按钮 And 选择 Excel 文件 And 点击"确定" Then 系统应提示该行数据"备注长度不能超过500个字符" And 该行数据不被导入

Scenario: 导入时选择更新支持模式

Given 用户已登录系统且具有 dpc:intermediary:import 权限 And 系统中已存在一条证件号为"110101199001011234"的记录 And 用户准备的 Excel 文件包含相同证件号的记录但姓名不同 When 用户点击"导入"按钮 And 选择 Excel 文件 And 勾选"更新已存在数据"选项 And 点击"确定" Then 系统应更新该证件号对应的记录 And 提示包含更新成功的消息


Requirement: 系统SHALL验证用户权限

系统MUST根据用户的角色和权限控制其对中介黑名单功能的访问确保未授权用户无法执行相应操作。

Scenario: 无权限用户访问列表应被拒绝

Given 用户已登录系统 And 该用户不具有 dpc:intermediary:list 权限 When 用户尝试访问中介库管理页面 Then 系统应提示"您没有权限执行此操作" And 不显示列表数据

Scenario: 无权限用户尝试新增应被拒绝

Given 用户已登录系统 And 该用户不具有 dpc:intermediary:add 权限 When 用户尝试点击"新增"按钮 Then 系统应隐藏或禁用"新增"按钮

Scenario: 无权限用户尝试导出应被拒绝

Given 用户已登录系统 And 该用户不具有 dpc:intermediary:export 权限 When 用户尝试点击"导出"按钮 Then 系统应隐藏或禁用"导出"按钮

Scenario: 无权限用户尝试导入应被拒绝

Given 用户已登录系统 And 该用户不具有 dpc:intermediary:import 权限 When 用户尝试点击"导入"按钮 Then 系统应隐藏或禁用"导入"按钮


Requirement: 系统SHALL记录操作日志

系统MUST记录用户对中介黑名单的关键操作包括新增、修改、删除、导入等操作以便审计和追溯。

Scenario: 新增操作应记录日志

Given 用户已登录系统且具有 dpc:intermediary:add 权限 When 用户成功新增一条中介记录 Then 系统应在操作日志中记录 And 日志应包含:操作人、操作时间、操作类型、操作内容

Scenario: 修改操作应记录日志

Given 用户已登录系统且具有 dpc:intermediary:edit 权限 When 用户成功修改一条中介记录 Then 系统应在操作日志中记录 And 日志应包含:操作人、操作时间、操作类型、修改内容

Scenario: 删除操作应记录日志

Given 用户已登录系统且具有 dpc:intermediary:remove 权限 When 用户成功删除一条中介记录 Then 系统应在操作日志中记录 And 日志应包含操作人、操作时间、操作类型、删除的记录ID

Scenario: 导入操作应记录日志

Given 用户已登录系统且具有 dpc:intermediary:import 权限 When 用户成功导入中介数据 Then 系统应在操作日志中记录 And 日志应包含:操作人、操作时间、操作类型、导入数量