来源:变更 formula-capability-extension、formula-next-capabilities 时间:2026-06-27
低代码业务对象缺统一的字段级公式体系(金额计算、主从表汇总、条件赋值、跨对象引用),需要可计算、可校验、可观测,且不侵入 CRUD 业务代码。
AviatorAdapter 封装编译/执行,错误统一转 FormulaExecutionException。long(单位:分)。GenTableColumn.formula_config、LowcodeFieldSchema.formulaConfig。{type, expression, mode, dependsOn, maxDepth, aggregate, lookup, crossObject, rule},向后兼容 V1。STORED(保存时算并持久化)、VIRTUAL(查询时实时算不存储)。抽 AbstractFormulaRuntime 消除两者重复。FormulaDependencyAnalyzer / FormulaPublishValidator)。B→A 表示 B 先算;dependsOn 方向要与之一致。AiBusinessObjectRelation 映射取从表数据(DbAggregateDataProvider)。relationCode = targetObjectCode。AggregateDataException,禁止静默返回空导致脏数据。ai_formula_execution_log(含 traceId、inputSnapshot 脱敏)、调试器逐步 trace、依赖图 nodes/edges。objectCode:recordId:fieldCode:dependencyTrace),VIRTUAL 批量预取避免 N+1。forge-plugin-generator:FormulaDependencyAnalyzer.java、FormulaExecutionEngine.java、AviatorAdapter.java、AggregateEngine.java、DbAggregateDataProvider.java、FormulaPublishValidator.java、StoredFormulaRuntime.java / VirtualFormulaRuntime.java、CrossObjectRecomputeTaskService.java