拆分顺序:接口协议 → 底层实现 → 上层交互 → 验证收尾 每个任务聚焦一个可验证的原子结果
test-spec.md、execution-log.md。.DS_Store 工作树变更,不纳入本任务。forge-server/forge-framework/forge-plugin-parent/forge-plugin-generator/src/test/java/com/mdframe/forge/plugin/generator/service/businessapp/BusinessSuiteServiceTest.java — 新增服务删除场景测试。java
void deleteCleansOrphanObjectsAfterExplicitConfirmation()
void deleteRejectsCleanupWhenApplicationStillExists()
void deleteRejectsObjectsWithoutExplicitConfirmation()
void deleteRejectsObjectsReferencedByActiveApplication()
BusinessSuiteController.java — 接收默认关闭的 cleanupOrphanObjects 参数。BusinessSuiteService.java — 调整校验顺序并编排显式清理。BusinessSuiteMapper.java — 新增有效应用引用统计、关系删除和对象逻辑删除方法。BusinessSuiteMapper.xml — 实现显式租户/逻辑删除条件 SQL。java
public void delete(Long id, boolean cleanupOrphanObjects)
Long countActiveApplicationObjectReferencesBySuite(Long tenantId, String suiteCode)
int deleteObjectRelationsBySuite(Long tenantId, String suiteCode)
int logicDeleteObjectsBySuite(Long tenantId, String suiteCode)
forge-admin-ui/src/api/business-app.js — 删除 API 支持 cleanupOrphanObjects。forge-admin-ui/src/views/app-center/index.vue — 根据 objectCount 生成确认文案并传参。forge-admin-ui/src/views/app-center/suite.[suiteCode].vue — 同步旧详情页行为。javascript
export function deleteBusinessSuite(id, cleanupOrphanObjects = false)
test-spec.mdexecution-log.mdspec.mdtasks.md