diff --git a/src/main/java/neatlogic/module/autoexec/api/script/AutoexecScriptCopyApi.java b/src/main/java/neatlogic/module/autoexec/api/script/AutoexecScriptCopyApi.java index 75567cfcb603d6953ad4bca1168634f2871002f1..34caeaee0e5a99d573e89e2cfa6097bd4127aad2 100644 --- a/src/main/java/neatlogic/module/autoexec/api/script/AutoexecScriptCopyApi.java +++ b/src/main/java/neatlogic/module/autoexec/api/script/AutoexecScriptCopyApi.java @@ -24,10 +24,12 @@ import neatlogic.framework.autoexec.dao.mapper.AutoexecScriptMapper; import neatlogic.framework.autoexec.dto.script.*; import neatlogic.framework.autoexec.exception.AutoexecScriptNotFoundException; import neatlogic.framework.common.constvalue.ApiParamType; +import neatlogic.framework.dependency.core.DependencyManager; import neatlogic.framework.restful.annotation.*; import neatlogic.framework.restful.constvalue.OperationTypeEnum; import neatlogic.framework.restful.core.privateapi.PrivateApiComponentBase; import neatlogic.framework.util.RegexUtils; +import neatlogic.module.autoexec.dependency.AutoexecScript2ScriptDependencyHandler; import neatlogic.module.autoexec.service.AutoexecScriptService; import org.apache.commons.collections4.CollectionUtils; import org.springframework.beans.BeanUtils; @@ -134,6 +136,9 @@ public class AutoexecScriptCopyApi extends PrivateApiComponentBase { } if (CollectionUtils.isNotEmpty(source.getUseLib())) { autoexecScriptMapper.insertScriptVersionUseLib(target.getId(), source.getUseLib()); + for (Long useLibId : source.getUseLib()) { + DependencyManager.insert(AutoexecScript2ScriptDependencyHandler.class, useLibId, target.getId()); + } } } if (paramList.size() > 0) { diff --git a/src/main/java/neatlogic/module/autoexec/api/script/AutoexecScriptDeleteApi.java b/src/main/java/neatlogic/module/autoexec/api/script/AutoexecScriptDeleteApi.java index 8f477a60d42b40923013aece76e217ca898fe80e..03d669daca53688c1ae893785fc735e968319e71 100644 --- a/src/main/java/neatlogic/module/autoexec/api/script/AutoexecScriptDeleteApi.java +++ b/src/main/java/neatlogic/module/autoexec/api/script/AutoexecScriptDeleteApi.java @@ -27,11 +27,13 @@ import neatlogic.framework.autoexec.exception.AutoexecScriptVersionCannotDeleteE import neatlogic.framework.autoexec.exception.AutoexecScriptVersionHasBeenActivedException; import neatlogic.framework.autoexec.exception.AutoexecScriptVersionNotFoundException; import neatlogic.framework.common.constvalue.ApiParamType; +import neatlogic.framework.dependency.core.DependencyManager; import neatlogic.framework.dto.FieldValidResultVo; import neatlogic.framework.restful.annotation.*; import neatlogic.framework.restful.constvalue.OperationTypeEnum; import neatlogic.framework.restful.core.IValid; import neatlogic.framework.restful.core.privateapi.PrivateApiComponentBase; +import neatlogic.module.autoexec.dependency.AutoexecScript2ScriptDependencyHandler; import neatlogic.module.autoexec.service.AutoexecScriptService; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -99,6 +101,7 @@ public class AutoexecScriptDeleteApi extends PrivateApiComponentBase { autoexecScriptMapper.deleteScriptLineByVersionId(versionId); autoexecScriptMapper.deleteVersionByVersionId(versionId); autoexecScriptMapper.deleteScriptVersionLibByScriptVersionId(versionId); + DependencyManager.delete(AutoexecScript2ScriptDependencyHandler.class, versionId); // 只剩一个版本时,直接删除整个脚本 if (hasOnlyOneVersion) { autoexecScriptMapper.deleteScriptById(version.getScriptId()); diff --git a/src/main/java/neatlogic/module/autoexec/service/AutoexecScriptServiceImpl.java b/src/main/java/neatlogic/module/autoexec/service/AutoexecScriptServiceImpl.java index 16b2a7a2bac8d63454a911f34fb392da98284b19..82fbdee748ce9d5c0f4e16383d990f8f4f642592 100644 --- a/src/main/java/neatlogic/module/autoexec/service/AutoexecScriptServiceImpl.java +++ b/src/main/java/neatlogic/module/autoexec/service/AutoexecScriptServiceImpl.java @@ -620,6 +620,9 @@ public class AutoexecScriptServiceImpl implements AutoexecScriptService { if (CollectionUtils.isNotEmpty(versionIdList)) { autoexecScriptMapper.deleteParamByVersionIdList(versionIdList); autoexecScriptMapper.deleteArgumentByVersionIdList(versionIdList); + for (Long versionId : versionIdList) { + DependencyManager.delete(AutoexecScript2ScriptDependencyHandler.class, versionId); + } } //删除依赖工具关系 autoexecScriptMapper.deleteScriptVersionLibByLibScriptId(id);