Files
ccdi/openspec/changes/add-intermediary-blacklist/proposal.md
2026-01-30 14:15:21 +08:00

4.5 KiB
Raw Blame History

Proposal: 添加中介人员黑名单管理模块

Change ID

add-intermediary-blacklist

Summary

添加中介人员黑名单管理模块,实现外部中介人员/机构黑名单库的建立和维护。该模块支持 Excel 模板下载、批量导入、增删改查等功能,是系统中信息维护模块的核心子功能之一。

Motivation

目前系统缺少中介人员黑名单管理功能。用户需要:

  1. 建立并维护外部中介人员/机构黑名单库
  2. 通过 Excel 批量导入中介名单数据
  3. 对中介名单进行增、删、改、查操作
  4. 支持按姓名、证件号、机构名称等条件查询
  5. 在项目工作台中选择确认后的可疑名单
  6. 当员工交易对手命中该库时,系统自动产生高风险预警

Scope

本提案实现以下功能:

包含的功能

  • 3.1.1 名单导入

    • Excel 模板下载(包含必填字段示例)
    • Excel 批量导入中介名单
    • 导入数据验证与错误提示
  • 3.1.2 名单维护

    • 新增中介信息(个人/机构)
    • 编辑中介信息
    • 删除中介信息(带使用检查)
    • 批量删除
  • 3.1.3 名单查询

    • 按姓名/机构名称模糊搜索
    • 按证件号精确搜索
    • 按中介类型筛选(个人/机构)
    • 按状态筛选(有效/失效)
  • 3.1.4 名单导出

    • 导出当前查询结果为 Excel

明确排除

  • 3.1.5 名单选择(在项目工作台中选择名单的功能,属于项目工作台模块)
  • 3.1.6 自动预警(命中黑名单产生预警的功能,属于风险分析模块)

Proposed Design

详见 design.md

Alternatives Considered

选项1使用若依代码生成器

优点

  • 快速生成标准 CRUD 代码
  • 自动生成前端页面和 API
  • 符合项目基本规范

缺点

  • 需要手动调整 Excel 导入导出逻辑
  • 需要手动添加数据验证规则
  • 需要手动处理个人/机构两种类型的差异显示

决定:部分采用。使用代码生成器生成基础 CRUD 代码,然后手动添加 Excel 导入导出和业务验证逻辑。

选项2完全自定义开发

优点

  • 完全控制实现细节
  • 可以根据业务需求灵活定制

缺点

  • 开发周期较长
  • 需要确保代码风格与若依框架一致

决定:不采用。中介黑名单管理是标准 CRUD 功能,使用代码生成器可提高开发效率。

Impact

后端影响

  • 新建 ruoyi-dpc 模块(如果不存在),与若依框架代码分离
  • 新增表:ccdi_intermediary_blacklist(中介黑名单主表)
  • 新增权限:dpc:intermediary:list, dpc:intermediary:query, dpc:intermediary:add, dpc:intermediary:edit, dpc:intermediary:remove, dpc:intermediary:export, dpc:intermediary:import
  • Controller 层:ruoyi-dpc/src/main/java/com/ruoyi/dpc/controller/CcdiIntermediaryBlacklistController.java

前端影响

  • 新增视图:ruoyi-ui/src/views/dpcIntermediary/
  • 新增 APIruoyi-ui/src/api/dpcIntermediary.js
  • 新增菜单:信息维护 > 中介库管理(注意与数据库中菜单表进行联动修改)

数据库影响

  • 新增表:ccdi_intermediary_blacklist

Dependencies

  • 依赖 EasyExcel 进行 Excel 导入导出(参考 replace-poi-with-easyexcel change
  • 依赖若依框架的文件上传功能
  • 依赖若依框架的权限系统
  • replace-poi-with-easyexcel - 依赖 EasyExcel 替换完成后的 Excel 工具

Open Questions

  1. 证件号校验

    • 是否需要添加格式校验?
    • 建议:添加基本格式校验,但不强制要求(可能是历史数据)
  2. 删除前的使用检查

    • 如何判断中介信息是否在项目中使用?
    • 建议:暂时不实现使用检查,允许直接删除(可在后续版本中添加关联表)
  3. 中介类型的数据结构

    • 个人和机构是否分开存储?
    • 建议:使用同一张表,通过 intermediary_type 字段区分

Success Criteria

  • 用户可以下载 Excel 导入模板
  • 用户可以通过 Excel 批量导入中介名单
  • 用户可以新增中介信息(个人/机构)
  • 用户可以编辑中介信息
  • 用户可以删除中介信息
  • 用户可以按多种条件查询中介名单
  • 用户可以导出查询结果为 Excel
  • 导入时进行数据验证并提示错误

References