init
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<parent>
|
||||
<artifactId>data-masterdata-service-parent</artifactId>
|
||||
<groupId>com.platform</groupId>
|
||||
<version>0.4.x</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<version>0.4.x</version>
|
||||
<artifactId>data-masterdata-service-api</artifactId>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>com.github.xiaoymin</groupId>
|
||||
<artifactId>knife4j-micro-spring-boot-starter</artifactId>
|
||||
<version>${knife4j.version}</version>
|
||||
</dependency>
|
||||
<!--feign 依赖-->
|
||||
<dependency>
|
||||
<groupId>io.github.openfeign</groupId>
|
||||
<artifactId>feign-okhttp</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.cloud</groupId>
|
||||
<artifactId>spring-cloud-starter-openfeign</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.platform</groupId>
|
||||
<artifactId>common-core</artifactId>
|
||||
<version>0.4.x</version>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-web</artifactId>
|
||||
</exclusion>
|
||||
<exclusion>
|
||||
<groupId>org.springframework.security</groupId>
|
||||
<artifactId>spring-security-web</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</project>
|
||||
@@ -0,0 +1,71 @@
|
||||
package cn.datax.service.data.masterdata.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-26
|
||||
*/
|
||||
@ApiModel(value = "主数据模型列信息表Model")
|
||||
@Data
|
||||
public class ModelColumnDto 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 columnName;
|
||||
@ApiModelProperty(value = "列描述")
|
||||
@NotBlank(message = "列描述不能为空", groups = {ValidationGroups.Insert.class, ValidationGroups.Update.class})
|
||||
private String columnComment;
|
||||
@ApiModelProperty(value = "列类型")
|
||||
@NotBlank(message = "列类型不能为空", groups = {ValidationGroups.Insert.class, ValidationGroups.Update.class})
|
||||
private String columnType;
|
||||
@ApiModelProperty(value = "列长度")
|
||||
private String columnLength;
|
||||
@ApiModelProperty(value = "列小数位数")
|
||||
private String columnScale;
|
||||
@ApiModelProperty(value = "列默认值")
|
||||
private String defaultValue;
|
||||
@ApiModelProperty(value = "是否系统默认(0否,1是)")
|
||||
private String isSystem;
|
||||
@ApiModelProperty(value = "是否主键(0否,1是)")
|
||||
private String isPk;
|
||||
@ApiModelProperty(value = "是否必填(0否,1是)")
|
||||
private String isRequired;
|
||||
@ApiModelProperty(value = "是否为插入字段(0否,1是)")
|
||||
private String isInsert;
|
||||
@ApiModelProperty(value = "是否编辑字段(0否,1是)")
|
||||
private String isEdit;
|
||||
@ApiModelProperty(value = "是否详情字段(0否,1是)")
|
||||
private String isDetail;
|
||||
@ApiModelProperty(value = "是否列表字段(0否,1是)")
|
||||
private String isList;
|
||||
@ApiModelProperty(value = "是否查询字段(0否,1是)")
|
||||
private String isQuery;
|
||||
@ApiModelProperty(value = "查询方式(EQ等于、NE不等于、GT大于、GE大于等于、LT小于、LE小于等于、LIKE模糊、BETWEEN范围)")
|
||||
private String queryType;
|
||||
@ApiModelProperty(value = "显示类型(input文本框、textarea文本域、select下拉框、checkbox复选框、radio单选框、datetime日期控件)")
|
||||
private String htmlType;
|
||||
@ApiModelProperty(value = "排序")
|
||||
private Integer sort;
|
||||
@ApiModelProperty(value = "是否绑定数据标准(0否,1是)")
|
||||
private String isBindDict;
|
||||
@ApiModelProperty(value = "绑定数据标准类别")
|
||||
private String bindDictTypeId;
|
||||
@ApiModelProperty(value = "绑定数据标准字典字段(GB_CODE,GB_NAME)")
|
||||
private String bindDictColumn;
|
||||
}
|
||||
@@ -0,0 +1,49 @@
|
||||
package cn.datax.service.data.masterdata.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.NotEmpty;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import javax.validation.constraints.Size;
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 主数据模型表 实体DTO
|
||||
* </p>
|
||||
*
|
||||
* @author AllDataDC
|
||||
* @date 2022-11-26
|
||||
*/
|
||||
@ApiModel(value = "主数据模型表Model")
|
||||
@Data
|
||||
public class ModelDto 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 modelName;
|
||||
@ApiModelProperty(value = "逻辑表")
|
||||
@NotBlank(message = "逻辑表不能为空", groups = {ValidationGroups.Insert.class, ValidationGroups.Update.class})
|
||||
private String modelLogicTable;
|
||||
@ApiModelProperty(value = "模型列信息")
|
||||
@Valid
|
||||
@NotEmpty(message = "模型列信息不能为空", groups = {ValidationGroups.Insert.class, ValidationGroups.Update.class})
|
||||
@Size(min = 1, message="模型列信息长度不能少于{min}位")
|
||||
private List<ModelColumnDto> modelColumns;
|
||||
@ApiModelProperty(value = "状态")
|
||||
@NotNull(message = "状态不能为空", groups = {ValidationGroups.Insert.class, ValidationGroups.Update.class})
|
||||
private String status;
|
||||
@ApiModelProperty(value = "备注")
|
||||
private String remark;
|
||||
}
|
||||
@@ -0,0 +1,146 @@
|
||||
package cn.datax.service.data.masterdata.api.entity;
|
||||
|
||||
import cn.datax.service.data.masterdata.api.enums.MysqlDataTypeEnum;
|
||||
import cn.datax.service.data.masterdata.api.parser.ColumnParser;
|
||||
import cn.datax.service.data.masterdata.api.parser.DataType;
|
||||
import cn.datax.service.data.masterdata.api.parser.mysql.MysqlColumnParser;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import cn.datax.common.base.BaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 主数据模型列信息表
|
||||
* </p>
|
||||
*
|
||||
* @author AllDataDC
|
||||
* @date 2022-11-26
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Accessors(chain = true)
|
||||
@TableName("masterdata_model_column")
|
||||
public class ModelColumnEntity extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID=1L;
|
||||
|
||||
/**
|
||||
* 模型表主键
|
||||
*/
|
||||
private String modelId;
|
||||
|
||||
/**
|
||||
* 列名称
|
||||
*/
|
||||
private String columnName;
|
||||
|
||||
/**
|
||||
* 列描述
|
||||
*/
|
||||
private String columnComment;
|
||||
|
||||
/**
|
||||
* 列类型
|
||||
*/
|
||||
private String columnType;
|
||||
|
||||
/**
|
||||
* 列长度
|
||||
*/
|
||||
private String columnLength;
|
||||
|
||||
/**
|
||||
* 列小数位数
|
||||
*/
|
||||
private String columnScale;
|
||||
|
||||
/**
|
||||
* 列默认值
|
||||
*/
|
||||
private String defaultValue;
|
||||
|
||||
/**
|
||||
* 是否系统默认(0否,1是)
|
||||
*/
|
||||
private String isSystem;
|
||||
|
||||
/**
|
||||
* 是否主键(0否,1是)
|
||||
*/
|
||||
private String isPk;
|
||||
|
||||
/**
|
||||
* 是否必填(0否,1是)
|
||||
*/
|
||||
private String isRequired;
|
||||
|
||||
/**
|
||||
* 是否为插入字段(0否,1是)
|
||||
*/
|
||||
private String isInsert;
|
||||
|
||||
/**
|
||||
* 是否编辑字段(0否,1是)
|
||||
*/
|
||||
private String isEdit;
|
||||
|
||||
/**
|
||||
* 是否详情字段(0否,1是)
|
||||
*/
|
||||
private String isDetail;
|
||||
|
||||
/**
|
||||
* 是否列表字段(0否,1是)
|
||||
*/
|
||||
private String isList;
|
||||
|
||||
/**
|
||||
* 是否查询字段(0否,1是)
|
||||
*/
|
||||
private String isQuery;
|
||||
|
||||
/**
|
||||
* 查询方式(EQ等于、NE不等于、GT大于、GE大于等于、LT小于、LE小于等于、LIKE模糊、BETWEEN范围)
|
||||
*/
|
||||
private String queryType;
|
||||
|
||||
/**
|
||||
* 是否绑定数据标准(0否,1是)
|
||||
*/
|
||||
private String isBindDict;
|
||||
|
||||
/**
|
||||
* 绑定数据标准类别
|
||||
*/
|
||||
private String bindDictTypeId;
|
||||
|
||||
/**
|
||||
* 绑定数据标准字典字段(GB_CODE,GB_NAME)
|
||||
*/
|
||||
private String bindDictColumn;
|
||||
|
||||
/**
|
||||
* 显示类型(input文本框、textarea文本域、select下拉框、checkbox复选框、radio单选框、datetime日期控件)
|
||||
*/
|
||||
private String htmlType;
|
||||
|
||||
/**
|
||||
* 排序
|
||||
*/
|
||||
private Integer sort;
|
||||
|
||||
/**
|
||||
* 列属性
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
private String columnDefinition;
|
||||
|
||||
public String getColumnDefinition() {
|
||||
ColumnParser columnParser = new MysqlColumnParser();
|
||||
DataType parse = columnParser.mysqlParse(MysqlDataTypeEnum.match(this.columnType, MysqlDataTypeEnum.VARCHAR));
|
||||
return parse.fillTypeString(this.columnLength, this.columnScale);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
package cn.datax.service.data.masterdata.api.entity;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
@Data
|
||||
public class ModelCommentEntity implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private String tableName;
|
||||
private String columnName;
|
||||
private String comment;
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package cn.datax.service.data.masterdata.api.entity;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Map;
|
||||
|
||||
@Data
|
||||
public class ModelDataEntity implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private String tableName;
|
||||
private String id;
|
||||
private Map<String, Object> datas;
|
||||
}
|
||||
@@ -0,0 +1,51 @@
|
||||
package cn.datax.service.data.masterdata.api.entity;
|
||||
|
||||
import cn.datax.common.base.DataFlowBaseEntity;
|
||||
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;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 主数据模型表
|
||||
* </p>
|
||||
*
|
||||
* @author AllDataDC
|
||||
* @date 2022-11-26
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Accessors(chain = true)
|
||||
@TableName(value = "masterdata_model", resultMap = "BaseResultMap")
|
||||
public class ModelEntity extends DataFlowBaseEntity {
|
||||
|
||||
private static final long serialVersionUID=1L;
|
||||
|
||||
/**
|
||||
* 模型名称
|
||||
*/
|
||||
private String modelName;
|
||||
|
||||
/**
|
||||
* 逻辑表
|
||||
*/
|
||||
private String modelLogicTable;
|
||||
|
||||
/**
|
||||
* 物理表
|
||||
*/
|
||||
private String modelPhysicalTable;
|
||||
|
||||
/**
|
||||
* 是否建模(0否,1是)
|
||||
*/
|
||||
private String isSync;
|
||||
|
||||
@TableField(exist = false)
|
||||
private List<ModelColumnEntity> modelColumns;
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
package cn.datax.service.data.masterdata.api.enums;
|
||||
|
||||
public enum MysqlDataTypeEnum {
|
||||
|
||||
TINYINT("tinyint", "tinyint整型"), INT("int", "int整型"), BIGINT("bigint", "bigint整型"),
|
||||
FLOAT("float", "单精度"), DOUBLE("double", "双精度"), DECIMAL("decimal", "定点数"),
|
||||
CHAR("char", "定长字符串"), VARCHAR("varchar", "变长字符串"), TEXT("text", "长文本"),
|
||||
DATE("date", "date日期"), TIME("time", "time日期"), YEAR("year", "year日期"), DATETIME("datetime", "datetime日期"),
|
||||
BLOB("blob", "二进制");
|
||||
|
||||
private String value;
|
||||
private String title;
|
||||
|
||||
MysqlDataTypeEnum(String value, String title) {
|
||||
this.value = value;
|
||||
this.title = title;
|
||||
}
|
||||
|
||||
public String getValue() {
|
||||
return value;
|
||||
}
|
||||
|
||||
public String getTitle() {
|
||||
return title;
|
||||
}
|
||||
|
||||
public static MysqlDataTypeEnum match(String value, MysqlDataTypeEnum defaultItem) {
|
||||
if (value != null) {
|
||||
for (MysqlDataTypeEnum item: MysqlDataTypeEnum.values()) {
|
||||
if (item.getValue().equals(value)) {
|
||||
return item;
|
||||
}
|
||||
}
|
||||
}
|
||||
return defaultItem;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
package cn.datax.service.data.masterdata.api.enums;
|
||||
|
||||
public enum OracleDataTypeEnum {
|
||||
|
||||
CHAR("char", "字符串"), NUMBER("number", "数值"), DATE("date", "日期"), CLOB("clob", "长文本"), BLOB("blob", "二进制");
|
||||
|
||||
private String value;
|
||||
private String title;
|
||||
|
||||
OracleDataTypeEnum(String value, String title) {
|
||||
this.value = value;
|
||||
this.title = title;
|
||||
}
|
||||
|
||||
public String getValue() {
|
||||
return value;
|
||||
}
|
||||
|
||||
public String getTitle() {
|
||||
return title;
|
||||
}
|
||||
|
||||
public static OracleDataTypeEnum match(String value, OracleDataTypeEnum defaultItem) {
|
||||
if (value != null) {
|
||||
for (OracleDataTypeEnum item: OracleDataTypeEnum.values()) {
|
||||
if (item.getValue().equals(value)) {
|
||||
return item;
|
||||
}
|
||||
}
|
||||
}
|
||||
return defaultItem;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
package cn.datax.service.data.masterdata.api.parser;
|
||||
|
||||
import cn.datax.service.data.masterdata.api.enums.MysqlDataTypeEnum;
|
||||
import cn.datax.service.data.masterdata.api.enums.OracleDataTypeEnum;
|
||||
|
||||
public abstract class ColumnParser {
|
||||
|
||||
public abstract DataType oracleParse(OracleDataTypeEnum dataTypeEnum);
|
||||
|
||||
public abstract DataType mysqlParse(MysqlDataTypeEnum dataTypeEnum);
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
package cn.datax.service.data.masterdata.api.parser;
|
||||
|
||||
public interface DataType {
|
||||
|
||||
String fillTypeString(String columnLength, String columnScale);
|
||||
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
package cn.datax.service.data.masterdata.api.parser.mysql;
|
||||
|
||||
import cn.datax.service.data.masterdata.api.parser.DataType;
|
||||
|
||||
public class MysqlBigintDataType implements DataType {
|
||||
|
||||
@Override
|
||||
public String fillTypeString(String columnLength, String columnScale) {
|
||||
return "bigint";
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
package cn.datax.service.data.masterdata.api.parser.mysql;
|
||||
|
||||
import cn.datax.service.data.masterdata.api.parser.DataType;
|
||||
|
||||
public class MysqlBlobDataType implements DataType {
|
||||
|
||||
@Override
|
||||
public String fillTypeString(String columnLength, String columnScale) {
|
||||
return "blob";
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
package cn.datax.service.data.masterdata.api.parser.mysql;
|
||||
|
||||
import cn.datax.service.data.masterdata.api.parser.DataType;
|
||||
|
||||
import java.util.Optional;
|
||||
|
||||
public class MysqlCharDataType implements DataType {
|
||||
|
||||
@Override
|
||||
public String fillTypeString(String columnLength, String columnScale) {
|
||||
return "char(" + Optional.ofNullable(columnLength).orElse("1") + ")";
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,51 @@
|
||||
package cn.datax.service.data.masterdata.api.parser.mysql;
|
||||
|
||||
import cn.datax.common.exception.DataException;
|
||||
import cn.datax.service.data.masterdata.api.enums.MysqlDataTypeEnum;
|
||||
import cn.datax.service.data.masterdata.api.enums.OracleDataTypeEnum;
|
||||
import cn.datax.service.data.masterdata.api.parser.ColumnParser;
|
||||
import cn.datax.service.data.masterdata.api.parser.DataType;
|
||||
|
||||
public class MysqlColumnParser extends ColumnParser {
|
||||
|
||||
@Override
|
||||
public DataType oracleParse(OracleDataTypeEnum dataTypeEnum) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public DataType mysqlParse(MysqlDataTypeEnum dataTypeEnum) {
|
||||
switch(dataTypeEnum) {
|
||||
case TINYINT:
|
||||
return new MysqlTinyintDataType();
|
||||
case INT:
|
||||
return new MysqlIntDataType();
|
||||
case BIGINT:
|
||||
return new MysqlBigintDataType();
|
||||
case FLOAT:
|
||||
return new MysqlFloatDataType();
|
||||
case DOUBLE:
|
||||
return new MysqlDoubleDataType();
|
||||
case DECIMAL:
|
||||
return new MysqlDecimalDataType();
|
||||
case CHAR:
|
||||
return new MysqlCharDataType();
|
||||
case VARCHAR:
|
||||
return new MysqlVarcharDataType();
|
||||
case TEXT:
|
||||
return new MysqlTextDataType();
|
||||
case DATE:
|
||||
return new MysqlDateDataType();
|
||||
case TIME:
|
||||
return new MysqlTimeDataType();
|
||||
case YEAR:
|
||||
return new MysqlYearDataType();
|
||||
case DATETIME:
|
||||
return new MysqlDatetimeDataType();
|
||||
case BLOB:
|
||||
return new MysqlBlobDataType();
|
||||
default:
|
||||
throw new DataException("字段数据类型错误");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
package cn.datax.service.data.masterdata.api.parser.mysql;
|
||||
|
||||
import cn.datax.service.data.masterdata.api.parser.DataType;
|
||||
|
||||
public class MysqlDateDataType implements DataType {
|
||||
|
||||
@Override
|
||||
public String fillTypeString(String columnLength, String columnScale) {
|
||||
return "date";
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
package cn.datax.service.data.masterdata.api.parser.mysql;
|
||||
|
||||
import cn.datax.service.data.masterdata.api.parser.DataType;
|
||||
|
||||
public class MysqlDatetimeDataType implements DataType {
|
||||
|
||||
@Override
|
||||
public String fillTypeString(String columnLength, String columnScale) {
|
||||
return "datetime";
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
package cn.datax.service.data.masterdata.api.parser.mysql;
|
||||
|
||||
import cn.datax.service.data.masterdata.api.parser.DataType;
|
||||
|
||||
import java.util.Optional;
|
||||
|
||||
public class MysqlDecimalDataType implements DataType {
|
||||
|
||||
@Override
|
||||
public String fillTypeString(String columnLength, String columnScale) {
|
||||
return "decimal(" + Optional.ofNullable(columnLength).orElse("10") + ", " + Optional.ofNullable(columnScale).orElse("2") + ")";
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
package cn.datax.service.data.masterdata.api.parser.mysql;
|
||||
|
||||
import cn.datax.service.data.masterdata.api.parser.DataType;
|
||||
|
||||
import java.util.Optional;
|
||||
|
||||
public class MysqlDoubleDataType implements DataType {
|
||||
|
||||
@Override
|
||||
public String fillTypeString(String columnLength, String columnScale) {
|
||||
return "double(" + Optional.ofNullable(columnLength).orElse("5") + ", " + Optional.ofNullable(columnScale).orElse("2") + ")";
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
package cn.datax.service.data.masterdata.api.parser.mysql;
|
||||
|
||||
import cn.datax.service.data.masterdata.api.parser.DataType;
|
||||
|
||||
import java.util.Optional;
|
||||
|
||||
public class MysqlFloatDataType implements DataType {
|
||||
|
||||
@Override
|
||||
public String fillTypeString(String columnLength, String columnScale) {
|
||||
return "float(" + Optional.ofNullable(columnLength).orElse("5") + ", " + Optional.ofNullable(columnScale).orElse("2") + ")";
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
package cn.datax.service.data.masterdata.api.parser.mysql;
|
||||
|
||||
import cn.datax.service.data.masterdata.api.parser.DataType;
|
||||
|
||||
public class MysqlIntDataType implements DataType {
|
||||
|
||||
@Override
|
||||
public String fillTypeString(String columnLength, String columnScale) {
|
||||
return "int";
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
package cn.datax.service.data.masterdata.api.parser.mysql;
|
||||
|
||||
import cn.datax.service.data.masterdata.api.parser.DataType;
|
||||
|
||||
public class MysqlTextDataType implements DataType {
|
||||
|
||||
@Override
|
||||
public String fillTypeString(String columnLength, String columnScale) {
|
||||
return "text";
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
package cn.datax.service.data.masterdata.api.parser.mysql;
|
||||
|
||||
import cn.datax.service.data.masterdata.api.parser.DataType;
|
||||
|
||||
public class MysqlTimeDataType implements DataType {
|
||||
|
||||
@Override
|
||||
public String fillTypeString(String columnLength, String columnScale) {
|
||||
return "time";
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
package cn.datax.service.data.masterdata.api.parser.mysql;
|
||||
|
||||
import cn.datax.service.data.masterdata.api.parser.DataType;
|
||||
|
||||
public class MysqlTinyintDataType implements DataType {
|
||||
|
||||
@Override
|
||||
public String fillTypeString(String columnLength, String columnScale) {
|
||||
return "tinyint";
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
package cn.datax.service.data.masterdata.api.parser.mysql;
|
||||
|
||||
import cn.datax.service.data.masterdata.api.parser.DataType;
|
||||
|
||||
import java.util.Optional;
|
||||
|
||||
public class MysqlVarcharDataType implements DataType {
|
||||
|
||||
@Override
|
||||
public String fillTypeString(String columnLength, String columnScale) {
|
||||
return "varchar(" + Optional.ofNullable(columnLength).orElse("255") + ")";
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
package cn.datax.service.data.masterdata.api.parser.mysql;
|
||||
|
||||
import cn.datax.service.data.masterdata.api.parser.DataType;
|
||||
|
||||
public class MysqlYearDataType implements DataType {
|
||||
|
||||
@Override
|
||||
public String fillTypeString(String columnLength, String columnScale) {
|
||||
return "year";
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
package cn.datax.service.data.masterdata.api.parser.oracle;
|
||||
|
||||
import cn.datax.service.data.masterdata.api.parser.DataType;
|
||||
|
||||
public class OracleBlobDataType implements DataType {
|
||||
|
||||
@Override
|
||||
public String fillTypeString(String columnLength, String columnScale) {
|
||||
return "BLOB";
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
package cn.datax.service.data.masterdata.api.parser.oracle;
|
||||
|
||||
import cn.datax.service.data.masterdata.api.parser.DataType;
|
||||
|
||||
import java.util.Optional;
|
||||
|
||||
public class OracleCharDataType implements DataType {
|
||||
|
||||
@Override
|
||||
public String fillTypeString(String columnLength, String columnScale) {
|
||||
return "VARCHAR2(" + Optional.ofNullable(columnLength).orElse("255") + ")";
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
package cn.datax.service.data.masterdata.api.parser.oracle;
|
||||
|
||||
import cn.datax.service.data.masterdata.api.parser.DataType;
|
||||
|
||||
public class OracleClobDataType implements DataType {
|
||||
|
||||
@Override
|
||||
public String fillTypeString(String columnLength, String columnScale) {
|
||||
return "CLOB";
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
package cn.datax.service.data.masterdata.api.parser.oracle;
|
||||
|
||||
import cn.datax.common.exception.DataException;
|
||||
import cn.datax.service.data.masterdata.api.enums.MysqlDataTypeEnum;
|
||||
import cn.datax.service.data.masterdata.api.enums.OracleDataTypeEnum;
|
||||
import cn.datax.service.data.masterdata.api.parser.ColumnParser;
|
||||
import cn.datax.service.data.masterdata.api.parser.DataType;
|
||||
|
||||
public class OracleColumnParser extends ColumnParser {
|
||||
|
||||
@Override
|
||||
public DataType oracleParse(OracleDataTypeEnum dataTypeEnum) {
|
||||
switch(dataTypeEnum) {
|
||||
case CHAR:
|
||||
return new OracleCharDataType();
|
||||
case DATE:
|
||||
return new OracleDateDataType();
|
||||
case NUMBER:
|
||||
return new OracleNumberDataType();
|
||||
case CLOB:
|
||||
return new OracleClobDataType();
|
||||
case BLOB:
|
||||
return new OracleBlobDataType();
|
||||
default:
|
||||
throw new DataException("字段数据类型错误");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public DataType mysqlParse(MysqlDataTypeEnum dataTypeEnum) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
package cn.datax.service.data.masterdata.api.parser.oracle;
|
||||
|
||||
import cn.datax.service.data.masterdata.api.parser.DataType;
|
||||
|
||||
public class OracleDateDataType implements DataType {
|
||||
|
||||
@Override
|
||||
public String fillTypeString(String columnLength, String columnScale) {
|
||||
return "DATE";
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
package cn.datax.service.data.masterdata.api.parser.oracle;
|
||||
|
||||
import cn.datax.service.data.masterdata.api.parser.DataType;
|
||||
|
||||
import java.util.Optional;
|
||||
|
||||
public class OracleNumberDataType implements DataType {
|
||||
|
||||
@Override
|
||||
public String fillTypeString(String columnLength, String columnScale) {
|
||||
return "NUMBER(" + Optional.ofNullable(columnLength).orElse("22") + ", " + Optional.ofNullable(columnScale).orElse("0") + ")";
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
package cn.datax.service.data.masterdata.api.query;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
@Data
|
||||
public class Condition implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 数据库字段名
|
||||
*/
|
||||
private String column;
|
||||
|
||||
/**
|
||||
* 字段值
|
||||
*/
|
||||
private String value;
|
||||
|
||||
/**
|
||||
* 查询类型,如like,eq,gt,ge,lt,le,eq,ne,between
|
||||
*/
|
||||
private String queryType;
|
||||
|
||||
/**
|
||||
* 查询类型between时left查询字段值
|
||||
*/
|
||||
private String leftValue;
|
||||
|
||||
/**
|
||||
* 查询类型between时right查询字段值
|
||||
*/
|
||||
private String rightValue;
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
package cn.datax.service.data.masterdata.api.query;
|
||||
|
||||
import cn.datax.common.base.BaseQueryParams;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 主数据模型列信息表 查询实体
|
||||
* </p>
|
||||
*
|
||||
* @author AllDataDC
|
||||
* @date 2022-11-26
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class ModelColumnQuery extends BaseQueryParams {
|
||||
|
||||
private static final long serialVersionUID=1L;
|
||||
|
||||
private String modelId;
|
||||
private String columnName;
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
package cn.datax.service.data.masterdata.api.query;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class ModelDataQuery implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
// 数据库表名
|
||||
private String tableName;
|
||||
// 查询条件
|
||||
private List<Condition> conditions;
|
||||
// 查询字段
|
||||
private List<String> columns;
|
||||
|
||||
// 关键字
|
||||
private String keyword;
|
||||
// 当前页码
|
||||
private Integer pageNum = 1;
|
||||
// 分页条数
|
||||
private Integer pageSize = 20;
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
package cn.datax.service.data.masterdata.api.query;
|
||||
|
||||
import cn.datax.common.base.BaseQueryParams;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 主数据模型表 查询实体
|
||||
* </p>
|
||||
*
|
||||
* @author AllDataDC
|
||||
* @date 2022-11-26
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class ModelQuery extends BaseQueryParams {
|
||||
|
||||
private static final long serialVersionUID=1L;
|
||||
|
||||
private String modelName;
|
||||
}
|
||||
@@ -0,0 +1,47 @@
|
||||
package cn.datax.service.data.masterdata.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-26
|
||||
*/
|
||||
@Data
|
||||
public class ModelColumnVo 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 modelId;
|
||||
private String columnName;
|
||||
private String columnComment;
|
||||
private String columnType;
|
||||
private String columnLength;
|
||||
private String columnScale;
|
||||
private String defaultValue;
|
||||
private String isSystem;
|
||||
private String isPk;
|
||||
private String isRequired;
|
||||
private String isInsert;
|
||||
private String isEdit;
|
||||
private String isDetail;
|
||||
private String isList;
|
||||
private String isQuery;
|
||||
private String queryType;
|
||||
private String isBindDict;
|
||||
private String bindDictTypeId;
|
||||
private String bindDictColumn;
|
||||
private String htmlType;
|
||||
private Integer sort;
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
package cn.datax.service.data.masterdata.api.vo;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 主数据模型表 实体VO
|
||||
* </p>
|
||||
*
|
||||
* @author AllDataDC
|
||||
* @date 2022-11-26
|
||||
*/
|
||||
@Data
|
||||
public class ModelVo 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 modelName;
|
||||
private String modelLogicTable;
|
||||
private String modelPhysicalTable;
|
||||
private String isSync;
|
||||
private String flowStatus;
|
||||
private String processInstanceId;
|
||||
private List<ModelColumnVo> modelColumns;
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
org.springframework.boot.autoconfigure.EnableAutoConfiguration=
|
||||
Reference in New Issue
Block a user