mirror of
https://github.com/tencentmusic/supersonic.git
synced 2025-12-11 12:07:42 +00:00
[improvement][project] supersonic 0.7.0 version backend update (#20)
Co-authored-by: kanedai <kanedai@tencent.com>
This commit is contained in:
@@ -12,10 +12,17 @@
|
||||
<artifactId>semantic-api</artifactId>
|
||||
|
||||
<dependencies>
|
||||
<!-- <dependency>-->
|
||||
<!-- <groupId>ru.yandex.clickhouse</groupId>-->
|
||||
<!-- <artifactId>clickhouse-jdbc</artifactId>-->
|
||||
<!-- <version>${clickhouse.jdbc.version}</version>-->
|
||||
<!-- </dependency>-->
|
||||
<dependency>
|
||||
<groupId>ru.yandex.clickhouse</groupId>
|
||||
<groupId>com.clickhouse</groupId>
|
||||
<artifactId>clickhouse-jdbc</artifactId>
|
||||
<version>${clickhouse.jdbc.version}</version>
|
||||
<!-- use uber jar with all dependencies included, change classifier to http for smaller jar -->
|
||||
<classifier>all</classifier>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.projectlombok</groupId>
|
||||
|
||||
@@ -1,13 +0,0 @@
|
||||
package com.tencent.supersonic.semantic.api.core.pojo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class DataFormat {
|
||||
|
||||
private boolean needMultiply100;
|
||||
|
||||
private Integer decimalPlaces;
|
||||
|
||||
|
||||
}
|
||||
@@ -1,20 +0,0 @@
|
||||
package com.tencent.supersonic.semantic.api.core.pojo;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.ToString;
|
||||
|
||||
@AllArgsConstructor
|
||||
@Data
|
||||
@ToString
|
||||
@NoArgsConstructor
|
||||
public class QueryAuthorization {
|
||||
|
||||
private String domainName;
|
||||
private List<String> dimensionFilters;
|
||||
private List<String> dimensionFiltersDesc;
|
||||
private String message;
|
||||
}
|
||||
@@ -1,28 +0,0 @@
|
||||
package com.tencent.supersonic.semantic.api.core.pojo;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class QueryColumn {
|
||||
|
||||
private String name;
|
||||
private String type;
|
||||
private String nameEn;
|
||||
private String showType;
|
||||
private Boolean authorized = true;
|
||||
private String dataFormatType;
|
||||
private DataFormat dataFormat;
|
||||
|
||||
public QueryColumn(String nameEn, String type) {
|
||||
this.type = type;
|
||||
this.nameEn = nameEn;
|
||||
}
|
||||
|
||||
public void setType(String type) {
|
||||
this.type = type == null ? null : type;
|
||||
}
|
||||
}
|
||||
@@ -1,23 +0,0 @@
|
||||
package com.tencent.supersonic.semantic.api.core.pojo;
|
||||
|
||||
import java.util.Date;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.ToString;
|
||||
|
||||
|
||||
@Data
|
||||
@ToString
|
||||
@AllArgsConstructor
|
||||
public class RecordInfo {
|
||||
|
||||
|
||||
private String createdBy;
|
||||
|
||||
private String updatedBy;
|
||||
|
||||
private Date createdAt;
|
||||
|
||||
private Date updatedAt;
|
||||
|
||||
}
|
||||
@@ -1,15 +0,0 @@
|
||||
package com.tencent.supersonic.semantic.api.core.request;
|
||||
|
||||
|
||||
import com.tencent.supersonic.common.pojo.SchemaItem;
|
||||
import lombok.Data;
|
||||
|
||||
|
||||
@Data
|
||||
public class MetricBaseReq extends SchemaItem {
|
||||
|
||||
private Long domainId;
|
||||
|
||||
private String alias;
|
||||
|
||||
}
|
||||
@@ -1,17 +0,0 @@
|
||||
package com.tencent.supersonic.semantic.api.core.response;
|
||||
|
||||
import com.tencent.supersonic.semantic.api.core.pojo.DatasourceDetail;
|
||||
import com.tencent.supersonic.common.pojo.SchemaItem;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class DatasourceResp extends SchemaItem {
|
||||
|
||||
private Long domainId;
|
||||
|
||||
private Long databaseId;
|
||||
|
||||
private DatasourceDetail datasourceDetail;
|
||||
|
||||
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
package com.tencent.supersonic.semantic.api.core.enums;
|
||||
package com.tencent.supersonic.semantic.api.model.enums;
|
||||
|
||||
|
||||
import com.tencent.supersonic.common.constant.Constants;
|
||||
import com.tencent.supersonic.common.pojo.Constants;
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.tencent.supersonic.semantic.api.core.enums;
|
||||
package com.tencent.supersonic.semantic.api.model.enums;
|
||||
|
||||
|
||||
public enum DimensionTypeEnum {
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.tencent.supersonic.semantic.api.core.enums;
|
||||
package com.tencent.supersonic.semantic.api.model.enums;
|
||||
|
||||
|
||||
public enum MetricTypeEnum {
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.tencent.supersonic.semantic.api.core.enums;
|
||||
package com.tencent.supersonic.semantic.api.model.enums;
|
||||
|
||||
public enum OperatorEnum {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.tencent.supersonic.semantic.api.core.enums;
|
||||
package com.tencent.supersonic.semantic.api.model.enums;
|
||||
|
||||
|
||||
public enum QueryTypeBackEnum {
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.tencent.supersonic.semantic.api.core.enums;
|
||||
package com.tencent.supersonic.semantic.api.model.enums;
|
||||
|
||||
|
||||
public enum QueryTypeEnum {
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.tencent.supersonic.semantic.api.core.enums;
|
||||
package com.tencent.supersonic.semantic.api.model.enums;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.tencent.supersonic.semantic.api.core.pojo;
|
||||
package com.tencent.supersonic.semantic.api.model.pojo;
|
||||
|
||||
import java.util.List;
|
||||
import lombok.Data;
|
||||
@@ -1,6 +1,6 @@
|
||||
package com.tencent.supersonic.semantic.api.core.pojo;
|
||||
package com.tencent.supersonic.semantic.api.model.pojo;
|
||||
|
||||
import com.tencent.supersonic.common.constant.Constants;
|
||||
import com.tencent.supersonic.common.pojo.Constants;
|
||||
import java.util.List;
|
||||
import lombok.Data;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package com.tencent.supersonic.semantic.api.core.pojo;
|
||||
package com.tencent.supersonic.semantic.api.model.pojo;
|
||||
|
||||
import com.tencent.supersonic.common.constant.Constants;
|
||||
import com.tencent.supersonic.common.pojo.Constants;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
@@ -0,0 +1,30 @@
|
||||
package com.tencent.supersonic.semantic.api.model.pojo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author: kanedai
|
||||
* @date: 2023/7/24
|
||||
*/
|
||||
|
||||
@Data
|
||||
public class DimValueMap {
|
||||
|
||||
/**
|
||||
* dimension value in db
|
||||
*/
|
||||
private String techName;
|
||||
|
||||
/**
|
||||
* dimension value for result show
|
||||
*/
|
||||
private String bizName;
|
||||
|
||||
/**
|
||||
* dimension value for user query
|
||||
*/
|
||||
private List<String> alias = new ArrayList<>();
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.tencent.supersonic.semantic.api.core.pojo;
|
||||
package com.tencent.supersonic.semantic.api.model.pojo;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
@@ -0,0 +1,26 @@
|
||||
package com.tencent.supersonic.semantic.api.model.pojo;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.ToString;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@ToString
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class Entity {
|
||||
|
||||
|
||||
/**
|
||||
* uniquely identifies an entity
|
||||
*/
|
||||
private Long entityId;
|
||||
|
||||
/**
|
||||
* entity name list
|
||||
*/
|
||||
private List<String> names;
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.tencent.supersonic.semantic.api.core.pojo;
|
||||
package com.tencent.supersonic.semantic.api.model.pojo;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.tencent.supersonic.semantic.api.core.pojo;
|
||||
package com.tencent.supersonic.semantic.api.model.pojo;
|
||||
|
||||
import java.util.List;
|
||||
import lombok.AllArgsConstructor;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.tencent.supersonic.semantic.api.core.pojo;
|
||||
package com.tencent.supersonic.semantic.api.model.pojo;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.tencent.supersonic.semantic.api.core.pojo;
|
||||
package com.tencent.supersonic.semantic.api.model.pojo;
|
||||
|
||||
import java.util.List;
|
||||
import com.google.common.collect.Lists;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.tencent.supersonic.semantic.api.core.pojo;
|
||||
package com.tencent.supersonic.semantic.api.model.pojo;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.ArrayList;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.tencent.supersonic.semantic.api.core.pojo;
|
||||
package com.tencent.supersonic.semantic.api.model.pojo;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.google.common.collect.Lists;
|
||||
@@ -0,0 +1,52 @@
|
||||
package com.tencent.supersonic.semantic.api.model.pojo;
|
||||
|
||||
import com.google.common.base.Objects;
|
||||
import com.tencent.supersonic.common.pojo.RecordInfo;
|
||||
import com.tencent.supersonic.common.pojo.enums.SensitiveLevelEnum;
|
||||
import com.tencent.supersonic.common.pojo.enums.StatusEnum;
|
||||
import com.tencent.supersonic.common.pojo.enums.TypeEnums;
|
||||
import lombok.Data;
|
||||
import lombok.ToString;
|
||||
|
||||
@Data
|
||||
@ToString(callSuper = true)
|
||||
public class SchemaItem extends RecordInfo {
|
||||
|
||||
private Long id;
|
||||
|
||||
private String name;
|
||||
|
||||
private String bizName;
|
||||
|
||||
private String description;
|
||||
|
||||
private Integer status = StatusEnum.ONLINE.getCode();
|
||||
|
||||
private TypeEnums typeEnum;
|
||||
|
||||
private Integer sensitiveLevel = SensitiveLevelEnum.LOW.getCode();
|
||||
|
||||
|
||||
@Override
|
||||
public boolean equals(Object o) {
|
||||
if (this == o) {
|
||||
return true;
|
||||
}
|
||||
if (o == null || getClass() != o.getClass()) {
|
||||
return false;
|
||||
}
|
||||
if (!super.equals(o)) {
|
||||
return false;
|
||||
}
|
||||
SchemaItem that = (SchemaItem) o;
|
||||
return Objects.equal(id, that.id) && Objects.equal(name, that.name)
|
||||
&& Objects.equal(bizName, that.bizName) && Objects.equal(
|
||||
description, that.description) && Objects.equal(status, that.status)
|
||||
&& typeEnum == that.typeEnum && Objects.equal(sensitiveLevel, that.sensitiveLevel);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hashCode(super.hashCode(), id, name, bizName, description, status, typeEnum, sensitiveLevel);
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
package com.tencent.supersonic.semantic.api.core.request;
|
||||
package com.tencent.supersonic.semantic.api.model.request;
|
||||
|
||||
import com.tencent.supersonic.semantic.api.core.enums.DataTypeEnum;
|
||||
import com.tencent.supersonic.semantic.api.model.enums.DataTypeEnum;
|
||||
import lombok.Data;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
@@ -26,6 +26,8 @@ public class DatabaseReq {
|
||||
|
||||
private String database;
|
||||
|
||||
private String version;
|
||||
|
||||
private String description;
|
||||
|
||||
private String url;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.tencent.supersonic.semantic.api.core.request;
|
||||
package com.tencent.supersonic.semantic.api.model.request;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
import lombok.Data;
|
||||
@@ -1,10 +1,10 @@
|
||||
package com.tencent.supersonic.semantic.api.core.request;
|
||||
package com.tencent.supersonic.semantic.api.model.request;
|
||||
|
||||
|
||||
import com.tencent.supersonic.semantic.api.core.pojo.Dim;
|
||||
import com.tencent.supersonic.semantic.api.core.pojo.Identify;
|
||||
import com.tencent.supersonic.semantic.api.core.pojo.Measure;
|
||||
import com.tencent.supersonic.common.pojo.SchemaItem;
|
||||
import com.tencent.supersonic.semantic.api.model.pojo.Dim;
|
||||
import com.tencent.supersonic.semantic.api.model.pojo.Identify;
|
||||
import com.tencent.supersonic.semantic.api.model.pojo.Measure;
|
||||
import com.tencent.supersonic.semantic.api.model.pojo.SchemaItem;
|
||||
import java.util.List;
|
||||
|
||||
import lombok.Data;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.tencent.supersonic.semantic.api.core.request;
|
||||
package com.tencent.supersonic.semantic.api.model.request;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
@@ -1,8 +1,12 @@
|
||||
package com.tencent.supersonic.semantic.api.core.request;
|
||||
package com.tencent.supersonic.semantic.api.model.request;
|
||||
|
||||
import com.tencent.supersonic.semantic.api.model.pojo.DimValueMap;
|
||||
import com.tencent.supersonic.semantic.api.model.pojo.SchemaItem;
|
||||
|
||||
import com.tencent.supersonic.common.pojo.SchemaItem;
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@@ -25,5 +29,5 @@ public class DimensionReq extends SchemaItem {
|
||||
|
||||
private List<String> defaultValues;
|
||||
|
||||
|
||||
private List<DimValueMap> dimValueMaps;
|
||||
}
|
||||
@@ -1,9 +1,12 @@
|
||||
package com.tencent.supersonic.semantic.api.core.request;
|
||||
package com.tencent.supersonic.semantic.api.model.request;
|
||||
|
||||
|
||||
import com.tencent.supersonic.common.pojo.SchemaItem;
|
||||
import com.tencent.supersonic.semantic.api.model.pojo.Entity;
|
||||
import com.tencent.supersonic.semantic.api.model.pojo.SchemaItem;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
|
||||
@@ -21,4 +24,6 @@ public class DomainReq extends SchemaItem {
|
||||
private List<String> admins = new ArrayList<>();
|
||||
|
||||
private List<String> adminOrgs = new ArrayList<>();
|
||||
|
||||
private Entity entity;
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.tencent.supersonic.semantic.api.core.request;
|
||||
package com.tencent.supersonic.semantic.api.model.request;
|
||||
|
||||
import java.util.List;
|
||||
import lombok.Data;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.tencent.supersonic.semantic.api.core.request;
|
||||
package com.tencent.supersonic.semantic.api.model.request;
|
||||
|
||||
|
||||
import lombok.Data;
|
||||
@@ -0,0 +1,20 @@
|
||||
package com.tencent.supersonic.semantic.api.model.request;
|
||||
|
||||
|
||||
import com.tencent.supersonic.semantic.api.model.pojo.SchemaItem;
|
||||
import com.tencent.supersonic.common.pojo.DataFormat;
|
||||
import lombok.Data;
|
||||
|
||||
|
||||
@Data
|
||||
public class MetricBaseReq extends SchemaItem {
|
||||
|
||||
private Long domainId;
|
||||
|
||||
private String alias;
|
||||
|
||||
private String dataFormatType;
|
||||
|
||||
private DataFormat dataFormat;
|
||||
|
||||
}
|
||||
@@ -1,9 +1,9 @@
|
||||
package com.tencent.supersonic.semantic.api.core.request;
|
||||
package com.tencent.supersonic.semantic.api.model.request;
|
||||
|
||||
|
||||
import com.tencent.supersonic.semantic.api.core.enums.MetricTypeEnum;
|
||||
import com.tencent.supersonic.semantic.api.core.pojo.Measure;
|
||||
import com.tencent.supersonic.semantic.api.core.pojo.MetricTypeParams;
|
||||
import com.tencent.supersonic.semantic.api.model.enums.MetricTypeEnum;
|
||||
import com.tencent.supersonic.semantic.api.model.pojo.Measure;
|
||||
import com.tencent.supersonic.semantic.api.model.pojo.MetricTypeParams;
|
||||
import lombok.Data;
|
||||
import java.util.List;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.tencent.supersonic.semantic.api.core.request;
|
||||
package com.tencent.supersonic.semantic.api.model.request;
|
||||
|
||||
|
||||
import lombok.Data;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.tencent.supersonic.semantic.api.core.request;
|
||||
package com.tencent.supersonic.semantic.api.model.request;
|
||||
|
||||
|
||||
import lombok.Data;
|
||||
@@ -1,6 +1,6 @@
|
||||
package com.tencent.supersonic.semantic.api.core.request;
|
||||
package com.tencent.supersonic.semantic.api.model.request;
|
||||
|
||||
import com.tencent.supersonic.common.request.PageBaseReq;
|
||||
import com.tencent.supersonic.common.pojo.PageBaseReq;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.tencent.supersonic.semantic.api.core.request;
|
||||
package com.tencent.supersonic.semantic.api.model.request;
|
||||
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
@@ -7,7 +7,7 @@ import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class SqlExecuteReq {
|
||||
|
||||
public static final String LIMIT_WRAPPER = " select * from ( %s ) a limit 1000 ";
|
||||
|
||||
@NotNull(message = "domainId can not be null")
|
||||
private Long domainId;
|
||||
@@ -16,7 +16,7 @@ public class SqlExecuteReq {
|
||||
private String sql;
|
||||
|
||||
public String getSql() {
|
||||
return String.format(" select * from ( %s ) a limit 1000 ", sql);
|
||||
return String.format(LIMIT_WRAPPER, sql);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.tencent.supersonic.semantic.api.core.request;
|
||||
package com.tencent.supersonic.semantic.api.model.request;
|
||||
|
||||
import java.util.Date;
|
||||
import lombok.Data;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.tencent.supersonic.semantic.api.core.response;
|
||||
package com.tencent.supersonic.semantic.api.model.response;
|
||||
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
@@ -28,6 +28,8 @@ public class DatabaseResp {
|
||||
|
||||
private String database;
|
||||
|
||||
private String version;
|
||||
|
||||
public String getHost() {
|
||||
Pattern p = Pattern.compile("jdbc:(?<db>\\w+):.*((//)|@)(?<host>.+):(?<port>\\d+).*");
|
||||
Matcher m = p.matcher(url);
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.tencent.supersonic.semantic.api.core.response;
|
||||
package com.tencent.supersonic.semantic.api.model.response;
|
||||
|
||||
import java.util.Date;
|
||||
import lombok.Data;
|
||||
@@ -0,0 +1,17 @@
|
||||
package com.tencent.supersonic.semantic.api.model.response;
|
||||
|
||||
import com.tencent.supersonic.semantic.api.model.pojo.DatasourceDetail;
|
||||
import com.tencent.supersonic.semantic.api.model.pojo.SchemaItem;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class DatasourceResp extends SchemaItem {
|
||||
|
||||
private Long domainId;
|
||||
|
||||
private Long databaseId;
|
||||
|
||||
private DatasourceDetail datasourceDetail;
|
||||
|
||||
|
||||
}
|
||||
@@ -1,8 +1,10 @@
|
||||
package com.tencent.supersonic.semantic.api.core.response;
|
||||
package com.tencent.supersonic.semantic.api.model.response;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.ToString;
|
||||
|
||||
@Data
|
||||
@ToString(callSuper = true)
|
||||
public class DimSchemaResp extends DimensionResp {
|
||||
|
||||
private Long useCnt = 0L;
|
||||
@@ -1,12 +1,17 @@
|
||||
package com.tencent.supersonic.semantic.api.core.response;
|
||||
package com.tencent.supersonic.semantic.api.model.response;
|
||||
|
||||
|
||||
import com.tencent.supersonic.common.pojo.SchemaItem;
|
||||
import lombok.Data;
|
||||
import com.tencent.supersonic.semantic.api.model.pojo.DimValueMap;
|
||||
import com.tencent.supersonic.semantic.api.model.pojo.SchemaItem;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.ToString;
|
||||
|
||||
|
||||
@Data
|
||||
@ToString(callSuper = true)
|
||||
public class DimensionResp extends SchemaItem {
|
||||
|
||||
private Long domainId;
|
||||
@@ -29,5 +34,6 @@ public class DimensionResp extends SchemaItem {
|
||||
|
||||
private List<String> defaultValues;
|
||||
|
||||
private List<DimValueMap> dimValueMaps;
|
||||
|
||||
}
|
||||
@@ -1,7 +1,10 @@
|
||||
package com.tencent.supersonic.semantic.api.core.response;
|
||||
package com.tencent.supersonic.semantic.api.model.response;
|
||||
|
||||
import com.tencent.supersonic.semantic.api.model.pojo.Entity;
|
||||
import com.tencent.supersonic.semantic.api.model.pojo.SchemaItem;
|
||||
|
||||
import com.tencent.supersonic.common.pojo.SchemaItem;
|
||||
import java.util.List;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.ToString;
|
||||
|
||||
@@ -27,5 +30,6 @@ public class DomainResp extends SchemaItem {
|
||||
|
||||
private Integer metricCnt;
|
||||
|
||||
private Entity entity;
|
||||
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.tencent.supersonic.semantic.api.core.response;
|
||||
package com.tencent.supersonic.semantic.api.model.response;
|
||||
|
||||
import java.util.List;
|
||||
import lombok.Data;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.tencent.supersonic.semantic.api.core.response;
|
||||
package com.tencent.supersonic.semantic.api.model.response;
|
||||
|
||||
import java.util.List;
|
||||
import lombok.AllArgsConstructor;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.tencent.supersonic.semantic.api.core.response;
|
||||
package com.tencent.supersonic.semantic.api.model.response;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.tencent.supersonic.semantic.api.core.response;
|
||||
package com.tencent.supersonic.semantic.api.model.response;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@@ -1,13 +1,15 @@
|
||||
package com.tencent.supersonic.semantic.api.core.response;
|
||||
package com.tencent.supersonic.semantic.api.model.response;
|
||||
|
||||
|
||||
import com.tencent.supersonic.semantic.api.core.pojo.DataFormat;
|
||||
import com.tencent.supersonic.semantic.api.core.pojo.MetricTypeParams;
|
||||
import com.tencent.supersonic.common.pojo.SchemaItem;
|
||||
import com.tencent.supersonic.common.pojo.DataFormat;
|
||||
import com.tencent.supersonic.semantic.api.model.pojo.MetricTypeParams;
|
||||
import com.tencent.supersonic.semantic.api.model.pojo.SchemaItem;
|
||||
import lombok.Data;
|
||||
import lombok.ToString;
|
||||
|
||||
|
||||
@Data
|
||||
@ToString(callSuper = true)
|
||||
public class MetricResp extends SchemaItem {
|
||||
|
||||
private Long domainId;
|
||||
@@ -1,8 +1,10 @@
|
||||
package com.tencent.supersonic.semantic.api.core.response;
|
||||
package com.tencent.supersonic.semantic.api.model.response;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.ToString;
|
||||
|
||||
@Data
|
||||
@ToString(callSuper = true)
|
||||
public class MetricSchemaResp extends MetricResp {
|
||||
|
||||
private Long useCnt = 0L;
|
||||
@@ -1,9 +1,9 @@
|
||||
package com.tencent.supersonic.semantic.api.core.response;
|
||||
package com.tencent.supersonic.semantic.api.model.response;
|
||||
|
||||
|
||||
import com.tencent.supersonic.semantic.api.core.pojo.QueryAuthorization;
|
||||
import com.tencent.supersonic.semantic.api.core.pojo.QueryColumn;
|
||||
import com.tencent.supersonic.semantic.api.core.pojo.QueryResult;
|
||||
import com.tencent.supersonic.common.pojo.QueryAuthorization;
|
||||
import com.tencent.supersonic.common.pojo.QueryColumn;
|
||||
import com.tencent.supersonic.semantic.api.model.pojo.QueryResult;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.tencent.supersonic.semantic.api.core.response;
|
||||
package com.tencent.supersonic.semantic.api.model.response;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.tencent.supersonic.semantic.api.core.pojo.yaml;
|
||||
package com.tencent.supersonic.semantic.api.model.yaml;
|
||||
|
||||
import java.util.List;
|
||||
import lombok.Data;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.tencent.supersonic.semantic.api.core.pojo.yaml;
|
||||
package com.tencent.supersonic.semantic.api.model.yaml;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.tencent.supersonic.semantic.api.core.pojo.yaml;
|
||||
package com.tencent.supersonic.semantic.api.model.yaml;
|
||||
|
||||
|
||||
import lombok.Data;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.tencent.supersonic.semantic.api.core.pojo.yaml;
|
||||
package com.tencent.supersonic.semantic.api.model.yaml;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.tencent.supersonic.semantic.api.core.pojo.yaml;
|
||||
package com.tencent.supersonic.semantic.api.model.yaml;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.tencent.supersonic.semantic.api.core.pojo.yaml;
|
||||
package com.tencent.supersonic.semantic.api.model.yaml;
|
||||
|
||||
import java.util.List;
|
||||
import lombok.Data;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.tencent.supersonic.semantic.api.core.pojo.yaml;
|
||||
package com.tencent.supersonic.semantic.api.model.yaml;
|
||||
|
||||
|
||||
import java.util.List;
|
||||
@@ -13,6 +13,7 @@ public class ParseSqlReq {
|
||||
private Map<String, String> variables;
|
||||
private String sql = "";
|
||||
private List<MetricTable> tables;
|
||||
private boolean supportWith = true;
|
||||
|
||||
public Map<String, String> getVariables() {
|
||||
if (variables == null) {
|
||||
|
||||
@@ -6,7 +6,7 @@ import lombok.ToString;
|
||||
|
||||
@Data
|
||||
@ToString
|
||||
public class QuerySqlReq {
|
||||
public class QueryDslReq {
|
||||
|
||||
private Long domainId;
|
||||
|
||||
@@ -11,11 +11,11 @@ import org.apache.commons.codec.digest.DigestUtils;
|
||||
public class QueryMultiStructReq {
|
||||
|
||||
|
||||
List<QueryStructReq> queryStructCmds;
|
||||
List<QueryStructReq> queryStructReqs;
|
||||
|
||||
|
||||
public String toCustomizedString() {
|
||||
return JSONObject.toJSONString(queryStructCmds);
|
||||
return JSONObject.toJSONString(queryStructReqs);
|
||||
}
|
||||
|
||||
public String generateCommandMd5() {
|
||||
|
||||
@@ -1,38 +0,0 @@
|
||||
package com.tencent.supersonic.semantic.core.domain;
|
||||
|
||||
import com.tencent.supersonic.semantic.api.core.pojo.ItemDateFilter;
|
||||
import com.tencent.supersonic.semantic.api.core.pojo.yaml.DatasourceYamlTpl;
|
||||
import com.tencent.supersonic.semantic.api.core.pojo.yaml.DimensionYamlTpl;
|
||||
import com.tencent.supersonic.semantic.api.core.pojo.yaml.MetricYamlTpl;
|
||||
import com.tencent.supersonic.semantic.api.core.response.DatabaseResp;
|
||||
import com.tencent.supersonic.semantic.api.core.response.DatasourceResp;
|
||||
import com.tencent.supersonic.semantic.api.core.response.DimensionResp;
|
||||
import com.tencent.supersonic.semantic.api.core.response.ItemDateResp;
|
||||
import com.tencent.supersonic.semantic.api.core.response.MetricResp;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
public interface Catalog {
|
||||
|
||||
DatabaseResp getDatabase(Long id);
|
||||
|
||||
List<DatasourceResp> getDatasourceList(Long domainId);
|
||||
|
||||
String getDomainFullPath(Long domainId);
|
||||
|
||||
Map<Long, String> getDomainFullPath();
|
||||
|
||||
DimensionResp getDimension(String bizName, Long domainId);
|
||||
|
||||
List<DimensionResp> getDimensions(Long domainId);
|
||||
|
||||
List<MetricResp> getMetrics(Long domainId);
|
||||
|
||||
void getModelYamlTplByDomainIds(Set<Long> domainIds, Map<String, List<DimensionYamlTpl>> dimensionYamlMap,
|
||||
List<DatasourceYamlTpl> datasourceYamlTplList, List<MetricYamlTpl> metricYamlTplList);
|
||||
|
||||
|
||||
ItemDateResp getDateDate(ItemDateFilter dimension, ItemDateFilter metric);
|
||||
|
||||
}
|
||||
@@ -1,19 +0,0 @@
|
||||
package com.tencent.supersonic.semantic.core.domain.pojo;
|
||||
|
||||
|
||||
import com.tencent.supersonic.semantic.api.core.pojo.DatasourceDetail;
|
||||
import com.tencent.supersonic.common.pojo.SchemaItem;
|
||||
import lombok.Data;
|
||||
|
||||
|
||||
@Data
|
||||
public class Datasource extends SchemaItem {
|
||||
|
||||
private Long domainId;
|
||||
|
||||
private Long databaseId;
|
||||
|
||||
private DatasourceDetail datasourceDetail;
|
||||
|
||||
|
||||
}
|
||||
@@ -1,16 +0,0 @@
|
||||
package com.tencent.supersonic.semantic.core.domain.repository;
|
||||
|
||||
|
||||
import com.tencent.supersonic.semantic.api.core.pojo.ItemDateFilter;
|
||||
import com.tencent.supersonic.semantic.api.core.request.DateInfoReq;
|
||||
import com.tencent.supersonic.semantic.core.domain.dataobject.DateInfoDO;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface DateInfoRepository {
|
||||
|
||||
Integer upsertDateInfo(List<DateInfoReq> dateInfoReqs);
|
||||
|
||||
List<DateInfoDO> getDateInfos(ItemDateFilter itemDateFilter);
|
||||
|
||||
}
|
||||
@@ -9,7 +9,7 @@
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<artifactId>semantic-core</artifactId>
|
||||
<artifactId>semantic-model</artifactId>
|
||||
|
||||
<properties>
|
||||
<maven.compiler.source>8</maven.compiler.source>
|
||||
@@ -34,7 +34,10 @@
|
||||
<version>${project.version}</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>com.fasterxml.jackson.datatype</groupId>
|
||||
<artifactId>jackson-datatype-jsr310</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-jdbc</artifactId>
|
||||
@@ -1,24 +1,25 @@
|
||||
package com.tencent.supersonic.semantic.core.application;
|
||||
package com.tencent.supersonic.semantic.model.application;
|
||||
|
||||
import com.tencent.supersonic.semantic.api.core.pojo.ItemDateFilter;
|
||||
import com.tencent.supersonic.semantic.api.core.pojo.yaml.DatasourceYamlTpl;
|
||||
import com.tencent.supersonic.semantic.api.core.pojo.yaml.DimensionYamlTpl;
|
||||
import com.tencent.supersonic.semantic.api.core.pojo.yaml.MetricYamlTpl;
|
||||
import com.tencent.supersonic.semantic.api.core.response.DatabaseResp;
|
||||
import com.tencent.supersonic.semantic.api.core.response.DatasourceResp;
|
||||
import com.tencent.supersonic.semantic.api.core.response.DimensionResp;
|
||||
import com.tencent.supersonic.semantic.api.core.response.ItemDateResp;
|
||||
import com.tencent.supersonic.semantic.api.core.response.MetricResp;
|
||||
import com.tencent.supersonic.semantic.core.domain.Catalog;
|
||||
import com.tencent.supersonic.semantic.core.domain.DatasourceService;
|
||||
import com.tencent.supersonic.semantic.core.domain.DimensionService;
|
||||
import com.tencent.supersonic.semantic.core.domain.DomainService;
|
||||
import com.tencent.supersonic.semantic.core.domain.MetricService;
|
||||
import com.tencent.supersonic.semantic.core.domain.dataobject.DatabaseDO;
|
||||
import com.tencent.supersonic.semantic.core.domain.repository.DatabaseRepository;
|
||||
import com.tencent.supersonic.semantic.core.domain.utils.DatabaseConverter;
|
||||
import com.tencent.supersonic.semantic.api.model.pojo.ItemDateFilter;
|
||||
import com.tencent.supersonic.semantic.api.model.yaml.DatasourceYamlTpl;
|
||||
import com.tencent.supersonic.semantic.api.model.yaml.DimensionYamlTpl;
|
||||
import com.tencent.supersonic.semantic.api.model.yaml.MetricYamlTpl;
|
||||
import com.tencent.supersonic.semantic.api.model.response.DatabaseResp;
|
||||
import com.tencent.supersonic.semantic.api.model.response.DatasourceResp;
|
||||
import com.tencent.supersonic.semantic.api.model.response.DimensionResp;
|
||||
import com.tencent.supersonic.semantic.api.model.response.ItemDateResp;
|
||||
import com.tencent.supersonic.semantic.api.model.response.MetricResp;
|
||||
import com.tencent.supersonic.semantic.model.domain.Catalog;
|
||||
import com.tencent.supersonic.semantic.model.domain.DatasourceService;
|
||||
import com.tencent.supersonic.semantic.model.domain.DimensionService;
|
||||
import com.tencent.supersonic.semantic.model.domain.DomainService;
|
||||
import com.tencent.supersonic.semantic.model.domain.MetricService;
|
||||
import com.tencent.supersonic.semantic.model.domain.dataobject.DatabaseDO;
|
||||
import com.tencent.supersonic.semantic.model.domain.repository.DatabaseRepository;
|
||||
import com.tencent.supersonic.semantic.model.domain.utils.DatabaseConverter;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
import java.util.Set;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Component;
|
||||
@@ -49,6 +50,12 @@ public class CatalogImpl implements Catalog {
|
||||
return DatabaseConverter.convert(databaseDO);
|
||||
}
|
||||
|
||||
public DatabaseResp getDatabaseByDomainId(Long domainId) {
|
||||
List<DatabaseDO> databaseDOS = databaseRepository.getDatabaseByDomainId(domainId);
|
||||
Optional<DatabaseDO> databaseDO = databaseDOS.stream().findFirst();
|
||||
return databaseDO.map(DatabaseConverter::convert).orElse(null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getDomainFullPath(Long domainId) {
|
||||
return domainService.getDomainFullPath(domainId);
|
||||
@@ -87,7 +94,7 @@ public class CatalogImpl implements Catalog {
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemDateResp getDateDate(ItemDateFilter dimension, ItemDateFilter metric) {
|
||||
return datasourceService.getDateDate(dimension, metric);
|
||||
public ItemDateResp getItemDate(ItemDateFilter dimension, ItemDateFilter metric) {
|
||||
return datasourceService.getItemDate(dimension, metric);
|
||||
}
|
||||
}
|
||||
@@ -1,19 +1,19 @@
|
||||
package com.tencent.supersonic.semantic.core.application;
|
||||
package com.tencent.supersonic.semantic.model.application;
|
||||
|
||||
import com.tencent.supersonic.auth.api.authentication.pojo.User;
|
||||
import com.tencent.supersonic.semantic.api.core.request.DatabaseReq;
|
||||
import com.tencent.supersonic.semantic.api.core.response.DatabaseResp;
|
||||
import com.tencent.supersonic.semantic.api.core.response.QueryResultWithSchemaResp;
|
||||
import com.tencent.supersonic.semantic.api.core.response.SqlParserResp;
|
||||
import com.tencent.supersonic.semantic.core.domain.adaptor.engineadapter.EngineAdaptor;
|
||||
import com.tencent.supersonic.semantic.core.domain.adaptor.engineadapter.EngineAdaptorFactory;
|
||||
import com.tencent.supersonic.semantic.core.domain.dataobject.DatabaseDO;
|
||||
import com.tencent.supersonic.semantic.core.domain.repository.DatabaseRepository;
|
||||
import com.tencent.supersonic.semantic.core.domain.utils.DatabaseConverter;
|
||||
import com.tencent.supersonic.semantic.core.domain.utils.JdbcDataSourceUtils;
|
||||
import com.tencent.supersonic.semantic.core.domain.utils.SqlUtils;
|
||||
import com.tencent.supersonic.semantic.core.domain.DatabaseService;
|
||||
import com.tencent.supersonic.semantic.core.domain.pojo.Database;
|
||||
import com.tencent.supersonic.semantic.api.model.request.DatabaseReq;
|
||||
import com.tencent.supersonic.semantic.api.model.response.DatabaseResp;
|
||||
import com.tencent.supersonic.semantic.api.model.response.QueryResultWithSchemaResp;
|
||||
import com.tencent.supersonic.semantic.api.model.response.SqlParserResp;
|
||||
import com.tencent.supersonic.semantic.model.domain.adaptor.engineadapter.EngineAdaptor;
|
||||
import com.tencent.supersonic.semantic.model.domain.adaptor.engineadapter.EngineAdaptorFactory;
|
||||
import com.tencent.supersonic.semantic.model.domain.dataobject.DatabaseDO;
|
||||
import com.tencent.supersonic.semantic.model.domain.repository.DatabaseRepository;
|
||||
import com.tencent.supersonic.semantic.model.domain.utils.DatabaseConverter;
|
||||
import com.tencent.supersonic.semantic.model.domain.utils.JdbcDataSourceUtils;
|
||||
import com.tencent.supersonic.semantic.model.domain.utils.SqlUtils;
|
||||
import com.tencent.supersonic.semantic.model.domain.DatabaseService;
|
||||
import com.tencent.supersonic.semantic.model.domain.pojo.Database;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
@@ -1,44 +1,44 @@
|
||||
package com.tencent.supersonic.semantic.core.application;
|
||||
package com.tencent.supersonic.semantic.model.application;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.google.common.collect.Lists;
|
||||
import com.tencent.supersonic.auth.api.authentication.pojo.User;
|
||||
import com.tencent.supersonic.common.util.json.JsonUtil;
|
||||
import com.tencent.supersonic.semantic.api.core.pojo.DatasourceDetail;
|
||||
import com.tencent.supersonic.semantic.api.core.pojo.Dim;
|
||||
import com.tencent.supersonic.semantic.api.core.pojo.ItemDateFilter;
|
||||
import com.tencent.supersonic.semantic.api.core.pojo.Measure;
|
||||
import com.tencent.supersonic.semantic.api.core.pojo.yaml.DatasourceYamlTpl;
|
||||
import com.tencent.supersonic.semantic.api.core.pojo.yaml.DimensionYamlTpl;
|
||||
import com.tencent.supersonic.semantic.api.core.pojo.yaml.MetricYamlTpl;
|
||||
import com.tencent.supersonic.semantic.api.core.request.DatasourceRelaReq;
|
||||
import com.tencent.supersonic.semantic.api.core.request.DatasourceReq;
|
||||
import com.tencent.supersonic.semantic.api.core.request.DateInfoReq;
|
||||
import com.tencent.supersonic.semantic.api.core.request.DimensionReq;
|
||||
import com.tencent.supersonic.semantic.api.core.request.MetricReq;
|
||||
import com.tencent.supersonic.semantic.api.core.response.DatabaseResp;
|
||||
import com.tencent.supersonic.semantic.api.core.response.DatasourceRelaResp;
|
||||
import com.tencent.supersonic.semantic.api.core.response.DatasourceResp;
|
||||
import com.tencent.supersonic.semantic.api.core.response.DimensionResp;
|
||||
import com.tencent.supersonic.semantic.api.core.response.ItemDateResp;
|
||||
import com.tencent.supersonic.semantic.api.core.response.MeasureResp;
|
||||
import com.tencent.supersonic.semantic.api.core.response.MetricResp;
|
||||
import com.tencent.supersonic.semantic.core.domain.DatabaseService;
|
||||
import com.tencent.supersonic.semantic.core.domain.DatasourceService;
|
||||
import com.tencent.supersonic.semantic.core.domain.DimensionService;
|
||||
import com.tencent.supersonic.semantic.core.domain.MetricService;
|
||||
import com.tencent.supersonic.semantic.core.domain.dataobject.DatasourceDO;
|
||||
import com.tencent.supersonic.semantic.core.domain.dataobject.DatasourceRelaDO;
|
||||
import com.tencent.supersonic.semantic.core.domain.dataobject.DateInfoDO;
|
||||
import com.tencent.supersonic.semantic.core.domain.manager.DatasourceYamlManager;
|
||||
import com.tencent.supersonic.semantic.core.domain.manager.DimensionYamlManager;
|
||||
import com.tencent.supersonic.semantic.core.domain.manager.MetricYamlManager;
|
||||
import com.tencent.supersonic.semantic.core.domain.pojo.Datasource;
|
||||
import com.tencent.supersonic.semantic.core.domain.repository.DatasourceRepository;
|
||||
import com.tencent.supersonic.semantic.core.domain.repository.DateInfoRepository;
|
||||
import com.tencent.supersonic.semantic.core.domain.utils.DatasourceConverter;
|
||||
import com.tencent.supersonic.semantic.core.domain.utils.DimensionConverter;
|
||||
import com.tencent.supersonic.semantic.core.domain.utils.MetricConverter;
|
||||
import com.tencent.supersonic.common.util.JsonUtil;
|
||||
import com.tencent.supersonic.semantic.api.model.pojo.DatasourceDetail;
|
||||
import com.tencent.supersonic.semantic.api.model.pojo.Dim;
|
||||
import com.tencent.supersonic.semantic.api.model.pojo.ItemDateFilter;
|
||||
import com.tencent.supersonic.semantic.api.model.pojo.Measure;
|
||||
import com.tencent.supersonic.semantic.api.model.yaml.DatasourceYamlTpl;
|
||||
import com.tencent.supersonic.semantic.api.model.yaml.DimensionYamlTpl;
|
||||
import com.tencent.supersonic.semantic.api.model.yaml.MetricYamlTpl;
|
||||
import com.tencent.supersonic.semantic.api.model.request.DatasourceRelaReq;
|
||||
import com.tencent.supersonic.semantic.api.model.request.DatasourceReq;
|
||||
import com.tencent.supersonic.semantic.api.model.request.DateInfoReq;
|
||||
import com.tencent.supersonic.semantic.api.model.request.DimensionReq;
|
||||
import com.tencent.supersonic.semantic.api.model.request.MetricReq;
|
||||
import com.tencent.supersonic.semantic.api.model.response.DatabaseResp;
|
||||
import com.tencent.supersonic.semantic.api.model.response.DatasourceRelaResp;
|
||||
import com.tencent.supersonic.semantic.api.model.response.DatasourceResp;
|
||||
import com.tencent.supersonic.semantic.api.model.response.DimensionResp;
|
||||
import com.tencent.supersonic.semantic.api.model.response.ItemDateResp;
|
||||
import com.tencent.supersonic.semantic.api.model.response.MeasureResp;
|
||||
import com.tencent.supersonic.semantic.api.model.response.MetricResp;
|
||||
import com.tencent.supersonic.semantic.model.domain.DatabaseService;
|
||||
import com.tencent.supersonic.semantic.model.domain.DatasourceService;
|
||||
import com.tencent.supersonic.semantic.model.domain.DimensionService;
|
||||
import com.tencent.supersonic.semantic.model.domain.MetricService;
|
||||
import com.tencent.supersonic.semantic.model.domain.dataobject.DatasourceDO;
|
||||
import com.tencent.supersonic.semantic.model.domain.dataobject.DatasourceRelaDO;
|
||||
import com.tencent.supersonic.semantic.model.domain.dataobject.DateInfoDO;
|
||||
import com.tencent.supersonic.semantic.model.domain.manager.DatasourceYamlManager;
|
||||
import com.tencent.supersonic.semantic.model.domain.manager.DimensionYamlManager;
|
||||
import com.tencent.supersonic.semantic.model.domain.manager.MetricYamlManager;
|
||||
import com.tencent.supersonic.semantic.model.domain.pojo.Datasource;
|
||||
import com.tencent.supersonic.semantic.model.domain.repository.DatasourceRepository;
|
||||
import com.tencent.supersonic.semantic.model.domain.repository.DateInfoRepository;
|
||||
import com.tencent.supersonic.semantic.model.domain.utils.DatasourceConverter;
|
||||
import com.tencent.supersonic.semantic.model.domain.utils.DimensionConverter;
|
||||
import com.tencent.supersonic.semantic.model.domain.utils.MetricConverter;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
@@ -301,7 +301,7 @@ public class DatasourceServiceImpl implements DatasourceService {
|
||||
|
||||
|
||||
@Override
|
||||
public ItemDateResp getDateDate(ItemDateFilter dimension, ItemDateFilter metric) {
|
||||
public ItemDateResp getItemDate(ItemDateFilter dimension, ItemDateFilter metric) {
|
||||
List<DateInfoReq> itemDates = new ArrayList<>();
|
||||
List<DateInfoDO> dimensions = dateInfoRepository.getDateInfos(dimension);
|
||||
List<DateInfoDO> metrics = dateInfoRepository.getDateInfos(metric);
|
||||
@@ -1,23 +1,23 @@
|
||||
package com.tencent.supersonic.semantic.core.application;
|
||||
package com.tencent.supersonic.semantic.model.application;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.github.pagehelper.PageHelper;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import com.google.common.collect.Lists;
|
||||
import com.tencent.supersonic.auth.api.authentication.pojo.User;
|
||||
import com.tencent.supersonic.semantic.api.core.request.DimensionReq;
|
||||
import com.tencent.supersonic.semantic.api.core.request.PageDimensionReq;
|
||||
import com.tencent.supersonic.semantic.api.core.response.DatasourceResp;
|
||||
import com.tencent.supersonic.semantic.api.core.response.DimensionResp;
|
||||
import com.tencent.supersonic.common.enums.SensitiveLevelEnum;
|
||||
import com.tencent.supersonic.semantic.core.domain.dataobject.DimensionDO;
|
||||
import com.tencent.supersonic.semantic.core.domain.repository.DimensionRepository;
|
||||
import com.tencent.supersonic.semantic.core.domain.utils.DimensionConverter;
|
||||
import com.tencent.supersonic.semantic.core.domain.DatasourceService;
|
||||
import com.tencent.supersonic.semantic.core.domain.DimensionService;
|
||||
import com.tencent.supersonic.semantic.core.domain.DomainService;
|
||||
import com.tencent.supersonic.semantic.core.domain.pojo.Dimension;
|
||||
import com.tencent.supersonic.semantic.core.domain.pojo.DimensionFilter;
|
||||
import com.tencent.supersonic.semantic.api.model.request.DimensionReq;
|
||||
import com.tencent.supersonic.semantic.api.model.request.PageDimensionReq;
|
||||
import com.tencent.supersonic.semantic.api.model.response.DatasourceResp;
|
||||
import com.tencent.supersonic.semantic.api.model.response.DimensionResp;
|
||||
import com.tencent.supersonic.common.pojo.enums.SensitiveLevelEnum;
|
||||
import com.tencent.supersonic.semantic.model.domain.dataobject.DimensionDO;
|
||||
import com.tencent.supersonic.semantic.model.domain.repository.DimensionRepository;
|
||||
import com.tencent.supersonic.semantic.model.domain.utils.DimensionConverter;
|
||||
import com.tencent.supersonic.semantic.model.domain.DatasourceService;
|
||||
import com.tencent.supersonic.semantic.model.domain.DimensionService;
|
||||
import com.tencent.supersonic.semantic.model.domain.DomainService;
|
||||
import com.tencent.supersonic.semantic.model.domain.pojo.Dimension;
|
||||
import com.tencent.supersonic.semantic.model.domain.pojo.DimensionFilter;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@@ -1,27 +1,29 @@
|
||||
package com.tencent.supersonic.semantic.core.application;
|
||||
package com.tencent.supersonic.semantic.model.application;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.google.common.collect.Lists;
|
||||
import com.tencent.supersonic.auth.api.authentication.pojo.User;
|
||||
import com.tencent.supersonic.common.util.mapper.BeanMapper;
|
||||
import com.tencent.supersonic.semantic.api.core.request.DomainReq;
|
||||
import com.tencent.supersonic.semantic.api.core.request.DomainSchemaFilterReq;
|
||||
import com.tencent.supersonic.semantic.api.core.request.DomainUpdateReq;
|
||||
import com.tencent.supersonic.semantic.api.core.response.DatasourceResp;
|
||||
import com.tencent.supersonic.semantic.api.core.response.DimSchemaResp;
|
||||
import com.tencent.supersonic.semantic.api.core.response.DimensionResp;
|
||||
import com.tencent.supersonic.semantic.api.core.response.DomainResp;
|
||||
import com.tencent.supersonic.semantic.api.core.response.DomainSchemaResp;
|
||||
import com.tencent.supersonic.semantic.api.core.response.MetricResp;
|
||||
import com.tencent.supersonic.semantic.api.core.response.MetricSchemaResp;
|
||||
import com.tencent.supersonic.semantic.core.domain.DatasourceService;
|
||||
import com.tencent.supersonic.semantic.core.domain.DimensionService;
|
||||
import com.tencent.supersonic.semantic.core.domain.DomainService;
|
||||
import com.tencent.supersonic.semantic.core.domain.MetricService;
|
||||
import com.tencent.supersonic.semantic.core.domain.dataobject.DomainDO;
|
||||
import com.tencent.supersonic.semantic.core.domain.pojo.Domain;
|
||||
import com.tencent.supersonic.semantic.core.domain.repository.DomainRepository;
|
||||
import com.tencent.supersonic.semantic.core.domain.utils.DomainConvert;
|
||||
import com.tencent.supersonic.common.util.BeanMapper;
|
||||
import com.tencent.supersonic.common.util.JsonUtil;
|
||||
import com.tencent.supersonic.semantic.api.model.request.DomainReq;
|
||||
import com.tencent.supersonic.semantic.api.model.request.DomainSchemaFilterReq;
|
||||
import com.tencent.supersonic.semantic.api.model.request.DomainUpdateReq;
|
||||
import com.tencent.supersonic.semantic.api.model.response.DatasourceResp;
|
||||
import com.tencent.supersonic.semantic.api.model.response.DimSchemaResp;
|
||||
import com.tencent.supersonic.semantic.api.model.response.DimensionResp;
|
||||
import com.tencent.supersonic.semantic.api.model.response.DomainResp;
|
||||
import com.tencent.supersonic.semantic.api.model.response.DomainSchemaResp;
|
||||
import com.tencent.supersonic.semantic.api.model.response.MetricResp;
|
||||
import com.tencent.supersonic.semantic.api.model.response.MetricSchemaResp;
|
||||
import com.tencent.supersonic.semantic.model.domain.DatasourceService;
|
||||
import com.tencent.supersonic.semantic.model.domain.DimensionService;
|
||||
import com.tencent.supersonic.semantic.model.domain.DomainService;
|
||||
import com.tencent.supersonic.semantic.model.domain.MetricService;
|
||||
import com.tencent.supersonic.semantic.model.domain.dataobject.DomainDO;
|
||||
import com.tencent.supersonic.semantic.model.domain.pojo.Domain;
|
||||
import com.tencent.supersonic.semantic.model.domain.repository.DomainRepository;
|
||||
import com.tencent.supersonic.semantic.model.domain.utils.DomainConvert;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
@@ -29,6 +31,7 @@ import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.context.annotation.Lazy;
|
||||
@@ -47,7 +50,7 @@ public class DomainServiceImpl implements DomainService {
|
||||
|
||||
|
||||
public DomainServiceImpl(DomainRepository domainRepository, @Lazy MetricService metricService,
|
||||
@Lazy DimensionService dimensionService, @Lazy DatasourceService datasourceService) {
|
||||
@Lazy DimensionService dimensionService, @Lazy DatasourceService datasourceService) {
|
||||
this.domainRepository = domainRepository;
|
||||
this.metricService = metricService;
|
||||
this.dimensionService = dimensionService;
|
||||
@@ -75,6 +78,7 @@ public class DomainServiceImpl implements DomainService {
|
||||
domainDO.setAdminOrg(String.join(",", domainUpdateReq.getAdminOrgs()));
|
||||
domainDO.setViewer(String.join(",", domainUpdateReq.getViewers()));
|
||||
domainDO.setViewOrg(String.join(",", domainUpdateReq.getViewOrgs()));
|
||||
domainDO.setEntity(JsonUtil.toString(domainUpdateReq.getEntity()));
|
||||
domainRepository.updateDomain(domainDO);
|
||||
}
|
||||
|
||||
@@ -161,7 +165,7 @@ public class DomainServiceImpl implements DomainService {
|
||||
return "";
|
||||
}
|
||||
Map<Long, String> map = getDomainFullPathMap();
|
||||
return map.get(domainId);
|
||||
return map.containsKey(domainId) ? map.get(domainId) : "";
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -178,7 +182,7 @@ public class DomainServiceImpl implements DomainService {
|
||||
|
||||
|
||||
private List<DomainResp> convertList(List<DomainDO> domainDOS, Map<Long, List<MetricResp>> metricDomainMap,
|
||||
Map<Long, List<DimensionResp>> dimensionDomainMap) {
|
||||
Map<Long, List<DimensionResp>> dimensionDomainMap) {
|
||||
List<DomainResp> domainDescs = Lists.newArrayList();
|
||||
if (CollectionUtils.isEmpty(domainDOS)) {
|
||||
return domainDescs;
|
||||
@@ -1,24 +1,24 @@
|
||||
package com.tencent.supersonic.semantic.core.application;
|
||||
package com.tencent.supersonic.semantic.model.application;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.github.pagehelper.PageHelper;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import com.google.common.collect.Lists;
|
||||
import com.tencent.supersonic.auth.api.authentication.pojo.User;
|
||||
import com.tencent.supersonic.semantic.api.core.pojo.Measure;
|
||||
import com.tencent.supersonic.semantic.api.core.pojo.MetricTypeParams;
|
||||
import com.tencent.supersonic.semantic.api.core.request.MetricReq;
|
||||
import com.tencent.supersonic.semantic.api.core.request.PageMetricReq;
|
||||
import com.tencent.supersonic.semantic.api.core.response.DomainResp;
|
||||
import com.tencent.supersonic.semantic.api.core.response.MetricResp;
|
||||
import com.tencent.supersonic.common.enums.SensitiveLevelEnum;
|
||||
import com.tencent.supersonic.semantic.core.domain.dataobject.MetricDO;
|
||||
import com.tencent.supersonic.semantic.core.domain.pojo.MetricFilter;
|
||||
import com.tencent.supersonic.semantic.core.domain.repository.MetricRepository;
|
||||
import com.tencent.supersonic.semantic.core.domain.utils.MetricConverter;
|
||||
import com.tencent.supersonic.semantic.core.domain.DomainService;
|
||||
import com.tencent.supersonic.semantic.core.domain.MetricService;
|
||||
import com.tencent.supersonic.semantic.core.domain.pojo.Metric;
|
||||
import com.tencent.supersonic.semantic.api.model.pojo.Measure;
|
||||
import com.tencent.supersonic.semantic.api.model.pojo.MetricTypeParams;
|
||||
import com.tencent.supersonic.semantic.api.model.request.MetricReq;
|
||||
import com.tencent.supersonic.semantic.api.model.request.PageMetricReq;
|
||||
import com.tencent.supersonic.semantic.api.model.response.DomainResp;
|
||||
import com.tencent.supersonic.semantic.api.model.response.MetricResp;
|
||||
import com.tencent.supersonic.common.pojo.enums.SensitiveLevelEnum;
|
||||
import com.tencent.supersonic.semantic.model.domain.dataobject.MetricDO;
|
||||
import com.tencent.supersonic.semantic.model.domain.pojo.MetricFilter;
|
||||
import com.tencent.supersonic.semantic.model.domain.repository.MetricRepository;
|
||||
import com.tencent.supersonic.semantic.model.domain.utils.MetricConverter;
|
||||
import com.tencent.supersonic.semantic.model.domain.DomainService;
|
||||
import com.tencent.supersonic.semantic.model.domain.MetricService;
|
||||
import com.tencent.supersonic.semantic.model.domain.pojo.Metric;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@@ -99,14 +99,11 @@ public class MetricServiceImpl implements MetricService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageInfo<MetricResp> queryMetric(PageMetricReq pageMetrricReq) {
|
||||
if (pageMetrricReq.getDomainId() == null) {
|
||||
return PageInfo.of(Lists.newArrayList());
|
||||
}
|
||||
public PageInfo<MetricResp> queryMetric(PageMetricReq pageMetricReq) {
|
||||
MetricFilter metricFilter = new MetricFilter();
|
||||
BeanUtils.copyProperties(pageMetrricReq, metricFilter);
|
||||
PageInfo<MetricDO> metricDOPageInfo = PageHelper.startPage(pageMetrricReq.getCurrent(),
|
||||
pageMetrricReq.getPageSize())
|
||||
BeanUtils.copyProperties(pageMetricReq, metricFilter);
|
||||
PageInfo<MetricDO> metricDOPageInfo = PageHelper.startPage(pageMetricReq.getCurrent(),
|
||||
pageMetricReq.getPageSize())
|
||||
.doSelectPageInfo(() -> queryMetric(metricFilter));
|
||||
PageInfo<MetricResp> pageInfo = new PageInfo<>();
|
||||
BeanUtils.copyProperties(metricDOPageInfo, pageInfo);
|
||||
@@ -1,17 +1,17 @@
|
||||
package com.tencent.supersonic.semantic.core.application;
|
||||
package com.tencent.supersonic.semantic.model.application;
|
||||
|
||||
|
||||
import com.tencent.supersonic.auth.api.authentication.pojo.User;
|
||||
import com.tencent.supersonic.semantic.api.core.request.ViewInfoReq;
|
||||
import com.tencent.supersonic.semantic.api.core.response.DatasourceResp;
|
||||
import com.tencent.supersonic.semantic.api.core.response.DimensionResp;
|
||||
import com.tencent.supersonic.semantic.api.core.response.DomainSchemaRelaResp;
|
||||
import com.tencent.supersonic.semantic.api.core.response.MetricResp;
|
||||
import com.tencent.supersonic.semantic.core.domain.dataobject.ViewInfoDO;
|
||||
import com.tencent.supersonic.semantic.core.domain.repository.ViewInfoRepository;
|
||||
import com.tencent.supersonic.semantic.core.domain.DatasourceService;
|
||||
import com.tencent.supersonic.semantic.core.domain.DimensionService;
|
||||
import com.tencent.supersonic.semantic.core.domain.MetricService;
|
||||
import com.tencent.supersonic.semantic.api.model.request.ViewInfoReq;
|
||||
import com.tencent.supersonic.semantic.api.model.response.DatasourceResp;
|
||||
import com.tencent.supersonic.semantic.api.model.response.DimensionResp;
|
||||
import com.tencent.supersonic.semantic.api.model.response.DomainSchemaRelaResp;
|
||||
import com.tencent.supersonic.semantic.api.model.response.MetricResp;
|
||||
import com.tencent.supersonic.semantic.model.domain.dataobject.ViewInfoDO;
|
||||
import com.tencent.supersonic.semantic.model.domain.repository.ViewInfoRepository;
|
||||
import com.tencent.supersonic.semantic.model.domain.DatasourceService;
|
||||
import com.tencent.supersonic.semantic.model.domain.DimensionService;
|
||||
import com.tencent.supersonic.semantic.model.domain.MetricService;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
@@ -0,0 +1,39 @@
|
||||
package com.tencent.supersonic.semantic.model.domain;
|
||||
|
||||
import com.tencent.supersonic.semantic.api.model.pojo.ItemDateFilter;
|
||||
import com.tencent.supersonic.semantic.api.model.yaml.DatasourceYamlTpl;
|
||||
import com.tencent.supersonic.semantic.api.model.yaml.DimensionYamlTpl;
|
||||
import com.tencent.supersonic.semantic.api.model.yaml.MetricYamlTpl;
|
||||
import com.tencent.supersonic.semantic.api.model.response.DatabaseResp;
|
||||
import com.tencent.supersonic.semantic.api.model.response.DatasourceResp;
|
||||
import com.tencent.supersonic.semantic.api.model.response.DimensionResp;
|
||||
import com.tencent.supersonic.semantic.api.model.response.ItemDateResp;
|
||||
import com.tencent.supersonic.semantic.api.model.response.MetricResp;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
public interface Catalog {
|
||||
|
||||
DatabaseResp getDatabase(Long id);
|
||||
DatabaseResp getDatabaseByDomainId(Long domainId);
|
||||
|
||||
List<DatasourceResp> getDatasourceList(Long domainId);
|
||||
|
||||
String getDomainFullPath(Long domainId);
|
||||
|
||||
Map<Long, String> getDomainFullPath();
|
||||
|
||||
DimensionResp getDimension(String bizName, Long domainId);
|
||||
|
||||
List<DimensionResp> getDimensions(Long domainId);
|
||||
|
||||
List<MetricResp> getMetrics(Long domainId);
|
||||
|
||||
void getModelYamlTplByDomainIds(Set<Long> domainIds, Map<String, List<DimensionYamlTpl>> dimensionYamlMap,
|
||||
List<DatasourceYamlTpl> datasourceYamlTplList, List<MetricYamlTpl> metricYamlTplList);
|
||||
|
||||
|
||||
ItemDateResp getItemDate(ItemDateFilter dimension, ItemDateFilter metric);
|
||||
|
||||
}
|
||||
@@ -1,10 +1,10 @@
|
||||
package com.tencent.supersonic.semantic.core.domain;
|
||||
package com.tencent.supersonic.semantic.model.domain;
|
||||
|
||||
import com.tencent.supersonic.auth.api.authentication.pojo.User;
|
||||
import com.tencent.supersonic.semantic.api.core.request.DatabaseReq;
|
||||
import com.tencent.supersonic.semantic.api.core.response.DatabaseResp;
|
||||
import com.tencent.supersonic.semantic.api.core.response.QueryResultWithSchemaResp;
|
||||
import com.tencent.supersonic.semantic.api.core.response.SqlParserResp;
|
||||
import com.tencent.supersonic.semantic.api.model.request.DatabaseReq;
|
||||
import com.tencent.supersonic.semantic.api.model.response.DatabaseResp;
|
||||
import com.tencent.supersonic.semantic.api.model.response.QueryResultWithSchemaResp;
|
||||
import com.tencent.supersonic.semantic.api.model.response.SqlParserResp;
|
||||
|
||||
|
||||
public interface DatabaseService {
|
||||
@@ -1,17 +1,17 @@
|
||||
package com.tencent.supersonic.semantic.core.domain;
|
||||
package com.tencent.supersonic.semantic.model.domain;
|
||||
|
||||
|
||||
import com.tencent.supersonic.auth.api.authentication.pojo.User;
|
||||
import com.tencent.supersonic.semantic.api.core.pojo.ItemDateFilter;
|
||||
import com.tencent.supersonic.semantic.api.core.pojo.yaml.DatasourceYamlTpl;
|
||||
import com.tencent.supersonic.semantic.api.core.pojo.yaml.DimensionYamlTpl;
|
||||
import com.tencent.supersonic.semantic.api.core.pojo.yaml.MetricYamlTpl;
|
||||
import com.tencent.supersonic.semantic.api.core.request.DatasourceRelaReq;
|
||||
import com.tencent.supersonic.semantic.api.core.request.DatasourceReq;
|
||||
import com.tencent.supersonic.semantic.api.core.response.DatasourceRelaResp;
|
||||
import com.tencent.supersonic.semantic.api.core.response.DatasourceResp;
|
||||
import com.tencent.supersonic.semantic.api.core.response.ItemDateResp;
|
||||
import com.tencent.supersonic.semantic.api.core.response.MeasureResp;
|
||||
import com.tencent.supersonic.semantic.api.model.pojo.ItemDateFilter;
|
||||
import com.tencent.supersonic.semantic.api.model.yaml.DatasourceYamlTpl;
|
||||
import com.tencent.supersonic.semantic.api.model.yaml.DimensionYamlTpl;
|
||||
import com.tencent.supersonic.semantic.api.model.yaml.MetricYamlTpl;
|
||||
import com.tencent.supersonic.semantic.api.model.request.DatasourceRelaReq;
|
||||
import com.tencent.supersonic.semantic.api.model.request.DatasourceReq;
|
||||
import com.tencent.supersonic.semantic.api.model.response.DatasourceRelaResp;
|
||||
import com.tencent.supersonic.semantic.api.model.response.DatasourceResp;
|
||||
import com.tencent.supersonic.semantic.api.model.response.ItemDateResp;
|
||||
import com.tencent.supersonic.semantic.api.model.response.MeasureResp;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
@@ -40,7 +40,7 @@ public interface DatasourceService {
|
||||
|
||||
void deleteDatasourceRela(Long id);
|
||||
|
||||
ItemDateResp getDateDate(ItemDateFilter dimension, ItemDateFilter metric);
|
||||
ItemDateResp getItemDate(ItemDateFilter dimension, ItemDateFilter metric);
|
||||
|
||||
List<MeasureResp> getMeasureListOfDomain(Long domainId);
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
package com.tencent.supersonic.semantic.core.domain;
|
||||
package com.tencent.supersonic.semantic.model.domain;
|
||||
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import com.tencent.supersonic.auth.api.authentication.pojo.User;
|
||||
import com.tencent.supersonic.semantic.api.core.request.DimensionReq;
|
||||
import com.tencent.supersonic.semantic.api.core.request.PageDimensionReq;
|
||||
import com.tencent.supersonic.semantic.api.core.response.DimensionResp;
|
||||
import com.tencent.supersonic.semantic.api.model.request.DimensionReq;
|
||||
import com.tencent.supersonic.semantic.api.model.request.PageDimensionReq;
|
||||
import com.tencent.supersonic.semantic.api.model.response.DimensionResp;
|
||||
import java.util.List;
|
||||
|
||||
public interface DimensionService {
|
||||
@@ -1,11 +1,11 @@
|
||||
package com.tencent.supersonic.semantic.core.domain;
|
||||
package com.tencent.supersonic.semantic.model.domain;
|
||||
|
||||
import com.tencent.supersonic.auth.api.authentication.pojo.User;
|
||||
import com.tencent.supersonic.semantic.api.core.request.DomainReq;
|
||||
import com.tencent.supersonic.semantic.api.core.request.DomainSchemaFilterReq;
|
||||
import com.tencent.supersonic.semantic.api.core.request.DomainUpdateReq;
|
||||
import com.tencent.supersonic.semantic.api.core.response.DomainResp;
|
||||
import com.tencent.supersonic.semantic.api.core.response.DomainSchemaResp;
|
||||
import com.tencent.supersonic.semantic.api.model.request.DomainReq;
|
||||
import com.tencent.supersonic.semantic.api.model.request.DomainSchemaFilterReq;
|
||||
import com.tencent.supersonic.semantic.api.model.request.DomainUpdateReq;
|
||||
import com.tencent.supersonic.semantic.api.model.response.DomainResp;
|
||||
import com.tencent.supersonic.semantic.api.model.response.DomainSchemaResp;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
package com.tencent.supersonic.semantic.core.domain;
|
||||
package com.tencent.supersonic.semantic.model.domain;
|
||||
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import com.tencent.supersonic.auth.api.authentication.pojo.User;
|
||||
import com.tencent.supersonic.semantic.api.core.request.MetricReq;
|
||||
import com.tencent.supersonic.semantic.api.core.request.PageMetricReq;
|
||||
import com.tencent.supersonic.semantic.api.core.response.MetricResp;
|
||||
import com.tencent.supersonic.semantic.api.model.request.MetricReq;
|
||||
import com.tencent.supersonic.semantic.api.model.request.PageMetricReq;
|
||||
import com.tencent.supersonic.semantic.api.model.response.MetricResp;
|
||||
import java.util.List;
|
||||
|
||||
public interface MetricService {
|
||||
@@ -1,7 +1,7 @@
|
||||
package com.tencent.supersonic.semantic.core.domain.adaptor.engineadapter;
|
||||
package com.tencent.supersonic.semantic.model.domain.adaptor.engineadapter;
|
||||
|
||||
import com.tencent.supersonic.semantic.api.core.enums.TimeDimensionEnum;
|
||||
import com.tencent.supersonic.common.constant.Constants;
|
||||
import com.tencent.supersonic.semantic.api.model.enums.TimeDimensionEnum;
|
||||
import com.tencent.supersonic.common.pojo.Constants;
|
||||
|
||||
public class ClickHouseAdaptor extends EngineAdaptor {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.tencent.supersonic.semantic.core.domain.adaptor.engineadapter;
|
||||
package com.tencent.supersonic.semantic.model.domain.adaptor.engineadapter;
|
||||
|
||||
|
||||
public abstract class EngineAdaptor {
|
||||
@@ -1,7 +1,7 @@
|
||||
package com.tencent.supersonic.semantic.core.domain.adaptor.engineadapter;
|
||||
package com.tencent.supersonic.semantic.model.domain.adaptor.engineadapter;
|
||||
|
||||
|
||||
import com.tencent.supersonic.semantic.core.domain.pojo.EngineTypeEnum;
|
||||
import com.tencent.supersonic.semantic.model.domain.pojo.EngineTypeEnum;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
@@ -14,7 +14,7 @@ public class EngineAdaptorFactory {
|
||||
engineAdaptorMap = new HashMap<>();
|
||||
engineAdaptorMap.put(EngineTypeEnum.CLICKHOUSE.getName(), new ClickHouseAdaptor());
|
||||
engineAdaptorMap.put(EngineTypeEnum.MYSQL.getName(), new MysqlAdaptor());
|
||||
engineAdaptorMap.put(EngineTypeEnum.H2.getName(), new MysqlAdaptor());
|
||||
engineAdaptorMap.put(EngineTypeEnum.H2.getName(), new H2Adaptor());
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,45 @@
|
||||
package com.tencent.supersonic.semantic.model.domain.adaptor.engineadapter;
|
||||
|
||||
import com.tencent.supersonic.common.pojo.Constants;
|
||||
import com.tencent.supersonic.semantic.api.model.enums.TimeDimensionEnum;
|
||||
|
||||
public class H2Adaptor extends EngineAdaptor {
|
||||
|
||||
@Override
|
||||
public String getDateFormat(String dateType, String dateFormat, String column) {
|
||||
if (dateFormat.equalsIgnoreCase(Constants.DAY_FORMAT_INT)) {
|
||||
if (TimeDimensionEnum.MONTH.name().equalsIgnoreCase(dateType)) {
|
||||
return "FORMATDATETIME(PARSEDATETIME(%s, 'yyyyMMdd'),'yyyy-MM')".replace("%s", column);
|
||||
} else if (TimeDimensionEnum.WEEK.name().equalsIgnoreCase(dateType)) {
|
||||
return "DATE_TRUNC('week',%s)".replace("%s", column);
|
||||
} else {
|
||||
return "FORMATDATETIME(PARSEDATETIME(%s, 'yyyyMMdd'),'yyyy-MM-dd')".replace("%s", column);
|
||||
}
|
||||
} else if (dateFormat.equalsIgnoreCase(Constants.DAY_FORMAT)) {
|
||||
if (TimeDimensionEnum.MONTH.name().equalsIgnoreCase(dateType)) {
|
||||
return "FORMATDATETIME(PARSEDATETIME(%s, 'yyyy-MM-dd'),'yyyy-MM') ".replace("%s", column);
|
||||
} else if (TimeDimensionEnum.WEEK.name().equalsIgnoreCase(dateType)) {
|
||||
return "DATE_TRUNC('week',%s)".replace("%s", column);
|
||||
} else {
|
||||
return column;
|
||||
}
|
||||
}
|
||||
return column;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getColumnMetaQueryTpl() {
|
||||
return "SELECT COLUMN_NAME AS name, DATA_TYPE AS dataType\n" +
|
||||
"FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA ='%s' AND TABLE_NAME = '%s'";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getDbMetaQueryTpl() {
|
||||
return "SELECT DISTINCT TABLE_SCHEMA as name FROM INFORMATION_SCHEMA.TABLES WHERE STORAGE_TYPE = 'MEMORY'";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getTableMetaQueryTpl() {
|
||||
return "SELECT TABLE_NAME as name FROM INFORMATION_SCHEMA.TABLES WHERE STORAGE_TYPE = 'MEMORY' AND TABLE_SCHEMA = '%s'";
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
package com.tencent.supersonic.semantic.core.domain.adaptor.engineadapter;
|
||||
package com.tencent.supersonic.semantic.model.domain.adaptor.engineadapter;
|
||||
|
||||
import com.tencent.supersonic.semantic.api.core.enums.TimeDimensionEnum;
|
||||
import com.tencent.supersonic.common.constant.Constants;
|
||||
import com.tencent.supersonic.semantic.api.model.enums.TimeDimensionEnum;
|
||||
import com.tencent.supersonic.common.pojo.Constants;
|
||||
|
||||
|
||||
public class MysqlAdaptor extends EngineAdaptor {
|
||||
@@ -35,12 +35,12 @@ public class MysqlAdaptor extends EngineAdaptor {
|
||||
|
||||
@Override
|
||||
public String getDbMetaQueryTpl() {
|
||||
return "select distinct TABLE_SCHEMA from information_schema.tables where TABLE_SCHEMA not in ('information_schema','mysql','performance_schema','sys');";
|
||||
return "select distinct TABLE_SCHEMA as name from information_schema.tables where TABLE_SCHEMA not in ('information_schema','mysql','performance_schema','sys');";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getTableMetaQueryTpl() {
|
||||
return "select TABLE_NAME from information_schema.tables where TABLE_SCHEMA = '%s';";
|
||||
return "select TABLE_NAME as name from information_schema.tables where TABLE_SCHEMA = '%s';";
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.tencent.supersonic.semantic.core.domain.config;
|
||||
package com.tencent.supersonic.semantic.model.domain.config;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.tencent.supersonic.semantic.core.domain.dataobject;
|
||||
package com.tencent.supersonic.semantic.model.domain.dataobject;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
@@ -24,6 +24,11 @@ public class DatabaseDO {
|
||||
*/
|
||||
private String description;
|
||||
|
||||
/**
|
||||
* 版本
|
||||
*/
|
||||
private String version;
|
||||
|
||||
/**
|
||||
* 类型 mysql,clickhouse,tdw
|
||||
*/
|
||||
@@ -229,4 +234,16 @@ public class DatabaseDO {
|
||||
public void setConfig(String config) {
|
||||
this.config = config == null ? null : config.trim();
|
||||
}
|
||||
|
||||
/**
|
||||
* 版本信息
|
||||
*
|
||||
*/
|
||||
public String getVersion() {
|
||||
return version;
|
||||
}
|
||||
|
||||
public void setVersion(String version) {
|
||||
this.version = version;
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.tencent.supersonic.semantic.core.domain.dataobject;
|
||||
package com.tencent.supersonic.semantic.model.domain.dataobject;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.tencent.supersonic.semantic.core.domain.dataobject;
|
||||
package com.tencent.supersonic.semantic.model.domain.dataobject;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.tencent.supersonic.semantic.core.domain.dataobject;
|
||||
package com.tencent.supersonic.semantic.model.domain.dataobject;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.tencent.supersonic.semantic.core.domain.dataobject;
|
||||
package com.tencent.supersonic.semantic.model.domain.dataobject;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.tencent.supersonic.semantic.core.domain.dataobject;
|
||||
package com.tencent.supersonic.semantic.model.domain.dataobject;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.tencent.supersonic.semantic.core.domain.dataobject;
|
||||
package com.tencent.supersonic.semantic.model.domain.dataobject;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.tencent.supersonic.semantic.core.domain.dataobject;
|
||||
package com.tencent.supersonic.semantic.model.domain.dataobject;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.tencent.supersonic.semantic.core.domain.dataobject;
|
||||
package com.tencent.supersonic.semantic.model.domain.dataobject;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.tencent.supersonic.semantic.core.domain.dataobject;
|
||||
package com.tencent.supersonic.semantic.model.domain.dataobject;
|
||||
|
||||
public class DictionaryTaskDO {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.tencent.supersonic.semantic.core.domain.dataobject;
|
||||
package com.tencent.supersonic.semantic.model.domain.dataobject;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user