From cf67d606ae9a4649a49b291090a3e3448acf8c0b Mon Sep 17 00:00:00 2001 From: 疯狂的狮子li <15040126243@163.com> Date: 星期四, 17 三月 2022 19:52:40 +0800 Subject: [PATCH] update 初步适配 postgres (代码生成两次导入有问题) --- ruoyi-generator/src/main/java/com/ruoyi/generator/util/VelocityUtils.java | 56 ++++++++++++++++++++++++++++++++++++++++---------------- 1 files changed, 40 insertions(+), 16 deletions(-) diff --git a/ruoyi-generator/src/main/java/com/ruoyi/generator/util/VelocityUtils.java b/ruoyi-generator/src/main/java/com/ruoyi/generator/util/VelocityUtils.java index 3c25b11..7464970 100644 --- a/ruoyi-generator/src/main/java/com/ruoyi/generator/util/VelocityUtils.java +++ b/ruoyi-generator/src/main/java/com/ruoyi/generator/util/VelocityUtils.java @@ -2,8 +2,10 @@ import cn.hutool.core.collection.CollUtil; import cn.hutool.core.convert.Convert; +import cn.hutool.core.lang.Dict; import cn.hutool.core.util.ObjectUtil; import com.ruoyi.common.constant.GenConstants; +import com.ruoyi.common.helper.DataBaseHelper; import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.JsonUtils; import com.ruoyi.common.utils.StringUtils; @@ -78,14 +80,14 @@ public static void setMenuVelocityContext(VelocityContext context, GenTable genTable) { String options = genTable.getOptions(); - Map<String, String> paramsObj = JsonUtils.parseMap(options); + Dict paramsObj = JsonUtils.parseMap(options); String parentMenuId = getParentMenuId(paramsObj); context.put("parentMenuId", parentMenuId); } public static void setTreeVelocityContext(VelocityContext context, GenTable genTable) { String options = genTable.getOptions(); - Map<String, String> paramsObj = JsonUtils.parseMap(options); + Dict paramsObj = JsonUtils.parseMap(options); String treeCode = getTreecode(paramsObj); String treeParentCode = getTreeParentCode(paramsObj); String treeName = getTreeName(paramsObj); @@ -134,7 +136,15 @@ templates.add("vm/java/serviceImpl.java.vm"); templates.add("vm/java/controller.java.vm"); templates.add("vm/xml/mapper.xml.vm"); - templates.add("vm/sql/sql.vm"); + if (DataBaseHelper.isOracle()) { + templates.add("vm/sql/oracle/sql.vm"); + } else if (DataBaseHelper.isPostgerSql()) { + templates.add("vm/sql/postgres/sql.vm"); + } else if (DataBaseHelper.isSqlServer()) { + templates.add("vm/sql/sqlserver/sql.vm"); + } else { + templates.add("vm/sql/sql.vm"); + } templates.add("vm/js/api.js.vm"); if (GenConstants.TPL_CRUD.equals(tplCategory)) { templates.add("vm/vue/index.vue.vm"); @@ -243,14 +253,28 @@ public static String getDicts(GenTable genTable) { List<GenTableColumn> columns = genTable.getColumns(); Set<String> dicts = new HashSet<String>(); + addDicts(dicts, columns); + if (ObjectUtil.isNotNull(genTable.getSubTable())) { + List<GenTableColumn> subColumns = genTable.getSubTable().getColumns(); + addDicts(dicts, subColumns); + } + return StringUtils.join(dicts, ", "); + } + + /** + * 娣诲姞瀛楀吀鍒楄〃 + * + * @param dicts 瀛楀吀鍒楄〃 + * @param columns 鍒楅泦鍚� + */ + public static void addDicts(Set<String> dicts, List<GenTableColumn> columns) { for (GenTableColumn column : columns) { if (!column.isSuperColumn() && StringUtils.isNotEmpty(column.getDictType()) && StringUtils.equalsAny( column.getHtmlType(), - new String[]{GenConstants.HTML_SELECT, GenConstants.HTML_RADIO, GenConstants.HTML_CHECKBOX})) { + new String[] { GenConstants.HTML_SELECT, GenConstants.HTML_RADIO, GenConstants.HTML_CHECKBOX })) { dicts.add("'" + column.getDictType() + "'"); } } - return StringUtils.join(dicts, ", "); } /** @@ -270,10 +294,10 @@ * @param paramsObj 鐢熸垚鍏朵粬閫夐」 * @return 涓婄骇鑿滃崟ID瀛楁 */ - public static String getParentMenuId(Map<String, String> paramsObj) { + public static String getParentMenuId(Dict paramsObj) { if (CollUtil.isNotEmpty(paramsObj) && paramsObj.containsKey(GenConstants.PARENT_MENU_ID) - && StringUtils.isNotEmpty(paramsObj.get(GenConstants.PARENT_MENU_ID))) { - return Convert.toStr(paramsObj.get(GenConstants.PARENT_MENU_ID)); + && StringUtils.isNotEmpty(paramsObj.getStr(GenConstants.PARENT_MENU_ID))) { + return paramsObj.getStr(GenConstants.PARENT_MENU_ID); } return DEFAULT_PARENT_MENU_ID; } @@ -284,9 +308,9 @@ * @param paramsObj 鐢熸垚鍏朵粬閫夐」 * @return 鏍戠紪鐮� */ - public static String getTreecode(Map<String, String> paramsObj) { + public static String getTreecode(Map<String, Object> paramsObj) { if (CollUtil.isNotEmpty(paramsObj) && paramsObj.containsKey(GenConstants.TREE_CODE)) { - return StringUtils.toCamelCase(paramsObj.get(GenConstants.TREE_CODE)); + return StringUtils.toCamelCase(Convert.toStr(paramsObj.get(GenConstants.TREE_CODE))); } return StringUtils.EMPTY; } @@ -297,9 +321,9 @@ * @param paramsObj 鐢熸垚鍏朵粬閫夐」 * @return 鏍戠埗缂栫爜 */ - public static String getTreeParentCode(Map<String, String> paramsObj) { + public static String getTreeParentCode(Dict paramsObj) { if (CollUtil.isNotEmpty(paramsObj) && paramsObj.containsKey(GenConstants.TREE_PARENT_CODE)) { - return StringUtils.toCamelCase(paramsObj.get(GenConstants.TREE_PARENT_CODE)); + return StringUtils.toCamelCase(paramsObj.getStr(GenConstants.TREE_PARENT_CODE)); } return StringUtils.EMPTY; } @@ -310,9 +334,9 @@ * @param paramsObj 鐢熸垚鍏朵粬閫夐」 * @return 鏍戝悕绉� */ - public static String getTreeName(Map<String, String> paramsObj) { + public static String getTreeName(Dict paramsObj) { if (CollUtil.isNotEmpty(paramsObj) && paramsObj.containsKey(GenConstants.TREE_NAME)) { - return StringUtils.toCamelCase(paramsObj.get(GenConstants.TREE_NAME)); + return StringUtils.toCamelCase(paramsObj.getStr(GenConstants.TREE_NAME)); } return StringUtils.EMPTY; } @@ -325,8 +349,8 @@ */ public static int getExpandColumn(GenTable genTable) { String options = genTable.getOptions(); - Map<String, String> paramsObj = JsonUtils.parseMap(options); - String treeName = paramsObj.get(GenConstants.TREE_NAME); + Dict paramsObj = JsonUtils.parseMap(options); + String treeName = paramsObj.getStr(GenConstants.TREE_NAME); int num = 0; for (GenTableColumn column : genTable.getColumns()) { if (column.isList()) { -- Gitblit v1.9.3