Files
ccdi/docs/plans/backend/2026-04-23-enterprise-base-info-add-dialog-backend-implementation.md

2.4 KiB

实体库管理新增弹窗后端实施计划

文档路径确认

  • 后端实施计划保存路径:docs/plans/backend/
  • 本文档文件名:2026-04-23-enterprise-base-info-add-dialog-backend-implementation.md

需求目标

  • 实体库管理新增场景不再要求前端传入数据来源。
  • 新增时由后端自动写入数据来源,人工新增统一落为 MANUAL
  • 编辑时后端保留原有数据来源,不允许通过请求修改。
  • 经营状态调整为非必填项。
  • 导入模板同步去除数据来源输入列,并将经营状态改为非必填展示。
  • 导入时由后端自动写入 IMPORT,不再依赖模板传值。

实施范围

  • CcdiEnterpriseBaseInfoAddDTO
  • CcdiEnterpriseBaseInfoEditDTO
  • CcdiEnterpriseBaseInfoServiceImpl
  • CcdiEnterpriseBaseInfoImportServiceImpl
  • CcdiEnterpriseBaseInfoExcel

实施步骤

  1. 去除新增 DTO 中 statusdataSource 的必填约束,编辑 DTO 中去除 status 的必填约束。
  2. 调整新增服务逻辑,仅校验风险等级和企业来源,新增数据时后端固定写入 MANUAL
  3. 调整编辑服务逻辑,更新时始终沿用数据库中的原始数据来源。
  4. 调整状态字段赋值逻辑,将空白字符串统一收敛为 null,避免出现空串脏数据。
  5. 调整导入服务逻辑,去掉对模板数据来源的解析和校验,导入时固定写入 IMPORT
  6. 修改导入模板对象,移除数据来源列,并把“经营状态*”调整为“经营状态”。
  7. 补充/更新单元测试,覆盖新增自动写入 MANUAL、编辑保留原数据来源、导入自动写入 IMPORT、经营状态非必填和模板表头变更。

验证方案

  • 执行定向测试: mvn -pl ccdi-info-collection -am -Dsurefire.failIfNoSpecifiedTests=false -Dtest=CcdiEnterpriseBaseInfoServiceImplTest,CcdiEnterpriseBaseInfoImportServiceImplTest,EasyExcelUtilTemplateTest test
  • 通过真实后端接口验证:
    • 新增不传 dataSource、不传 status 仍可成功
    • 查询结果中 dataSource=MANUAL
    • 删除测试数据成功
  • 下载导入模板并核对首行表头:
    • 包含 经营状态
    • 不包含 数据来源

风险与注意事项

  • 当前工作区存在其他未提交改动,本次仅处理实体库管理相关文件,不回退无关内容。
  • 导入模板对象同时承担导入解析职责,本次变更后模板和导入字段保持一致。