拆分顺序:数据模型 → 接口协议 → 底层实现 → 上层编排 → 入口层 每个任务 = 可独立提交的原子变更(3-5 个文件) 每个任务必须精确到文件路径和函数签名
PUBLIC,不影响历史数据集。forge/forge-framework/forge-plugin-parent/forge-plugin-data/src/main/resources/sql/data_tables.sql — 增加建表字段和 ACL 表。forge/forge-framework/forge-plugin-parent/forge-plugin-data/src/main/resources/sql/data_dataset_permission_upgrade_20260515.sql — 新增幂等升级脚本。forge/forge-framework/forge-plugin-parent/forge-plugin-data/src/main/java/com/mdframe/forge/plugin/data/entity/DataDataset.java — 新增 accessMode。forge/forge-framework/forge-plugin-parent/forge-plugin-data/src/main/java/com/mdframe/forge/plugin/data/entity/DataDatasetAcl.java — 新增 ACL 实体。forge/forge-framework/forge-plugin-parent/forge-plugin-data/src/main/java/com/mdframe/forge/plugin/data/dto/DataDatasetAclDTO.java — 新增授权项 DTO。forge/forge-framework/forge-plugin-parent/forge-plugin-data/src/main/java/com/mdframe/forge/plugin/data/dto/DataDatasetSaveDTO.java — 增加访问权限字段。forge/forge-framework/forge-plugin-parent/forge-plugin-data/src/main/java/com/mdframe/forge/plugin/data/vo/DataDatasetDetailVO.java — 返回访问权限字段。forge/forge-framework/forge-plugin-parent/forge-plugin-data/src/main/java/com/mdframe/forge/plugin/data/mapper/DataDatasetMapper.java — 数据集列表增加访问过滤参数。forge/forge-framework/forge-plugin-parent/forge-plugin-data/src/main/resources/mapper/DataDatasetMapper.xml — 数据集查询增加 ACL 过滤 SQL。forge/forge-framework/forge-plugin-parent/forge-plugin-data/src/main/java/com/mdframe/forge/plugin/data/mapper/DataDatasetAclMapper.java — 新增 ACL Mapper。forge/forge-framework/forge-plugin-parent/forge-plugin-data/src/main/resources/mapper/DataDatasetAclMapper.xml — 新增 ACL 查询 XML。forge/forge-framework/forge-plugin-parent/forge-plugin-data/src/main/java/com/mdframe/forge/plugin/data/service/DataDatasetAccessService.java — 新增访问权限服务接口。forge/forge-framework/forge-plugin-parent/forge-plugin-data/src/main/java/com/mdframe/forge/plugin/data/service/impl/DataDatasetAccessServiceImpl.java — 新增访问权限服务实现。forge/forge-framework/forge-plugin-parent/forge-plugin-data/src/main/java/com/mdframe/forge/plugin/data/service/impl/DataDatasetServiceImpl.java — 列表查询注入访问过滤。forge/forge-framework/forge-plugin-parent/forge-plugin-data/src/main/java/com/mdframe/forge/plugin/data/controller/DataDatasetController.java — 保存/返回/校验访问权限。forge/forge-framework/forge-plugin-parent/forge-plugin-data/src/main/java/com/mdframe/forge/plugin/data/controller/DataDatasetRuntimeController.java — 运行时校验访问权限。java
void requireAccess(DataDataset dataset, DataDatasetAccessLevelEnum requiredLevel);
DataDatasetAccessQuery buildCurrentUserAccessQuery(DataDatasetAccessLevelEnum requiredLevel);
void saveDatasetAcl(Long datasetId, List<DataDatasetAclDTO> aclItems);
bash
cd forge && mvn -pl forge-framework/forge-plugin-parent/forge-plugin-data -am compile -DskipTests
DataScopeInterceptor。forge/forge-framework/forge-plugin-parent/forge-plugin-data/src/main/java/com/mdframe/forge/plugin/data/entity/DataDatasetRowScope.javaforge/forge-framework/forge-plugin-parent/forge-plugin-data/src/main/java/com/mdframe/forge/plugin/data/dto/DataDatasetRowScopeDTO.javaforge/forge-framework/forge-plugin-parent/forge-plugin-data/src/main/java/com/mdframe/forge/plugin/data/mapper/DataDatasetRowScopeMapper.javaforge/forge-framework/forge-plugin-parent/forge-plugin-data/src/main/resources/mapper/DataDatasetRowScopeMapper.xmlforge/forge-framework/forge-plugin-parent/forge-plugin-data/src/main/java/com/mdframe/forge/plugin/data/service/DataDatasetRowScopeService.javaforge/forge-framework/forge-plugin-parent/forge-plugin-data/src/main/java/com/mdframe/forge/plugin/data/service/impl/DataDatasetRowScopeServiceImpl.javaforge/forge-framework/forge-plugin-parent/forge-plugin-data/src/main/java/com/mdframe/forge/plugin/data/support/DataDatasetRowScopeCondition.javaforge/forge-framework/forge-plugin-parent/forge-plugin-data/src/main/java/com/mdframe/forge/plugin/data/service/DataQueryExecutor.javaforge/forge-framework/forge-plugin-parent/forge-plugin-data/src/main/resources/sql/data_dataset_row_scope_upgrade_20260515.sqljava
DataDatasetRowScopeCondition buildCondition(DataDataset dataset, DbDialect dialect);
QueryBuildResult applyRowScope(DataDataset dataset, DbDialect dialect, QueryBuildResult buildResult);
bash
cd forge && mvn -pl forge-framework/forge-plugin-parent/forge-plugin-data -am compile -DskipTests
cd forge && mvn -pl forge-admin-server -am compile -DskipTests
forge-admin-ui/src/api/data/dataset.tsforge-admin-ui/src/views/data/dataset.vue/system/role/page、/system/user/page、/system/org/tree 作为授权主体选择数据源。bash
cd forge-admin-ui && pnpm exec eslint src/views/data/dataset.vue
cd forge-admin-ui && pnpm build