Skip to content

Milestones

List view

  • ## 目标 在二期「可管理」基础上实现「可治理」:模型发布版本化、变更影响可追踪、关系可视化编辑、数据源性能优化与生产安全加固,使报表引擎具备生产环境所需的可控性和可靠性。 ## 前提依赖 - 二期全部完成(前端管理界面可用、四种提取器就绪、渲染链路携带 dataModelId) ## 三期交付物 ### A. 模型生命周期管理(2 个 Issue) | Issue | 内容 | 说明 | |-------|------|------| | #35 | 模型版本/发布工作流(DRAFT/PUBLISHED) | DataModelConfig 已有 status 字段,实现发布流程 + 发布后引用锁定 | | #36 | 引用追踪(改字段前提示被 N 张报表引用) | 扫描 ReportConfig 的 cellBindings/loopBlocks/summaries 建反向索引 | ### B. 可视化与自动化(2 个 Issue) | Issue | 内容 | 说明 | |-------|------|------| | #37 | 关系可视化画布(reactflow) | 后端关系当前是列表 PUT,前端补 reactflow 画布可视化编辑跨数据集 Relationship | | #38 | AUTO 外键自动扫描建关系 | 基于 DbDataExtractor.listColumns 返回的外键元数据自动生成 Relationship | ### C. 性能优化(1 个 Issue) | Issue | 内容 | 说明 | |-------|------|------| | #39 | 连接池(HikariCP) + 分页提取 + 投影/过滤下推 | 当前全内存计算,大结果集需优化:引入连接池、JDBC 分页、SQL 层投影/过滤下推 | ### D. 生产安全与配置(2 个 Issue) | Issue | 内容 | 说明 | |-------|------|------| | #40 | 凭证密钥生产配置 / KMS 集成 | CredentialService 当前用 report.datasource.crypto.key 开发缺省值,升级为生产 KMS 对接 | | #41 | 数据源管理开关 + 文档同步 | 加配置开关 report.datasource.management.enabled;CLAUDE.md 模块结构图更新 | ## 验收标准 1. 数据模型有完整的 DRAFT → PUBLISHED 生命周期,发布后引用锁定 2. 字段变更时显示影响范围(被多少报表引用) 3. 关系可通过 reactflow 画布拖拽编辑,也可通过 AUTO 自动发现 4. 大数据源(10万+行)连接池 + 分页可用,不 OOM 5. 凭证密钥不硬编码,通过 KMS 或安全配置注入 6. 管理功能可通过配置开关启停 7. 单元测试覆盖发布工作流、引用追踪、外键扫描、分页提取 ## 执行策略 - 第一梯队:#35 发布工作流 + #36 引用追踪(模型生命周期,无前端依赖) - 第二梯队:#37 关系画布 + #38 AUTO 外键(可视化与自动化,依赖二期前端) - 第三梯队:#39 性能优化 + #40 KMS + #41 配置开关(生产加固,互相独立可并行) ## 风险 - #39 投影/过滤下推涉及框架层 RenderEngine 改造,可能影响现有渲染逻辑 - #40 KMS 集成需要确定目标 KMS 平台(AWS KMS / 阿里云 KMS / 自建) - #35 发布后引用锁定可能影响现有数据模型使用方式

    No due date
    0/7 issues closed
  • ## 目标 将数据模型从「启动时写死」升级为「可 CRUD 独立资产」,并补齐前端管理界面与剩余三种数据提取器,使报表引擎具备完整的数据源可视化管理能力。 ## 一期已完成(前提依赖) - ✅ 后端:report-engine-datasource 模块(CredentialService / DbDataExtractor / DataModelConfigConverter) - ✅ framework 抽象层(DataModelRepository / DataExtractor SPI / TestResult / ColumnMeta) - ✅ starter service 分层(DataModelService / DataSourceService / 5 个 Controller 改薄) - ✅ example 基础设施(InMemoryDataModelRepository / DataModelSeeder / 端到端验证通过) ## 二期交付物 ### A. 前端管理界面(4 个 Issue,有依赖链) | Issue | 内容 | 依赖 | |-------|------|------| | #28 | 新建 packages/report-datasource:连接配置表单、表/列探查树、数据集管理、关系列表编辑 | 无 | | #30 | report-api 补数据源管理 API 客户端(CRUD / testConnection / explore) | #28 | | #29 | /datamodels 路由 + app-pc 菜单入口(列表页 + 模型设计器三栏) | #28 #30 | | #31 | 前端契约同步(破坏性):预览/导出/反查补 dataModelId;/api/datasets 加参数 | #30 | ### B. 剩余提取器(3 个 Issue,后端独立可并行) | Issue | 提取器 | 数据来源 | |-------|--------|----------| | #32 | ApiDataExtractor | HTTP → JSON → RawTable | | #33 | ExcelDataExtractor | .xlsx → ExcelImporter → RawTable | | #34 | JsonDataExtractor | JSON 文件/字符串 → RawTable(字段推断) | 所有提取器遵循 supports() + 注册表范式,未注册显式抛异常。 ## 验收标准 1. 前端可完成:创建数据模型 → 配置数据源 → 测试连接 → 探查表/列 → 配置数据集 → 编辑关系 → 保存 2. 三种新提取器可独立工作,注册到 DataExtractor 注册表 3. 渲染链路全部携带 dataModelId,/engine 页面可用 4. 前端 antd 优先 + import 路径规范(@/ 别名) 5. 后端单元测试覆盖提取器 + 转换器 + 凭证服务 ## 执行策略 - 第一梯队(并行):#28 前端新包 + #32 API 提取器 - 第二梯队(串行):#30 → #29 → #31 前端依赖链 - 第三梯队(并行):#33 #34 后端独立提取器

    No due date
    0/7 issues closed