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

125 lines
4.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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](./design.md)
## Alternatives Considered
### 选项1使用若依代码生成器
**优点**
- 快速生成标准 CRUD 代码
- 自动生成前端页面和 API
- 符合项目基本规范
**缺点**
- 需要手动调整 Excel 导入导出逻辑
- 需要手动添加数据验证规则
- 需要手动处理个人/机构两种类型的差异显示
**决定**:部分采用。使用代码生成器生成基础 CRUD 代码,然后手动添加 Excel 导入导出和业务验证逻辑。
### 选项2完全自定义开发
**优点**
- 完全控制实现细节
- 可以根据业务需求灵活定制
**缺点**
- 开发周期较长
- 需要确保代码风格与若依框架一致
**决定**:不采用。中介黑名单管理是标准 CRUD 功能,使用代码生成器可提高开发效率。
## Impact
### 后端影响
- 新建 `ruoyi-dpc` 模块(如果不存在),与若依框架代码分离
- 新增表:`dpc_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/DpcIntermediaryBlacklistController.java`
### 前端影响
- 新增视图:`ruoyi-ui/src/views/dpcIntermediary/`
- 新增 API`ruoyi-ui/src/api/dpcIntermediary.js`
- 新增菜单:信息维护 > 中介库管理(注意与数据库中菜单表进行联动修改)
### 数据库影响
- 新增表:`dpc_intermediary_blacklist`
## Dependencies
- 依赖 EasyExcel 进行 Excel 导入导出(参考 `replace-poi-with-easyexcel` change
- 依赖若依框架的文件上传功能
- 依赖若依框架的权限系统
## Related Changes
- `replace-poi-with-easyexcel` - 依赖 EasyExcel 替换完成后的 Excel 工具
## Open Questions
1. **证件号校验**
- 是否需要添加格式校验?
- 建议:添加基本格式校验,但不强制要求(可能是历史数据)
2. **删除前的使用检查**
- 如何判断中介信息是否在项目中使用?
- 建议:暂时不实现使用检查,允许直接删除(可在后续版本中添加关联表)
3. **中介类型的数据结构**
- 个人和机构是否分开存储?
- 建议:使用同一张表,通过 `intermediary_type` 字段区分
## Success Criteria
- [ ] 用户可以下载 Excel 导入模板
- [ ] 用户可以通过 Excel 批量导入中介名单
- [ ] 用户可以新增中介信息(个人/机构)
- [ ] 用户可以编辑中介信息
- [ ] 用户可以删除中介信息
- [ ] 用户可以按多种条件查询中介名单
- [ ] 用户可以导出查询结果为 Excel
- [ ] 导入时进行数据验证并提示错误
## References
- [模块设计文档](../../../doc/modules/03-信息维护模块.md)
- [若依开发文档](https://doc.ruoyi.vip/)