完成中介库导入改造
This commit is contained in:
@@ -3,7 +3,7 @@
|
||||
**模块**: 中介库管理
|
||||
**日期**: 2026-04-20
|
||||
**作者**: Codex
|
||||
**状态**: 待评审
|
||||
**状态**: 已实现(SQL 已执行,历史脏数据待清洗)
|
||||
|
||||
## 一、背景
|
||||
|
||||
@@ -563,3 +563,11 @@
|
||||
10. 通过一次性历史数据迁移完成语义统一
|
||||
|
||||
该方案满足当前需求边界,且符合最短路径实现原则,不引入兼容性补丁方案。
|
||||
|
||||
## 十六、实施回写
|
||||
|
||||
- 2026-04-20 已完成中介模块 `related_num_id` 语义切换,手工新增亲属、统一列表查询、本人证件号变更同步和级联删除逻辑均按“关联中介本人证件号码”改造。
|
||||
- 2026-04-20 已完成“导入中介信息”和“导入中介实体关联关系”两条异步导入链路,并同步完成前端双按钮、双任务状态、双失败记录模式改造。
|
||||
- 2026-04-20 已完成后端目标测试回归、信息采集模块编译、前端静态单测和 `build:prod` 构建验证。
|
||||
- 2026-04-20 已执行 `bin/mysql_utf8_exec.sh sql/migration/2026-04-20-fix-ccdi-person-sub-type-dict.sql` 与 `bin/mysql_utf8_exec.sh sql/migration/2026-04-20-migrate-intermediary-related-num-id-to-person-id.sql`。
|
||||
- 迁移后核查结果:`legacy_biz_id_reference = 0`,说明旧 `biz_id` 语义残留已清零;`post_migration_missing_parent = 1025`、`owner_person_id_empty_after_migration = 754`,说明历史数据中仍存在无法关联到本人证件号的脏数据,需后续专项清洗。
|
||||
|
||||
@@ -435,3 +435,27 @@ mvn -pl ccdi-info-collection -am clean compile
|
||||
- `relationType` 已从导入链路中移除
|
||||
- `personSubType` 模板下拉已切换为 `ccdi_person_sub_type`
|
||||
- 后端测试与编译验证通过
|
||||
|
||||
## 执行结果
|
||||
|
||||
- SQL 脚本:
|
||||
`sql/migration/2026-04-20-fix-ccdi-person-sub-type-dict.sql`
|
||||
`sql/migration/2026-04-20-migrate-intermediary-related-num-id-to-person-id.sql`
|
||||
结果:已执行 `bin/mysql_utf8_exec.sh`。
|
||||
- SQL 核查:
|
||||
`post_migration_missing_parent = 1025`
|
||||
`legacy_biz_id_reference = 0`
|
||||
`owner_person_id_empty_after_migration = 754`
|
||||
结果:可迁移数据已切换完成,旧 `biz_id` 语义残留清零,但历史脏数据仍需后续清洗。
|
||||
- Maven 命令:
|
||||
`mvn -pl ccdi-info-collection -am -Dsurefire.failIfNoSpecifiedTests=false -Dtest=CcdiIntermediaryServiceImplTest,CcdiIntermediaryMapperTest test`
|
||||
结果:PASS
|
||||
- Maven 命令:
|
||||
`mvn -pl ccdi-info-collection -am -Dsurefire.failIfNoSpecifiedTests=false -Dtest=CcdiIntermediaryPersonImportServiceImplTest,CcdiIntermediaryEnterpriseRelationImportServiceImplTest,CcdiIntermediaryControllerTest test`
|
||||
结果:PASS
|
||||
- Maven 命令:
|
||||
`mvn -pl ccdi-info-collection -am -Dsurefire.failIfNoSpecifiedTests=false -Dtest=CcdiIntermediaryServiceImplTest,CcdiIntermediaryMapperTest,CcdiIntermediaryControllerTest,CcdiIntermediaryPersonImportServiceImplTest,CcdiIntermediaryEnterpriseRelationImportServiceImplTest test`
|
||||
结果:PASS
|
||||
- Maven 命令:
|
||||
`mvn -pl ccdi-info-collection -am clean compile`
|
||||
结果:PASS(BUILD SUCCESS)
|
||||
|
||||
@@ -399,3 +399,15 @@ source ~/.nvm/nvm.sh && nvm use 14.21.3 && npm run build:prod
|
||||
- 页面支持恢复两类最近一次导入任务状态
|
||||
- 导入提示文案已经明确 `personSubType` 字典下拉、`relationType` 废弃、`relatedNumId` 新语义
|
||||
- 已使用 `nvm use 14.21.3` 完成前端测试脚本和生产构建验证
|
||||
|
||||
## 执行结果
|
||||
|
||||
- Node 命令:
|
||||
`source ~/.nvm/nvm.sh && cd ruoyi-ui && nvm use 14.21.3`
|
||||
结果:PASS(Now using node v14.21.3)
|
||||
- Node 命令:
|
||||
`source ~/.nvm/nvm.sh && cd ruoyi-ui && nvm use 14.21.3 >/dev/null && node tests/unit/intermediary-import-api.test.js && node tests/unit/intermediary-import-dialog.test.js && node tests/unit/intermediary-import-toolbar.test.js && node tests/unit/intermediary-import-state.test.js && node tests/unit/intermediary-person-edit-ui.test.js`
|
||||
结果:PASS
|
||||
- Node 命令:
|
||||
`source ~/.nvm/nvm.sh && cd ruoyi-ui && nvm use 14.21.3 >/dev/null && npm run build:prod`
|
||||
结果:PASS(构建成功,仅保留原有 bundle size warning)
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
# 中介库导入改造实施记录
|
||||
|
||||
## 基本信息
|
||||
|
||||
- 日期:2026-04-20
|
||||
- 范围:中介库后端导入改造 + 前端导入入口与状态改造
|
||||
- 关联设计:`docs/design/2026-04-20-intermediary-import-refactor-design.md`
|
||||
- 关联计划:
|
||||
`docs/plans/backend/2026-04-20-intermediary-import-backend-implementation.md`
|
||||
`docs/plans/frontend/2026-04-20-intermediary-import-frontend-implementation.md`
|
||||
|
||||
## 实施内容
|
||||
|
||||
- 后端完成 `related_num_id` 语义切换,统一为“关联中介本人证件号码”,并补齐本人证件号变更同步、亲属唯一性收敛、统一列表联表条件切换。
|
||||
- 后端完成“导入中介信息”链路重构,支持本人与亲属混合导入、同文件内引用先成功导入的本人、同亲属证件号挂到不同本人。
|
||||
- 后端新增“导入中介实体关联关系”链路,按“本人证件号码 -> 本人 bizId -> 关系表”写入,并支持文件内去重、库内去重、失败记录回看。
|
||||
- 前端完成中介导入入口改造,页面顶部改为“导入中介信息”“导入中介实体关联关系”两个按钮,导入弹窗改为 `scene` 驱动。
|
||||
- 前端完成两类导入任务状态、本地缓存键、失败记录弹窗、历史任务恢复和完成态刷新逻辑,保留现有详情维护、亲属维护、关联机构维护的 `bizId` 契约。
|
||||
|
||||
## 验证结果
|
||||
|
||||
- 后端测试:
|
||||
`mvn -pl ccdi-info-collection -am -Dsurefire.failIfNoSpecifiedTests=false -Dtest=CcdiIntermediaryServiceImplTest,CcdiIntermediaryMapperTest,CcdiIntermediaryControllerTest,CcdiIntermediaryPersonImportServiceImplTest,CcdiIntermediaryEnterpriseRelationImportServiceImplTest test`
|
||||
结果:PASS
|
||||
- 后端编译:
|
||||
`mvn -pl ccdi-info-collection -am clean compile`
|
||||
结果:PASS
|
||||
- 前端静态测试:
|
||||
`source ~/.nvm/nvm.sh && cd ruoyi-ui && nvm use 14.21.3 >/dev/null && node tests/unit/intermediary-import-api.test.js && node tests/unit/intermediary-import-dialog.test.js && node tests/unit/intermediary-import-toolbar.test.js && node tests/unit/intermediary-import-state.test.js && node tests/unit/intermediary-person-edit-ui.test.js`
|
||||
结果:PASS
|
||||
- 前端构建:
|
||||
`source ~/.nvm/nvm.sh && cd ruoyi-ui && nvm use 14.21.3 >/dev/null && npm run build:prod`
|
||||
结果:PASS(仅有原有 bundle size warning)
|
||||
|
||||
## SQL 执行结果
|
||||
|
||||
- 已执行:
|
||||
`bin/mysql_utf8_exec.sh sql/migration/2026-04-20-fix-ccdi-person-sub-type-dict.sql`
|
||||
`bin/mysql_utf8_exec.sh sql/migration/2026-04-20-migrate-intermediary-related-num-id-to-person-id.sql`
|
||||
- 迁移后核查:
|
||||
`post_migration_missing_parent = 1025`
|
||||
`legacy_biz_id_reference = 0`
|
||||
`owner_person_id_empty_after_migration = 754`
|
||||
- 结论:可迁移数据已经完成语义切换,旧 `biz_id` 语义残留已清零;历史中仍有缺失本人映射或 `related_num_id` 为空的脏数据,需要后续专项清洗。
|
||||
Reference in New Issue
Block a user