RuoYi
2020-08-07 a7eb07c7a0afb7da1eb9eb1bd902b0cec77921e2
ruoyi-generator/src/main/java/com/ruoyi/generator/util/VelocityUtils.java
@@ -12,7 +12,7 @@
import com.ruoyi.generator.domain.GenTableColumn;
/**
 * 代码生成模板处理
 * 模板处理工具类
 * 
 * @author ruoyi
 */
@@ -24,9 +24,12 @@
    /** mybatis空间路径 */
    private static final String MYBATIS_PATH = "main/resources/mapper";
    /** 默认上级菜单,系统工具 */
    private static final String DEFAULT_PARENT_MENU_ID = "3";
    /**
     * 设置模板变量信息
     *
     *
     * @return 模板列表
     */
    public static VelocityContext prepareContext(GenTable genTable)
@@ -55,11 +58,20 @@
        velocityContext.put("permissionPrefix", getPermissionPrefix(moduleName, businessName));
        velocityContext.put("columns", genTable.getColumns());
        velocityContext.put("table", genTable);
        setMenuVelocityContext(velocityContext, genTable);
        if (GenConstants.TPL_TREE.equals(tplCategory))
        {
            setTreeVelocityContext(velocityContext, genTable);
        }
        return velocityContext;
    }
    public static void setMenuVelocityContext(VelocityContext context, GenTable genTable)
    {
        String options = genTable.getOptions();
        JSONObject paramsObj = JSONObject.parseObject(options);
        String parentMenuId = getParentMenuId(paramsObj);
        context.put("parentMenuId", parentMenuId);
    }
    public static void setTreeVelocityContext(VelocityContext context, GenTable genTable)
@@ -86,7 +98,7 @@
    /**
     * 获取模板信息
     *
     *
     * @return 模板列表
     */
    public static List<String> getTemplateList(String tplCategory)
@@ -176,7 +188,7 @@
    /**
     * 获取包前缀
     *
     *
     * @param packageName 包名称
     * @return 包前缀名称
     */
@@ -189,8 +201,8 @@
    /**
     * 根据列类型获取导入包
     *
     * @param column 列集合
     *
     * @param columns 列集合
     * @return 返回需要导入的包列表
     */
    public static HashSet<String> getImportList(List<GenTableColumn> columns)
@@ -213,7 +225,7 @@
    /**
     * 获取权限前缀
     *
     *
     * @param moduleName 模块名称
     * @param businessName 业务名称
     * @return 返回权限前缀
@@ -221,13 +233,27 @@
    public static String getPermissionPrefix(String moduleName, String businessName)
    {
        return StringUtils.format("{}:{}", moduleName, businessName);
    }
    /**
     * 获取上级菜单ID字段
     *
     * @param paramsObj 生成其他选项
     * @return 上级菜单ID字段
     */
    public static String getParentMenuId(JSONObject paramsObj)
    {
        if (StringUtils.isNotEmpty(paramsObj) && paramsObj.containsKey(GenConstants.PARENT_MENU_ID))
        {
            return paramsObj.getString(GenConstants.PARENT_MENU_ID);
        }
        return DEFAULT_PARENT_MENU_ID;
    }
    /**
     * 获取树编码
     *
     * @param options 生成其他选项
     *
     * @param paramsObj 生成其他选项
     * @return 树编码
     */
    public static String getTreecode(JSONObject paramsObj)
@@ -236,13 +262,13 @@
        {
            return StringUtils.toCamelCase(paramsObj.getString(GenConstants.TREE_CODE));
        }
        return "";
        return StringUtils.EMPTY;
    }
    /**
     * 获取树父编码
     *
     * @param options 生成其他选项
     *
     * @param paramsObj 生成其他选项
     * @return 树父编码
     */
    public static String getTreeParentCode(JSONObject paramsObj)
@@ -251,13 +277,13 @@
        {
            return StringUtils.toCamelCase(paramsObj.getString(GenConstants.TREE_PARENT_CODE));
        }
        return "";
        return StringUtils.EMPTY;
    }
    /**
     * 获取树名称
     *
     * @param options 生成其他选项
     *
     * @param paramsObj 生成其他选项
     * @return 树名称
     */
    public static String getTreeName(JSONObject paramsObj)
@@ -266,12 +292,12 @@
        {
            return StringUtils.toCamelCase(paramsObj.getString(GenConstants.TREE_NAME));
        }
        return "";
        return StringUtils.EMPTY;
    }
    /**
     * 获取需要在哪一列上面显示展开按钮
     *
     *
     * @param genTable 业务表对象
     * @return 展开按钮列序号
     */