fix: 代码内容生成全局变量设置问题修复

This commit is contained in:
ray
2024-07-31 07:45:02 +08:00
parent 3356a63092
commit 04d83232a7

View File

@@ -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);