RuoYi
2020-07-21 5e1c64fcd8da60c382cd8559a36d699d46bcb1bc
代码生成支持选择上级菜单
已修改5个文件
72 ■■■■■ 文件已修改
src/main/java/com/ruoyi/common/constant/GenConstants.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/project/tool/gen/domain/GenTable.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/project/tool/gen/service/GenTableServiceImpl.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/project/tool/gen/util/VelocityUtils.java 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/vm/sql/sql.vm 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/common/constant/GenConstants.java
@@ -22,6 +22,12 @@
    /** 树名称字段 */
    public static final String TREE_NAME = "treeName";
    /** 上级菜单ID字段 */
    public static final String PARENT_MENU_ID = "parentMenuId";
    /** 上级菜单名称字段 */
    public static final String PARENT_MENU_NAME = "parentMenuName";
    /** 数据库字符串类型 */
    public static final String[] COLUMNTYPE_STR = { "char", "varchar", "narchar", "varchar2", "tinytext", "text",
            "mediumtext", "longtext" };
src/main/java/com/ruoyi/project/tool/gen/domain/GenTable.java
@@ -74,6 +74,12 @@
    /** 树名称字段 */
    private String treeName;
    /** 上级菜单ID字段 */
    private String parentMenuId;
    /** 上级菜单名称字段 */
    private String parentMenuName;
    public Long getTableId()
    {
        return tableId;
@@ -234,6 +240,26 @@
        this.treeName = treeName;
    }
    public String getParentMenuId()
    {
        return parentMenuId;
    }
    public void setParentMenuId(String parentMenuId)
    {
        this.parentMenuId = parentMenuId;
    }
    public String getParentMenuName()
    {
        return parentMenuName;
    }
    public void setParentMenuName(String parentMenuName)
    {
        this.parentMenuName = parentMenuName;
    }
    public boolean isTree()
    {
        return isTree(this.tplCategory);
src/main/java/com/ruoyi/project/tool/gen/service/GenTableServiceImpl.java
@@ -337,9 +337,14 @@
            String treeCode = paramsObj.getString(GenConstants.TREE_CODE);
            String treeParentCode = paramsObj.getString(GenConstants.TREE_PARENT_CODE);
            String treeName = paramsObj.getString(GenConstants.TREE_NAME);
            String parentMenuId = paramsObj.getString(GenConstants.PARENT_MENU_ID);
            String parentMenuName = paramsObj.getString(GenConstants.PARENT_MENU_NAME);
            genTable.setTreeCode(treeCode);
            genTable.setTreeParentCode(treeParentCode);
            genTable.setTreeName(treeName);
            genTable.setParentMenuId(parentMenuId);
            genTable.setParentMenuName(parentMenuName);
        }
    }
}
src/main/java/com/ruoyi/project/tool/gen/util/VelocityUtils.java
@@ -19,6 +19,9 @@
    /** mybatis空间路径 */
    private static final String MYBATIS_PATH = "main/resources/mybatis";
    /** 默认上级菜单,系统工具 */
    private static final String DEFAULT_PARENT_MENU_ID = "3";
    /**
     * 设置模板变量信息
     * 
@@ -50,11 +53,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)
@@ -220,6 +232,21 @@
    }
    /**
     * 获取上级菜单ID字段
     *
     * @param options 生成其他选项
     * @return 上级菜单ID字段
     */
    public static String getParentMenuId(JSONObject paramsObj)
    {
        if (paramsObj.containsKey(GenConstants.PARENT_MENU_ID))
        {
            return paramsObj.getString(GenConstants.PARENT_MENU_ID);
        }
        return DEFAULT_PARENT_MENU_ID;
    }
    /**
     * 获取树编码
     * 
     * @param options 生成其他选项
@@ -231,7 +258,7 @@
        {
            return StringUtils.toCamelCase(paramsObj.getString(GenConstants.TREE_CODE));
        }
        return "";
        return StringUtils.EMPTY;
    }
    /**
@@ -246,7 +273,7 @@
        {
            return StringUtils.toCamelCase(paramsObj.getString(GenConstants.TREE_PARENT_CODE));
        }
        return "";
        return StringUtils.EMPTY;
    }
    /**
@@ -261,7 +288,7 @@
        {
            return StringUtils.toCamelCase(paramsObj.getString(GenConstants.TREE_NAME));
        }
        return "";
        return StringUtils.EMPTY;
    }
    /**
src/main/resources/vm/sql/sql.vm
@@ -1,6 +1,6 @@
-- 菜单 SQL
insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
values('${functionName}', '3', '1', '${businessName}', '${moduleName}/${businessName}/index', 1, 'C', '0', '0', '${permissionPrefix}:list', '#', 'admin', '2018-03-01', 'ry', '2018-03-01', '${functionName}菜单');
values('${functionName}', '${parentMenuId}', '1', '${businessName}', '${moduleName}/${businessName}/index', 1, 'C', '0', '0', '${permissionPrefix}:list', '#', 'admin', '2018-03-01', 'ry', '2018-03-01', '${functionName}菜单');
-- 按钮父菜单ID
SELECT @parentId := LAST_INSERT_ID();