diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/BpmModelController.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/BpmModelController.java index 8d23d4c93e..6483ee0e39 100644 --- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/BpmModelController.java +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/BpmModelController.java @@ -164,7 +164,7 @@ public class BpmModelController { @DeleteMapping("/clean") @Operation(summary = "清理模型") @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('bpm:model:delete')") + @PreAuthorize("@ss.hasPermission('bpm:model:clean')") public CommonResult cleanModel(@RequestParam("id") String id) { modelService.cleanModel(getLoginUserId(), id); return success(true); diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/definition/BpmModelService.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/definition/BpmModelService.java index 3ccba5e613..5601bcda31 100644 --- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/definition/BpmModelService.java +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/definition/BpmModelService.java @@ -89,7 +89,7 @@ public interface BpmModelService { void deleteModel(Long userId, String id); /** - * 清理模型 + * 清理模型,包括流程实例 * * @param userId 用户编号 * @param id 编号 diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/definition/BpmModelServiceImpl.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/definition/BpmModelServiceImpl.java index 85f849c5a7..a8cc55ed91 100644 --- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/definition/BpmModelServiceImpl.java +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/definition/BpmModelServiceImpl.java @@ -262,7 +262,8 @@ public class BpmModelServiceImpl implements BpmModelService { Model model = validateModelManager(id, userId); // 2. 清理所有流程数据 - // TODO @芋艿:这里没有找到批量操作的方法,会不会有性能问题~ + // TODO @芋艿:这里没有找到批量操作的方法,会不会有性能问题~; + // TODO @lesan:建议按照顺序?1)List processInstances 循环处理;然后删除删除一个示实例,接着删除它的 history; // 2.1 先取消所有正在运行的流程 List processInstances = runtimeService.createProcessInstanceQuery() .processDefinitionKey(model.getKey()).list(); @@ -276,6 +277,8 @@ public class BpmModelServiceImpl implements BpmModelService { historicProcessInstances.forEach(historicProcessInstance -> { historyService.deleteHistoricProcessInstance(historicProcessInstance.getId()); }); + // TODO @lesan:流程任务,是不是也要清理哈? + // TODO @lesan:抄送是不是也要清理; } @Override