summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorliuyongqiang <[email protected]>2020-12-04 15:21:31 +0800
committerliuyongqiang <[email protected]>2020-12-04 15:21:31 +0800
commite25a456d8051af76cabcbbc3bb8f6e30c4fee09e (patch)
tree1c12f6adcb738e1d2b6619a6ca50f45e0c29ef69
parentcdb768507cfbcd398d83e218d0bdd63536706dd4 (diff)
openapi模块迁移至galaxy-business-api中
-rw-r--r--galaxy-business-api/config/application.yml5
-rw-r--r--galaxy-business-api/pom.xml19
-rw-r--r--galaxy-business-api/src/main/java/com/mesalab/api/common/base/BaseResult.java54
-rw-r--r--galaxy-business-api/src/main/java/com/mesalab/api/common/base/BaseResultGenerator.java207
-rw-r--r--galaxy-business-api/src/main/java/com/mesalab/api/common/base/SchemaBase.java31
-rw-r--r--galaxy-business-api/src/main/java/com/mesalab/api/common/configuration/BifangMysqlConfiguration.java26
-rw-r--r--galaxy-business-api/src/main/java/com/mesalab/api/common/enums/BooleanEnum.java30
-rw-r--r--galaxy-business-api/src/main/java/com/mesalab/api/common/enums/CookieEnum.java23
-rw-r--r--galaxy-business-api/src/main/java/com/mesalab/api/common/enums/DBTypeEnum.java12
-rw-r--r--galaxy-business-api/src/main/java/com/mesalab/api/common/enums/EnvironmentEnum.java30
-rw-r--r--galaxy-business-api/src/main/java/com/mesalab/api/common/enums/EnvironmentGroupEnum.java45
-rw-r--r--galaxy-business-api/src/main/java/com/mesalab/api/common/enums/JobHandlerEnum.java21
-rw-r--r--galaxy-business-api/src/main/java/com/mesalab/api/common/enums/QueryFormatEnum.java11
-rw-r--r--galaxy-business-api/src/main/java/com/mesalab/api/common/enums/QueryOptionEnum.java14
-rw-r--r--galaxy-business-api/src/main/java/com/mesalab/api/common/enums/QueryParamEnum.java12
-rw-r--r--galaxy-business-api/src/main/java/com/mesalab/api/common/enums/ResultCodeEnum.java30
-rw-r--r--galaxy-business-api/src/main/java/com/mesalab/api/common/enums/ResultStatusEnum.java33
-rw-r--r--galaxy-business-api/src/main/java/com/mesalab/api/common/enums/SessionEnum.java24
-rw-r--r--galaxy-business-api/src/main/java/com/mesalab/api/common/exception/BusinessException.java51
-rw-r--r--galaxy-business-api/src/main/java/com/mesalab/api/common/plugin/ActiveRecordInit.java33
-rw-r--r--galaxy-business-api/src/main/java/com/mesalab/api/common/plugin/ArpStartPlugin.java29
-rw-r--r--galaxy-business-api/src/main/java/com/mesalab/api/common/support/IConvertor.java20
-rw-r--r--galaxy-business-api/src/main/java/com/mesalab/api/common/utils/ReportCacheUtils.java25
-rw-r--r--galaxy-business-api/src/main/java/com/mesalab/api/controller/OpenApiController.java46
-rw-r--r--galaxy-business-api/src/main/java/com/mesalab/api/service/OpenApiService.java29
-rw-r--r--galaxy-business-api/src/main/java/com/mesalab/api/service/impl/OpenApiServiceImpl.java61
-rw-r--r--galaxy-business-api/src/main/resources/sql-temelate.sql7
-rw-r--r--galaxy-gateway/config/application.yml2
28 files changed, 929 insertions, 1 deletions
diff --git a/galaxy-business-api/config/application.yml b/galaxy-business-api/config/application.yml
index 7729dce..b958866 100644
--- a/galaxy-business-api/config/application.yml
+++ b/galaxy-business-api/config/application.yml
@@ -4,6 +4,11 @@ server:
spring:
application:
name: galaxy-business-api
+ datasource:
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ url: jdbc:mysql://192.168.44.3:3306/tsg-bifang?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai
+ username: root
+ password: 111111
cloud:
consul:
host: 192.168.44.12
diff --git a/galaxy-business-api/pom.xml b/galaxy-business-api/pom.xml
index 8892a92..81bc169 100644
--- a/galaxy-business-api/pom.xml
+++ b/galaxy-business-api/pom.xml
@@ -31,6 +31,10 @@
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-starter-jdbc</artifactId>
+ </dependency>
+ <dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-consul-discovery</artifactId>
</dependency>
@@ -39,6 +43,21 @@
<artifactId>hutool-all</artifactId>
</dependency>
<dependency>
+ <groupId>com.jfinal</groupId>
+ <artifactId>activerecord</artifactId>
+ <version>${active.record.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>mysql</groupId>
+ <artifactId>mysql-connector-java</artifactId>
+ <version>${mysql.connector.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.alibaba</groupId>
+ <artifactId>druid-spring-boot-starter</artifactId>
+ <version>${starter.druid.version}</version>
+ </dependency>
+ <dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
diff --git a/galaxy-business-api/src/main/java/com/mesalab/api/common/base/BaseResult.java b/galaxy-business-api/src/main/java/com/mesalab/api/common/base/BaseResult.java
new file mode 100644
index 0000000..844a839
--- /dev/null
+++ b/galaxy-business-api/src/main/java/com/mesalab/api/common/base/BaseResult.java
@@ -0,0 +1,54 @@
+package com.mesalab.api.common.base;
+
+import com.mesalab.api.common.enums.ResultStatusEnum;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+import java.util.Map;
+
+/**
+ * 响应结果
+ * 如果使用注解@JsonInclude(JsonInclude.Include.NON_NULL): 则会保证序列化json的时候,如果是null的对象,key也会消失
+ *
+ * @author dazzlzy
+ * @date 2018/3/21
+ */
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class BaseResult<T> implements Serializable {
+
+ private Integer status;
+
+ private String code;
+
+ private String queryKey;
+
+ private boolean success;
+
+ private String message;
+
+ private Map<String, Object> statistics;
+
+ private String formatType;
+
+ private T meta;
+
+ private T data;
+
+
+ /**
+ * 判断是否是成功结果
+ * JsonIgnore使之不在json序列化结果当中
+ *
+ * @return 是否为成功结果
+ */
+ public boolean isSuccess() {
+ return ResultStatusEnum.SUCCESS.getCode() == this.status;
+ }
+
+} \ No newline at end of file
diff --git a/galaxy-business-api/src/main/java/com/mesalab/api/common/base/BaseResultGenerator.java b/galaxy-business-api/src/main/java/com/mesalab/api/common/base/BaseResultGenerator.java
new file mode 100644
index 0000000..52ab4ac
--- /dev/null
+++ b/galaxy-business-api/src/main/java/com/mesalab/api/common/base/BaseResultGenerator.java
@@ -0,0 +1,207 @@
+package com.mesalab.api.common.base;
+
+
+import com.mesalab.api.common.enums.ResultCodeEnum;
+import com.mesalab.api.common.enums.ResultStatusEnum;
+import com.mesalab.api.common.exception.BusinessException;
+
+import java.util.Map;
+
+/**
+ * BaseResult生成器
+ *
+ * @author dazzlzy
+ * @date 2018/4/1
+ */
+public class BaseResultGenerator {
+
+ /**
+ * 生成返回结果
+ *
+ * @param status 返回HTTP响应码
+ * @param code 返回业务编码
+ * @param message 返回消息
+ * @param data 返回数据
+ * @param formatType 返回数据格式 JSON/CSV
+ * @param <T> 返回数据类型
+ * @return 返回结果
+ */
+ public static <T> BaseResult<T> generate(final int status, final String code, final String message, T data, T meta, final Map<String, Object> statistics, final String formatType) {
+ return new BaseResult<>(status, code, null, false, message, statistics, formatType, meta, data);
+ }
+
+ /**
+ * 操作成功响应结果, 默认结果
+ *
+ * @return 操作成功的默认响应结果
+ */
+ public static <T> BaseResult<T> success() {
+ return new BaseResult<>(ResultStatusEnum.SUCCESS.getCode(), ResultCodeEnum.EXECUTE_SUCCESS.getCode(),
+ null, true, ResultCodeEnum.EXECUTE_SUCCESS.getMessage(), null, null, null, null);
+ }
+
+ /**
+ * 操作成功响应结果, 自定义数据及信息
+ *
+ * @param message 自定义信息
+ * @param data 自定义数据
+ * @param <T> 自定义数据类型
+ * @return 响应结果
+ */
+ public static <T> BaseResult<T> success(final String message, final T data) {
+ return new BaseResult<>(ResultStatusEnum.SUCCESS.getCode(), ResultCodeEnum.EXECUTE_SUCCESS.getCode(),
+ null, true, message, null, null, null, data);
+ }
+
+ /**
+ * 操作成功响应结果, 自定义数据及信息, 统计结果
+ *
+ * @param message 自定义信息
+ * @param data 自定义数据
+ * @param <T> 自定义数据类型
+ * @param statistics 统计结果
+ * @return 响应结果
+ */
+ public static <T> BaseResult<T> success(final String message, final T data, final Map<String, Object> statistics) {
+ return new BaseResult<>(ResultStatusEnum.SUCCESS.getCode(), ResultCodeEnum.EXECUTE_SUCCESS.getCode(),
+ null, true, message, statistics, null, null, data);
+ }
+
+ /**
+ * 操作成功响应结果,自定义数据,默认信息
+ *
+ * @param data 自定义数据
+ * @param <T> 自定义数据类型
+ * @return 响应结果
+ */
+ public static <T> BaseResult<T> success(final T data) {
+ return new BaseResult<>(ResultStatusEnum.SUCCESS.getCode(), ResultCodeEnum.EXECUTE_SUCCESS.getCode(), null, true,
+ ResultCodeEnum.EXECUTE_SUCCESS.getMessage(), null, null, null, data);
+ }
+
+ /**
+ * 操作成功响应结果,自定义信息,无数据
+ *
+ * @param message 自定义信息
+ * @return 响应结果
+ */
+ public static <T> BaseResult<T> success4Message(final String message) {
+ return new BaseResult<>(ResultStatusEnum.SUCCESS.getCode(), ResultCodeEnum.EXECUTE_SUCCESS.getCode(),
+ null, true, message, null, null, null, null);
+ }
+
+ /**
+ * 操作失败响应结果, 默认结果
+ *
+ * @return 操作成功的默认响应结果
+ */
+ public static <T> BaseResult<T> failure() {
+ return new BaseResult<>(ResultStatusEnum.FAIL.getCode(),
+ ResultCodeEnum.UNKNOW_ERROR.getCode(), null, false, ResultCodeEnum.UNKNOW_ERROR.getMessage(), null, null, null, null);
+ }
+
+ /**
+ * 操作失败响应结果, 自定义错误编码及信息
+ *
+ * @param status HTTP状态码
+ * @param message 自定义信息
+ * @return 响应结果
+ */
+ public static <T> BaseResult<T> failure(final int status, final String message) {
+ return new BaseResult<>(status, ResultCodeEnum.UNKNOW_ERROR.getCode(), null, false, message, null, null, null, null);
+ }
+
+ /**
+ * 操作失败响应结果, 自定义错误编码及信息
+ *
+ * @param status HTTP 状态码
+ * @param code 返回业务编码
+ * @param message 自定义信息
+ * @return 响应结果
+ */
+ public static <T> BaseResult<T> failure(final int status, final String code, final String message) {
+ return new BaseResult<>(status, code, null, false, message, null, null, null, null);
+ }
+
+ /**
+ * 操作失败响应结果, 自定义错误编码及信息
+ *
+ * @param status HTTP 状态码
+ * @param message 自定义信息
+ * @return 响应结果
+ */
+ public static <T> BaseResult<T> failure(final int status, final String message, T data) {
+ return new BaseResult<>(status, ResultCodeEnum.UNKNOW_ERROR.getCode(), null, false, message, null, null, null, data);
+ }
+
+ /**
+ * 操作失败响应结果,自定义错误编码
+ *
+ * @param resultStatusEnum 自定义错误编码枚举
+ * @return 响应结果
+ */
+ public static <T> BaseResult<T> failure(final ResultStatusEnum resultStatusEnum) {
+ return new BaseResult<>(resultStatusEnum.getCode(), ResultCodeEnum.UNKNOW_ERROR.getCode(), null, false, resultStatusEnum.getMessage(), null, null, null, null);
+ }
+
+ /**
+ * 操作失败响应结果,自定义信息
+ *
+ * @param message 自定义信息
+ * @return 响应结果
+ */
+ public static <T> BaseResult<T> failure(final String message) {
+ return new BaseResult<>(ResultStatusEnum.FAIL.getCode(), ResultCodeEnum.UNKNOW_ERROR.getCode(), null, false, message, null, null, null, null);
+ }
+
+ /**
+ * 异常响应结果, 默认结果
+ *
+ * @return 操作成功的默认响应结果
+ */
+ public static <T> BaseResult<T> error() {
+ return new BaseResult<>(ResultStatusEnum.SERVER_ERROR.getCode(), ResultCodeEnum.UNKNOW_ERROR.getCode(), null, false, ResultStatusEnum.SERVER_ERROR.getMessage(), null, null, null, null);
+ }
+
+ /**
+ * 异常响应结果, 自定义错误编码及信息
+ *
+ * @param code 自定义错误编码
+ * @param message 自定义信息
+ * @return 响应结果
+ */
+ public static <T> BaseResult<T> error(final int code, final String message) {
+ return new BaseResult<>(code, ResultCodeEnum.UNKNOW_ERROR.getCode(), null, false, message, null, null, null, null);
+ }
+
+ /**
+ * 异常响应结果,自定义错误编码
+ *
+ * @param resultStatusEnum 自定义错误编码枚举
+ * @return 响应结果
+ */
+ public static <T> BaseResult<T> error(final ResultStatusEnum resultStatusEnum) {
+ return new BaseResult<>(resultStatusEnum.getCode(), ResultCodeEnum.UNKNOW_ERROR.getCode(), null, false, resultStatusEnum.getMessage(), null, null, null, null);
+ }
+
+ /**
+ * 业务异常响应结果
+ *
+ * @param be 业务异常
+ * @return 响应结果
+ */
+ public static <T> BaseResult<T> error(final BusinessException be) {
+ return new BaseResult<>(ResultStatusEnum.SERVER_ERROR.getCode(), ResultCodeEnum.UNKNOW_ERROR.getCode(), null, false, be.getErrorMessage(), null, null, null, null);
+ }
+
+ /**
+ * 异常响应结果,自定义信息
+ *
+ * @param message 自定义信息
+ * @return 响应结果
+ */
+ public static <T> BaseResult<T> error(final String message) {
+ return new BaseResult<>(ResultStatusEnum.SERVER_ERROR.getCode(), ResultCodeEnum.UNKNOW_ERROR.getCode(), null, false, message, null, null, null, null);
+ }
+
+}
diff --git a/galaxy-business-api/src/main/java/com/mesalab/api/common/base/SchemaBase.java b/galaxy-business-api/src/main/java/com/mesalab/api/common/base/SchemaBase.java
new file mode 100644
index 0000000..dfae837
--- /dev/null
+++ b/galaxy-business-api/src/main/java/com/mesalab/api/common/base/SchemaBase.java
@@ -0,0 +1,31 @@
+package com.mesalab.api.common.base;
+
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+import java.util.List;
+import java.util.Map;
+
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class SchemaBase implements Serializable {
+
+ private String type;
+ private String name;
+ private String namespace;
+ private List<Map> fields;
+
+ public String getNamespace() {
+ return namespace = "com.zdjizhi";
+ }
+
+ public String getType() {
+ return type = "record";
+ }
+}
diff --git a/galaxy-business-api/src/main/java/com/mesalab/api/common/configuration/BifangMysqlConfiguration.java b/galaxy-business-api/src/main/java/com/mesalab/api/common/configuration/BifangMysqlConfiguration.java
new file mode 100644
index 0000000..93a3c50
--- /dev/null
+++ b/galaxy-business-api/src/main/java/com/mesalab/api/common/configuration/BifangMysqlConfiguration.java
@@ -0,0 +1,26 @@
+package com.mesalab.api.common.configuration;
+
+import lombok.Data;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Component;
+
+/**
+ * @Date: 2020-09-17 15:03
+ * @Author : liuyongqiang
+ * @ClassName : BifangMysqlConfiguration
+ * @Description : BifangMysql数据源配置
+ */
+@Data
+@Component
+public class BifangMysqlConfiguration {
+
+ @Value("${spring.datasource.url}")
+ private String url;
+
+ @Value("${spring.datasource.username}")
+ private String userName;
+
+ @Value("${spring.datasource.password}")
+ private String passWord;
+
+}
diff --git a/galaxy-business-api/src/main/java/com/mesalab/api/common/enums/BooleanEnum.java b/galaxy-business-api/src/main/java/com/mesalab/api/common/enums/BooleanEnum.java
new file mode 100644
index 0000000..88077cc
--- /dev/null
+++ b/galaxy-business-api/src/main/java/com/mesalab/api/common/enums/BooleanEnum.java
@@ -0,0 +1,30 @@
+package com.mesalab.api.common.enums;
+
+import lombok.Getter;
+
+/**
+ * boolean枚举,YES/NO
+ *
+ * @author dazzlzy
+ * @date 2018/5/7
+ */
+@Getter
+public enum BooleanEnum {
+
+ /**
+ * YES: 1
+ */
+ YES(1),
+
+ /**
+ * NO: 0
+ */
+ NO(0);
+
+ private int value;
+
+ BooleanEnum(int value) {
+ this.value = value;
+ }
+
+}
diff --git a/galaxy-business-api/src/main/java/com/mesalab/api/common/enums/CookieEnum.java b/galaxy-business-api/src/main/java/com/mesalab/api/common/enums/CookieEnum.java
new file mode 100644
index 0000000..d540efc
--- /dev/null
+++ b/galaxy-business-api/src/main/java/com/mesalab/api/common/enums/CookieEnum.java
@@ -0,0 +1,23 @@
+package com.mesalab.api.common.enums;
+
+import lombok.Getter;
+
+/**
+ * Cookie枚举
+ *
+ * @author dazzlzy
+ * @date 2018/5/26
+ */
+@Getter
+public enum CookieEnum {
+ /**
+ * REMEMBER_ME: Cookie中存储的REMEMBER_ME
+ */
+ REMEMBER_ME("rememberMe"),;
+
+ private String value;
+
+ CookieEnum(String value) {
+ this.value = value;
+ }
+}
diff --git a/galaxy-business-api/src/main/java/com/mesalab/api/common/enums/DBTypeEnum.java b/galaxy-business-api/src/main/java/com/mesalab/api/common/enums/DBTypeEnum.java
new file mode 100644
index 0000000..e87fc99
--- /dev/null
+++ b/galaxy-business-api/src/main/java/com/mesalab/api/common/enums/DBTypeEnum.java
@@ -0,0 +1,12 @@
+package com.mesalab.api.common.enums;
+
+import lombok.Getter;
+
+@Getter
+public enum DBTypeEnum {
+ CLICKHOUSE("clickHouse"),
+ DRUID("druid"),
+ HBASE("hbase"),;
+ private String value;
+ DBTypeEnum(String value) {this.value = value;}
+}
diff --git a/galaxy-business-api/src/main/java/com/mesalab/api/common/enums/EnvironmentEnum.java b/galaxy-business-api/src/main/java/com/mesalab/api/common/enums/EnvironmentEnum.java
new file mode 100644
index 0000000..a2160c8
--- /dev/null
+++ b/galaxy-business-api/src/main/java/com/mesalab/api/common/enums/EnvironmentEnum.java
@@ -0,0 +1,30 @@
+package com.mesalab.api.common.enums;
+
+import lombok.Getter;
+
+/**
+ * 运行环境枚举
+ *
+ * @author dazzlzy
+ * @date 2018/5/26
+ */
+@Getter
+public enum EnvironmentEnum {
+
+ /**
+ * 开发环境
+ */
+ DEV("dev"),
+ /**
+ * 生产环境
+ */
+ PROD("prod"),;
+
+ private String name;
+
+ EnvironmentEnum(String name) {
+ this.name = name;
+ }
+
+
+}
diff --git a/galaxy-business-api/src/main/java/com/mesalab/api/common/enums/EnvironmentGroupEnum.java b/galaxy-business-api/src/main/java/com/mesalab/api/common/enums/EnvironmentGroupEnum.java
new file mode 100644
index 0000000..a24e054
--- /dev/null
+++ b/galaxy-business-api/src/main/java/com/mesalab/api/common/enums/EnvironmentGroupEnum.java
@@ -0,0 +1,45 @@
+package com.mesalab.api.common.enums;
+
+import lombok.Getter;
+
+/**
+ * 运行环境组枚举
+ *
+ * @author dazzlzy
+ * @date 2018/5/26
+ */
+@Getter
+public enum EnvironmentGroupEnum {
+
+ /**
+ * RUNTIME运行环境组:
+ * 1. DEV(开发环境)
+ * 2. PROD(生产环境)
+ */
+ RUNTIME(new EnvironmentEnum[]{EnvironmentEnum.DEV, EnvironmentEnum.PROD}),;
+
+ /**
+ * 运行环境
+ */
+ private EnvironmentEnum[] environments;
+
+ EnvironmentGroupEnum(EnvironmentEnum[] environments) {
+ this.environments = environments;
+ }
+
+ /**
+ * 是否是runtime运行环境组
+ *
+ * @param s 环境名
+ * @return boolean
+ */
+ public static boolean isRuntime(String s) {
+ EnvironmentEnum[] environmentEnums = RUNTIME.getEnvironments();
+ for (EnvironmentEnum environmentEnum : environmentEnums) {
+ if (environmentEnum.getName().equals(s)) {
+ return true;
+ }
+ }
+ return false;
+ }
+}
diff --git a/galaxy-business-api/src/main/java/com/mesalab/api/common/enums/JobHandlerEnum.java b/galaxy-business-api/src/main/java/com/mesalab/api/common/enums/JobHandlerEnum.java
new file mode 100644
index 0000000..9f3d3df
--- /dev/null
+++ b/galaxy-business-api/src/main/java/com/mesalab/api/common/enums/JobHandlerEnum.java
@@ -0,0 +1,21 @@
+package com.mesalab.api.common.enums;
+
+import lombok.Getter;
+
+
+@Getter
+public enum JobHandlerEnum {
+
+ DELETE_TRAFFIC_DATA_JOB_HANDLER("deleteTrafficDataJobHandler"),
+ DELETE_REPORT_AND_METRICS_DATA_JOB_HANDLER("deleteReportAndMetricsDataJobHandler"),
+ DELETE_FILES_JOB_HANDLER("deleteFilesJobHandler"),
+ DELETE_ALL_TRAFFIC_DATA_JOB_HANDLER("deleteAllTrafficDataJobHandler"),
+ DELETE_ALL_REPORT_AND_METRICS_DATA_JOB_HANDLER("deleteAllReportAndMetricsDataJobHandler"),
+ DELETE_ALL_FILES_JOB_HANDLER("deleteAllFilesJobHandler"),
+ ;
+ private String value;
+
+ JobHandlerEnum(String value) {
+ this.value = value;
+ }
+}
diff --git a/galaxy-business-api/src/main/java/com/mesalab/api/common/enums/QueryFormatEnum.java b/galaxy-business-api/src/main/java/com/mesalab/api/common/enums/QueryFormatEnum.java
new file mode 100644
index 0000000..416f12c
--- /dev/null
+++ b/galaxy-business-api/src/main/java/com/mesalab/api/common/enums/QueryFormatEnum.java
@@ -0,0 +1,11 @@
+package com.mesalab.api.common.enums;
+
+import lombok.Getter;
+
+@Getter
+public enum QueryFormatEnum {
+ JSON("json"),
+ CSV("csv"),;
+ private String value;
+ QueryFormatEnum(String value) {this.value = value;}
+}
diff --git a/galaxy-business-api/src/main/java/com/mesalab/api/common/enums/QueryOptionEnum.java b/galaxy-business-api/src/main/java/com/mesalab/api/common/enums/QueryOptionEnum.java
new file mode 100644
index 0000000..d107705
--- /dev/null
+++ b/galaxy-business-api/src/main/java/com/mesalab/api/common/enums/QueryOptionEnum.java
@@ -0,0 +1,14 @@
+package com.mesalab.api.common.enums;
+
+import lombok.Getter;
+
+@Getter
+public enum QueryOptionEnum {
+ REAL_TIME("real-time"),
+ LONG_TERM("long-term"),
+ SYNTAX_CHECK("syntax-check");
+ private String value;
+ QueryOptionEnum(String value) {this.value = value;}
+
+
+}
diff --git a/galaxy-business-api/src/main/java/com/mesalab/api/common/enums/QueryParamEnum.java b/galaxy-business-api/src/main/java/com/mesalab/api/common/enums/QueryParamEnum.java
new file mode 100644
index 0000000..213d853
--- /dev/null
+++ b/galaxy-business-api/src/main/java/com/mesalab/api/common/enums/QueryParamEnum.java
@@ -0,0 +1,12 @@
+package com.mesalab.api.common.enums;
+
+import lombok.Getter;
+
+@Getter
+public enum QueryParamEnum {
+ QUERY("query"),
+ FORMAT("format"),
+ OPTION("option"),;
+ private String value;
+ QueryParamEnum(String value) {this.value = value;}
+}
diff --git a/galaxy-business-api/src/main/java/com/mesalab/api/common/enums/ResultCodeEnum.java b/galaxy-business-api/src/main/java/com/mesalab/api/common/enums/ResultCodeEnum.java
new file mode 100644
index 0000000..f8b33df
--- /dev/null
+++ b/galaxy-business-api/src/main/java/com/mesalab/api/common/enums/ResultCodeEnum.java
@@ -0,0 +1,30 @@
+package com.mesalab.api.common.enums;
+
+import lombok.Getter;
+
+/**
+ * BaseResult的业务状态码
+ *
+ * @author
+ * @date
+ */
+@Getter
+public enum ResultCodeEnum {
+
+ EXECUTE_SUCCESS("200666", "成功"),
+ PARAM_SYNTAX_ERROR("400001", "参数检查异常"),
+ SQL_SYNTAX_ERROR("400010", "SQL语句检查异常"),
+ SQL_EXECUTION_ERROR("500001", "SQL 执行异常"),
+ ENGINE_STATISTICS_ERROR("500010", "引擎计算异常"),
+ UNKNOW_ERROR("555999", "执行失败");
+
+
+
+ private String code;
+ private String message;
+
+ ResultCodeEnum(String code, String message) {
+ this.code = code;
+ }
+
+}
diff --git a/galaxy-business-api/src/main/java/com/mesalab/api/common/enums/ResultStatusEnum.java b/galaxy-business-api/src/main/java/com/mesalab/api/common/enums/ResultStatusEnum.java
new file mode 100644
index 0000000..14016b1
--- /dev/null
+++ b/galaxy-business-api/src/main/java/com/mesalab/api/common/enums/ResultStatusEnum.java
@@ -0,0 +1,33 @@
+package com.mesalab.api.common.enums;
+
+import lombok.Getter;
+
+/**
+ * BaseResult的http状态编码枚举
+ *
+ * @author
+ * @date 2018/3/21
+ */
+@Getter
+public enum ResultStatusEnum {
+ /**
+ * SUCCESS: 200 成功
+ * FAIL: 400 失败
+ * NOT_FOUND: 404 不存在
+ * SERVER_ERROR: 500 网络服务异常
+ */
+ SUCCESS(200, "成功"),
+ FAIL(400, "失败"),
+ NOT_FOUND(404, "不存在"),
+ REQ_FORBIDDEN(403, "重复请求"),
+ SERVER_ERROR(500, "服务异常");
+
+ private int code;
+
+ private String message;
+
+ ResultStatusEnum(int code, String message) {
+ this.code = code;
+ }
+
+}
diff --git a/galaxy-business-api/src/main/java/com/mesalab/api/common/enums/SessionEnum.java b/galaxy-business-api/src/main/java/com/mesalab/api/common/enums/SessionEnum.java
new file mode 100644
index 0000000..24c6db6
--- /dev/null
+++ b/galaxy-business-api/src/main/java/com/mesalab/api/common/enums/SessionEnum.java
@@ -0,0 +1,24 @@
+package com.mesalab.api.common.enums;
+
+import lombok.Getter;
+
+/**
+ * Session枚举
+ *
+ * @author zhaozhenyao
+ * @date 2018/5/10
+ */
+@Getter
+public enum SessionEnum {
+
+ /**
+ * CURRENT_USER: session中存储的当前用户
+ */
+ CURRENT_USER("CURRENT_USER"),;
+
+ private String value;
+
+ SessionEnum(String value) {
+ this.value = value;
+ }
+}
diff --git a/galaxy-business-api/src/main/java/com/mesalab/api/common/exception/BusinessException.java b/galaxy-business-api/src/main/java/com/mesalab/api/common/exception/BusinessException.java
new file mode 100644
index 0000000..d544be1
--- /dev/null
+++ b/galaxy-business-api/src/main/java/com/mesalab/api/common/exception/BusinessException.java
@@ -0,0 +1,51 @@
+package com.mesalab.api.common.exception;
+
+import com.mesalab.api.common.enums.ResultCodeEnum;
+import com.mesalab.api.common.enums.ResultStatusEnum;
+import lombok.*;
+
+/**
+ * 业务异常
+ *
+ * @author dazzlzy
+ * @date 2018/3/22
+ */
+@EqualsAndHashCode(callSuper = true)
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class BusinessException extends RuntimeException {
+
+ /**
+ * 异常代码
+ */
+ @Builder.Default
+ private int errorStatus = ResultStatusEnum.SERVER_ERROR.getCode();
+
+ @Builder.Default
+ private String errorCode = ResultCodeEnum.UNKNOW_ERROR.getCode();
+
+
+ /**
+ * 异常信息
+ */
+ private String errorMessage;
+
+ public BusinessException(String errorMessage) {
+ this.errorMessage = errorMessage;
+ }
+
+
+ public BusinessException(String errorMessage, Throwable e) {
+ super(errorMessage, e);
+ }
+
+ public BusinessException(int errorStatus, String errorCode, String errorMessage, Throwable e) {
+ super(errorMessage, e);
+ this.errorStatus = errorStatus;
+ this.errorCode = errorCode;
+ }
+
+
+}
diff --git a/galaxy-business-api/src/main/java/com/mesalab/api/common/plugin/ActiveRecordInit.java b/galaxy-business-api/src/main/java/com/mesalab/api/common/plugin/ActiveRecordInit.java
new file mode 100644
index 0000000..ed3cb93
--- /dev/null
+++ b/galaxy-business-api/src/main/java/com/mesalab/api/common/plugin/ActiveRecordInit.java
@@ -0,0 +1,33 @@
+package com.mesalab.api.common.plugin;
+
+import com.jfinal.plugin.druid.DruidPlugin;
+import com.mesalab.api.common.configuration.BifangMysqlConfiguration;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.PostConstruct;
+
+/**
+ * @Date: 2020-09-17 15:24
+ * @Author : liuyongqiang
+ * @ClassName : ActiveRecordInit
+ * @Description : ActiveRecordInit
+ */
+@Slf4j
+@Component
+public class ActiveRecordInit {
+
+ @Autowired
+ BifangMysqlConfiguration bmc;
+
+ @PostConstruct
+ public void initDialect() {
+ DruidPlugin dp = new DruidPlugin(bmc.getUrl(), bmc.getUserName(), bmc.getPassWord());
+ ArpStartPlugin arp = new ArpStartPlugin(dp);
+ arp.addSqlTemplate("sql-temelate.sql");
+ dp.start();
+ arp.start();
+ log.info("Initializing ActiveRecordPlugin Complete");
+ }
+}
diff --git a/galaxy-business-api/src/main/java/com/mesalab/api/common/plugin/ArpStartPlugin.java b/galaxy-business-api/src/main/java/com/mesalab/api/common/plugin/ArpStartPlugin.java
new file mode 100644
index 0000000..387d233
--- /dev/null
+++ b/galaxy-business-api/src/main/java/com/mesalab/api/common/plugin/ArpStartPlugin.java
@@ -0,0 +1,29 @@
+package com.mesalab.api.common.plugin;
+
+import com.jfinal.plugin.activerecord.ActiveRecordPlugin;
+import com.jfinal.plugin.activerecord.IDataSourceProvider;
+import lombok.extern.slf4j.Slf4j;
+
+/**
+ * @Date: 2020-10-09 16:09
+ * @Author : liuyongqiang
+ * @ClassName : ArpStartPlugin
+ * @Description : ArpStartPlugin
+ */
+@Slf4j
+public class ArpStartPlugin extends ActiveRecordPlugin {
+
+ public ArpStartPlugin(IDataSourceProvider dataSourceProvider) {
+ super(dataSourceProvider);
+ }
+
+ @Override
+ public boolean start() {
+ try {
+ super.start();
+ } catch (Exception e) {
+ log.error("ArpStartPlugin init error:{}", e.getMessage());
+ }
+ return true;
+ }
+}
diff --git a/galaxy-business-api/src/main/java/com/mesalab/api/common/support/IConvertor.java b/galaxy-business-api/src/main/java/com/mesalab/api/common/support/IConvertor.java
new file mode 100644
index 0000000..95f3655
--- /dev/null
+++ b/galaxy-business-api/src/main/java/com/mesalab/api/common/support/IConvertor.java
@@ -0,0 +1,20 @@
+package com.mesalab.api.common.support;
+
+
+/**
+ * 转换器接口,可以将Source转换为Target
+ *
+ * @author dazzlzy
+ * @date 2018/5/9
+ */
+public interface IConvertor<Source, Target> {
+
+ /**
+ * 将Source转换为Target
+ *
+ * @param source 需要转换的对象
+ * @return 转换后的对象
+ */
+ Target convert(Source source);
+
+}
diff --git a/galaxy-business-api/src/main/java/com/mesalab/api/common/utils/ReportCacheUtils.java b/galaxy-business-api/src/main/java/com/mesalab/api/common/utils/ReportCacheUtils.java
new file mode 100644
index 0000000..e923f35
--- /dev/null
+++ b/galaxy-business-api/src/main/java/com/mesalab/api/common/utils/ReportCacheUtils.java
@@ -0,0 +1,25 @@
+package com.mesalab.api.common.utils;
+
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.codec.digest.DigestUtils;
+
+/**
+ * @author wangwei
+ * @version 1.0
+ * @date 2020/6/5 2:04 下午
+ */
+@Slf4j
+public class ReportCacheUtils {
+
+ /**
+ * 通过SQL生成查询唯一kEY
+ *
+ * @param sql
+ * @param resultId
+ * @return
+ */
+ public static String getQueryId(String resultId, String sql) {
+ return DigestUtils.md5Hex(resultId + sql.trim());
+ }
+
+}
diff --git a/galaxy-business-api/src/main/java/com/mesalab/api/controller/OpenApiController.java b/galaxy-business-api/src/main/java/com/mesalab/api/controller/OpenApiController.java
new file mode 100644
index 0000000..c85a70b
--- /dev/null
+++ b/galaxy-business-api/src/main/java/com/mesalab/api/controller/OpenApiController.java
@@ -0,0 +1,46 @@
+package com.mesalab.api.controller;
+
+import com.mesalab.api.common.base.BaseResult;
+import com.mesalab.api.service.OpenApiService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * @Date: 2020-09-18 10:58
+ * @Author : liuyongqiang
+ * @ClassName : OpenApiController
+ * @Description : OpenApiController
+ */
+@RestController
+@RequestMapping("open-api")
+public class OpenApiController {
+
+ @Autowired
+ OpenApiService openApiService;
+
+ /**
+ * @Description: APP字典列表
+ * @Author: liuyongqiang
+ * @Date: 2020/9/17 15:32
+ * @return: com.mesalab.common.base.BaseResult
+ **/
+ @GetMapping("appDicList")
+ public BaseResult appDicList() {
+ return openApiService.appDicList();
+ }
+
+ /**
+ * @param id: 报告ID
+ * @Description: 查询报告结构
+ * @Author: liuyongqiang
+ * @Date: 2020/10/16 17:46
+ * @return: com.mesalab.common.base.BaseResult
+ **/
+ @GetMapping("reportResults/{id}")
+ public BaseResult reportResults(@PathVariable(name = "id") Integer id) {
+ return openApiService.reportResults(id);
+ }
+}
diff --git a/galaxy-business-api/src/main/java/com/mesalab/api/service/OpenApiService.java b/galaxy-business-api/src/main/java/com/mesalab/api/service/OpenApiService.java
new file mode 100644
index 0000000..c5789de
--- /dev/null
+++ b/galaxy-business-api/src/main/java/com/mesalab/api/service/OpenApiService.java
@@ -0,0 +1,29 @@
+package com.mesalab.api.service;
+
+import com.mesalab.api.common.base.BaseResult;
+
+/**
+ * @Date: 2020-09-18 10:58
+ * @Author : liuyongqiang
+ * @ClassName : OpenApiService
+ * @Description : OpenApiService
+ */
+public interface OpenApiService {
+
+ /**
+ * @Description: APP字典列表
+ * @Author: liuyongqiang
+ * @Date: 2020/9/17 15:31
+ * @return: com.mesalab.common.base.BaseResult
+ **/
+ BaseResult appDicList();
+
+ /**
+ * @param id: 报告ID
+ * @Description: 查询报告结果
+ * @Author: liuyongqiang
+ * @Date: 2020/10/16 17:45
+ * @return: com.mesalab.common.base.BaseResult
+ **/
+ BaseResult reportResults(Integer id);
+}
diff --git a/galaxy-business-api/src/main/java/com/mesalab/api/service/impl/OpenApiServiceImpl.java b/galaxy-business-api/src/main/java/com/mesalab/api/service/impl/OpenApiServiceImpl.java
new file mode 100644
index 0000000..309d6e1
--- /dev/null
+++ b/galaxy-business-api/src/main/java/com/mesalab/api/service/impl/OpenApiServiceImpl.java
@@ -0,0 +1,61 @@
+package com.mesalab.api.service.impl;
+
+import com.jfinal.plugin.activerecord.Db;
+import com.jfinal.plugin.activerecord.Record;
+import com.mesalab.api.common.base.BaseResult;
+import com.mesalab.api.common.base.BaseResultGenerator;
+import com.mesalab.api.common.utils.ReportCacheUtils;
+import com.mesalab.api.service.OpenApiService;
+import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Date: 2020-09-18 11:00
+ * @Author : liuyongqiang
+ * @ClassName : OpenApiServiceImpl
+ * @Description : OpenApiServiceImpl
+ */
+@Service("openApiService")
+public class OpenApiServiceImpl implements OpenApiService {
+
+ /**
+ * @Description: APP字典列表
+ * @Author: liuyongqiang
+ * @Date: 2020/9/17 15:31
+ * @return: com.mesalab.common.base.BaseResult
+ **/
+ @Override
+ public BaseResult appDicList() {
+ List<?> list = Db.query(Db.getSql("appDicList"));
+ return BaseResultGenerator.success(list);
+ }
+
+ /**
+ * @param id: 报告ID
+ * @Description: 查询报告结果
+ * @Author: liuyongqiang
+ * @Date: 2020/10/16 17:45
+ * @return: com.mesalab.common.base.BaseResult
+ **/
+ @Override
+ public BaseResult reportResults(Integer id) {
+ List<Map<String, Object>> results = new ArrayList<>();
+ String sql = Db.getSql("reportResults");
+ List<Record> list = Db.find(sql, id);
+ if (CollectionUtils.isEmpty(list)) return BaseResultGenerator.success();
+
+ list.stream().forEach(record -> {
+ String querySql = record.get("query_sql");
+ int resultId = record.getInt("result_id");
+ String queryId = ReportCacheUtils.getQueryId(String.valueOf(resultId), querySql);
+ record.set("query_id", queryId);
+ results.add(record.getColumns());
+ });
+
+ return BaseResultGenerator.success(results);
+ }
+}
diff --git a/galaxy-business-api/src/main/resources/sql-temelate.sql b/galaxy-business-api/src/main/resources/sql-temelate.sql
new file mode 100644
index 0000000..f3c2ca5
--- /dev/null
+++ b/galaxy-business-api/src/main/resources/sql-temelate.sql
@@ -0,0 +1,7 @@
+#sql("appDicList")
+ select app_id,app_name from app_id_dict
+#end
+
+#sql("reportResults")
+ select * from report_result where job_id = ? and status !=2 order by op_time desc
+#end \ No newline at end of file
diff --git a/galaxy-gateway/config/application.yml b/galaxy-gateway/config/application.yml
index 68338c5..e4f4915 100644
--- a/galaxy-gateway/config/application.yml
+++ b/galaxy-gateway/config/application.yml
@@ -32,7 +32,7 @@ spring:
predicates:
- Path=/sys/**
- id: open-api
- uri: lb://galaxy-query-engine
+ uri: lb://galaxy-business-api
predicates:
- Path=/open-api/**
- id: knowledge