Merge branch 'develop'
This commit is contained in:
@@ -40,7 +40,7 @@ public class GenFieldConfig extends BaseEntity {
|
|||||||
/**
|
/**
|
||||||
* 字段长度
|
* 字段长度
|
||||||
*/
|
*/
|
||||||
private String columnLength;
|
private Integer maxLength;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 字段名称
|
* 字段名称
|
||||||
|
|||||||
@@ -75,6 +75,9 @@ public class GenConfigForm {
|
|||||||
@Schema(description = "是否必填")
|
@Schema(description = "是否必填")
|
||||||
private Integer isRequired;
|
private Integer isRequired;
|
||||||
|
|
||||||
|
@Schema(description = "最大长度")
|
||||||
|
private Integer maxLength;
|
||||||
|
|
||||||
@Schema(description = "表单类型")
|
@Schema(description = "表单类型")
|
||||||
private FormTypeEnum formType;
|
private FormTypeEnum formType;
|
||||||
|
|
||||||
|
|||||||
@@ -140,18 +140,19 @@ public class GeneratorServiceImpl implements GeneratorService {
|
|||||||
/**
|
/**
|
||||||
* 创建默认字段配置
|
* 创建默认字段配置
|
||||||
*
|
*
|
||||||
* @param tableColumn 表字段元数据
|
* @param columnMetaData 表字段元数据
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
private GenFieldConfig createDefaultFieldConfig(ColumnMetaData tableColumn) {
|
private GenFieldConfig createDefaultFieldConfig(ColumnMetaData columnMetaData) {
|
||||||
GenFieldConfig fieldConfig = new GenFieldConfig();
|
GenFieldConfig fieldConfig = new GenFieldConfig();
|
||||||
fieldConfig.setColumnName(tableColumn.getColumnName());
|
fieldConfig.setColumnName(columnMetaData.getColumnName());
|
||||||
fieldConfig.setColumnType(tableColumn.getDataType());
|
fieldConfig.setColumnType(columnMetaData.getDataType());
|
||||||
fieldConfig.setFieldComment(tableColumn.getColumnComment());
|
fieldConfig.setFieldComment(columnMetaData.getColumnComment());
|
||||||
fieldConfig.setFieldName(StrUtil.toCamelCase(tableColumn.getColumnName()));
|
fieldConfig.setFieldName(StrUtil.toCamelCase(columnMetaData.getColumnName()));
|
||||||
fieldConfig.setIsRequired("YES".equals(tableColumn.getIsNullable()) ? 1 : 0);
|
fieldConfig.setIsRequired("YES".equals(columnMetaData.getIsNullable()) ? 1 : 0);
|
||||||
fieldConfig.setFormType(FormTypeEnum.INPUT);
|
fieldConfig.setFormType(FormTypeEnum.INPUT);
|
||||||
fieldConfig.setQueryType(QueryTypeEnum.EQ);
|
fieldConfig.setQueryType(QueryTypeEnum.EQ);
|
||||||
|
fieldConfig.setMaxLength(columnMetaData.getCharacterMaximumLength());
|
||||||
return fieldConfig;
|
return fieldConfig;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -316,13 +317,27 @@ public class GeneratorServiceImpl implements GeneratorService {
|
|||||||
bindMap.put("businessName", genConfig.getBusinessName());
|
bindMap.put("businessName", genConfig.getBusinessName());
|
||||||
bindMap.put("fieldConfigs", fieldConfigs);
|
bindMap.put("fieldConfigs", fieldConfigs);
|
||||||
|
|
||||||
|
boolean hasLocalDateTime = false;
|
||||||
|
boolean hasBigDecimal = false;
|
||||||
|
boolean hasRequiredField = false;
|
||||||
|
|
||||||
for (GenFieldConfig fieldConfig : fieldConfigs) {
|
for (GenFieldConfig fieldConfig : fieldConfigs) {
|
||||||
bindMap.put("hasLocalDateTime", "LocalDateTime".equals(fieldConfig.getFieldType()));
|
if ("LocalDateTime".equals(fieldConfig.getFieldType())) {
|
||||||
bindMap.put("hasBigDecimal", "BigDecimal".equals(fieldConfig.getFieldType()));
|
hasLocalDateTime = true;
|
||||||
bindMap.put("hasRequiredField", ObjectUtil.equals(fieldConfig.getIsRequired(), 1));
|
}
|
||||||
|
if ("BigDecimal".equals(fieldConfig.getFieldType())) {
|
||||||
|
hasBigDecimal = true;
|
||||||
|
}
|
||||||
|
if (ObjectUtil.equals(fieldConfig.getIsRequired(), 1)) {
|
||||||
|
hasRequiredField = true;
|
||||||
|
}
|
||||||
fieldConfig.setTsType(JavaTypeEnum.getTsTypeByJavaType(fieldConfig.getFieldType()));
|
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));
|
TemplateEngine templateEngine = TemplateUtil.createEngine(new TemplateConfig("templates", TemplateConfig.ResourceMode.CLASSPATH));
|
||||||
Template template = templateEngine.getTemplate(templateConfig.getTemplatePath());
|
Template template = templateEngine.getTemplate(templateConfig.getTemplatePath());
|
||||||
String content = template.render(bindMap);
|
String content = template.render(bindMap);
|
||||||
|
|||||||
@@ -33,6 +33,9 @@ public class ${entityName}Form implements Serializable {
|
|||||||
#if($fieldConfigs)
|
#if($fieldConfigs)
|
||||||
#foreach($fieldConfig in ${fieldConfigs})
|
#foreach($fieldConfig in ${fieldConfigs})
|
||||||
#if($fieldConfig.isShowInForm)
|
#if($fieldConfig.isShowInForm)
|
||||||
|
#if("$!fieldConfig.fieldComment" != "")
|
||||||
|
@Schema(description = "${fieldConfig.fieldComment}")
|
||||||
|
#end
|
||||||
#if($fieldConfig.isRequired)
|
#if($fieldConfig.isRequired)
|
||||||
#if($fieldConfig.fieldType == 'String')
|
#if($fieldConfig.fieldType == 'String')
|
||||||
@NotBlank(message = "$fieldConfig.fieldComment不能为空")
|
@NotBlank(message = "$fieldConfig.fieldComment不能为空")
|
||||||
@@ -40,10 +43,11 @@ public class ${entityName}Form implements Serializable {
|
|||||||
@NotNull(message = "$fieldConfig.fieldComment不能为空")
|
@NotNull(message = "$fieldConfig.fieldComment不能为空")
|
||||||
#end
|
#end
|
||||||
#end
|
#end
|
||||||
#if("$!fieldConfig.fieldComment" != "")
|
#if($fieldConfig.maxLength)
|
||||||
@Schema(description = "${fieldConfig.fieldComment}")
|
@Size(max=$fieldConfig.maxLength, message="$fieldConfig.fieldComment长度不能超过${fieldConfig.maxLength}个字符")
|
||||||
#end
|
#end
|
||||||
private ${fieldConfig.fieldType} ${fieldConfig.fieldName};
|
private ${fieldConfig.fieldType} ${fieldConfig.fieldName};
|
||||||
|
|
||||||
#end
|
#end
|
||||||
#end
|
#end
|
||||||
#end
|
#end
|
||||||
|
|||||||
@@ -157,9 +157,6 @@
|
|||||||
const queryParams = reactive<${entityName}PageQuery>({
|
const queryParams = reactive<${entityName}PageQuery>({
|
||||||
pageNum: 1,
|
pageNum: 1,
|
||||||
pageSize: 10,
|
pageSize: 10,
|
||||||
keywords: '',
|
|
||||||
name: '',
|
|
||||||
code: '',
|
|
||||||
});
|
});
|
||||||
|
|
||||||
// $!{businessName}表格数据
|
// $!{businessName}表格数据
|
||||||
@@ -170,16 +167,19 @@
|
|||||||
title: "",
|
title: "",
|
||||||
visible: false,
|
visible: false,
|
||||||
});
|
});
|
||||||
// $!{businessName}表单
|
|
||||||
const formData = reactive<${entityName}Form>({
|
|
||||||
keywords: '',
|
|
||||||
name: '',
|
|
||||||
code: '',
|
|
||||||
});
|
|
||||||
|
|
||||||
|
// $!{businessName}表单数据
|
||||||
|
const formData = reactive<${entityName}Form>({});
|
||||||
|
|
||||||
|
// $!{businessName}表单校验规则
|
||||||
const rules = reactive({
|
const rules = reactive({
|
||||||
name: [{ required: true, message: "请输入$!{businessName}名称", trigger: "blur" }],
|
#if($fieldConfigs)
|
||||||
code: [{ required: true, message: "请输入$!{businessName}编码", trigger: "blur" }],
|
#foreach($fieldConfig in ${fieldConfigs})
|
||||||
|
#if($fieldConfig.isShowInForm && $fieldConfig.isRequired)
|
||||||
|
${fieldConfig.fieldName}: [{ required: true, message: "请输入${fieldConfig.fieldComment}", trigger: "blur" }],
|
||||||
|
#end
|
||||||
|
#end
|
||||||
|
#end
|
||||||
});
|
});
|
||||||
|
|
||||||
/** 查询$!{businessName} */
|
/** 查询$!{businessName} */
|
||||||
@@ -194,6 +194,7 @@
|
|||||||
loading.value = false;
|
loading.value = false;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 重置$!{businessName}查询 */
|
/** 重置$!{businessName}查询 */
|
||||||
function handleResetQuery() {
|
function handleResetQuery() {
|
||||||
queryFormRef.value!.resetFields();
|
queryFormRef.value!.resetFields();
|
||||||
|
|||||||
@@ -5,25 +5,59 @@
|
|||||||
<!-- 获取${businessName}分页列表 -->
|
<!-- 获取${businessName}分页列表 -->
|
||||||
<select id="get${entityName}Page" resultType="${package}.model.vo.${entityName}VO">
|
<select id="get${entityName}Page" resultType="${package}.model.vo.${entityName}VO">
|
||||||
SELECT
|
SELECT
|
||||||
*
|
#if($fieldConfigs)
|
||||||
|
#set ($fields = [])
|
||||||
|
#foreach($fieldConfig in ${fieldConfigs})
|
||||||
|
#if($fieldConfig.isShowInList)
|
||||||
|
#set ($discard = $fields.add(${fieldConfig.columnName}))
|
||||||
|
#end
|
||||||
|
#end
|
||||||
|
#foreach($field in $fields)
|
||||||
|
${field}#if($foreach.hasNext),#end
|
||||||
|
#end
|
||||||
|
#end
|
||||||
FROM
|
FROM
|
||||||
${tableName}
|
${tableName}
|
||||||
<where>
|
<where>
|
||||||
is_deleted = 0
|
#if($fieldConfigs)
|
||||||
<if test='queryParams.keywords!=null and queryParams.keywords.trim() neq ""'>
|
#foreach($fieldConfig in ${fieldConfigs})
|
||||||
AND (
|
#if($fieldConfig.isShowInQuery)
|
||||||
name LIKE CONCAT('%',#{queryParams.keywords},'%')
|
<if test="queryParams.${fieldConfig.fieldName} != null">
|
||||||
)
|
#set ($queryType = ${fieldConfig.queryType})
|
||||||
|
#if($queryType == "EQ")
|
||||||
|
AND ${fieldConfig.columnName} = #{queryParams.${fieldConfig.fieldName}}
|
||||||
|
#elseif($queryType == "LIKE")
|
||||||
|
AND ${fieldConfig.columnName} LIKE CONCAT('%', #{queryParams.${fieldConfig.fieldName}}, '%')
|
||||||
|
#elseif($queryType == "IN")
|
||||||
|
<if test="queryParams.${fieldConfig.fieldName}.size() > 0">
|
||||||
|
AND ${fieldConfig.columnName} IN <foreach collection="queryParams.${fieldConfig.fieldName}" item="item" open="(" close=")" separator=",">#{item}</foreach>
|
||||||
</if>
|
</if>
|
||||||
<if test="queryParams.startTime != null">
|
#elseif($queryType == "BETWEEN")
|
||||||
AND create_time >= #{queryParams.startTime}
|
#if(${fieldConfig.fieldType} == "LocalDateTime")
|
||||||
</if>
|
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')
|
||||||
<if test="queryParams.endTime != null">
|
#else
|
||||||
AND create_time <= #{queryParams.endTime}
|
AND ${fieldConfig.columnName} BETWEEN #{queryParams.${fieldConfig.fieldName}Start} AND #{queryParams.${fieldConfig.fieldName}End}
|
||||||
|
#end
|
||||||
|
#elseif($queryType == "GT")
|
||||||
|
AND ${fieldConfig.columnName} > #{queryParams.${fieldConfig.fieldName}}
|
||||||
|
#elseif($queryType == "GE")
|
||||||
|
AND ${fieldConfig.columnName} >= #{queryParams.${fieldConfig.fieldName}}
|
||||||
|
#elseif($queryType == "LT")
|
||||||
|
AND ${fieldConfig.columnName} < #{queryParams.${fieldConfig.fieldName}}
|
||||||
|
#elseif($queryType == "LE")
|
||||||
|
AND ${fieldConfig.columnName} <= #{queryParams.${fieldConfig.fieldName}}
|
||||||
|
#elseif($queryType == "NE")
|
||||||
|
AND ${fieldConfig.columnName} != #{queryParams.${fieldConfig.fieldName}}
|
||||||
|
#elseif($queryType == "LIKE_LEFT")
|
||||||
|
AND ${fieldConfig.columnName} LIKE CONCAT('%', #{queryParams.${fieldConfig.fieldName}})
|
||||||
|
#elseif($queryType == "LIKE_RIGHT")
|
||||||
|
AND ${fieldConfig.columnName} LIKE CONCAT(#{queryParams.${fieldConfig.fieldName}}, '%')
|
||||||
|
#end
|
||||||
</if>
|
</if>
|
||||||
|
#end
|
||||||
|
#end
|
||||||
|
#end
|
||||||
</where>
|
</where>
|
||||||
ORDER BY
|
|
||||||
create_time DESC
|
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|||||||
Reference in New Issue
Block a user