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