diff --git a/src/main/java/neatlogic/module/autoexec/api/script/AutoexecScriptOrToolInputParamGetApi.java b/src/main/java/neatlogic/module/autoexec/api/script/AutoexecScriptOrToolInputParamGetApi.java index e4c1314adc4fd360768c4a1dc4551834648ee9dd..54e55a2324a29cda15e1fba335dacf7a68e2267c 100644 --- a/src/main/java/neatlogic/module/autoexec/api/script/AutoexecScriptOrToolInputParamGetApi.java +++ b/src/main/java/neatlogic/module/autoexec/api/script/AutoexecScriptOrToolInputParamGetApi.java @@ -27,10 +27,12 @@ import neatlogic.framework.autoexec.dto.AutoexecToolVo; import neatlogic.framework.autoexec.dto.script.AutoexecScriptVersionParamVo; import neatlogic.framework.autoexec.dto.script.AutoexecScriptVersionVo; import neatlogic.framework.autoexec.dto.script.AutoexecScriptVo; +import neatlogic.framework.autoexec.exception.AutoexecScriptHasNoActiveVersionException; import neatlogic.framework.autoexec.exception.AutoexecScriptNotFoundException; import neatlogic.framework.autoexec.exception.AutoexecScriptVersionNotFoundException; import neatlogic.framework.autoexec.exception.AutoexecToolNotFoundException; import neatlogic.framework.common.constvalue.ApiParamType; +import neatlogic.framework.exception.type.ParamNotExistsException; import neatlogic.framework.restful.annotation.*; import neatlogic.framework.restful.constvalue.OperationTypeEnum; import neatlogic.framework.restful.core.privateapi.PrivateApiComponentBase; @@ -74,7 +76,8 @@ public class AutoexecScriptOrToolInputParamGetApi extends PrivateApiComponentBas } @Input({ - @Param(name = "id", type = ApiParamType.LONG, isRequired = true, desc = "工具ID或自定义工具版本ID"), + @Param(name = "id", type = ApiParamType.LONG, desc = "工具ID或自定义工具版本ID"), + @Param(name = "scriptId", type = ApiParamType.LONG, desc = "自定义工具ID"), @Param(name = "type", type = ApiParamType.ENUM, rule = "script,tool", isRequired = true, desc = "工具或自定义工具"), }) @Output({ @@ -90,15 +93,31 @@ public class AutoexecScriptOrToolInputParamGetApi extends PrivateApiComponentBas String name; List inputParamList = null; if (ToolType.SCRIPT.getValue().equals(type)) { - AutoexecScriptVersionVo version = autoexecScriptMapper.getVersionByVersionId(id); - if (version == null) { - throw new AutoexecScriptVersionNotFoundException(id); + Long scriptId = jsonObj.getLong("scriptId"); + if (id != null) { + AutoexecScriptVersionVo version = autoexecScriptMapper.getVersionByVersionId(id); + if (version == null) { + throw new AutoexecScriptVersionNotFoundException(id); + } + AutoexecScriptVo script = autoexecScriptMapper.getScriptBaseInfoById(version.getScriptId()); + if (script == null) { + throw new AutoexecScriptNotFoundException(version.getScriptId()); + } + name = script.getName(); + } else if (scriptId != null) { + AutoexecScriptVo script = autoexecScriptMapper.getScriptBaseInfoById(scriptId); + if (script == null) { + throw new AutoexecScriptNotFoundException(scriptId); + } + name = script.getName(); + AutoexecScriptVersionVo version = autoexecScriptMapper.getActiveVersionByScriptId(scriptId); + if (version == null) { + throw new AutoexecScriptHasNoActiveVersionException(name); + } + id = version.getId(); + } else { + throw new ParamNotExistsException("id", "scriptId"); } - AutoexecScriptVo script = autoexecScriptMapper.getScriptBaseInfoById(version.getScriptId()); - if (script == null) { - throw new AutoexecScriptNotFoundException(version.getScriptId()); - } - name = script.getName(); List paramList = autoexecScriptMapper.getParamListByVersionId(id); if (CollectionUtils.isNotEmpty(paramList)) { inputParamList = paramList.stream() @@ -107,6 +126,9 @@ public class AutoexecScriptOrToolInputParamGetApi extends PrivateApiComponentBas .collect(Collectors.toList()); } } else { + if (id == null) { + throw new ParamNotExistsException("id"); + } AutoexecToolVo tool = autoexecToolMapper.getToolById(id); if (tool == null) { throw new AutoexecToolNotFoundException(id); @@ -119,6 +141,7 @@ public class AutoexecScriptOrToolInputParamGetApi extends PrivateApiComponentBas autoexecService.mergeConfig(autoexecParamVo); } } + result.put("id", id); result.put("name", name); result.put("inputParamList", inputParamList); return result; diff --git a/src/main/java/neatlogic/module/autoexec/api/script/GetAutoexecScriptOrToolArgumentApi.java b/src/main/java/neatlogic/module/autoexec/api/script/GetAutoexecScriptOrToolArgumentApi.java index 2798b30654809963cb6f04b6a59ad0ee134a45fa..fe8f427c0fb3a2d7fbbaa69110d17663498cfb20 100644 --- a/src/main/java/neatlogic/module/autoexec/api/script/GetAutoexecScriptOrToolArgumentApi.java +++ b/src/main/java/neatlogic/module/autoexec/api/script/GetAutoexecScriptOrToolArgumentApi.java @@ -24,9 +24,13 @@ import neatlogic.framework.autoexec.dao.mapper.AutoexecToolMapper; import neatlogic.framework.autoexec.dto.AutoexecToolVo; import neatlogic.framework.autoexec.dto.script.AutoexecScriptArgumentVo; import neatlogic.framework.autoexec.dto.script.AutoexecScriptVersionVo; +import neatlogic.framework.autoexec.dto.script.AutoexecScriptVo; +import neatlogic.framework.autoexec.exception.AutoexecScriptHasNoActiveVersionException; +import neatlogic.framework.autoexec.exception.AutoexecScriptNotFoundException; import neatlogic.framework.autoexec.exception.AutoexecScriptVersionNotFoundException; import neatlogic.framework.autoexec.exception.AutoexecToolNotFoundException; import neatlogic.framework.common.constvalue.ApiParamType; +import neatlogic.framework.exception.type.ParamNotExistsException; import neatlogic.framework.restful.annotation.*; import neatlogic.framework.restful.constvalue.OperationTypeEnum; import neatlogic.framework.restful.core.privateapi.PrivateApiComponentBase; @@ -61,7 +65,8 @@ public class GetAutoexecScriptOrToolArgumentApi extends PrivateApiComponentBase } @Input({ - @Param(name = "id", type = ApiParamType.LONG, isRequired = true, desc = "工具ID或自定义工具版本ID"), + @Param(name = "id", type = ApiParamType.LONG, desc = "工具ID或自定义工具版本ID"), + @Param(name = "scriptId", type = ApiParamType.LONG, desc = "自定义工具ID"), @Param(name = "type", type = ApiParamType.ENUM, rule = "script,tool", isRequired = true, desc = "工具或自定义工具"), }) @Output({ @@ -72,12 +77,30 @@ public class GetAutoexecScriptOrToolArgumentApi extends PrivateApiComponentBase public Object myDoService(JSONObject jsonObj) throws Exception { Long id =jsonObj.getLong("id"); if (ToolType.SCRIPT.getValue().equals(jsonObj.getString("type"))) { - AutoexecScriptVersionVo version = autoexecScriptMapper.getVersionByVersionId(id); - if (version == null) { - throw new AutoexecScriptVersionNotFoundException(id); + Long scriptId = jsonObj.getLong("scriptId"); + if (id != null) { + AutoexecScriptVersionVo version = autoexecScriptMapper.getVersionByVersionId(id); + if (version == null) { + throw new AutoexecScriptVersionNotFoundException(id); + } + return autoexecScriptMapper.getArgumentByVersionId(id); + } else if (scriptId != null) { + AutoexecScriptVo script = autoexecScriptMapper.getScriptBaseInfoById(scriptId); + if (script == null) { + throw new AutoexecScriptNotFoundException(scriptId); + } + AutoexecScriptVersionVo version = autoexecScriptMapper.getActiveVersionByScriptId(scriptId); + if (version == null) { + throw new AutoexecScriptHasNoActiveVersionException(script.getName()); + } + return autoexecScriptMapper.getArgumentByVersionId(version.getId()); + } else { + throw new ParamNotExistsException("id", "scriptId"); } - return autoexecScriptMapper.getArgumentByVersionId(id); }else{ + if (id == null) { + throw new ParamNotExistsException("id"); + } AutoexecToolVo tool = autoexecToolMapper.getToolById(id); if (tool == null) { throw new AutoexecToolNotFoundException(id); diff --git a/src/main/java/neatlogic/module/autoexec/operate/ScriptOperateManager.java b/src/main/java/neatlogic/module/autoexec/operate/ScriptOperateManager.java index b4ccf117c406e7a75772ca9aa8a7bb1e8c2faad4..89b1c9a0d18202cc34b44dfa5b1ab1f67029ff8f 100644 --- a/src/main/java/neatlogic/module/autoexec/operate/ScriptOperateManager.java +++ b/src/main/java/neatlogic/module/autoexec/operate/ScriptOperateManager.java @@ -296,6 +296,8 @@ public class ScriptOperateManager { generateToCombop.setDisabled(1); generateToCombop.setDisabledReason("当前自定义工具未有激活版本,无法发布为组合工具"); } else if (isLibScriptIdList.contains(id)) { + test.setDisabled(1); + test.setDisabledReason("当前自定义工具是库文件,不能测试"); generateToCombop.setDisabled(1); generateToCombop.setDisabledReason("当前自定义工具是库文件,无法发布为组合工具"); }