parseValueForDefault() {
+ return null;
+ }
+
+}
diff --git a/src/main/java/aiyh/utils/apirequest/core/typehandler/paramtype/BooleanTypeHandler.java b/src/main/java/aiyh/utils/apirequest/core/typehandler/paramtype/BooleanTypeHandler.java
new file mode 100644
index 0000000..9a6a03a
--- /dev/null
+++ b/src/main/java/aiyh/utils/apirequest/core/typehandler/paramtype/BooleanTypeHandler.java
@@ -0,0 +1,18 @@
+package aiyh.utils.apirequest.core.typehandler.paramtype;
+
+import aiyh.utils.apirequest.core.typehandler.IParamTypeHandler;
+
+/**
+ * boolean参数类型处理器
+ * create 2022/1/24 0024 11:35
+ *
+ * @author EBU7-dev1-ayh
+ */
+
+
+public class BooleanTypeHandler implements IParamTypeHandler {
+ @Override
+ public Boolean getValue(Object value) {
+ return Boolean.valueOf(String.valueOf(value));
+ }
+}
diff --git a/src/main/java/aiyh/utils/apirequest/core/typehandler/paramtype/DoubleTypeHandler.java b/src/main/java/aiyh/utils/apirequest/core/typehandler/paramtype/DoubleTypeHandler.java
new file mode 100644
index 0000000..2cb8b8b
--- /dev/null
+++ b/src/main/java/aiyh/utils/apirequest/core/typehandler/paramtype/DoubleTypeHandler.java
@@ -0,0 +1,18 @@
+package aiyh.utils.apirequest.core.typehandler.paramtype;
+
+import aiyh.utils.apirequest.core.typehandler.IParamTypeHandler;
+
+/**
+ * 浮点数类型处理器
+ * create 2022/1/24 0024 11:35
+ *
+ * @author EBU7-dev1-ayh
+ */
+
+
+public class DoubleTypeHandler implements IParamTypeHandler {
+ @Override
+ public Double getValue(Object value) {
+ return Double.valueOf(String.valueOf(value));
+ }
+}
diff --git a/src/main/java/aiyh/utils/apirequest/core/typehandler/paramtype/ListTypeHandler.java b/src/main/java/aiyh/utils/apirequest/core/typehandler/paramtype/ListTypeHandler.java
new file mode 100644
index 0000000..64d7ddb
--- /dev/null
+++ b/src/main/java/aiyh/utils/apirequest/core/typehandler/paramtype/ListTypeHandler.java
@@ -0,0 +1,18 @@
+package aiyh.utils.apirequest.core.typehandler.paramtype;
+
+import aiyh.utils.apirequest.core.typehandler.IParamTypeHandler;
+
+/**
+ * 数组参数类型处理器
+ * create 2022/1/24 0024 11:36
+ *
+ * @author EBU7-dev1-ayh
+ */
+
+
+public class ListTypeHandler implements IParamTypeHandler {
+ @Override
+ public Object getValue(Object value) {
+ return null;
+ }
+}
diff --git a/src/main/java/aiyh/utils/apirequest/core/typehandler/paramtype/LongTypeHandler.java b/src/main/java/aiyh/utils/apirequest/core/typehandler/paramtype/LongTypeHandler.java
new file mode 100644
index 0000000..6ad58eb
--- /dev/null
+++ b/src/main/java/aiyh/utils/apirequest/core/typehandler/paramtype/LongTypeHandler.java
@@ -0,0 +1,18 @@
+package aiyh.utils.apirequest.core.typehandler.paramtype;
+
+import aiyh.utils.apirequest.core.typehandler.IParamTypeHandler;
+
+/**
+ * 长整型数据类型处理器
+ * create 2022/1/24 0024 11:34
+ *
+ * @author EBU7-dev1-ayh
+ */
+
+
+public class LongTypeHandler implements IParamTypeHandler {
+ @Override
+ public Long getValue(Object value) {
+ return Long.valueOf(String.valueOf(value));
+ }
+}
diff --git a/src/main/java/aiyh/utils/apirequest/core/typehandler/paramtype/ObjectTypeHandler.java b/src/main/java/aiyh/utils/apirequest/core/typehandler/paramtype/ObjectTypeHandler.java
new file mode 100644
index 0000000..4a50981
--- /dev/null
+++ b/src/main/java/aiyh/utils/apirequest/core/typehandler/paramtype/ObjectTypeHandler.java
@@ -0,0 +1,18 @@
+package aiyh.utils.apirequest.core.typehandler.paramtype;
+
+import aiyh.utils.apirequest.core.typehandler.IParamTypeHandler;
+
+/**
+ * Object参数类型处理器
+ * create 2022/1/24 0024 11:34
+ *
+ * @author EBU7-dev1-ayh
+ */
+
+
+public class ObjectTypeHandler implements IParamTypeHandler {
+ @Override
+ public Object getValue(Object value) {
+ return null;
+ }
+}
diff --git a/src/main/java/aiyh/utils/apirequest/core/typehandler/paramtype/StringTypeHandler.java b/src/main/java/aiyh/utils/apirequest/core/typehandler/paramtype/StringTypeHandler.java
new file mode 100644
index 0000000..12c8f36
--- /dev/null
+++ b/src/main/java/aiyh/utils/apirequest/core/typehandler/paramtype/StringTypeHandler.java
@@ -0,0 +1,18 @@
+package aiyh.utils.apirequest.core.typehandler.paramtype;
+
+import aiyh.utils.apirequest.core.typehandler.IParamTypeHandler;
+
+/**
+ * 字符串类型处理器
+ * create 2022/1/24 0024 11:09
+ *
+ * @author EBU7-dev1-ayh
+ */
+
+
+public class StringTypeHandler implements IParamTypeHandler {
+ @Override
+ public String getValue(Object value) {
+ return String.valueOf(value);
+ }
+}
diff --git a/src/main/java/aiyh/utils/apirequest/core/typehandler/paramvalue/FixedValueRuleHandle.java b/src/main/java/aiyh/utils/apirequest/core/typehandler/paramvalue/FixedValueRuleHandle.java
new file mode 100644
index 0000000..d19df23
--- /dev/null
+++ b/src/main/java/aiyh/utils/apirequest/core/typehandler/paramvalue/FixedValueRuleHandle.java
@@ -0,0 +1,22 @@
+package aiyh.utils.apirequest.core.typehandler.paramvalue;
+
+import aiyh.utils.apirequest.core.typehandler.IParamValueRuleHandler;
+import aiyh.utils.apirequest.pojo.ApiRequestParamDetail;
+
+import java.util.Map;
+
+/**
+ * 固定值处理器
+ * create 2022/1/23 0023 19:51
+ *
+ * @author EBU7-dev1-ayh
+ */
+
+
+public class FixedValueRuleHandle implements IParamValueRuleHandler {
+
+ @Override
+ public Object getValue(ApiRequestParamDetail paramInfo, Map dataMap) {
+ return null;
+ }
+}
diff --git a/src/main/java/aiyh/utils/apirequest/core/typehandler/paramvalue/NullValueRuleHandler.java b/src/main/java/aiyh/utils/apirequest/core/typehandler/paramvalue/NullValueRuleHandler.java
new file mode 100644
index 0000000..d4ef605
--- /dev/null
+++ b/src/main/java/aiyh/utils/apirequest/core/typehandler/paramvalue/NullValueRuleHandler.java
@@ -0,0 +1,22 @@
+package aiyh.utils.apirequest.core.typehandler.paramvalue;
+
+import aiyh.utils.apirequest.core.typehandler.IParamValueRuleHandler;
+import aiyh.utils.apirequest.pojo.ApiRequestParamDetail;
+
+import java.util.Map;
+
+/**
+ * 空值处理器
+ * create 2022/1/23 0023 19:52
+ *
+ * @author EBU7-dev1-ayh
+ */
+
+
+public class NullValueRuleHandler implements IParamValueRuleHandler {
+
+ @Override
+ public Object getValue(ApiRequestParamDetail paramInfo, Map dataMap) {
+ return null;
+ }
+}
diff --git a/src/main/java/aiyh/utils/apirequest/entity/HeardInfo.java b/src/main/java/aiyh/utils/apirequest/entity/HeardInfo.java
new file mode 100644
index 0000000..9e2c4d9
--- /dev/null
+++ b/src/main/java/aiyh/utils/apirequest/entity/HeardInfo.java
@@ -0,0 +1,24 @@
+package aiyh.utils.apirequest.entity;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 请求头信息
+ * create 2022/1/23 0023 21:09
+ *
+ * @author EBU7-dev1-ayh
+ */
+
+@Data
+public class HeardInfo {
+ /**
+ * 参数名称
+ */
+ private String heardName;
+ /**
+ * 参数值
+ */
+ private String heardValue;
+}
diff --git a/src/main/java/aiyh/utils/apirequest/entity/ParamConfigInfo.java b/src/main/java/aiyh/utils/apirequest/entity/ParamConfigInfo.java
new file mode 100644
index 0000000..1fcfb86
--- /dev/null
+++ b/src/main/java/aiyh/utils/apirequest/entity/ParamConfigInfo.java
@@ -0,0 +1,72 @@
+package aiyh.utils.apirequest.entity;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 配置信息
+ * create 2022/1/23 0023 21:08
+ *
+ * @author EBU7-dev1-ayh
+ */
+
+@Data
+public class ParamConfigInfo {
+ private String requestId;
+
+ private Integer id;
+ /**
+ * api地址
+ */
+ private String apiUrl;
+ /**
+ * 测试环境api地址
+ */
+ private String testApiUrl;
+ /**
+ * 请求方式
+ */
+ private Integer requestType;
+ /**
+ * api启用类型
+ */
+ private Integer apiType;
+ /**
+ * 数据来源
+ */
+ private Integer dataSource;
+ /**
+ * api接口描述
+ */
+ private String apiDesc;
+ /**
+ * 流程类型
+ */
+ private String workflowType;
+ /**
+ * 建模表表名
+ */
+ private String modelTableName;
+ /**
+ * 参数请求方式
+ */
+ private Integer paramRequestType;
+ /**
+ * 请求参数的数据来源,适用于参数请求方式为明细表模式
+ */
+ private String requestDetailTableName;
+
+ /**
+ * 唯一标识
+ */
+ private String onlyMark;
+ /**
+ * 参数信息
+ */
+ private List paramInfoList;
+ /**
+ * 请求头信息
+ */
+ private List heardInfoList;
+}
diff --git a/src/main/java/aiyh/utils/apirequest/entity/ParamInfo.java b/src/main/java/aiyh/utils/apirequest/entity/ParamInfo.java
new file mode 100644
index 0000000..1efa372
--- /dev/null
+++ b/src/main/java/aiyh/utils/apirequest/entity/ParamInfo.java
@@ -0,0 +1,37 @@
+package aiyh.utils.apirequest.entity;
+
+import aiyh.utils.apirequest.pojo.ApiRequestParamDetail;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 参数信息
+ * create 2022/1/23 0023 21:04
+ *
+ * @author EBU7-dev1-ayh
+ */
+
+@Data
+public class ParamInfo {
+ /**
+ * 行号
+ */
+ private Integer lineNum;
+ /**
+ * 参数名称
+ */
+ private String paramName;
+ /**
+ * 参数值
+ */
+ private Object paramValue;
+ /**
+ * 所属 父级参数名
+ */
+ private Integer parentLine;
+ /**
+ * 子节点
+ */
+ private List childList;
+}
diff --git a/src/main/java/aiyh/utils/apirequest/entity/ParseAfterData.java b/src/main/java/aiyh/utils/apirequest/entity/ParseAfterData.java
new file mode 100644
index 0000000..e5d3bda
--- /dev/null
+++ b/src/main/java/aiyh/utils/apirequest/entity/ParseAfterData.java
@@ -0,0 +1,26 @@
+package aiyh.utils.apirequest.entity;
+
+import java.util.Map;
+
+/**
+ * 解析后的参数
+ * create 2022/1/23 0023 20:33
+ *
+ * @author EBU7-dev1-ayh
+ */
+
+
+public class ParseAfterData {
+ /**
+ * 是否自动发送请求
+ */
+ private boolean autoRequest;
+ /**
+ * 请求参数
+ */
+ private Map requestData;
+ /**
+ * 请求头信息
+ */
+ private Map requestHeard;
+}
diff --git a/src/main/java/aiyh/utils/apirequest/enumtype/DataSourceRuleEnum.java b/src/main/java/aiyh/utils/apirequest/enumtype/DataSourceRuleEnum.java
new file mode 100644
index 0000000..55d0360
--- /dev/null
+++ b/src/main/java/aiyh/utils/apirequest/enumtype/DataSourceRuleEnum.java
@@ -0,0 +1,48 @@
+package aiyh.utils.apirequest.enumtype;
+
+import java.util.EnumSet;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * 参数处理类型枚举
+ * create 2022/1/26 0026 10:43
+ *
+ * @author EBU7-dev1-ayh
+ */
+
+
+public enum DataSourceRuleEnum {
+
+ /**
+ * 流程
+ */
+ WORKFLOW_DATA(0),
+ /**
+ * 建模表
+ */
+ MODEL_DATA(1);
+
+ private static final Map LOOKUP;
+
+ static {
+ LOOKUP = new HashMap<>();
+ for (DataSourceRuleEnum enumType : EnumSet.allOf(DataSourceRuleEnum.class)) {
+ LOOKUP.put(enumType.getValue(), enumType);
+ }
+ }
+
+ private final int value;
+
+ DataSourceRuleEnum(int value) {
+ this.value = value;
+ }
+
+ public static DataSourceRuleEnum get(int value) {
+ return LOOKUP.get(value);
+ }
+
+ public int getValue() {
+ return this.value;
+ }
+}
diff --git a/src/main/java/aiyh/utils/apirequest/enumtype/ParamTypeEnum.java b/src/main/java/aiyh/utils/apirequest/enumtype/ParamTypeEnum.java
new file mode 100644
index 0000000..afb684a
--- /dev/null
+++ b/src/main/java/aiyh/utils/apirequest/enumtype/ParamTypeEnum.java
@@ -0,0 +1,12 @@
+package aiyh.utils.apirequest.enumtype;
+
+/**
+ * 参数类型枚举
+ * create 2022/1/25 0025 10:36
+ *
+ * @author EBU7-dev1-ayh
+ */
+
+
+public enum ParamTypeEnum {
+}
diff --git a/src/main/java/aiyh/utils/apirequest/enumtype/ParamValueRuleEnum.java b/src/main/java/aiyh/utils/apirequest/enumtype/ParamValueRuleEnum.java
new file mode 100644
index 0000000..e63833e
--- /dev/null
+++ b/src/main/java/aiyh/utils/apirequest/enumtype/ParamValueRuleEnum.java
@@ -0,0 +1,83 @@
+package aiyh.utils.apirequest.enumtype;
+
+import java.util.EnumSet;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * 取值方式枚举
+ * create 2022/1/25 0025 10:16
+ *
+ * @author EBU7-dev1-ayh
+ */
+
+
+public enum ParamValueRuleEnum {
+ /**
+ * 空值
+ */
+ NULL_VALUE(0),
+ /**
+ * 固定值
+ */
+ FIXED_VALUE(1),
+ /**
+ * 系统字段
+ */
+ SYSTEM_FIELD(2),
+ /**
+ * 自定义SQL
+ */
+ CUSTOMER_SQL(3),
+ /**
+ * 当前时间
+ */
+ CURRENT_TIME(4),
+ /**
+ * 流程请求id
+ */
+ REQUEST_ID(5),
+ /**
+ * 流程id
+ */
+ WORKFLOW_ID(6),
+ /**
+ * 随机值
+ */
+ RANDOM_VALUE(7),
+ /**
+ * 附件
+ */
+ ATTACHMENT_FILE(8),
+ /**
+ * 时间戳
+ */
+ TIME_STAMP(9),
+ /**
+ * SQL字段
+ */
+ SQL_FIELD(10);
+
+ private static final Map LOOKUP;
+
+ static {
+ LOOKUP = new HashMap<>();
+ for (ParamValueRuleEnum enumType : EnumSet.allOf(ParamValueRuleEnum.class)) {
+ LOOKUP.put(enumType.getValue(), enumType);
+ }
+ }
+
+ private final int value;
+
+ ParamValueRuleEnum(int value) {
+ this.value = value;
+ }
+
+ public static ParamValueRuleEnum get(int value) {
+ return LOOKUP.get(value);
+ }
+
+ public int getValue() {
+ return this.value;
+ }
+}
diff --git a/src/main/java/aiyh/utils/apirequest/interceptor/ApiRequestInterceptor.java b/src/main/java/aiyh/utils/apirequest/interceptor/ApiRequestInterceptor.java
new file mode 100644
index 0000000..353eb12
--- /dev/null
+++ b/src/main/java/aiyh/utils/apirequest/interceptor/ApiRequestInterceptor.java
@@ -0,0 +1,51 @@
+package aiyh.utils.apirequest.interceptor;
+
+import aiyh.utils.apirequest.entity.ParamConfigInfo;
+import aiyh.utils.apirequest.entity.ParseAfterData;
+import aiyh.utils.apirequest.pojo.ApiRequestMain;
+import aiyh.utils.httpUtil.ResponeVo;
+
+/**
+ * api 请求工具类拦截器
+ * create 2022/1/22 0022 20:19
+ *
+ * @author EBU7-dev1-ayh
+ */
+
+
+public interface ApiRequestInterceptor {
+ /**
+ * 值解析前;拦截器'
+ * @param apiRequestMain 数据库配置数据信息
+ * @return 数据库配置数据
+ */
+ public ApiRequestMain parseBefore(ApiRequestMain apiRequestMain);
+
+ /**
+ * 解析值之后拦截器
+ * @param paramConfigInfo 解析后的值
+ * @return 值解析后的数据
+ */
+ public ParamConfigInfo parseAfter(ParamConfigInfo paramConfigInfo);
+
+ /**
+ * 解析成树形结构之后拦截器
+ * @param paramConfigTreeInfo 树形结构的请求参数配置信息
+ * @return 树形结构的请求参数配置信息
+ */
+ public ParamConfigInfo parseTreeAfter(ParamConfigInfo paramConfigTreeInfo);
+ /**
+ * 请求前拦截器
+ * @param parseAfterData 参数树形解析后参数
+ * @return 最终请求参数
+ */
+ public ParseAfterData requestBefore(ParseAfterData parseAfterData);
+
+ /**
+ * 请求完成后回调
+ * @param isSuccess 是否请求成功
+ * @param responeVo 响应结果信息
+ */
+ public void requestAfter(ResponeVo responeVo,boolean isSuccess);
+
+}
diff --git a/src/main/java/aiyh/utils/apirequest/mapper/ApiRequestMapper.java b/src/main/java/aiyh/utils/apirequest/mapper/ApiRequestMapper.java
new file mode 100644
index 0000000..0d44d47
--- /dev/null
+++ b/src/main/java/aiyh/utils/apirequest/mapper/ApiRequestMapper.java
@@ -0,0 +1,53 @@
+package aiyh.utils.apirequest.mapper;
+
+import aiyh.utils.annotation.recordset.ParamMapper;
+import aiyh.utils.annotation.recordset.Select;
+import aiyh.utils.annotation.recordset.SqlMapper;
+import aiyh.utils.apirequest.pojo.ApiRequestHeardDetail;
+import aiyh.utils.apirequest.pojo.ApiRequestMain;
+import aiyh.utils.apirequest.pojo.ApiRequestParamDetail;
+
+import java.util.List;
+
+/**
+ * 查询数据库数据接口
+ * create 2022/1/23 0023 17:52
+ *
+ * @author EBU7-dev1-ayh
+ */
+
+@SqlMapper
+public interface ApiRequestMapper {
+
+ /**
+ * 查询请求参数主表配置信息
+ * @param onlyMark 唯一标识
+ * @return 主表配置信息
+ */
+ @Select("")
+ public ApiRequestMain selectApiConfigByOnlyMark(@ParamMapper("onlyMark") String onlyMark);
+
+ /**
+ * 查询请求参数主表配置信息
+ * @param id id
+ * @return 主表配置信息
+ */
+ @Select("")
+ public ApiRequestMain selectApiConfigById(@ParamMapper("id") int id);
+
+ /**
+ * 根据主表id查询请求参数配置信息
+ * @param mainId 主表id
+ * @return 请求参数配置信息
+ */
+ @Select("")
+ public List selectApiParamListByMainId(@ParamMapper("mainId") int mainId);
+
+ /**
+ * 个女警主表id查询请求头配置信息
+ * @param mainId 主表id
+ * @return 请求头配置信息
+ */
+ @Select("")
+ public List selectApiHeardListByMainId(@ParamMapper("mainId") int mainId);
+}
diff --git a/src/main/java/aiyh/utils/apirequest/mapper/DataSourceMapper.java b/src/main/java/aiyh/utils/apirequest/mapper/DataSourceMapper.java
new file mode 100644
index 0000000..4b3ad8f
--- /dev/null
+++ b/src/main/java/aiyh/utils/apirequest/mapper/DataSourceMapper.java
@@ -0,0 +1,40 @@
+package aiyh.utils.apirequest.mapper;
+
+import aiyh.utils.annotation.recordset.CaseConversion;
+import aiyh.utils.annotation.recordset.ParamMapper;
+import aiyh.utils.annotation.recordset.Select;
+import aiyh.utils.annotation.recordset.SqlMapper;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 数据来源逻辑处理查询数据库
+ * create 2022/1/26 0026 14:10
+ *
+ * @author EBU7-dev1-ayh
+ */
+
+@SqlMapper
+public interface DataSourceMapper {
+
+ /**
+ * 根据流程id查询流程表
+ * @param versionIds 流程所有版本的id
+ * @return 流程对应的表名
+ */
+ @Select("select distinct tablename from workflow_base wb " +
+ "left join workflow_bill wbi on wbi.id = wb.formid " +
+ "where wb.id in (${versionIds})")
+ public String selectWorkflowTableById(@ParamMapper("versionIds") String[] versionIds);
+
+ @Select("select * from $t{workflowTable} where requestid = #{requestid}")
+ @CaseConversion(false)
+ Map selectMainData(@ParamMapper("workflowTable") String workflowTable,
+ @ParamMapper("requestId") String requestId);
+
+ @Select("select * from $t{detailTable} where mainid = #{mainId}")
+ @CaseConversion(false)
+ List