From 3356a63092709bb93affcb89a17bcfd91cda7f04 Mon Sep 17 00:00:00 2001
From: ray <1490493387@qq.com>
Date: Tue, 30 Jul 2024 18:20:35 +0800
Subject: [PATCH 1/5] =?UTF-8?q?refactor:=20mapper.xml=20=E6=A8=A1=E6=9D=BF?=
=?UTF-8?q?=E5=AE=8C=E5=96=84?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../templates/generator/mapper.xml.vm | 58 ++++++++++++++-----
1 file changed, 43 insertions(+), 15 deletions(-)
diff --git a/src/main/resources/templates/generator/mapper.xml.vm b/src/main/resources/templates/generator/mapper.xml.vm
index 91fe442e..55a33559 100644
--- a/src/main/resources/templates/generator/mapper.xml.vm
+++ b/src/main/resources/templates/generator/mapper.xml.vm
@@ -5,25 +5,53 @@
From 04d83232a7a74aa74573495ed6811f9484b52321 Mon Sep 17 00:00:00 2001
From: ray <1490493387@qq.com>
Date: Wed, 31 Jul 2024 07:45:02 +0800
Subject: [PATCH 2/5] =?UTF-8?q?fix:=20=E4=BB=A3=E7=A0=81=E5=86=85=E5=AE=B9?=
=?UTF-8?q?=E7=94=9F=E6=88=90=E5=85=A8=E5=B1=80=E5=8F=98=E9=87=8F=E8=AE=BE?=
=?UTF-8?q?=E7=BD=AE=E9=97=AE=E9=A2=98=E4=BF=AE=E5=A4=8D?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../service/impl/GeneratorServiceImpl.java | 35 +++++++++++++------
1 file changed, 25 insertions(+), 10 deletions(-)
diff --git a/src/main/java/com/youlai/system/service/impl/GeneratorServiceImpl.java b/src/main/java/com/youlai/system/service/impl/GeneratorServiceImpl.java
index 50713e67..66d26dff 100644
--- a/src/main/java/com/youlai/system/service/impl/GeneratorServiceImpl.java
+++ b/src/main/java/com/youlai/system/service/impl/GeneratorServiceImpl.java
@@ -140,18 +140,19 @@ public class GeneratorServiceImpl implements GeneratorService {
/**
* 创建默认字段配置
*
- * @param tableColumn 表字段元数据
+ * @param columnMetaData 表字段元数据
* @return
*/
- private GenFieldConfig createDefaultFieldConfig(ColumnMetaData tableColumn) {
+ private GenFieldConfig createDefaultFieldConfig(ColumnMetaData columnMetaData) {
GenFieldConfig fieldConfig = new GenFieldConfig();
- fieldConfig.setColumnName(tableColumn.getColumnName());
- fieldConfig.setColumnType(tableColumn.getDataType());
- fieldConfig.setFieldComment(tableColumn.getColumnComment());
- fieldConfig.setFieldName(StrUtil.toCamelCase(tableColumn.getColumnName()));
- fieldConfig.setIsRequired("YES".equals(tableColumn.getIsNullable()) ? 1 : 0);
+ fieldConfig.setColumnName(columnMetaData.getColumnName());
+ fieldConfig.setColumnType(columnMetaData.getDataType());
+ fieldConfig.setFieldComment(columnMetaData.getColumnComment());
+ fieldConfig.setFieldName(StrUtil.toCamelCase(columnMetaData.getColumnName()));
+ fieldConfig.setIsRequired("YES".equals(columnMetaData.getIsNullable()) ? 1 : 0);
fieldConfig.setFormType(FormTypeEnum.INPUT);
fieldConfig.setQueryType(QueryTypeEnum.EQ);
+ fieldConfig.setMaxLength(columnMetaData.getCharacterMaximumLength());
return fieldConfig;
}
@@ -316,13 +317,27 @@ public class GeneratorServiceImpl implements GeneratorService {
bindMap.put("businessName", genConfig.getBusinessName());
bindMap.put("fieldConfigs", fieldConfigs);
+ boolean hasLocalDateTime = false;
+ boolean hasBigDecimal = false;
+ boolean hasRequiredField = false;
+
for (GenFieldConfig fieldConfig : fieldConfigs) {
- bindMap.put("hasLocalDateTime", "LocalDateTime".equals(fieldConfig.getFieldType()));
- bindMap.put("hasBigDecimal", "BigDecimal".equals(fieldConfig.getFieldType()));
- bindMap.put("hasRequiredField", ObjectUtil.equals(fieldConfig.getIsRequired(), 1));
+ if ("LocalDateTime".equals(fieldConfig.getFieldType())) {
+ hasLocalDateTime = true;
+ }
+ if ("BigDecimal".equals(fieldConfig.getFieldType())) {
+ hasBigDecimal = true;
+ }
+ if (ObjectUtil.equals(fieldConfig.getIsRequired(), 1)) {
+ hasRequiredField = true;
+ }
fieldConfig.setTsType(JavaTypeEnum.getTsTypeByJavaType(fieldConfig.getFieldType()));
}
+ bindMap.put("hasLocalDateTime", hasLocalDateTime);
+ bindMap.put("hasBigDecimal", hasBigDecimal);
+ bindMap.put("hasRequiredField", hasRequiredField);
+
TemplateEngine templateEngine = TemplateUtil.createEngine(new TemplateConfig("templates", TemplateConfig.ResourceMode.CLASSPATH));
Template template = templateEngine.getTemplate(templateConfig.getTemplatePath());
String content = template.render(bindMap);
From 837dac6e172f5fb63ed58aeda34229919485cbe2 Mon Sep 17 00:00:00 2001
From: ray <1490493387@qq.com>
Date: Wed, 31 Jul 2024 07:46:14 +0800
Subject: [PATCH 3/5] =?UTF-8?q?refactor:=20=E5=AE=8C=E5=96=84=20view=20?=
=?UTF-8?q?=E4=BB=A3=E7=A0=81=E7=94=9F=E6=88=90=E6=A8=A1=E6=9D=BF=EF=BC=8C?=
=?UTF-8?q?rules=20=E5=8A=A8=E6=80=81=E7=94=9F=E6=88=90?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../templates/generator/index.vue.vm | 23 ++++++++++---------
1 file changed, 12 insertions(+), 11 deletions(-)
diff --git a/src/main/resources/templates/generator/index.vue.vm b/src/main/resources/templates/generator/index.vue.vm
index f2e1bf63..998fd4f4 100644
--- a/src/main/resources/templates/generator/index.vue.vm
+++ b/src/main/resources/templates/generator/index.vue.vm
@@ -157,9 +157,6 @@
const queryParams = reactive<${entityName}PageQuery>({
pageNum: 1,
pageSize: 10,
- keywords: '',
- name: '',
- code: '',
});
// $!{businessName}表格数据
@@ -170,16 +167,19 @@
title: "",
visible: false,
});
- // $!{businessName}表单
- const formData = reactive<${entityName}Form>({
- keywords: '',
- name: '',
- code: '',
- });
+ // $!{businessName}表单数据
+ const formData = reactive<${entityName}Form>({});
+
+ // $!{businessName}表单校验规则
const rules = reactive({
- name: [{ required: true, message: "请输入$!{businessName}名称", trigger: "blur" }],
- code: [{ required: true, message: "请输入$!{businessName}编码", trigger: "blur" }],
+ #if($fieldConfigs)
+ #foreach($fieldConfig in ${fieldConfigs})
+ #if($fieldConfig.isShowInForm && $fieldConfig.isRequired)
+ ${fieldConfig.fieldName}: [{ required: true, message: "请输入${fieldConfig.fieldComment}", trigger: "blur" }],
+ #end
+ #end
+ #end
});
/** 查询$!{businessName} */
@@ -194,6 +194,7 @@
loading.value = false;
});
}
+
/** 重置$!{businessName}查询 */
function handleResetQuery() {
queryFormRef.value!.resetFields();
From 56ab702568b2ce72ecfaae166a1e790b1ed08cc8 Mon Sep 17 00:00:00 2001
From: ray <1490493387@qq.com>
Date: Wed, 31 Jul 2024 07:46:57 +0800
Subject: [PATCH 4/5] =?UTF-8?q?refactor:=20=E5=AE=8C=E5=96=84=20mapper.xml?=
=?UTF-8?q?=20=E6=97=A5=E6=9C=9F=E6=9D=A1=E4=BB=B6=E6=9F=A5=E8=AF=A2?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../templates/generator/mapper.xml.vm | 34 +++++++++++--------
1 file changed, 20 insertions(+), 14 deletions(-)
diff --git a/src/main/resources/templates/generator/mapper.xml.vm b/src/main/resources/templates/generator/mapper.xml.vm
index 55a33559..ed2fdf96 100644
--- a/src/main/resources/templates/generator/mapper.xml.vm
+++ b/src/main/resources/templates/generator/mapper.xml.vm
@@ -9,7 +9,7 @@
#set ($fields = [])
#foreach($fieldConfig in ${fieldConfigs})
#if($fieldConfig.isShowInList)
- #set ($discard = $fields.add(${fieldConfig.columnName}))
+ #set ($discard = $fields.add(${fieldConfig.columnName}))
#end
#end
#foreach($field in $fields)
@@ -22,32 +22,38 @@
#if($fieldConfigs)
#foreach($fieldConfig in ${fieldConfigs})
#if($fieldConfig.isShowInQuery)
-
+
#set ($queryType = ${fieldConfig.queryType})
#if($queryType == "EQ")
- AND ${fieldConfig.columnName} = #{queryParams.${fieldConfig.fieldName}}
+ AND ${fieldConfig.columnName} = #{queryParams.${fieldConfig.fieldName}}
#elseif($queryType == "LIKE")
- AND ${fieldConfig.columnName} LIKE CONCAT('%', #{queryParams.${fieldConfig.fieldName}}, '%')
+ AND ${fieldConfig.columnName} LIKE CONCAT('%', #{queryParams.${fieldConfig.fieldName}}, '%')
#elseif($queryType == "IN")
- AND ${fieldConfig.columnName} IN
+
+ AND ${fieldConfig.columnName} IN #{item}
+
#elseif($queryType == "BETWEEN")
- AND ${fieldConfig.columnName} BETWEEN #{queryParams.${fieldConfig.fieldName}Start} AND #{queryParams.${fieldConfig.fieldName}End}
+ #if(${fieldConfig.fieldType} == "LocalDateTime")
+ AND ${fieldConfig.columnName} BETWEEN STR_TO_DATE(#{queryParams.${fieldConfig.fieldName}Start}, '%Y-%m-%d %H:%i:%s') AND STR_TO_DATE(#{queryParams.${fieldConfig.fieldName}End}, '%Y-%m-%d %H:%i:%s')
+ #else
+ AND ${fieldConfig.columnName} BETWEEN #{queryParams.${fieldConfig.fieldName}Start} AND #{queryParams.${fieldConfig.fieldName}End}
+ #end
#elseif($queryType == "GT")
- AND ${fieldConfig.columnName} > #{queryParams.${fieldConfig.fieldName}}
+ AND ${fieldConfig.columnName} > #{queryParams.${fieldConfig.fieldName}}
#elseif($queryType == "GE")
- AND ${fieldConfig.columnName} >= #{queryParams.${fieldConfig.fieldName}}
+ AND ${fieldConfig.columnName} >= #{queryParams.${fieldConfig.fieldName}}
#elseif($queryType == "LT")
- AND ${fieldConfig.columnName} < #{queryParams.${fieldConfig.fieldName}}
+ AND ${fieldConfig.columnName} < #{queryParams.${fieldConfig.fieldName}}
#elseif($queryType == "LE")
- AND ${fieldConfig.columnName} <= #{queryParams.${fieldConfig.fieldName}}
+ AND ${fieldConfig.columnName} <= #{queryParams.${fieldConfig.fieldName}}
#elseif($queryType == "NE")
- AND ${fieldConfig.columnName} != #{queryParams.${fieldConfig.fieldName}}
+ AND ${fieldConfig.columnName} != #{queryParams.${fieldConfig.fieldName}}
#elseif($queryType == "LIKE_LEFT")
- AND ${fieldConfig.columnName} LIKE CONCAT('%', #{queryParams.${fieldConfig.fieldName}})
+ AND ${fieldConfig.columnName} LIKE CONCAT('%', #{queryParams.${fieldConfig.fieldName}})
#elseif($queryType == "LIKE_RIGHT")
- AND ${fieldConfig.columnName} LIKE CONCAT(#{queryParams.${fieldConfig.fieldName}}, '%')
+ AND ${fieldConfig.columnName} LIKE CONCAT(#{queryParams.${fieldConfig.fieldName}}, '%')
#end
-
+
#end
#end
#end
From 433cb6133ffe337a324936c8854996d95edeaee6 Mon Sep 17 00:00:00 2001
From: ray <1490493387@qq.com>
Date: Wed, 31 Jul 2024 07:47:20 +0800
Subject: [PATCH 5/5] =?UTF-8?q?feat:=20=E6=94=AF=E6=8C=81=E5=AD=97?=
=?UTF-8?q?=E6=AE=B5=E6=9C=80=E5=A4=A7=E9=95=BF=E5=BA=A6=E8=AE=BE=E7=BD=AE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../com/youlai/system/model/entity/GenFieldConfig.java | 2 +-
.../com/youlai/system/model/form/GenConfigForm.java | 3 +++
src/main/resources/templates/generator/form.java.vm | 10 +++++++---
3 files changed, 11 insertions(+), 4 deletions(-)
diff --git a/src/main/java/com/youlai/system/model/entity/GenFieldConfig.java b/src/main/java/com/youlai/system/model/entity/GenFieldConfig.java
index 93e1b2e1..75a3d542 100644
--- a/src/main/java/com/youlai/system/model/entity/GenFieldConfig.java
+++ b/src/main/java/com/youlai/system/model/entity/GenFieldConfig.java
@@ -40,7 +40,7 @@ public class GenFieldConfig extends BaseEntity {
/**
* 字段长度
*/
- private String columnLength;
+ private Integer maxLength;
/**
* 字段名称
diff --git a/src/main/java/com/youlai/system/model/form/GenConfigForm.java b/src/main/java/com/youlai/system/model/form/GenConfigForm.java
index b761005d..98bd07bf 100644
--- a/src/main/java/com/youlai/system/model/form/GenConfigForm.java
+++ b/src/main/java/com/youlai/system/model/form/GenConfigForm.java
@@ -75,6 +75,9 @@ public class GenConfigForm {
@Schema(description = "是否必填")
private Integer isRequired;
+ @Schema(description = "最大长度")
+ private Integer maxLength;
+
@Schema(description = "表单类型")
private FormTypeEnum formType;
diff --git a/src/main/resources/templates/generator/form.java.vm b/src/main/resources/templates/generator/form.java.vm
index aa4767f0..1787e941 100644
--- a/src/main/resources/templates/generator/form.java.vm
+++ b/src/main/resources/templates/generator/form.java.vm
@@ -33,6 +33,9 @@ public class ${entityName}Form implements Serializable {
#if($fieldConfigs)
#foreach($fieldConfig in ${fieldConfigs})
#if($fieldConfig.isShowInForm)
+ #if("$!fieldConfig.fieldComment" != "")
+ @Schema(description = "${fieldConfig.fieldComment}")
+ #end
#if($fieldConfig.isRequired)
#if($fieldConfig.fieldType == 'String')
@NotBlank(message = "$fieldConfig.fieldComment不能为空")
@@ -40,10 +43,11 @@ public class ${entityName}Form implements Serializable {
@NotNull(message = "$fieldConfig.fieldComment不能为空")
#end
#end
- #if("$!fieldConfig.fieldComment" != "")
- @Schema(description = "${fieldConfig.fieldComment}")
- #end
+ #if($fieldConfig.maxLength)
+ @Size(max=$fieldConfig.maxLength, message="$fieldConfig.fieldComment长度不能超过${fieldConfig.maxLength}个字符")
+ #end
private ${fieldConfig.fieldType} ${fieldConfig.fieldName};
+
#end
#end
#end