Files
ccdi/docs/reports/implementation/2026-04-26-enterprise-auto-fill-implementation.md

37 lines
2.6 KiB
Markdown
Raw Normal View History

# 关联业务自动补入实体库实施记录
## 修改内容
- 新增 `EnterpriseAutoFillService`,统一处理关联业务按统一社会信用代码补入 `ccdi_enterprise_base_info`
- 员工实体关系、信贷客户实体关系、中介关系、招投标供应商新增与导入成功数据,均在保存关联关系前按缺失实体自动补入实体库。
- 企业名称按“允许为空,有值则入库”的规则处理;供应商场景使用供应商名称补入,其余当前无企业名称来源的场景补入 `NULL`
- 新增企业来源枚举 `SUPPLIER/供应商`,前端实体库企业来源下拉复用后端枚举接口,无需新增前端硬编码。
- 中介来源实体默认风险等级为高风险;中介实体关系不再要求实体库预先存在。
- 新增迁移脚本 `sql/migration/2026-04-26-make-enterprise-name-nullable-for-auto-fill.sql`,将 `ccdi_enterprise_base_info.enterprise_name` 调整为可空。
## 影响范围
- 后端模块:`ccdi-info-collection`
- 相关业务:员工关系实体、信贷客户实体、中介关系、招投标供应商、实体库导入、企业来源枚举
- 数据库表:`ccdi_enterprise_base_info`
## 验证情况
- 后端单元验证已通过:
```bash
mvn -pl ccdi-info-collection -am -Dtest=CcdiEnumControllerTest,EnterpriseAutoFillServiceTest,CcdiStaffEnterpriseRelationServiceImplTest,CcdiStaffEnterpriseRelationImportServiceImplTest,CcdiCustEnterpriseRelationServiceImplTest,CcdiCustEnterpriseRelationImportServiceImplTest,CcdiIntermediaryServiceImplTest,CcdiIntermediaryEnterpriseRelationImportServiceImplTest,CcdiEnterpriseBaseInfoImportServiceImplTest,CcdiPurchaseTransactionServiceImplTest,CcdiPurchaseTransactionImportServiceImplTest,CcdiPurchaseTransactionFeatureContractTest -Dsurefire.failIfNoSpecifiedTests=false test
```
- 启动当前工作树后端成功,监听 `62318`
- 使用 `nvm use` 切换到 Node `v14.21.3`,启动前端开发服务到 `http://localhost:8080/`
- 使用 browser-use 打开真实业务页面:
- `http://localhost:8080/maintain/enterpriseBaseInfo` 加载正常,企业来源下拉出现“供应商”。
- `http://localhost:8080/maintain/purchaseTransaction` 加载正常,供应商明细相关页面可访问。
- 后端枚举接口 `GET /ccdi/enum/enterpriseSource` 已返回 `{ "value": "SUPPLIER", "label": "供应商" }`
## 未执行事项
- 远程联调库当前 `ccdi_enterprise_base_info.enterprise_name` 仍为 `Null=NO`
- 本次未直接执行远程库结构变更;提权执行迁移脚本被安全审查拦截。真实写入空企业名称的补库验证需先由授权人员执行迁移脚本。