修复代码生成器主键有下划线错误

This commit is contained in:
TinyAnts 2022-09-26 10:22:02 +08:00
parent 6f11895f70
commit 71066b6d83
6 changed files with 44 additions and 35 deletions

View File

@ -19,7 +19,7 @@ public class GenTableColumn implements Serializable {
private Integer tableId;
private String columnName;
private String columnComment;
private Integer columnLength;
private String columnLength;
private String columnType;
private String javaType;
private String javaField;

View File

@ -188,6 +188,9 @@ public class GenerateServiceImpl implements IGenerateService {
public void importTable(String[] tableNames) {
try {
List<DbTableVo> tables = genTableMapper.selectDbTableListByNames(tableNames);
if (tables.size() <= 0) {
throw new Exception("表不存在!");
}
for (DbTableVo map : tables) {
// 生成表信息
GenTable table = new GenTable();
@ -198,10 +201,12 @@ public class GenerateServiceImpl implements IGenerateService {
if (row > 0) {
String tableName = map.getTableName();
List<GenTableColumn> genTableColumns = genTableMapper.selectDbTableColumnsByName(tableName);
System.out.println("有没有来iih");
for (GenTableColumn column : genTableColumns) {
GenUtil.initColumn(column, table);
genTableColumnMapper.insert(column);
}
System.out.println("应该没来吧");
}
}
} catch (Exception e) {
@ -372,7 +377,7 @@ public class GenerateServiceImpl implements IGenerateService {
Template tpl = Velocity.getTemplate(template, GenConstants.UTF8);
tpl.merge(context, sw);
map.put(template.replace(".vm", ""), sw.toString());
// System.out.println(sw);
System.out.println(sw);
}
return map;

View File

@ -58,8 +58,8 @@ public class GenUtil {
// 文本域组
if (GenUtil.isArraysContains(SqlConstants.COLUMN_TYPE_STR, columnType) ||
GenUtil.isArraysContains(SqlConstants.COLUMN_TYPE_TEXT, columnType)) {
Integer columnLength = GenUtil.getColumnLength(column.getColumnType());
String htmlType = columnLength >= 500 || GenUtil.isArraysContains(SqlConstants.COLUMN_TYPE_TEXT, columnType)
String columnLength = GenUtil.getColumnLength(column.getColumnType());
String htmlType = Integer.parseInt(columnLength) >= 500 || GenUtil.isArraysContains(SqlConstants.COLUMN_TYPE_TEXT, columnType)
? HtmlConstants.HTML_TEXTAREA
: HtmlConstants.HTML_INPUT;
column.setHtmlType(htmlType);
@ -241,13 +241,12 @@ public class GenUtil {
* @param columnType 列类型
* @return 截取后的列类型
*/
public static Integer getColumnLength(String columnType) {
public static String getColumnLength(String columnType) {
if (StringUtil.indexOf(columnType, "(") > 0) {
String length = StringUtil.substringBetween(columnType, "(", ")");
return Integer.valueOf(length);
return StringUtil.substringBetween(columnType, "(", ")");
}
else {
return 0;
return "";
}
}

View File

@ -40,8 +40,9 @@ public class VelocityUtil {
* @return VelocityContext
*/
public static VelocityContext prepareContext(GenTable table, List<GenTableColumn> columns) {
boolean isSearch = false; // 是否需要搜索
String primaryKey = "id"; // 主键字段名称
boolean isSearch = false; // 是否需要搜索
String primaryKey = "id"; // 主键字段名称
String primaryField = "id"; // 主键字段
List<String> allFields = new LinkedList<>(); // 所有字段
List<String> listFields = new LinkedList<>(); // 列表字段
List<String> detailFields = new LinkedList<>(); // 详情字段
@ -59,6 +60,7 @@ public class VelocityUtil {
}
if (column.getIsPk() == 1) {
primaryKey = column.getJavaField();
primaryField = column.getColumnName();
}
if (StringUtil.isNotEmpty(column.getDictType()) && !dictFields.contains(column.getDictType())) {
dictFields.add(column.getDictType());
@ -79,6 +81,7 @@ public class VelocityUtil {
velocityContext.put("columns", columns);
velocityContext.put("dateFields", SqlConstants.COLUMN_TIME_NAME);
velocityContext.put("primaryKey", primaryKey);
velocityContext.put("primaryField", primaryField);
velocityContext.put("allFields", allFields);
velocityContext.put("listFields", listFields);
velocityContext.put("detailFields", detailFields);
@ -110,23 +113,23 @@ public class VelocityUtil {
*/
public static List<String> getTemplateList(String genTpl, List<GenTableColumn> columns) {
List<String> templates = new LinkedList<>();
templates.add("java/controller.java.vm");
templates.add("java/entity.java.vm");
templates.add("java/mapper.java.vm");
templates.add("java/service.java.vm");
templates.add("java/serviceImpl.java.vm");
templates.add("java/validate.java.vm");
// templates.add("java/controller.java.vm");
// templates.add("java/entity.java.vm");
// templates.add("java/mapper.java.vm");
// templates.add("java/service.java.vm");
// templates.add("java/serviceImpl.java.vm");
// templates.add("java/validate.java.vm");
templates.add("java/voList.java.vm");
templates.add("java/voDetail.java.vm");
templates.add("vue/api.ts.vm");
templates.add("vue/edit.vue.vm");
if (GenConstants.TPL_CRUD.equals(genTpl)) {
templates.add("vue/index.vue.vm");
}
else if (GenConstants.TPL_TREE.equals(genTpl)) {
templates.add("vue/index-tree.vue.vm");
}
// templates.add("java/voDetail.java.vm");
// templates.add("vue/api.ts.vm");
// templates.add("vue/edit.vue.vm");
// if (GenConstants.TPL_CRUD.equals(genTpl)) {
// templates.add("vue/index.vue.vm");
// }
//
// else if (GenConstants.TPL_TREE.equals(genTpl)) {
// templates.add("vue/index-tree.vue.vm");
// }
return templates;
}

View File

@ -117,7 +117,8 @@ public class ${EntityName}Controller {
@Log(title = "${functionName}删除")
@PostMapping("/del")
public Object del(@Validated(value = ${EntityName}Param.delete.class) @RequestBody ${EntityName}Param ${entityName}Param) {
i${EntityName}Service.del(${entityName}Param.getId());
#set($AttrName=$primaryKey.substring(0,1).toUpperCase() + ${primaryKey.substring(1)})
i${EntityName}Service.del(${entityName}Param.get${AttrName}());
return AjaxResult.success();
}

View File

@ -88,9 +88,9 @@ public class ${EntityName}ServiceImpl implements I${EntityName}Service {
mpjQueryWrapper.eq("is_delete", 0);
#end
#if($allFields.contains("sort"))
mpjQueryWrapper.orderByDesc(Arrays.asList("sort", "id"));
mpjQueryWrapper.orderByDesc(Arrays.asList("sort", "${primaryField}"));
#else
mpjQueryWrapper.orderByDesc("id");
mpjQueryWrapper.orderByDesc("${primaryField}");
#end
#else
#set($queryWrapper = "queryWrapper")
@ -99,9 +99,9 @@ public class ${EntityName}ServiceImpl implements I${EntityName}Service {
queryWrapper.eq("is_delete", 0);
#end
#if($allFields.contains("sort"))
queryWrapper.orderByDesc(Arrays.asList("sort", "id"));
queryWrapper.orderByDesc(Arrays.asList("sort", "${primaryField}"));
#else
queryWrapper.orderByDesc("id");
queryWrapper.orderByDesc("${primaryField}");
#end
#end
@ -264,7 +264,7 @@ public class ${EntityName}ServiceImpl implements I${EntityName}Service {
public ${EntityName}DetailVo detail(Integer id) {
${EntityName} model = ${entityName}Mapper.selectOne(
new QueryWrapper<${EntityName}>()
.eq("id", id)
.eq("${primaryField}", id)
#if($allFields.contains("is_delete"))
.eq("is_delete", 0)
#end
@ -346,9 +346,10 @@ public class ${EntityName}ServiceImpl implements I${EntityName}Service {
*/
@Override
public void edit(${EntityName}Param ${entityName}Param) {
#set($AttrName=$primaryKey.substring(0,1).toUpperCase() + ${primaryKey.substring(1)})
${EntityName} model = ${entityName}Mapper.selectOne(
new QueryWrapper<${EntityName}>()
.eq("id", ${entityName}Param.getId())
.eq("${primaryField}", ${entityName}Param.get${AttrName}())
#if($allFields.contains("is_delete"))
.eq("is_delete", 0)
#end
@ -383,7 +384,7 @@ public class ${EntityName}ServiceImpl implements I${EntityName}Service {
public void del(Integer id) {
${EntityName} model = ${entityName}Mapper.selectOne(
new QueryWrapper<${EntityName}>()
.eq("id", id)
.eq("${primaryField}", id)
#if($allFields.contains("is_delete"))
.eq("is_delete", 0)
#end
@ -398,7 +399,7 @@ public class ${EntityName}ServiceImpl implements I${EntityName}Service {
#end
${entityName}Mapper.updateById(model);
#else
${entityName}Mapper.delete(new QueryWrapper<${EntityName}>().eq("id", id));
${entityName}Mapper.delete(new QueryWrapper<${EntityName}>().eq("${primaryField}", id));
#end
}