init
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
package cn.datax.service.data.metadata.api.dto;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import java.io.Serializable;
|
||||
|
||||
@ApiModel(value = "数据授权信息Model")
|
||||
@Data
|
||||
public class AuthorizeData implements Serializable {
|
||||
|
||||
private static final long serialVersionUID=1L;
|
||||
|
||||
@NotBlank(message = "目标表主键ID不能为空")
|
||||
@ApiModelProperty(value = "目标表主键ID")
|
||||
private String objectId;
|
||||
@NotBlank(message = "角色ID不能为空")
|
||||
@ApiModelProperty(value = "角色ID")
|
||||
private String roleId;
|
||||
@NotBlank(message = "目标表类型不能为空")
|
||||
@ApiModelProperty(value = "目标表类型")
|
||||
private String objectType;
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
package cn.datax.service.data.metadata.api.dto;
|
||||
|
||||
import cn.datax.common.validate.ValidationGroups;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.io.Serializable;
|
||||
|
||||
@ApiModel(value = "数据源连接信息Model")
|
||||
@Data
|
||||
public class DbSchema implements Serializable {
|
||||
|
||||
private static final long serialVersionUID=1L;
|
||||
|
||||
@ApiModelProperty(value = "主机")
|
||||
@NotBlank(message = "主机不能为空", groups = {ValidationGroups.Insert.class, ValidationGroups.Update.class})
|
||||
private String host;
|
||||
@ApiModelProperty(value = "端口")
|
||||
@NotNull(message = "端口不能为空", groups = {ValidationGroups.Insert.class, ValidationGroups.Update.class})
|
||||
private Integer port;
|
||||
@ApiModelProperty(value = "用户名")
|
||||
@NotBlank(message = "用户名不能为空", groups = {ValidationGroups.Insert.class, ValidationGroups.Update.class})
|
||||
private String username;
|
||||
@ApiModelProperty(value = "密码")
|
||||
@NotBlank(message = "密码不能为空", groups = {ValidationGroups.Insert.class, ValidationGroups.Update.class})
|
||||
private String password;
|
||||
@ApiModelProperty(value = "数据库")
|
||||
private String dbName;
|
||||
@ApiModelProperty(value = "服务名")
|
||||
private String sid;
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
package cn.datax.service.data.metadata.api.dto;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.Valid;
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 数据授权信息表 实体DTO
|
||||
* </p>
|
||||
*
|
||||
* @author AllDataDC
|
||||
* @date 2022-11-23
|
||||
*/
|
||||
@ApiModel(value = "数据授权信息表Model")
|
||||
@Data
|
||||
public class MetadataAuthorizeDto implements Serializable {
|
||||
|
||||
private static final long serialVersionUID=1L;
|
||||
|
||||
@NotBlank(message = "角色ID不能为空")
|
||||
@ApiModelProperty(value = "角色ID")
|
||||
private String roleId;
|
||||
|
||||
@Valid
|
||||
@ApiModelProperty(value = "授权信息")
|
||||
private List<AuthorizeData> authorizeDataList;
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
package cn.datax.service.data.metadata.api.dto;
|
||||
|
||||
import cn.datax.common.validate.ValidationGroups;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 元数据变更记录表 实体DTO
|
||||
* </p>
|
||||
*
|
||||
* @author AllDataDC
|
||||
* @date 2022-11-30
|
||||
*/
|
||||
@ApiModel(value = "元数据变更记录表Model")
|
||||
@Data
|
||||
public class MetadataChangeRecordDto implements Serializable {
|
||||
|
||||
private static final long serialVersionUID=1L;
|
||||
|
||||
@ApiModelProperty(value = "主键ID")
|
||||
@NotBlank(message = "主键ID不能为空", groups = {ValidationGroups.Update.class})
|
||||
private String id;
|
||||
@ApiModelProperty(value = "版本号")
|
||||
private Integer version;
|
||||
@ApiModelProperty(value = "更改类型")
|
||||
private String objectType;
|
||||
@ApiModelProperty(value = "源数据表主键")
|
||||
private String objectId;
|
||||
@ApiModelProperty(value = "修改的源数据表的字段名")
|
||||
private String fieldName;
|
||||
@ApiModelProperty(value = "该字段原来的值")
|
||||
private String fieldOldValue;
|
||||
@ApiModelProperty(value = "该字段最新的值")
|
||||
private String fieldNewValue;
|
||||
@ApiModelProperty(value = "状态")
|
||||
@NotNull(message = "状态不能为空", groups = {ValidationGroups.Insert.class, ValidationGroups.Update.class})
|
||||
private String status;
|
||||
@ApiModelProperty(value = "备注")
|
||||
private String remark;
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
package cn.datax.service.data.metadata.api.dto;
|
||||
|
||||
import cn.datax.common.validate.ValidationGroups;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 元数据信息表 实体DTO
|
||||
* </p>
|
||||
*
|
||||
* @author AllDataDC
|
||||
* @date 2022-11-29
|
||||
*/
|
||||
@ApiModel(value = "元数据信息表Model")
|
||||
@Data
|
||||
public class MetadataColumnDto implements Serializable {
|
||||
|
||||
private static final long serialVersionUID=1L;
|
||||
|
||||
@ApiModelProperty(value = "主键ID")
|
||||
@NotBlank(message = "主键ID不能为空", groups = {ValidationGroups.Update.class})
|
||||
private String id;
|
||||
@ApiModelProperty(value = "所属数据源")
|
||||
private String sourceId;
|
||||
@ApiModelProperty(value = "所属数据表")
|
||||
private String tableId;
|
||||
@ApiModelProperty(value = "字段名称")
|
||||
private String columnName;
|
||||
@ApiModelProperty(value = "字段注释")
|
||||
private String columnComment;
|
||||
@ApiModelProperty(value = "字段是否主键(1是0否)")
|
||||
private String columnKey;
|
||||
@ApiModelProperty(value = "字段是否允许为空(1是0否)")
|
||||
private String columnNullable;
|
||||
@ApiModelProperty(value = "字段序号")
|
||||
private String columnPosition;
|
||||
@ApiModelProperty(value = "数据类型")
|
||||
private String dataType;
|
||||
@ApiModelProperty(value = "数据长度")
|
||||
private String dataLength;
|
||||
@ApiModelProperty(value = "数据精度")
|
||||
private String dataPrecision;
|
||||
@ApiModelProperty(value = "数据小数位")
|
||||
private String dataScale;
|
||||
@ApiModelProperty(value = "数据默认值")
|
||||
private String dataDefault;
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
package cn.datax.service.data.metadata.api.dto;
|
||||
|
||||
import cn.datax.common.validate.ValidationGroups;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.Valid;
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 数据源信息表 实体DTO
|
||||
* </p>
|
||||
*
|
||||
* @author AllDataDC
|
||||
* @date 2022-11-14
|
||||
*/
|
||||
@ApiModel(value = "数据源信息表Model")
|
||||
@Data
|
||||
public class MetadataSourceDto implements Serializable {
|
||||
|
||||
private static final long serialVersionUID=1L;
|
||||
|
||||
@ApiModelProperty(value = "主键ID")
|
||||
@NotBlank(message = "主键ID不能为空", groups = {ValidationGroups.Update.class})
|
||||
private String id;
|
||||
@ApiModelProperty(value = "数据源类型")
|
||||
@NotBlank(message = "数据源类型不能为空", groups = {ValidationGroups.Insert.class, ValidationGroups.Update.class})
|
||||
private String dbType;
|
||||
@ApiModelProperty(value = "数据源名称")
|
||||
@NotBlank(message = "数据源名称不能为空", groups = {ValidationGroups.Insert.class, ValidationGroups.Update.class})
|
||||
private String sourceName;
|
||||
@ApiModelProperty(value = "数据源连接信息")
|
||||
@Valid
|
||||
private DbSchema dbSchema;
|
||||
@ApiModelProperty(value = "状态")
|
||||
@NotNull(message = "状态不能为空", groups = {ValidationGroups.Insert.class, ValidationGroups.Update.class})
|
||||
private String status;
|
||||
@ApiModelProperty(value = "备注")
|
||||
private String remark;
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
package cn.datax.service.data.metadata.api.dto;
|
||||
|
||||
import cn.datax.common.validate.ValidationGroups;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 数据库表信息表 实体DTO
|
||||
* </p>
|
||||
*
|
||||
* @author AllDataDC
|
||||
* @date 2022-11-29
|
||||
*/
|
||||
@ApiModel(value = "数据库表信息表Model")
|
||||
@Data
|
||||
public class MetadataTableDto implements Serializable {
|
||||
|
||||
private static final long serialVersionUID=1L;
|
||||
|
||||
@ApiModelProperty(value = "主键ID")
|
||||
@NotBlank(message = "主键ID不能为空", groups = {ValidationGroups.Update.class})
|
||||
private String id;
|
||||
@ApiModelProperty(value = "所属数据源")
|
||||
private String sourceId;
|
||||
@ApiModelProperty(value = "表名")
|
||||
private String tableName;
|
||||
@ApiModelProperty(value = "表注释")
|
||||
private String tableComment;
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
package cn.datax.service.data.metadata.api.dto;
|
||||
|
||||
import cn.datax.common.validate.ValidationGroups;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import java.io.Serializable;
|
||||
|
||||
@Data
|
||||
public class SqlConsoleDto implements Serializable {
|
||||
|
||||
private static final long serialVersionUID=1L;
|
||||
|
||||
@ApiModelProperty(value = "当前时间戳")
|
||||
@NotBlank(message = "时间戳不能为空", groups = {ValidationGroups.Other.class})
|
||||
private String sqlKey;
|
||||
|
||||
@ApiModelProperty(value = "数据源")
|
||||
@NotBlank(message = "数据源不能为空")
|
||||
private String sourceId;
|
||||
|
||||
@ApiModelProperty(value = "SQL文本")
|
||||
@NotBlank(message = "SQL不能为空")
|
||||
private String sqlText;
|
||||
}
|
||||
@@ -0,0 +1,48 @@
|
||||
package cn.datax.service.data.metadata.api.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import cn.datax.common.base.BaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 数据授权信息表
|
||||
* </p>
|
||||
*
|
||||
* @author AllDataDC
|
||||
* @date 2022-11-23
|
||||
*/
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
@TableName("metadata_authorize")
|
||||
public class MetadataAuthorizeEntity implements Serializable {
|
||||
|
||||
private static final long serialVersionUID=1L;
|
||||
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
@TableId(value = "id", type = IdType.ASSIGN_ID)
|
||||
private String id;
|
||||
|
||||
/**
|
||||
* 目标表主键ID
|
||||
*/
|
||||
private String objectId;
|
||||
|
||||
/**
|
||||
* 角色ID
|
||||
*/
|
||||
private String roleId;
|
||||
|
||||
/**
|
||||
* 目标表类型
|
||||
*/
|
||||
private String objectType;
|
||||
}
|
||||
@@ -0,0 +1,71 @@
|
||||
package cn.datax.service.data.metadata.api.entity;
|
||||
|
||||
import cn.datax.common.base.DataScopeBaseEntity;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 元数据变更记录表
|
||||
* </p>
|
||||
*
|
||||
* @author AllDataDC
|
||||
* @date 2022-11-30
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Accessors(chain = true)
|
||||
@TableName(value = "metadata_change_record", autoResultMap = true)
|
||||
public class MetadataChangeRecordEntity extends DataScopeBaseEntity {
|
||||
|
||||
private static final long serialVersionUID=1L;
|
||||
|
||||
/**
|
||||
* 版本号
|
||||
*/
|
||||
private Integer version;
|
||||
|
||||
/**
|
||||
* 源数据的表名或者能唯一对应的源数据表的标识(可废弃)
|
||||
*/
|
||||
private String objectType;
|
||||
|
||||
/**
|
||||
* 源数据表主键
|
||||
*/
|
||||
private String objectId;
|
||||
|
||||
/**
|
||||
* 修改的源数据表的字段名
|
||||
*/
|
||||
private String fieldName;
|
||||
|
||||
/**
|
||||
* 该字段原来的值
|
||||
*/
|
||||
private String fieldOldValue;
|
||||
|
||||
/**
|
||||
* 该字段最新的值
|
||||
*/
|
||||
private String fieldNewValue;
|
||||
|
||||
/**
|
||||
* 数据源
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
private String sourceId;
|
||||
@TableField(exist = false)
|
||||
private String sourceName;
|
||||
|
||||
/**
|
||||
* 数据库表
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
private String tableId;
|
||||
@TableField(exist = false)
|
||||
private String tableName;
|
||||
}
|
||||
@@ -0,0 +1,101 @@
|
||||
package cn.datax.service.data.metadata.api.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 元数据信息表
|
||||
* </p>
|
||||
*
|
||||
* @author AllDataDC
|
||||
* @date 2022-11-29
|
||||
*/
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
@TableName(value = "metadata_column", autoResultMap = true)
|
||||
public class MetadataColumnEntity implements Serializable {
|
||||
|
||||
private static final long serialVersionUID=1L;
|
||||
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
@TableId(value = "id", type = IdType.ASSIGN_ID)
|
||||
private String id;
|
||||
|
||||
/**
|
||||
* 所属数据源
|
||||
*/
|
||||
private String sourceId;
|
||||
|
||||
/**
|
||||
* 所属数据表
|
||||
*/
|
||||
private String tableId;
|
||||
|
||||
/**
|
||||
* 字段名称
|
||||
*/
|
||||
private String columnName;
|
||||
|
||||
/**
|
||||
* 字段注释
|
||||
*/
|
||||
private String columnComment;
|
||||
|
||||
/**
|
||||
* 字段是否主键(1是0否)
|
||||
*/
|
||||
private String columnKey;
|
||||
|
||||
/**
|
||||
* 字段是否允许为空(1是0否)
|
||||
*/
|
||||
private String columnNullable;
|
||||
|
||||
/**
|
||||
* 字段序号
|
||||
*/
|
||||
private String columnPosition;
|
||||
|
||||
/**
|
||||
* 数据类型
|
||||
*/
|
||||
private String dataType;
|
||||
|
||||
/**
|
||||
* 数据长度
|
||||
*/
|
||||
private String dataLength;
|
||||
|
||||
/**
|
||||
* 数据精度
|
||||
*/
|
||||
private String dataPrecision;
|
||||
|
||||
/**
|
||||
* 数据小数位
|
||||
*/
|
||||
private String dataScale;
|
||||
|
||||
/**
|
||||
* 数据默认值
|
||||
*/
|
||||
private String dataDefault;
|
||||
|
||||
@TableField(exist = false)
|
||||
private String sourceName;
|
||||
|
||||
@TableField(exist = false)
|
||||
private String tableName;
|
||||
|
||||
@TableField(exist = false)
|
||||
private String tableComment;
|
||||
}
|
||||
@@ -0,0 +1,48 @@
|
||||
package cn.datax.service.data.metadata.api.entity;
|
||||
|
||||
import cn.datax.common.base.DataScopeBaseEntity;
|
||||
import cn.datax.service.data.metadata.api.dto.DbSchema;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 数据源信息表
|
||||
* </p>
|
||||
*
|
||||
* @author AllDataDC
|
||||
* @date 2022-11-14
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Accessors(chain = true)
|
||||
@TableName(value = "metadata_source", autoResultMap = true)
|
||||
public class MetadataSourceEntity extends DataScopeBaseEntity {
|
||||
|
||||
private static final long serialVersionUID=1L;
|
||||
|
||||
/**
|
||||
* 数据源类型
|
||||
*/
|
||||
private String dbType;
|
||||
|
||||
/**
|
||||
* 数据源名称
|
||||
*/
|
||||
private String sourceName;
|
||||
|
||||
/**
|
||||
* 元数据同步(0否,1同步中, 2是 3-出错)
|
||||
*/
|
||||
private String isSync;
|
||||
|
||||
/**
|
||||
* 数据源连接信息
|
||||
*/
|
||||
@TableField(typeHandler = JacksonTypeHandler.class)
|
||||
private DbSchema dbSchema;
|
||||
}
|
||||
@@ -0,0 +1,50 @@
|
||||
package cn.datax.service.data.metadata.api.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 数据库表信息表
|
||||
* </p>
|
||||
*
|
||||
* @author AllDataDC
|
||||
* @date 2022-11-29
|
||||
*/
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
@TableName(value = "metadata_table", autoResultMap = true)
|
||||
public class MetadataTableEntity implements Serializable {
|
||||
|
||||
private static final long serialVersionUID=1L;
|
||||
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
@TableId(value = "id", type = IdType.ASSIGN_ID)
|
||||
private String id;
|
||||
|
||||
/**
|
||||
* 所属数据源
|
||||
*/
|
||||
private String sourceId;
|
||||
|
||||
/**
|
||||
* 表名
|
||||
*/
|
||||
private String tableName;
|
||||
|
||||
/**
|
||||
* 表注释
|
||||
*/
|
||||
private String tableComment;
|
||||
|
||||
@TableField(exist = false)
|
||||
private String sourceName;
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
package cn.datax.service.data.metadata.api.enums;
|
||||
|
||||
public enum DataLevel {
|
||||
|
||||
DATABASE("database", 1),
|
||||
TABLE("table", 2),
|
||||
COLUMN("column", 3);
|
||||
|
||||
private final String key;
|
||||
|
||||
private final Integer level;
|
||||
|
||||
DataLevel(String key, Integer level) {
|
||||
this.key = key;
|
||||
this.level = level;
|
||||
}
|
||||
|
||||
public String getKey() {
|
||||
return key;
|
||||
}
|
||||
|
||||
public Integer getLevel() {
|
||||
return level;
|
||||
}
|
||||
|
||||
public static DataLevel getLevel(String key) {
|
||||
for (DataLevel type : DataLevel.values()) {
|
||||
if (type.key.equals(key)) {
|
||||
return type;
|
||||
}
|
||||
}
|
||||
return DATABASE;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
package cn.datax.service.data.metadata.api.enums;
|
||||
|
||||
public enum SyncStatus {
|
||||
|
||||
NotSync("0"),
|
||||
InSync("1"),
|
||||
IsSync("2"),
|
||||
SyncError("3");
|
||||
|
||||
private final String key;
|
||||
|
||||
SyncStatus(String key) {
|
||||
this.key = key;
|
||||
}
|
||||
|
||||
public String getKey() {
|
||||
return key;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
package cn.datax.service.data.metadata.api.feign;
|
||||
|
||||
import cn.datax.service.data.metadata.api.entity.MetadataSourceEntity;
|
||||
import cn.datax.service.data.metadata.api.feign.factory.MetadataSourceServiceFeignFallbackFactory;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@FeignClient(contextId = "metadataSourceServiceFeign", value = "service-data-metadata", fallbackFactory = MetadataSourceServiceFeignFallbackFactory.class)
|
||||
public interface MetadataSourceServiceFeign {
|
||||
|
||||
@GetMapping("/inner/sources/{id}")
|
||||
MetadataSourceEntity getMetadataSourceById(@PathVariable("id") String id);
|
||||
|
||||
@GetMapping("/inner/sources/list")
|
||||
List<MetadataSourceEntity> getMetadataSourceList();
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package cn.datax.service.data.metadata.api.feign.factory;
|
||||
|
||||
import cn.datax.service.data.metadata.api.feign.MetadataSourceServiceFeign;
|
||||
import cn.datax.service.data.metadata.api.feign.fallback.MetadataSourceServiceFeignFallbackImpl;
|
||||
import feign.hystrix.FallbackFactory;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
@Component
|
||||
public class MetadataSourceServiceFeignFallbackFactory implements FallbackFactory<MetadataSourceServiceFeign> {
|
||||
|
||||
@Override
|
||||
public MetadataSourceServiceFeign create(Throwable throwable) {
|
||||
MetadataSourceServiceFeignFallbackImpl metadataSourceServiceFeignFallback = new MetadataSourceServiceFeignFallbackImpl();
|
||||
metadataSourceServiceFeignFallback.setCause(throwable);
|
||||
return metadataSourceServiceFeignFallback;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
package cn.datax.service.data.metadata.api.feign.fallback;
|
||||
|
||||
import cn.datax.service.data.metadata.api.entity.MetadataSourceEntity;
|
||||
import cn.datax.service.data.metadata.api.feign.MetadataSourceServiceFeign;
|
||||
import lombok.Setter;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Slf4j
|
||||
@Component
|
||||
public class MetadataSourceServiceFeignFallbackImpl implements MetadataSourceServiceFeign {
|
||||
|
||||
@Setter
|
||||
private Throwable cause;
|
||||
|
||||
@Override
|
||||
public MetadataSourceEntity getMetadataSourceById(String id) {
|
||||
log.error("feign 调用{}出错", id, cause);
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<MetadataSourceEntity> getMetadataSourceList() {
|
||||
log.error("feign 调用出错", cause);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
package cn.datax.service.data.metadata.api.query;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 数据查询 查询实体
|
||||
* </p>
|
||||
*
|
||||
* @author AllDataDC
|
||||
* @date 2022-11-14
|
||||
*/
|
||||
@Data
|
||||
public class DbDataQuery implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@NotBlank(message = "数据源不能为空")
|
||||
private String dataSourceId;
|
||||
@NotBlank(message = "查询sql不能为空")
|
||||
private String sql;
|
||||
// 当前页码
|
||||
private Integer pageNum = 1;
|
||||
// 分页条数
|
||||
private Integer pageSize = 20;
|
||||
|
||||
public Integer getOffset() {
|
||||
pageSize = pageSize == null ? 20 : pageSize;
|
||||
pageNum = pageNum == null ? 1 : pageNum;
|
||||
int offset = pageNum > 0 ? (pageNum - 1) * pageSize : 0;
|
||||
return offset;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
package cn.datax.service.data.metadata.api.query;
|
||||
|
||||
import cn.datax.common.base.BaseQueryParams;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 数据授权信息表 查询实体
|
||||
* </p>
|
||||
*
|
||||
* @author AllDataDC
|
||||
* @date 2022-11-23
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class MetadataAuthorizeQuery extends BaseQueryParams {
|
||||
|
||||
private static final long serialVersionUID=1L;
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
package cn.datax.service.data.metadata.api.query;
|
||||
|
||||
import cn.datax.common.base.BaseQueryParams;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 元数据变更记录表 查询实体
|
||||
* </p>
|
||||
*
|
||||
* @author AllDataDC
|
||||
* @date 2022-11-30
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class MetadataChangeRecordQuery extends BaseQueryParams {
|
||||
|
||||
private static final long serialVersionUID=1L;
|
||||
|
||||
private String objectId;
|
||||
private String fieldName;
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
package cn.datax.service.data.metadata.api.query;
|
||||
|
||||
import cn.datax.common.base.BaseQueryParams;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 元数据信息表 查询实体
|
||||
* </p>
|
||||
*
|
||||
* @author AllDataDC
|
||||
* @date 2022-11-29
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class MetadataColumnQuery extends BaseQueryParams {
|
||||
|
||||
private static final long serialVersionUID=1L;
|
||||
|
||||
private String sourceId;
|
||||
|
||||
private String tableId;
|
||||
|
||||
private String columnName;
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
package cn.datax.service.data.metadata.api.query;
|
||||
|
||||
import cn.datax.common.base.BaseQueryParams;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 数据源信息表 查询实体
|
||||
* </p>
|
||||
*
|
||||
* @author AllDataDC
|
||||
* @date 2022-11-14
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class MetadataSourceQuery extends BaseQueryParams {
|
||||
|
||||
private static final long serialVersionUID=1L;
|
||||
|
||||
private String sourceName;
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
package cn.datax.service.data.metadata.api.query;
|
||||
|
||||
import cn.datax.common.base.BaseQueryParams;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 数据库表信息表 查询实体
|
||||
* </p>
|
||||
*
|
||||
* @author AllDataDC
|
||||
* @date 2022-11-29
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class MetadataTableQuery extends BaseQueryParams {
|
||||
|
||||
private static final long serialVersionUID=1L;
|
||||
|
||||
private String sourceId;
|
||||
|
||||
private String tableName;
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
package cn.datax.service.data.metadata.api.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 数据授权信息表 实体VO
|
||||
* </p>
|
||||
*
|
||||
* @author AllDataDC
|
||||
* @date 2022-11-23
|
||||
*/
|
||||
@Data
|
||||
public class MetadataAuthorizeVo implements Serializable {
|
||||
|
||||
private static final long serialVersionUID=1L;
|
||||
|
||||
private String id;
|
||||
private String objectId;
|
||||
private String roleId;
|
||||
private String objectType;
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
package cn.datax.service.data.metadata.api.vo;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 元数据变更记录表 实体VO
|
||||
* </p>
|
||||
*
|
||||
* @author AllDataDC
|
||||
* @date 2022-11-30
|
||||
*/
|
||||
@Data
|
||||
public class MetadataChangeRecordVo implements Serializable {
|
||||
|
||||
private static final long serialVersionUID=1L;
|
||||
|
||||
private String id;
|
||||
private String status;
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
private LocalDateTime createTime;
|
||||
private Integer version;
|
||||
private String objectType;
|
||||
private String objectId;
|
||||
private String fieldName;
|
||||
private String fieldOldValue;
|
||||
private String fieldNewValue;
|
||||
private String sourceId;
|
||||
private String sourceName;
|
||||
private String tableId;
|
||||
private String tableName;
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
package cn.datax.service.data.metadata.api.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 元数据信息表 实体VO
|
||||
* </p>
|
||||
*
|
||||
* @author AllDataDC
|
||||
* @date 2022-11-29
|
||||
*/
|
||||
@Data
|
||||
public class MetadataColumnVo implements Serializable {
|
||||
|
||||
private static final long serialVersionUID=1L;
|
||||
|
||||
private String id;
|
||||
private String sourceId;
|
||||
private String tableId;
|
||||
private String columnName;
|
||||
private String columnComment;
|
||||
private String columnKey;
|
||||
private String columnNullable;
|
||||
private String columnPosition;
|
||||
private String dataType;
|
||||
private String dataLength;
|
||||
private String dataPrecision;
|
||||
private String dataScale;
|
||||
private String dataDefault;
|
||||
private String sourceName;
|
||||
private String tableName;
|
||||
private String tableComment;
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
package cn.datax.service.data.metadata.api.vo;
|
||||
|
||||
import cn.datax.service.data.metadata.api.dto.DbSchema;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 数据源信息表 实体VO
|
||||
* </p>
|
||||
*
|
||||
* @author AllDataDC
|
||||
* @date 2022-11-14
|
||||
*/
|
||||
@Data
|
||||
public class MetadataSourceVo implements Serializable {
|
||||
|
||||
private static final long serialVersionUID=1L;
|
||||
|
||||
private String id;
|
||||
private String status;
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
private LocalDateTime createTime;
|
||||
private String remark;
|
||||
private String dbType;
|
||||
private String sourceName;
|
||||
private DbSchema dbSchema;
|
||||
private String isSync;
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
package cn.datax.service.data.metadata.api.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 数据库表信息表 实体VO
|
||||
* </p>
|
||||
*
|
||||
* @author AllDataDC
|
||||
* @date 2022-11-29
|
||||
*/
|
||||
@Data
|
||||
public class MetadataTableVo implements Serializable {
|
||||
|
||||
private static final long serialVersionUID=1L;
|
||||
|
||||
private String id;
|
||||
private String sourceId;
|
||||
private String tableName;
|
||||
private String tableComment;
|
||||
private String sourceName;
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
package cn.datax.service.data.metadata.api.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class MetadataTreeVo implements Serializable {
|
||||
|
||||
private static final long serialVersionUID=1L;
|
||||
|
||||
private String id;
|
||||
/**
|
||||
* 数据层级 database、table、column
|
||||
*/
|
||||
private String type;
|
||||
private String label;
|
||||
private String name;
|
||||
private String code;
|
||||
private List<MetadataTreeVo> children;
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
package cn.datax.service.data.metadata.api.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@Data
|
||||
public class SqlConsoleVo implements Serializable {
|
||||
|
||||
private static final long serialVersionUID=1L;
|
||||
|
||||
private String sql;
|
||||
private Long time;
|
||||
private Boolean success;
|
||||
private Integer count;
|
||||
private List<String> columnList;
|
||||
private List<Map<String, Object>> dataList;
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
|
||||
cn.datax.service.data.metadata.api.feign.factory.MetadataSourceServiceFeignFallbackFactory,\
|
||||
cn.datax.service.data.metadata.api.feign.fallback.MetadataSourceServiceFeignFallbackImpl
|
||||
Reference in New Issue
Block a user