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

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 Integer tableId;
private String columnName; private String columnName;
private String columnComment; private String columnComment;
private Integer columnLength; private String columnLength;
private String columnType; private String columnType;
private String javaType; private String javaType;
private String javaField; private String javaField;

View File

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

View File

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

View File

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

View File

@ -117,7 +117,8 @@ public class ${EntityName}Controller {
@Log(title = "${functionName}删除") @Log(title = "${functionName}删除")
@PostMapping("/del") @PostMapping("/del")
public Object del(@Validated(value = ${EntityName}Param.delete.class) @RequestBody ${EntityName}Param ${entityName}Param) { 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(); return AjaxResult.success();
} }

View File

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