From 81ab86103655d3272c08bdd7ca335305407fc0e5 Mon Sep 17 00:00:00 2001 From: 疯狂的狮子li <15040126243@163.com> Date: 星期一, 28 二月 2022 10:56:59 +0800 Subject: [PATCH] fix 修复代码生成 基于路径生成 路径为空问题 --- ruoyi-generator/src/main/java/com/ruoyi/generator/util/VelocityUtils.java | 63 +++++++++++++++++++------------ 1 files changed, 38 insertions(+), 25 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 d2e0e3a..9cc1c34 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 @@ -1,6 +1,9 @@ package com.ruoyi.generator.util; +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.utils.DateUtils; import com.ruoyi.common.utils.JsonUtils; @@ -9,10 +12,7 @@ import com.ruoyi.generator.domain.GenTableColumn; import org.apache.velocity.VelocityContext; -import java.util.ArrayList; -import java.util.HashSet; -import java.util.List; -import java.util.Map; +import java.util.*; /** * 妯℃澘澶勭悊宸ュ叿绫� @@ -79,14 +79,14 @@ public static void setMenuVelocityContext(VelocityContext context, GenTable genTable) { String options = genTable.getOptions(); - Map<String, Object> 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, Object> paramsObj = JsonUtils.parseMap(options); + Dict paramsObj = JsonUtils.parseMap(options); String treeCode = getTreecode(paramsObj); String treeParentCode = getTreeParentCode(paramsObj); String treeName = getTreeName(paramsObj); @@ -208,8 +208,7 @@ */ public static String getPackagePrefix(String packageName) { int lastIndex = packageName.lastIndexOf("."); - String basePackage = StringUtils.substring(packageName, 0, lastIndex); - return basePackage; + return StringUtils.substring(packageName, 0, lastIndex); } /** @@ -222,7 +221,7 @@ List<GenTableColumn> columns = genTable.getColumns(); GenTable subGenTable = genTable.getSubTable(); HashSet<String> importList = new HashSet<String>(); - if (StringUtils.isNotNull(subGenTable)) { + if (ObjectUtil.isNotNull(subGenTable)) { importList.add("java.util.List"); } for (GenTableColumn column : columns) { @@ -244,15 +243,29 @@ */ public static String getDicts(GenTable genTable) { List<GenTableColumn> columns = genTable.getColumns(); - List<String> dicts = new ArrayList<String>(); + 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(), + column.getHtmlType(), new String[] { GenConstants.HTML_SELECT, GenConstants.HTML_RADIO, GenConstants.HTML_CHECKBOX })) { dicts.add("'" + column.getDictType() + "'"); } } - return StringUtils.join(dicts, ", "); } /** @@ -272,10 +285,10 @@ * @param paramsObj 鐢熸垚鍏朵粬閫夐」 * @return 涓婄骇鑿滃崟ID瀛楁 */ - public static String getParentMenuId(Map<String, Object> paramsObj) { - if (StringUtils.isNotEmpty(paramsObj) && paramsObj.containsKey(GenConstants.PARENT_MENU_ID) - && StringUtils.isNotEmpty(Convert.toStr(paramsObj.get(GenConstants.PARENT_MENU_ID)))) { - return Convert.toStr(paramsObj.get(GenConstants.PARENT_MENU_ID)); + public static String getParentMenuId(Dict paramsObj) { + if (CollUtil.isNotEmpty(paramsObj) && paramsObj.containsKey(GenConstants.PARENT_MENU_ID) + && StringUtils.isNotEmpty(paramsObj.getStr(GenConstants.PARENT_MENU_ID))) { + return paramsObj.getStr(GenConstants.PARENT_MENU_ID); } return DEFAULT_PARENT_MENU_ID; } @@ -287,7 +300,7 @@ * @return 鏍戠紪鐮� */ public static String getTreecode(Map<String, Object> paramsObj) { - if (StringUtils.isNotEmpty(paramsObj) && paramsObj.containsKey(GenConstants.TREE_CODE)) { + if (CollUtil.isNotEmpty(paramsObj) && paramsObj.containsKey(GenConstants.TREE_CODE)) { return StringUtils.toCamelCase(Convert.toStr(paramsObj.get(GenConstants.TREE_CODE))); } return StringUtils.EMPTY; @@ -299,9 +312,9 @@ * @param paramsObj 鐢熸垚鍏朵粬閫夐」 * @return 鏍戠埗缂栫爜 */ - public static String getTreeParentCode(Map<String, Object> paramsObj) { - if (StringUtils.isNotEmpty(paramsObj) && paramsObj.containsKey(GenConstants.TREE_PARENT_CODE)) { - return StringUtils.toCamelCase(Convert.toStr(paramsObj.get(GenConstants.TREE_PARENT_CODE))); + public static String getTreeParentCode(Dict paramsObj) { + if (CollUtil.isNotEmpty(paramsObj) && paramsObj.containsKey(GenConstants.TREE_PARENT_CODE)) { + return StringUtils.toCamelCase(paramsObj.getStr(GenConstants.TREE_PARENT_CODE)); } return StringUtils.EMPTY; } @@ -312,9 +325,9 @@ * @param paramsObj 鐢熸垚鍏朵粬閫夐」 * @return 鏍戝悕绉� */ - public static String getTreeName(Map<String, Object> paramsObj) { - if (StringUtils.isNotEmpty(paramsObj) && paramsObj.containsKey(GenConstants.TREE_NAME)) { - return StringUtils.toCamelCase(Convert.toStr(paramsObj.get(GenConstants.TREE_NAME))); + public static String getTreeName(Dict paramsObj) { + if (CollUtil.isNotEmpty(paramsObj) && paramsObj.containsKey(GenConstants.TREE_NAME)) { + return StringUtils.toCamelCase(paramsObj.getStr(GenConstants.TREE_NAME)); } return StringUtils.EMPTY; } @@ -327,8 +340,8 @@ */ public static int getExpandColumn(GenTable genTable) { String options = genTable.getOptions(); - Map<String, Object> paramsObj = JsonUtils.parseMap(options); - String treeName = Convert.toStr(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