♻️ Refactoring code. #5106 优化代码模块,重构代码实体中boolean 类型

This commit is contained in:
lbw committed 2023-09-01 14:20:58 +08:00
1 parent 258fee3a63
commit 3f2b9bf214
8 files changed
+93 -49

No files matched your search

@@ -108,7 +108,7 @@ public class GenTable extends Model<GenTable> {
* 生成方式 0:zip压缩包 1:自定义目录
*/
@Schema(description = "生成方式 0:zip压缩包 1:自定义目录")
private Integer generatorType;
private String generatorType;
/**
* 后端生成路径
@@ -94,22 +94,22 @@ public class GenTableColumnEntity extends Model<GenDatasourceConf> {
/**
* 主键 0:否 1:是
*/
private boolean primaryPk;
private String primaryPk;
/**
* 基类字段 0:否 1:是
*/
private boolean baseField;
private String baseField;
/**
* 表单项 0:否 1:是
*/
private boolean formItem;
private String formItem;
/**
* 表单必填 0:否 1:是
*/
private boolean formRequired;
private String formRequired;
/**
* 表单类型
@@ -124,17 +124,17 @@ public class GenTableColumnEntity extends Model<GenDatasourceConf> {
/**
* 列表项 0:否 1:是
*/
private boolean gridItem;
private String gridItem;
/**
* 列表排序 0:否 1:是
*/
private boolean gridSort;
private String gridSort;
/**
* 查询项 0:否 1:是
*/
private boolean queryItem;
private String queryItem;
/**
* 查询方式
@@ -20,8 +20,8 @@ import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.dynamic.datasource.DynamicRoutingDataSource;
import com.baomidou.dynamic.datasource.creator.DataSourceCreator;
import com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DataSourceProperty;
import com.baomidou.dynamic.datasource.spring.boot.autoconfigure.druid.DruidConfig;
import com.baomidou.dynamic.datasource.creator.DataSourceProperty;
import com.baomidou.dynamic.datasource.creator.druid.DruidConfig;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.pig4cloud.pigx.codegen.entity.GenDatasourceConf;
import com.pig4cloud.pigx.codegen.mapper.GenDatasourceConfMapper;
@@ -116,9 +116,10 @@ public class GenTableServiceImpl extends ServiceImpl<GenTableMapper, GenTable> i
genTable = this.tableImport(dsName, tableName);
}
List<GenTableColumnEntity> fieldList = columnService
.list(Wrappers.<GenTableColumnEntity>lambdaQuery().eq(GenTableColumnEntity::getDsName, dsName)
.eq(GenTableColumnEntity::getTableName, tableName).orderByAsc(GenTableColumnEntity::getSort));
List<GenTableColumnEntity> fieldList = columnService.list(Wrappers.<GenTableColumnEntity>lambdaQuery()
.eq(GenTableColumnEntity::getDsName, dsName)
.eq(GenTableColumnEntity::getTableName, tableName)
.orderByAsc(GenTableColumnEntity::getSort));
genTable.setFieldList(fieldList);
// 查询模板分组信息
@@ -156,7 +157,7 @@ public class GenTableServiceImpl extends ServiceImpl<GenTableMapper, GenTable> i
table.setTableComment(MapUtil.getStr(queryTable, "tableComment"));
table.setDbType(MapUtil.getStr(queryTable, "dbType"));
table.setFormLayout(FormLayoutEnum.TWO.getValue());
table.setGeneratorType(GeneratorTypeEnum.ZIP_DOWNLOAD.ordinal());
table.setGeneratorType(GeneratorTypeEnum.ZIP_DOWNLOAD.getValue());
table.setClassName(NamingCase.toPascalCase(tableName));
table.setModuleName(GenKit.getModuleName(table.getPackageName()));
table.setFunctionName(GenKit.getFunctionName(tableName));
@@ -176,10 +177,11 @@ public class GenTableServiceImpl extends ServiceImpl<GenTableMapper, GenTable> i
genTableColumnEntity.setFieldComment(MapUtil.getStr(columnMap, "comments"));
genTableColumnEntity.setFieldType(MapUtil.getStr(columnMap, "dataType"));
String columnKey = MapUtil.getStr(columnMap, "columnKey");
genTableColumnEntity.setPrimaryPk(StringUtils.isNotBlank(columnKey) && "PRI".equalsIgnoreCase(columnKey));
genTableColumnEntity.setPrimaryPk((StringUtils.isNotBlank(columnKey) && "PRI".equalsIgnoreCase(columnKey))
? BoolFillEnum.TRUE.getValue() : BoolFillEnum.FALSE.getValue());
genTableColumnEntity.setAutoFill(AutoFillEnum.DEFAULT.name());
genTableColumnEntity.setFormItem(true);
genTableColumnEntity.setGridItem(true);
genTableColumnEntity.setFormItem(BoolFillEnum.TRUE.getValue());
genTableColumnEntity.setGridItem(BoolFillEnum.TRUE.getValue());
// 审计字段处理
if (EnumUtil.contains(CommonColumnFiledEnum.class, columnName)) {
@@ -22,6 +22,7 @@ import cn.hutool.core.date.DateUtil;
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.io.IoUtil;
import cn.hutool.core.text.NamingCase;
import cn.hutool.core.util.BooleanUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONObject;
import com.pig4cloud.pigx.codegen.entity.GenFormConf;
@@ -37,7 +38,6 @@ import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import java.io.File;
import java.util.*;
import java.util.stream.Collectors;
import java.util.zip.ZipEntry;
@@ -185,8 +185,8 @@ public class GeneratorServiceImpl implements GeneratorService {
// 获取模板信息,Lambda 表达式简化代码
GenTemplateEntity genTemplateEntity = Optional
.ofNullable(genTemplateService.getById(GeneratorStyleEnum.VFORM_JSON.getTemplateId()))
.orElseThrow(() -> new Exception("模板不存在"));
.ofNullable(genTemplateService.getById(GeneratorStyleEnum.VFORM_JSON.getTemplateId()))
.orElseThrow(() -> new Exception("模板不存在"));
// 渲染模板并返回结果
return VelocityKit.renderStr(genTemplateEntity.getTemplateCode(), dataModel);
@@ -217,8 +217,8 @@ public class GeneratorServiceImpl implements GeneratorService {
// 获取模板信息
GenTemplateEntity genTemplateEntity = Optional
.ofNullable(genTemplateService.getById(GeneratorStyleEnum.VFORM_FORM.getTemplateId()))
.orElseThrow(() -> new Exception("模板不存在"));
.ofNullable(genTemplateService.getById(GeneratorStyleEnum.VFORM_FORM.getTemplateId()))
.orElseThrow(() -> new Exception("模板不存在"));
// 渲染模板并返回结果
return VelocityKit.renderStr(genTemplateEntity.getTemplateCode(), dataModel);
@@ -234,9 +234,10 @@ public class GeneratorServiceImpl implements GeneratorService {
GenTable table = tableService.getById(tableId);
// 获取字段列表
List<GenTableColumnEntity> fieldList = columnService.lambdaQuery()
.eq(GenTableColumnEntity::getDsName, table.getDsName())
.eq(GenTableColumnEntity::getTableName, table.getTableName()).orderByAsc(GenTableColumnEntity::getSort)
.list();
.eq(GenTableColumnEntity::getDsName, table.getDsName())
.eq(GenTableColumnEntity::getTableName, table.getTableName())
.orderByAsc(GenTableColumnEntity::getSort)
.list();
table.setFieldList(fieldList);
@@ -275,8 +276,9 @@ public class GeneratorServiceImpl implements GeneratorService {
String childTableName = table.getChildTableName();
if (StrUtil.isNotBlank(childTableName)) {
List<GenTableColumnEntity> childFieldList = columnService.lambdaQuery()
.eq(GenTableColumnEntity::getDsName, table.getDsName())
.eq(GenTableColumnEntity::getTableName, table.getChildTableName()).list();
.eq(GenTableColumnEntity::getDsName, table.getDsName())
.eq(GenTableColumnEntity::getTableName, table.getChildTableName())
.list();
dataModel.put("childFieldList", childFieldList);
dataModel.put("childTableName", childTableName);
dataModel.put("mainField", NamingCase.toCamelCase(table.getMainField()));
@@ -295,17 +297,24 @@ public class GeneratorServiceImpl implements GeneratorService {
*/
private void setFieldTypeList(Map<String, Object> dataModel, GenTable table) {
// 按字段类型分组,使用 Map 存储不同类型的字段列表
Map<Boolean, List<GenTableColumnEntity>> typeMap = table.getFieldList().stream()
.collect(Collectors.partitioningBy(GenTableColumnEntity::isPrimaryPk));
Map<Boolean, List<GenTableColumnEntity>> typeMap = table.getFieldList()
.stream()
.collect(Collectors.partitioningBy(columnEntity -> BooleanUtil.toBoolean(columnEntity.getPrimaryPk().toString())));
// 从分组后的 Map 中获取不同类型的字段列表
List<GenTableColumnEntity> primaryList = typeMap.get(true);
List<GenTableColumnEntity> formList = typeMap.get(false).stream().filter(GenTableColumnEntity::isFormItem)
.collect(Collectors.toList());
List<GenTableColumnEntity> gridList = typeMap.get(false).stream().filter(GenTableColumnEntity::isGridItem)
.collect(Collectors.toList());
List<GenTableColumnEntity> queryList = typeMap.get(false).stream().filter(GenTableColumnEntity::isQueryItem)
.collect(Collectors.toList());
List<GenTableColumnEntity> formList = typeMap.get(false)
.stream()
.filter(columnEntity -> BooleanUtil.toBoolean(columnEntity.getFormItem()))
.collect(Collectors.toList());
List<GenTableColumnEntity> gridList = typeMap.get(false)
.stream()
.filter(columnEntity -> BooleanUtil.toBoolean(columnEntity.getGridItem()))
.collect(Collectors.toList());
List<GenTableColumnEntity> queryList = typeMap.get(false)
.stream()
.filter(columnEntity -> BooleanUtil.toBoolean(columnEntity.getQueryItem()))
.collect(Collectors.toList());
if (CollUtil.isNotEmpty(primaryList)) {
dataModel.put("pk", primaryList.get(0));
@@ -0,0 +1,26 @@
package com.pig4cloud.pigx.codegen.util;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
/**
* boolean 类型枚举
*
*/
@Getter
@RequiredArgsConstructor
public enum BoolFillEnum {
/**
* true
*/
TRUE("1"),
/**
* false
*/
FALSE("0");
private final String value;
}
@@ -16,38 +16,38 @@ public enum CommonColumnFiledEnum {
/**
* create_by 字段
*/
create_by(false, false, AutoFillEnum.INSERT.name(), 100),
create_by("0", "0", AutoFillEnum.INSERT.name(), 100),
/**
* create_time 字段
*/
create_time(false, false, AutoFillEnum.INSERT.name(), 101),
create_time("0", "0", AutoFillEnum.INSERT.name(), 101),
/**
* update_by 字段
*/
update_by(false, false, AutoFillEnum.INSERT_UPDATE.name(), 102),
update_by("0", "0", AutoFillEnum.INSERT_UPDATE.name(), 102),
/**
* update_time 字段
*/
update_time(false, false, AutoFillEnum.INSERT_UPDATE.name(), 103),
update_time("0", "0", AutoFillEnum.INSERT_UPDATE.name(), 103),
/**
* del_flag 字段
*/
del_flag(false, false, AutoFillEnum.DEFAULT.name(), 104),
del_flag("0", "0", AutoFillEnum.DEFAULT.name(), 104),
/**
* tenant_id 字段
*/
tenant_id(false, false, AutoFillEnum.DEFAULT.name(), 105);
tenant_id("0", "0", AutoFillEnum.DEFAULT.name(), 105);
/**
* 表单是否默认显示
* 表单是否默认显示 1/0
*/
private Boolean formItem;
private String formItem;
/**
* 表格是否默认显示
* 表格是否默认显示 1/0
*/
private Boolean gridItem;
private String gridItem;
/**
* 自动填充策略
@@ -1,19 +1,26 @@
package com.pig4cloud.pigx.codegen.util;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
/**
* 代码生成方式 枚举
*
* @author 阿沐 babamu@126.com
*/
@Getter
@RequiredArgsConstructor
public enum GeneratorTypeEnum {
/**
* zip压缩包
* zip压缩包 0
*/
ZIP_DOWNLOAD,
ZIP_DOWNLOAD("0"),
/**
* 自定义目录
* 自定义目录 1
*/
CUSTOM_DIRECTORY;
CUSTOM_DIRECTORY("1");
private final String value;
}