feat: 代码生成 Beta 公测版本

This commit is contained in:
ray
2024-07-28 23:33:08 +08:00
parent 41917686b1
commit 8888829437
40 changed files with 556 additions and 384 deletions

View File

@@ -32,20 +32,20 @@ public enum FormTypeEnum implements IBaseEnum<Integer> {
*/
RADIO(3, "单选框"),
/**
* 复选框
*/
CHECK_BOX(4, "复选框"),
/**
* 数字输入框
*/
INPUT_NUMBER(4, "数字输入框"),
INPUT_NUMBER(5, "数字输入框"),
/**
* 开关
*/
SWITCH(5, "开关"),
/**
* 复选框
*/
CHECK_BOX(6, "复选框"),
SWITCH(6, "开关"),
/**
* 文本域
@@ -60,7 +60,7 @@ public enum FormTypeEnum implements IBaseEnum<Integer> {
/**
* 日期框
*/
DATE(9, "日期框"),;
DATE(9, "日期框");
// Mybatis-Plus 提供注解表示插入数据库时插入该值

View File

@@ -0,0 +1,84 @@
package com.youlai.system.enums;
import lombok.Getter;
import java.util.HashMap;
import java.util.Map;
/**
* 表单类型枚举
*
* @author Ray
* @since 2.10.0
*/
@Getter
public enum JavaTypeEnum {
VARCHAR("varchar", "String", "string"),
CHAR("char", "String", "string"),
BLOB("blob", "byte[]", "Uint8Array"),
TEXT("text", "String", "string"),
JSON("json", "String", "any"),
INTEGER("int", "Integer", "number"),
TINYINT("tinyint", "Integer", "number"),
SMALLINT("smallint", "Integer", "number"),
MEDIUMINT("mediumint", "Integer", "number"),
BIGINT("bigint", "Long", "bigint"),
FLOAT("float", "Float", "number"),
DOUBLE("double", "Double", "number"),
DECIMAL("decimal", "BigDecimal", "number"),
DATE("date", "LocalDate", "Date"),
DATETIME("datetime", "LocalDateTime", "Date");
// 数据库类型
private final String dbType;
// Java类型
private final String javaType;
// TypeScript类型
private final String tsType;
// 数据库类型和Java类型的映射
private static final Map<String, JavaTypeEnum> typeMap = new HashMap<>();
// 初始化映射关系
static {
for (JavaTypeEnum javaTypeEnum : JavaTypeEnum.values()) {
typeMap.put(javaTypeEnum.getDbType(), javaTypeEnum);
}
}
JavaTypeEnum(String dbType, String javaType, String tsType) {
this.dbType = dbType;
this.javaType = javaType;
this.tsType = tsType;
}
/**
* 根据数据库类型获取对应的Java类型
*
* @param dbType 数据库类型
* @return 对应的Java类型
*/
public static String getJavaTypeByDbType(String dbType) {
JavaTypeEnum javaTypeEnum = typeMap.get(dbType);
if (javaTypeEnum != null) {
return javaTypeEnum.getJavaType();
}
return null;
}
/**
* 根据Java类型获取对应的TypeScript类型
*
* @param javaType Java类型
* @return 对应的TypeScript类型
*/
public static String getTsTypeByJavaType(String javaType) {
for (JavaTypeEnum javaTypeEnum : JavaTypeEnum.values()) {
if (javaTypeEnum.getJavaType().equals(javaType)) {
return javaTypeEnum.getTsType();
}
}
return null;
}
}

View File

@@ -17,38 +17,39 @@ import lombok.RequiredArgsConstructor;
@RequiredArgsConstructor
public enum QueryTypeEnum implements IBaseEnum<Integer> {
/** 等于 */
EQ(1, "="),
/** 模糊匹配 */
LIKE(2, "LIKE '%s%'"),
NE(2, "!="),
/** 包含 */
IN(3, "IN"),
/** 范围 */
BETWEEN(4, "BETWEEN"),
GT(3, ">"),
/** 大于 */
GT(5, ">"),
/** 大于等于 */
GE(6, ">="),
GE(4, ">="),
/** 小于 */
LT(7, "<"),
LT(5, "<"),
/** 小于等于 */
LE(8, "<="),
LE(6, "<="),
/** 不等于 */
NE(9, "!="),
BETWEEN(7, "BETWEEN"),
/** 左模糊匹配 */
LIKE_LEFT(10, "LIKE '%s'"),
LIKE(8, "LIKE '%s%'"),
/** 右模糊匹配 */
LIKE_RIGHT(11, "LIKE 's%'");
LIKE_LEFT(9, "LIKE '%s'"),
LIKE_RIGHT(10, "LIKE 's%'"),
IN(11, "IN"),
NOT_IN(12, "NOT IN"),
IS_NULL(13, "IS NULL"),
IS_NOT_NULL(14, "IS NOT NULL")
;
// 存储在数据库中的枚举属性值
@EnumValue