diff --git a/modules/i3plus-pojo-bsp/src/main/java/cn/estsh/i3plus/pojo/bsp/common/util/GsonTool.java b/modules/i3plus-pojo-bsp/src/main/java/cn/estsh/i3plus/pojo/bsp/common/GsonTool.java similarity index 97% rename from modules/i3plus-pojo-bsp/src/main/java/cn/estsh/i3plus/pojo/bsp/common/util/GsonTool.java rename to modules/i3plus-pojo-bsp/src/main/java/cn/estsh/i3plus/pojo/bsp/common/GsonTool.java index 8fddf3a..63e2956 100644 --- a/modules/i3plus-pojo-bsp/src/main/java/cn/estsh/i3plus/pojo/bsp/common/util/GsonTool.java +++ b/modules/i3plus-pojo-bsp/src/main/java/cn/estsh/i3plus/pojo/bsp/common/GsonTool.java @@ -1,4 +1,4 @@ -package cn.estsh.i3plus.pojo.bsp.common.util; +package cn.estsh.i3plus.pojo.bsp.common; import com.google.gson.Gson; import com.google.gson.GsonBuilder; diff --git a/modules/i3plus-pojo-bsp/src/main/java/cn/estsh/i3plus/pojo/bsp/common/util/HttpUtils.java b/modules/i3plus-pojo-bsp/src/main/java/cn/estsh/i3plus/pojo/bsp/common/HttpUtils.java similarity index 96% rename from modules/i3plus-pojo-bsp/src/main/java/cn/estsh/i3plus/pojo/bsp/common/util/HttpUtils.java rename to modules/i3plus-pojo-bsp/src/main/java/cn/estsh/i3plus/pojo/bsp/common/HttpUtils.java index 2d28014..f1032b0 100644 --- a/modules/i3plus-pojo-bsp/src/main/java/cn/estsh/i3plus/pojo/bsp/common/util/HttpUtils.java +++ b/modules/i3plus-pojo-bsp/src/main/java/cn/estsh/i3plus/pojo/bsp/common/HttpUtils.java @@ -1,6 +1,5 @@ -package cn.estsh.i3plus.pojo.bsp.common.util; +package cn.estsh.i3plus.pojo.bsp.common; -import cn.estsh.i3plus.pojo.bsp.common.ReturnT; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -65,10 +64,9 @@ public class HttpUtils { * @param url * @param timeout * @param requestObj - * @param returnTargClassOfT * @return */ - public static ReturnT postBody(String url, int timeout, Object requestObj, Class returnTargClassOfT) { + public static ReturnT postBody(String url, int timeout, Object requestObj) { HttpURLConnection connection = null; BufferedReader bufferedReader = null; try { 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 new file mode 100644 index 0000000..0614b68 --- /dev/null +++ b/modules/i3plus-pojo-bsp/src/main/java/cn/estsh/i3plus/pojo/bsp/server/bean/model/MethodGroupModel.java @@ -0,0 +1,29 @@ +package cn.estsh.i3plus.pojo.bsp.server.bean.model; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiParam; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.util.List; +import java.util.Map; + +/** + * @Description : + * @Reference : + * @Author : Castle + * @CreateDate : 2021/6/21 10:40 + * @Modify: + **/ +@Data +@AllArgsConstructor +@Api("添加方法组") +public class MethodGroupModel { + + @ApiParam("方法组的名称") + private String methodGroupName; + @ApiParam("方法组的描述") + private String description; + @ApiParam("方法组层级列表") + private List methodLevel; +} 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 new file mode 100644 index 0000000..13ca0b7 --- /dev/null +++ b/modules/i3plus-pojo-bsp/src/main/java/cn/estsh/i3plus/pojo/bsp/server/bean/model/MethodLevelModel.java @@ -0,0 +1,28 @@ +package cn.estsh.i3plus.pojo.bsp.server.bean.model; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiParam; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.util.List; + +/** + * @Description : + * @Reference : + * @Author : Castle + * @CreateDate : 2021/6/21 10:50 + * @Modify: + **/ +@Data +@AllArgsConstructor +@Api("添加方法组层级") +public class MethodLevelModel { + + @ApiParam("方法Id") + private Long methodId; + @ApiParam("方法层级") + private String level; + @ApiParam("参数列表") + List paramModels; +} 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 new file mode 100644 index 0000000..5664d22 --- /dev/null +++ b/modules/i3plus-pojo-bsp/src/main/java/cn/estsh/i3plus/pojo/bsp/server/bean/model/MethodLevelParamModel.java @@ -0,0 +1,27 @@ +package cn.estsh.i3plus.pojo.bsp.server.bean.model; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiParam; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.util.Map; + +/** + * @Description : + * @Reference : + * @Author : Castle + * @CreateDate : 2021/6/21 11:18 + * @Modify: + **/ +@Data +@AllArgsConstructor +@Api("添加方法组层级参数") +public class MethodLevelParamModel { + @ApiParam("根据出参生成,入参key = 层级 + methodId + 出参Name") + private String paramKey; + @ApiParam("对应本方法的入参名称") + private String paramValue; + @ApiParam("入参类型,用于校验数据类型") + private String type; +} diff --git a/modules/i3plus-pojo-bsp/src/main/java/cn/estsh/i3plus/pojo/bsp/server/bean/model/RegistryMethodParamInfo.java b/modules/i3plus-pojo-bsp/src/main/java/cn/estsh/i3plus/pojo/bsp/server/bean/model/RegistryMethodParamInfo.java index 4bac2c0..06899f1 100644 --- a/modules/i3plus-pojo-bsp/src/main/java/cn/estsh/i3plus/pojo/bsp/server/bean/model/RegistryMethodParamInfo.java +++ b/modules/i3plus-pojo-bsp/src/main/java/cn/estsh/i3plus/pojo/bsp/server/bean/model/RegistryMethodParamInfo.java @@ -14,7 +14,7 @@ import lombok.Data; **/ @Data @AllArgsConstructor -@Api("方法祖册参数") +@Api("方法注册参数") public class RegistryMethodParamInfo { @ApiParam("参数名") diff --git a/modules/i3plus-pojo-bsp/src/main/java/cn/estsh/i3plus/pojo/bsp/server/bean/model/RequestModel.java b/modules/i3plus-pojo-bsp/src/main/java/cn/estsh/i3plus/pojo/bsp/server/bean/model/RequestModel.java new file mode 100644 index 0000000..1d3d656 --- /dev/null +++ b/modules/i3plus-pojo-bsp/src/main/java/cn/estsh/i3plus/pojo/bsp/server/bean/model/RequestModel.java @@ -0,0 +1,28 @@ +package cn.estsh.i3plus.pojo.bsp.server.bean.model; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Map; + +/** + * @Description : + * @Reference : + * @Author : Castle + * @CreateDate : 2021/6/18 11:03 + * @Modify: + **/ +@Data +@AllArgsConstructor +@NoArgsConstructor +@ApiModel("远程调用方法参数") +public class RequestModel { + @ApiModelProperty("执行方法的key") + private String methodHandlerKey; + @ApiModelProperty("方法的入参") + private Map jsonParamMap; +} diff --git a/modules/i3plus-pojo-bsp/src/main/java/cn/estsh/i3plus/pojo/bsp/server/bean/po/ExecutorGroupRegistryInfo.java b/modules/i3plus-pojo-bsp/src/main/java/cn/estsh/i3plus/pojo/bsp/server/bean/po/ExecutorGroupRegistryInfo.java index 77de389..8da6d03 100644 --- a/modules/i3plus-pojo-bsp/src/main/java/cn/estsh/i3plus/pojo/bsp/server/bean/po/ExecutorGroupRegistryInfo.java +++ b/modules/i3plus-pojo-bsp/src/main/java/cn/estsh/i3plus/pojo/bsp/server/bean/po/ExecutorGroupRegistryInfo.java @@ -43,7 +43,7 @@ public class ExecutorGroupRegistryInfo extends BaseBean implements Serializable private String type; @Column - @ApiModelProperty("执行器组路由策略") + @ApiModelProperty("执行器组路由策略,默认随机") private String routeStrategy; @Column(name = "UPDATE_TIME") diff --git a/modules/i3plus-pojo-bsp/src/main/java/cn/estsh/i3plus/pojo/bsp/server/bean/po/ExecutorRegistryMethodInfo.java b/modules/i3plus-pojo-bsp/src/main/java/cn/estsh/i3plus/pojo/bsp/server/bean/po/ExecutorRegistryMethodInfo.java index b18a7f7..38e7baa 100644 --- a/modules/i3plus-pojo-bsp/src/main/java/cn/estsh/i3plus/pojo/bsp/server/bean/po/ExecutorRegistryMethodInfo.java +++ b/modules/i3plus-pojo-bsp/src/main/java/cn/estsh/i3plus/pojo/bsp/server/bean/po/ExecutorRegistryMethodInfo.java @@ -8,7 +8,9 @@ import lombok.*; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Table; +import javax.persistence.Transient; import java.io.Serializable; +import java.util.List; /** * @Description : @@ -48,4 +50,8 @@ public class ExecutorRegistryMethodInfo extends BaseBean implements Serializable @ApiModelProperty("所属执行器的appName") private String appName; + @Transient + @ApiModelProperty("方法参数列表") + private List paramInfos; + } 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 new file mode 100644 index 0000000..f010070 --- /dev/null +++ b/modules/i3plus-pojo-bsp/src/main/java/cn/estsh/i3plus/pojo/bsp/server/bean/po/MethodGroupInfo.java @@ -0,0 +1,42 @@ +package cn.estsh.i3plus.pojo.bsp.server.bean.po; + +import cn.estsh.i3plus.pojo.base.bean.BaseBean; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.*; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Table; +import java.io.Serializable; + +/** + * @Description : + * @Reference : + * @Author : Castle + * @CreateDate : 2021/6/18 14:31 + * @Modify: + **/ +@Entity +@Table(name = "METHOD_GROUP_INFO") +@Data +@EqualsAndHashCode(callSuper = true) +@NoArgsConstructor +@AllArgsConstructor +@Builder +@ApiModel("方法组合") +public class MethodGroupInfo extends BaseBean implements Serializable { + + + private static final long serialVersionUID = -7868208264526298210L; + + @Column(name = "NAME") + @ApiModelProperty("方法组名称") + private String name; + + @Column(name = "DESCRIPTION") + @ApiModelProperty("方法组描述") + private String description; + + +} diff --git a/modules/i3plus-pojo-bsp/src/main/java/cn/estsh/i3plus/pojo/bsp/server/bean/po/MethodLevelInfo.java b/modules/i3plus-pojo-bsp/src/main/java/cn/estsh/i3plus/pojo/bsp/server/bean/po/MethodLevelInfo.java new file mode 100644 index 0000000..c1b4f15 --- /dev/null +++ b/modules/i3plus-pojo-bsp/src/main/java/cn/estsh/i3plus/pojo/bsp/server/bean/po/MethodLevelInfo.java @@ -0,0 +1,49 @@ +package cn.estsh.i3plus.pojo.bsp.server.bean.po; + +import cn.estsh.i3plus.pojo.base.bean.BaseBean; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.*; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Table; +import javax.persistence.Transient; +import java.io.Serializable; +import java.util.List; + +/** + * @Description : + * @Reference : + * @Author : Castle + * @CreateDate : 2021/6/18 14:46 + * @Modify: + **/ +@Entity +@Table(name = "METHOD_LEVEL_INFO") +@Data +@EqualsAndHashCode(callSuper = true) +@NoArgsConstructor +@AllArgsConstructor +@Builder +@ApiModel("方法层级") +public class MethodLevelInfo extends BaseBean implements Serializable { + private static final long serialVersionUID = -6341443254774985571L; + + + @Column(name = "METHOD_GROUP_ID") + @ApiModelProperty("所属方法组的ID") + private Long methodGroupId; + + @Column(name = "LEVEL") + @ApiModelProperty("执行层级,相同层级可以并行执行") + private String level; + + @Column(name = "METHOD_ID") + @ApiModelProperty("当前层级的方法ID") + private Long methodId; + + @Transient + @ApiModelProperty("方法的参数关系列表") + private List paramInfoList; +} diff --git a/modules/i3plus-pojo-bsp/src/main/java/cn/estsh/i3plus/pojo/bsp/server/bean/po/MethodLevelParamInfo.java b/modules/i3plus-pojo-bsp/src/main/java/cn/estsh/i3plus/pojo/bsp/server/bean/po/MethodLevelParamInfo.java new file mode 100644 index 0000000..23c0d46 --- /dev/null +++ b/modules/i3plus-pojo-bsp/src/main/java/cn/estsh/i3plus/pojo/bsp/server/bean/po/MethodLevelParamInfo.java @@ -0,0 +1,66 @@ +package cn.estsh.i3plus.pojo.bsp.server.bean.po; + +import cn.estsh.i3plus.pojo.base.bean.BaseBean; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.*; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Table; +import java.io.Serializable; + +/** + * @Description : + * @Reference : + * @Author : Castle + * @CreateDate : 2021/6/18 15:08 + * @Modify: + **/ +@Entity +@Table(name = "METHOD_LEVEL_PARAM_INFO") +@Data +@EqualsAndHashCode(callSuper = true) +@NoArgsConstructor +@AllArgsConstructor +@Builder +@ApiModel("方法层级参数关系") +public class MethodLevelParamInfo extends BaseBean implements Serializable { + + private static final long serialVersionUID = 5700666543596399984L; + /** + * 来源 层级 + 参数名 + 方法Id + */ + @Column(name = "PARAM_KEY") + @ApiModelProperty("参数来源 层级 + 参数名 + 方法Id") + private String paramKey; + /** + * 对应方法的入参名称 + */ + @Column(name = "METHOD_PARAM_NAME") + @ApiModelProperty("对应当前方法的入参名称") + private String methodParamName; + + /** + * 对应的methodId + */ + @Column(name = "METHOD_ID") + @ApiModelProperty("对应的当前层级的方法Id") + private Long methodId; + + @Column(name = "METHOD_GROUP_ID") + @ApiModelProperty("对应方法组的Id") + private Long methodGroupId; + /** + * 原有方法的入参是否必须,做验证 + */ + @Column(name = "require") + @ApiModelProperty("原有方法的入参是否必须,做调用前验证") + private Integer require; + /** + * 参数类型,验证是否正确 + */ + @Column(name = "type") + @ApiModelProperty("参数类型验证") + private String type; +} diff --git a/modules/i3plus-pojo-bsp/src/main/java/cn/estsh/i3plus/pojo/bsp/server/bean/screen/InvokeMethodGroupModel.java b/modules/i3plus-pojo-bsp/src/main/java/cn/estsh/i3plus/pojo/bsp/server/bean/screen/InvokeMethodGroupModel.java new file mode 100644 index 0000000..5ddca9e --- /dev/null +++ b/modules/i3plus-pojo-bsp/src/main/java/cn/estsh/i3plus/pojo/bsp/server/bean/screen/InvokeMethodGroupModel.java @@ -0,0 +1,25 @@ +package cn.estsh.i3plus.pojo.bsp.server.bean.screen; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiParam; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.util.Map; + +/** + * @Description : + * @Reference : + * @Author : Castle + * @CreateDate : 2021/6/21 11:42 + * @Modify: + **/ +@Data +@AllArgsConstructor +@Api("调用方法组") +public class InvokeMethodGroupModel { + @ApiParam("方法组Id") + private Long methodGroupId; + @ApiParam("方法组入参") + private Map paramMap; +} diff --git a/modules/i3plus-pojo-bsp/src/main/java/cn/estsh/i3plus/pojo/bsp/server/bean/screen/InvokeMethodModel.java b/modules/i3plus-pojo-bsp/src/main/java/cn/estsh/i3plus/pojo/bsp/server/bean/screen/InvokeMethodModel.java new file mode 100644 index 0000000..4d651d0 --- /dev/null +++ b/modules/i3plus-pojo-bsp/src/main/java/cn/estsh/i3plus/pojo/bsp/server/bean/screen/InvokeMethodModel.java @@ -0,0 +1,30 @@ +package cn.estsh.i3plus.pojo.bsp.server.bean.screen; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiParam; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Map; + +/** + * @Description : + * @Reference : + * @Author : Castle + * @CreateDate : 2021/6/21 9:44 + * @Modify: + **/ +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Api("通用界面单独调用方法") +public class InvokeMethodModel { + @ApiParam("调用方法的Id,或者方法组Id") + private Long id; + + @ApiParam("方法的入参map") + private Map params; +} diff --git a/modules/i3plus-pojo-bsp/src/main/java/cn/estsh/i3plus/pojo/bsp/server/repository/MethodGroupInfoRepository.java b/modules/i3plus-pojo-bsp/src/main/java/cn/estsh/i3plus/pojo/bsp/server/repository/MethodGroupInfoRepository.java new file mode 100644 index 0000000..f231404 --- /dev/null +++ b/modules/i3plus-pojo-bsp/src/main/java/cn/estsh/i3plus/pojo/bsp/server/repository/MethodGroupInfoRepository.java @@ -0,0 +1,16 @@ +package cn.estsh.i3plus.pojo.bsp.server.repository; + +import cn.estsh.i3plus.pojo.base.jpa.dao.BaseRepository; +import cn.estsh.i3plus.pojo.bsp.server.bean.po.MethodGroupInfo; +import org.springframework.stereotype.Repository; + +/** + * @Description : + * @Reference : + * @Author : Castle + * @CreateDate : 2021/6/21 10:25 + * @Modify: + **/ +@Repository +public interface MethodGroupInfoRepository extends BaseRepository { +} diff --git a/modules/i3plus-pojo-bsp/src/main/java/cn/estsh/i3plus/pojo/bsp/server/repository/MethodLevelInfoRepository.java b/modules/i3plus-pojo-bsp/src/main/java/cn/estsh/i3plus/pojo/bsp/server/repository/MethodLevelInfoRepository.java new file mode 100644 index 0000000..bf29f09 --- /dev/null +++ b/modules/i3plus-pojo-bsp/src/main/java/cn/estsh/i3plus/pojo/bsp/server/repository/MethodLevelInfoRepository.java @@ -0,0 +1,16 @@ +package cn.estsh.i3plus.pojo.bsp.server.repository; + +import cn.estsh.i3plus.pojo.base.jpa.dao.BaseRepository; +import cn.estsh.i3plus.pojo.bsp.server.bean.po.MethodLevelInfo; +import org.springframework.stereotype.Repository; + +/** + * @Description : + * @Reference : + * @Author : Castle + * @CreateDate : 2021/6/21 10:26 + * @Modify: + **/ +@Repository +public interface MethodLevelInfoRepository extends BaseRepository { +} diff --git a/modules/i3plus-pojo-bsp/src/main/java/cn/estsh/i3plus/pojo/bsp/server/repository/MethodLevelParamInfoRepository.java b/modules/i3plus-pojo-bsp/src/main/java/cn/estsh/i3plus/pojo/bsp/server/repository/MethodLevelParamInfoRepository.java new file mode 100644 index 0000000..37c8eea --- /dev/null +++ b/modules/i3plus-pojo-bsp/src/main/java/cn/estsh/i3plus/pojo/bsp/server/repository/MethodLevelParamInfoRepository.java @@ -0,0 +1,16 @@ +package cn.estsh.i3plus.pojo.bsp.server.repository; + +import cn.estsh.i3plus.pojo.base.jpa.dao.BaseRepository; +import cn.estsh.i3plus.pojo.bsp.server.bean.po.MethodLevelParamInfo; +import org.springframework.stereotype.Repository; + +/** + * @Description : + * @Reference : + * @Author : Castle + * @CreateDate : 2021/6/21 10:27 + * @Modify: + **/ +@Repository +public interface MethodLevelParamInfoRepository extends BaseRepository { +}