From 370a299d05029e085be9e259b103db419144cf87 Mon Sep 17 00:00:00 2001 From: RuoYi <yzz_ivy@163.com> Date: 星期四, 30 十一月 2023 09:39:13 +0800 Subject: [PATCH] 代码生成支持选择前端模板类型 --- src/main/java/com/ruoyi/project/tool/gen/util/VelocityUtils.java | 16 +++++++++++----- /dev/null | 1 - sql/ry_20231130.sql | 1 + src/main/java/com/ruoyi/project/tool/gen/service/GenTableServiceImpl.java | 6 +++--- src/main/java/com/ruoyi/project/tool/gen/domain/GenTable.java | 13 +++++++++++++ src/main/resources/mybatis/tool/GenTableMapper.xml | 12 ++++++++---- 6 files changed, 36 insertions(+), 13 deletions(-) diff --git a/sql/ry_20230706.sql b/sql/ry_20231130.sql similarity index 99% rename from sql/ry_20230706.sql rename to sql/ry_20231130.sql index e4f4f69..b149248 100644 --- a/sql/ry_20230706.sql +++ b/sql/ry_20231130.sql @@ -651,6 +651,7 @@ sub_table_fk_name varchar(64) default null comment '瀛愯〃鍏宠仈鐨勫閿悕', class_name varchar(100) default '' comment '瀹炰綋绫诲悕绉�', tpl_category varchar(200) default 'crud' comment '浣跨敤鐨勬ā鏉匡紙crud鍗曡〃鎿嶄綔 tree鏍戣〃鎿嶄綔锛�', + tpl_web_type varchar(30) default '' comment '鍓嶇妯℃澘绫诲瀷锛坋lement-ui妯$増 element-plus妯$増锛�', package_name varchar(100) comment '鐢熸垚鍖呰矾寰�', module_name varchar(30) comment '鐢熸垚妯″潡鍚�', business_name varchar(30) comment '鐢熸垚涓氬姟鍚�', diff --git a/src/main/java/com/ruoyi/project/tool/gen/domain/GenTable.java b/src/main/java/com/ruoyi/project/tool/gen/domain/GenTable.java index 4bbe7e5..ff43340 100644 --- a/src/main/java/com/ruoyi/project/tool/gen/domain/GenTable.java +++ b/src/main/java/com/ruoyi/project/tool/gen/domain/GenTable.java @@ -41,6 +41,9 @@ /** 浣跨敤鐨勬ā鏉匡紙crud鍗曡〃鎿嶄綔 tree鏍戣〃鎿嶄綔 sub涓诲瓙琛ㄦ搷浣滐級 */ private String tplCategory; + /** 鍓嶇绫诲瀷锛坋lement-ui妯$増 element-plus妯$増锛� */ + private String tplWebType; + /** 鐢熸垚鍖呰矾寰� */ @NotBlank(message = "鐢熸垚鍖呰矾寰勪笉鑳戒负绌�") private String packageName; @@ -165,6 +168,16 @@ this.tplCategory = tplCategory; } + public String getTplWebType() + { + return tplWebType; + } + + public void setTplWebType(String tplWebType) + { + this.tplWebType = tplWebType; + } + public String getPackageName() { return packageName; diff --git a/src/main/java/com/ruoyi/project/tool/gen/service/GenTableServiceImpl.java b/src/main/java/com/ruoyi/project/tool/gen/service/GenTableServiceImpl.java index 4e8d500..b7568b3 100644 --- a/src/main/java/com/ruoyi/project/tool/gen/service/GenTableServiceImpl.java +++ b/src/main/java/com/ruoyi/project/tool/gen/service/GenTableServiceImpl.java @@ -206,7 +206,7 @@ VelocityContext context = VelocityUtils.prepareContext(table); // 鑾峰彇妯℃澘鍒楄〃 - List<String> templates = VelocityUtils.getTemplateList(table.getTplCategory()); + List<String> templates = VelocityUtils.getTemplateList(table.getTplCategory(), table.getTplWebType()); for (String template : templates) { // 娓叉煋妯℃澘 @@ -254,7 +254,7 @@ VelocityContext context = VelocityUtils.prepareContext(table); // 鑾峰彇妯℃澘鍒楄〃 - List<String> templates = VelocityUtils.getTemplateList(table.getTplCategory()); + List<String> templates = VelocityUtils.getTemplateList(table.getTplCategory(), table.getTplWebType()); for (String template : templates) { if (!StringUtils.containsAny(template, "sql.vm", "api.js.vm", "index.vue.vm", "index-tree.vue.vm")) @@ -367,7 +367,7 @@ VelocityContext context = VelocityUtils.prepareContext(table); // 鑾峰彇妯℃澘鍒楄〃 - List<String> templates = VelocityUtils.getTemplateList(table.getTplCategory()); + List<String> templates = VelocityUtils.getTemplateList(table.getTplCategory(), table.getTplWebType()); for (String template : templates) { // 娓叉煋妯℃澘 diff --git a/src/main/java/com/ruoyi/project/tool/gen/util/VelocityUtils.java b/src/main/java/com/ruoyi/project/tool/gen/util/VelocityUtils.java index 6c792ea..ba1b06d 100644 --- a/src/main/java/com/ruoyi/project/tool/gen/util/VelocityUtils.java +++ b/src/main/java/com/ruoyi/project/tool/gen/util/VelocityUtils.java @@ -123,11 +123,17 @@ /** * 鑾峰彇妯℃澘淇℃伅 - * + * @param tplCategory 鐢熸垚鐨勬ā鏉� + * @param tplWebType 鍓嶇绫诲瀷 * @return 妯℃澘鍒楄〃 */ - public static List<String> getTemplateList(String tplCategory) + public static List<String> getTemplateList(String tplCategory, String tplWebType) { + String useWebType = "vm/vue"; + if ("element-plus".equals(tplWebType)) + { + useWebType = "vm/vue/v3"; + } List<String> templates = new ArrayList<String>(); templates.add("vm/java/domain.java.vm"); templates.add("vm/java/mapper.java.vm"); @@ -139,15 +145,15 @@ templates.add("vm/js/api.js.vm"); if (GenConstants.TPL_CRUD.equals(tplCategory)) { - templates.add("vm/vue/index.vue.vm"); + templates.add(useWebType + "/index.vue.vm"); } else if (GenConstants.TPL_TREE.equals(tplCategory)) { - templates.add("vm/vue/index-tree.vue.vm"); + templates.add(useWebType + "/index-tree.vue.vm"); } else if (GenConstants.TPL_SUB.equals(tplCategory)) { - templates.add("vm/vue/index.vue.vm"); + templates.add(useWebType + "/index.vue.vm"); templates.add("vm/java/sub-domain.java.vm"); } return templates; diff --git a/src/main/resources/mybatis/tool/GenTableMapper.xml b/src/main/resources/mybatis/tool/GenTableMapper.xml index 51e48a1..de8a3b4 100644 --- a/src/main/resources/mybatis/tool/GenTableMapper.xml +++ b/src/main/resources/mybatis/tool/GenTableMapper.xml @@ -12,6 +12,7 @@ <result property="subTableFkName" column="sub_table_fk_name" /> <result property="className" column="class_name" /> <result property="tplCategory" column="tpl_category" /> + <result property="tplWebType" column="tpl_web_type" /> <result property="packageName" column="package_name" /> <result property="moduleName" column="module_name" /> <result property="businessName" column="business_name" /> @@ -54,7 +55,7 @@ </resultMap> <sql id="selectGenTableVo"> - select table_id, table_name, table_comment, sub_table_name, sub_table_fk_name, class_name, tpl_category, package_name, module_name, business_name, function_name, function_author, gen_type, gen_path, options, create_by, create_time, update_by, update_time, remark from gen_table + select table_id, table_name, table_comment, sub_table_name, sub_table_fk_name, class_name, tpl_category, tpl_web_type, package_name, module_name, business_name, function_name, function_author, gen_type, gen_path, options, create_by, create_time, update_by, update_time, remark from gen_table </sql> <select id="selectGenTableList" parameterType="GenTable" resultMap="GenTableResult"> @@ -111,7 +112,7 @@ </select> <select id="selectGenTableById" parameterType="Long" resultMap="GenTableResult"> - SELECT t.table_id, t.table_name, t.table_comment, t.sub_table_name, t.sub_table_fk_name, t.class_name, t.tpl_category, t.package_name, t.module_name, t.business_name, t.function_name, t.function_author, t.gen_type, t.gen_path, t.options, t.remark, + SELECT t.table_id, t.table_name, t.table_comment, t.sub_table_name, t.sub_table_fk_name, t.class_name, t.tpl_category, t.tpl_web_type, t.package_name, t.module_name, t.business_name, t.function_name, t.function_author, t.gen_type, t.gen_path, t.options, t.remark, c.column_id, c.column_name, c.column_comment, c.column_type, c.java_type, c.java_field, c.is_pk, c.is_increment, c.is_required, c.is_insert, c.is_edit, c.is_list, c.is_query, c.query_type, c.html_type, c.dict_type, c.sort FROM gen_table t LEFT JOIN gen_table_column c ON t.table_id = c.table_id @@ -119,7 +120,7 @@ </select> <select id="selectGenTableByName" parameterType="String" resultMap="GenTableResult"> - SELECT t.table_id, t.table_name, t.table_comment, t.sub_table_name, t.sub_table_fk_name, t.class_name, t.tpl_category, t.package_name, t.module_name, t.business_name, t.function_name, t.function_author, t.gen_type, t.gen_path, t.options, t.remark, + SELECT t.table_id, t.table_name, t.table_comment, t.sub_table_name, t.sub_table_fk_name, t.class_name, t.tpl_category, t.tpl_web_type, t.package_name, t.module_name, t.business_name, t.function_name, t.function_author, t.gen_type, t.gen_path, t.options, t.remark, c.column_id, c.column_name, c.column_comment, c.column_type, c.java_type, c.java_field, c.is_pk, c.is_increment, c.is_required, c.is_insert, c.is_edit, c.is_list, c.is_query, c.query_type, c.html_type, c.dict_type, c.sort FROM gen_table t LEFT JOIN gen_table_column c ON t.table_id = c.table_id @@ -127,7 +128,7 @@ </select> <select id="selectGenTableAll" parameterType="String" resultMap="GenTableResult"> - SELECT t.table_id, t.table_name, t.table_comment, t.sub_table_name, t.sub_table_fk_name, t.class_name, t.tpl_category, t.package_name, t.module_name, t.business_name, t.function_name, t.function_author, t.options, t.remark, + SELECT t.table_id, t.table_name, t.table_comment, t.sub_table_name, t.sub_table_fk_name, t.class_name, t.tpl_category, t.tpl_web_type, t.package_name, t.module_name, t.business_name, t.function_name, t.function_author, t.options, t.remark, c.column_id, c.column_name, c.column_comment, c.column_type, c.java_type, c.java_field, c.is_pk, c.is_increment, c.is_required, c.is_insert, c.is_edit, c.is_list, c.is_query, c.query_type, c.html_type, c.dict_type, c.sort FROM gen_table t LEFT JOIN gen_table_column c ON t.table_id = c.table_id @@ -140,6 +141,7 @@ <if test="tableComment != null and tableComment != ''">table_comment,</if> <if test="className != null and className != ''">class_name,</if> <if test="tplCategory != null and tplCategory != ''">tpl_category,</if> + <if test="tplWebType != null and tplWebType != ''">tpl_web_type,</if> <if test="packageName != null and packageName != ''">package_name,</if> <if test="moduleName != null and moduleName != ''">module_name,</if> <if test="businessName != null and businessName != ''">business_name,</if> @@ -155,6 +157,7 @@ <if test="tableComment != null and tableComment != ''">#{tableComment},</if> <if test="className != null and className != ''">#{className},</if> <if test="tplCategory != null and tplCategory != ''">#{tplCategory},</if> + <if test="tplWebType != null and tplWebType != ''">#{tplWebType},</if> <if test="packageName != null and packageName != ''">#{packageName},</if> <if test="moduleName != null and moduleName != ''">#{moduleName},</if> <if test="businessName != null and businessName != ''">#{businessName},</if> @@ -180,6 +183,7 @@ <if test="genType != null and genType != ''">gen_type = #{genType},</if> <if test="genPath != null and genPath != ''">gen_path = #{genPath},</if> <if test="tplCategory != null and tplCategory != ''">tpl_category = #{tplCategory},</if> + <if test="tplWebType != null and tplWebType != ''">tpl_web_type = #{tplWebType},</if> <if test="packageName != null and packageName != ''">package_name = #{packageName},</if> <if test="moduleName != null and moduleName != ''">module_name = #{moduleName},</if> <if test="businessName != null and businessName != ''">business_name = #{businessName},</if> diff --git a/src/main/resources/vm/vue/v3/readme.txt b/src/main/resources/vm/vue/v3/readme.txt deleted file mode 100644 index 99239bb..0000000 --- a/src/main/resources/vm/vue/v3/readme.txt +++ /dev/null @@ -1 +0,0 @@ -如果使用的是RuoYi-Vue3前端,那么需要覆盖一下此目录的模板index.vue.vm、index-tree.vue.vm文件到上级vue目录。 \ No newline at end of file -- Gitblit v1.9.3