Files
ccdi/openspec/changes/add-intermediary-blacklist/proposal.md

125 lines
4.5 KiB
Markdown
Raw Normal View History

2026-01-28 09:58:31 +08:00
# 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` 模块(如果不存在),与若依框架代码分离
2026-01-30 14:15:21 +08:00
- 新增表:`ccdi_intermediary_blacklist`(中介黑名单主表)
2026-01-28 09:58:31 +08:00
- 新增权限:`dpc:intermediary:list`, `dpc:intermediary:query`, `dpc:intermediary:add`, `dpc:intermediary:edit`, `dpc:intermediary:remove`, `dpc:intermediary:export`, `dpc:intermediary:import`
2026-01-30 14:15:21 +08:00
- Controller 层:`ruoyi-dpc/src/main/java/com/ruoyi/dpc/controller/CcdiIntermediaryBlacklistController.java`
2026-01-28 09:58:31 +08:00
### 前端影响
- 新增视图:`ruoyi-ui/src/views/dpcIntermediary/`
- 新增 API`ruoyi-ui/src/api/dpcIntermediary.js`
- 新增菜单:信息维护 > 中介库管理(注意与数据库中菜单表进行联动修改)
### 数据库影响
2026-01-30 14:15:21 +08:00
- 新增表:`ccdi_intermediary_blacklist`
2026-01-28 09:58:31 +08:00
## 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/)