From 0107aab563cc1663e833275f79fbf37e99a503c4 Mon Sep 17 00:00:00 2001 From: "castle.zang" Date: Tue, 25 Jan 2022 10:33:47 +0800 Subject: [PATCH] =?UTF-8?q?BSP=E8=81=94=E8=B0=83pojo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../i3plus/pojo/base/enumutil/BspEnumUtil.java | 9 +-- modules/i3plus-pojo-bsp/pom.xml | 16 ++++++ .../i3plus/pojo/bsp/common/GroovyCommonUtil.java | 20 ++++++- .../bsp/server/bean/model/MethodGroupModel.java | 7 ++- .../bsp/server/bean/model/MethodLevelModel.java | 2 + .../server/bean/model/MethodLevelParamModel.java | 2 + .../bean/po/ExecutorRegistryMethodDocInfo.java | 67 +++++++++++++--------- .../pojo/bsp/server/bean/po/MethodGroupInfo.java | 2 +- .../bsp/server/bean/vo/MethodGroupCommonVo.java | 26 +++++++++ .../pojo/bsp/server/bean/vo/MethodGroupVo.java | 4 +- .../pojo/bsp/server/bean/vo/ScriptDeleteVo.java | 19 ++++++ .../pojo/bsp/server/bean/vo/ScriptTestVo.java | 34 +++++++++++ 12 files changed, 174 insertions(+), 34 deletions(-) create mode 100644 modules/i3plus-pojo-bsp/src/main/java/cn/estsh/i3plus/pojo/bsp/server/bean/vo/MethodGroupCommonVo.java create mode 100644 modules/i3plus-pojo-bsp/src/main/java/cn/estsh/i3plus/pojo/bsp/server/bean/vo/ScriptDeleteVo.java create mode 100644 modules/i3plus-pojo-bsp/src/main/java/cn/estsh/i3plus/pojo/bsp/server/bean/vo/ScriptTestVo.java diff --git a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/BspEnumUtil.java b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/BspEnumUtil.java index dd7540f..a84928e 100644 --- a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/BspEnumUtil.java +++ b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/BspEnumUtil.java @@ -91,10 +91,11 @@ public class BspEnumUtil { */ @JsonFormat(shape = JsonFormat.Shape.OBJECT) public enum METHOD_GROUP_TYPE { - WMS(10, "WMS"), - MES(20, "MES"), - APS(30, "APS"), - MES_PCN(40, "MES_PCN"); + BSP(10,"BSP"), + WMS(20, "WMS"), + MES(30, "MES"), + APS(40, "APS"), + MES_PCN(50, "MES_PCN"); private int value; private String description; diff --git a/modules/i3plus-pojo-bsp/pom.xml b/modules/i3plus-pojo-bsp/pom.xml index 254b452..d86244b 100644 --- a/modules/i3plus-pojo-bsp/pom.xml +++ b/modules/i3plus-pojo-bsp/pom.xml @@ -13,6 +13,22 @@ i3plus-pojo-bsp + + + org.codehaus.groovy + groovy + 2.5.6 + + + org.codehaus.groovy + groovy-jsr223 + 2.5.6 + + + org.python + jython-standalone + 2.7.1 + i3plus.pojo i3plus-pojo-base diff --git a/modules/i3plus-pojo-bsp/src/main/java/cn/estsh/i3plus/pojo/bsp/common/GroovyCommonUtil.java b/modules/i3plus-pojo-bsp/src/main/java/cn/estsh/i3plus/pojo/bsp/common/GroovyCommonUtil.java index ad98d80..11a9a7f 100644 --- a/modules/i3plus-pojo-bsp/src/main/java/cn/estsh/i3plus/pojo/bsp/common/GroovyCommonUtil.java +++ b/modules/i3plus-pojo-bsp/src/main/java/cn/estsh/i3plus/pojo/bsp/common/GroovyCommonUtil.java @@ -1,11 +1,29 @@ package cn.estsh.i3plus.pojo.bsp.common; +import groovy.lang.GroovyClassLoader; +import groovy.lang.GroovyObject; + +import java.util.Map; + /** - * @Description : + * @Description :脚本执行工具类 * @Reference : * @Author : Castle * @CreateDate : 2021/7/22 15:38 * @Modify: **/ public class GroovyCommonUtil { + + public static Map executeGroovy(String script, String methodName, Object... args) throws IllegalAccessException, InstantiationException { + Class scriptClass = new GroovyClassLoader().parseClass(script); + GroovyObject groovyObject = (GroovyObject) scriptClass.newInstance(); + Map resultMap; + if (args.length > 0) { + resultMap = (Map) groovyObject.invokeMethod(methodName, args); + } else { + resultMap = (Map) groovyObject.invokeMethod(methodName, null); + } + + return resultMap; + } } diff --git a/modules/i3plus-pojo-bsp/src/main/java/cn/estsh/i3plus/pojo/bsp/server/bean/model/MethodGroupModel.java b/modules/i3plus-pojo-bsp/src/main/java/cn/estsh/i3plus/pojo/bsp/server/bean/model/MethodGroupModel.java index dab4701..7338aeb 100644 --- a/modules/i3plus-pojo-bsp/src/main/java/cn/estsh/i3plus/pojo/bsp/server/bean/model/MethodGroupModel.java +++ b/modules/i3plus-pojo-bsp/src/main/java/cn/estsh/i3plus/pojo/bsp/server/bean/model/MethodGroupModel.java @@ -4,6 +4,7 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.AllArgsConstructor; import lombok.Data; +import lombok.NoArgsConstructor; import java.util.List; @@ -16,9 +17,13 @@ import java.util.List; **/ @Data @AllArgsConstructor +@NoArgsConstructor @ApiModel("添加方法组") public class MethodGroupModel { + @ApiModelProperty("方法组id") + private Long methodGroupId; + @ApiModelProperty("方法组的名称") private String methodGroupName; @@ -29,6 +34,6 @@ public class MethodGroupModel { private List methodLevel; @ApiModelProperty("方法组分类") - private String classify; + private Integer classification; } diff --git a/modules/i3plus-pojo-bsp/src/main/java/cn/estsh/i3plus/pojo/bsp/server/bean/model/MethodLevelModel.java b/modules/i3plus-pojo-bsp/src/main/java/cn/estsh/i3plus/pojo/bsp/server/bean/model/MethodLevelModel.java index a3febb7..798caae 100644 --- a/modules/i3plus-pojo-bsp/src/main/java/cn/estsh/i3plus/pojo/bsp/server/bean/model/MethodLevelModel.java +++ b/modules/i3plus-pojo-bsp/src/main/java/cn/estsh/i3plus/pojo/bsp/server/bean/model/MethodLevelModel.java @@ -4,6 +4,7 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.AllArgsConstructor; import lombok.Data; +import lombok.NoArgsConstructor; import java.util.List; @@ -16,6 +17,7 @@ import java.util.List; **/ @Data @AllArgsConstructor +@NoArgsConstructor @ApiModel("添加方法组层级") public class MethodLevelModel { diff --git a/modules/i3plus-pojo-bsp/src/main/java/cn/estsh/i3plus/pojo/bsp/server/bean/model/MethodLevelParamModel.java b/modules/i3plus-pojo-bsp/src/main/java/cn/estsh/i3plus/pojo/bsp/server/bean/model/MethodLevelParamModel.java index 6137bc2..a9dca64 100644 --- a/modules/i3plus-pojo-bsp/src/main/java/cn/estsh/i3plus/pojo/bsp/server/bean/model/MethodLevelParamModel.java +++ b/modules/i3plus-pojo-bsp/src/main/java/cn/estsh/i3plus/pojo/bsp/server/bean/model/MethodLevelParamModel.java @@ -4,6 +4,7 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.AllArgsConstructor; import lombok.Data; +import lombok.NoArgsConstructor; /** * @Description : @@ -14,6 +15,7 @@ import lombok.Data; **/ @Data @AllArgsConstructor +@NoArgsConstructor @ApiModel("添加方法组层级参数") public class MethodLevelParamModel { @ApiModelProperty("根据出参生成,入参key = 层级 + methodId + 出参Name") diff --git a/modules/i3plus-pojo-bsp/src/main/java/cn/estsh/i3plus/pojo/bsp/server/bean/po/ExecutorRegistryMethodDocInfo.java b/modules/i3plus-pojo-bsp/src/main/java/cn/estsh/i3plus/pojo/bsp/server/bean/po/ExecutorRegistryMethodDocInfo.java index 45fa9c8..1f4d82a 100644 --- a/modules/i3plus-pojo-bsp/src/main/java/cn/estsh/i3plus/pojo/bsp/server/bean/po/ExecutorRegistryMethodDocInfo.java +++ b/modules/i3plus-pojo-bsp/src/main/java/cn/estsh/i3plus/pojo/bsp/server/bean/po/ExecutorRegistryMethodDocInfo.java @@ -7,6 +7,7 @@ import lombok.*; import javax.persistence.Column; import javax.persistence.Entity; +import javax.persistence.Lob; import javax.persistence.Table; import java.io.Serializable; @@ -28,30 +29,44 @@ import java.io.Serializable; public class ExecutorRegistryMethodDocInfo extends BaseBean implements Serializable { private static final long serialVersionUID = 2770821289940006535L; - @Column(name = "BEAN_NAME") - @ApiModelProperty("beanName") - private String beanName; - - @Column(name = "VERSION") - @ApiModelProperty("方法版本") - private String version; - - @Column(name = "AFFECT_TABLE_STR") - @ApiModelProperty("受影响的表名,逗号分割,原来为数组") - private String affectTableClassNameStr; - - @Column(name = "SYSTEM_PROCESS_STR") - @ApiModelProperty("系统要执行的逻辑 逗号分割,原来为数组") - private String systemProcessStr; - /** - * 参数验证 逗号分割,原来为数组 - */ - @Column(name = "VALIDATION") - @ApiModelProperty("参数验证 逗号分割,原来为数组") - private String validation; - - @Column(name = "METHOD_ID") - @ApiModelProperty("方法ID") - private Long methodId; - //todo 缺少参数信息 + @ApiModelProperty(value = "应用名称") + @Column(name = "APP_NAME") + private String appName; + + @ApiModelProperty(value = "markdown文本,前端渲染") + @Column(name = "MARKDOWN") + private String markdown; + + @ApiModelProperty(value = "方法名,方法名和应用名做唯一键") + @Lob + @Column(name = "METHOD_NAME") + private String methodName; + + @ApiModelProperty(value = "分类") + @Lob + @Column(name = "CLASSIFICATION") + private String classification; +// @Column(name = "BEAN_NAME") +// @ApiModelProperty("beanName") +// private String beanName; +// +// @Column(name = "VERSION") +// @ApiModelProperty("方法版本") +// private String version; +// +// @Column(name = "AFFECT_TABLE_STR") +// @ApiModelProperty("受影响的表名,逗号分割,原来为数组") +// private String affectTableClassNameStr; +// +// @Column(name = "SYSTEM_PROCESS_STR") +// @ApiModelProperty("系统要执行的逻辑 逗号分割,原来为数组") +// private String systemProcessStr; + +// @Column(name = "VALIDATION") +// @ApiModelProperty("参数验证 逗号分割,原来为数组") +// private String validation; + +// @Column(name = "METHOD_ID") +// @ApiModelProperty("方法ID") +// private Long methodId; } diff --git a/modules/i3plus-pojo-bsp/src/main/java/cn/estsh/i3plus/pojo/bsp/server/bean/po/MethodGroupInfo.java b/modules/i3plus-pojo-bsp/src/main/java/cn/estsh/i3plus/pojo/bsp/server/bean/po/MethodGroupInfo.java index 654ce5b..30d3295 100644 --- a/modules/i3plus-pojo-bsp/src/main/java/cn/estsh/i3plus/pojo/bsp/server/bean/po/MethodGroupInfo.java +++ b/modules/i3plus-pojo-bsp/src/main/java/cn/estsh/i3plus/pojo/bsp/server/bean/po/MethodGroupInfo.java @@ -32,7 +32,7 @@ public class MethodGroupInfo extends BaseBean implements Serializable { @Column(name = "NAME") @ApiModelProperty("方法组名称") - private String name; + private String methodGroupName; @Column(name = "DESCRIPTION") @ApiModelProperty("方法组描述") diff --git a/modules/i3plus-pojo-bsp/src/main/java/cn/estsh/i3plus/pojo/bsp/server/bean/vo/MethodGroupCommonVo.java b/modules/i3plus-pojo-bsp/src/main/java/cn/estsh/i3plus/pojo/bsp/server/bean/vo/MethodGroupCommonVo.java new file mode 100644 index 0000000..99cf12d --- /dev/null +++ b/modules/i3plus-pojo-bsp/src/main/java/cn/estsh/i3plus/pojo/bsp/server/bean/vo/MethodGroupCommonVo.java @@ -0,0 +1,26 @@ +package cn.estsh.i3plus.pojo.bsp.server.bean.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import io.swagger.annotations.ApiOperation; +import lombok.Data; + +import java.util.List; + +/** + * @Description : + * @Reference : + * @Author : Castle + * @CreateDate : 2022/1/24 16:27 + * @Modify: + **/ +@Data +@ApiModel(value = "methodGroup通用vo") +public class MethodGroupCommonVo { + + @ApiModelProperty(value = "方法组的id") + private List ids; + + @ApiModelProperty(value = "方法组启用禁用") + private Integer isValid; +} diff --git a/modules/i3plus-pojo-bsp/src/main/java/cn/estsh/i3plus/pojo/bsp/server/bean/vo/MethodGroupVo.java b/modules/i3plus-pojo-bsp/src/main/java/cn/estsh/i3plus/pojo/bsp/server/bean/vo/MethodGroupVo.java index 5c9c36b..aa0242a 100644 --- a/modules/i3plus-pojo-bsp/src/main/java/cn/estsh/i3plus/pojo/bsp/server/bean/vo/MethodGroupVo.java +++ b/modules/i3plus-pojo-bsp/src/main/java/cn/estsh/i3plus/pojo/bsp/server/bean/vo/MethodGroupVo.java @@ -15,7 +15,9 @@ import lombok.Data; @Data public class MethodGroupVo { @ApiParam(value = "方法组名称") - private String groupName; + private String methodGroupName; @ApiParam(value = "是否启用") private Integer isValid; + @ApiParam(value = "方法组分类") + private Integer classification; } diff --git a/modules/i3plus-pojo-bsp/src/main/java/cn/estsh/i3plus/pojo/bsp/server/bean/vo/ScriptDeleteVo.java b/modules/i3plus-pojo-bsp/src/main/java/cn/estsh/i3plus/pojo/bsp/server/bean/vo/ScriptDeleteVo.java new file mode 100644 index 0000000..e77b847 --- /dev/null +++ b/modules/i3plus-pojo-bsp/src/main/java/cn/estsh/i3plus/pojo/bsp/server/bean/vo/ScriptDeleteVo.java @@ -0,0 +1,19 @@ +package cn.estsh.i3plus.pojo.bsp.server.bean.vo; + +import io.swagger.annotations.ApiModel; +import lombok.Data; + +import java.util.List; + +/** + * @Description : + * @Reference : + * @Author : Castle + * @CreateDate : 2022/1/22 19:23 + * @Modify: + **/ +@Data +@ApiModel("deletedVO") +public class ScriptDeleteVo { + private List ids; +} diff --git a/modules/i3plus-pojo-bsp/src/main/java/cn/estsh/i3plus/pojo/bsp/server/bean/vo/ScriptTestVo.java b/modules/i3plus-pojo-bsp/src/main/java/cn/estsh/i3plus/pojo/bsp/server/bean/vo/ScriptTestVo.java new file mode 100644 index 0000000..0590447 --- /dev/null +++ b/modules/i3plus-pojo-bsp/src/main/java/cn/estsh/i3plus/pojo/bsp/server/bean/vo/ScriptTestVo.java @@ -0,0 +1,34 @@ +package cn.estsh.i3plus.pojo.bsp.server.bean.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @Description : + * @Reference : + * @Author : Castle + * @CreateDate : 2022/1/22 14:27 + * @Modify: + **/ +@Data +@ApiModel(value = "脚本测试") +public class ScriptTestVo { + + @ApiModelProperty(value = "脚本内容") + private String scriptContent; + + @ApiModelProperty(value = "方法名,默认为execute") + private String methodName; + + @ApiModelProperty(value = "参数列表,注意入参顺序的对应") + private List arguments; + + @ApiModelProperty(value = "执行器") + private Integer targetExecutor; + + @ApiModelProperty(value = "脚本语言") + private Integer languageType; +}