代码生成支持选择前端模板类型
This commit is contained in:
		
							parent
							
								
									966a17123f
								
							
						
					
					
						commit
						78b1ac4a60
					
				| @ -41,6 +41,9 @@ public class GenTable extends BaseEntity | ||||
|     /** 使用的模板(crud单表操作 tree树表操作 sub主子表操作) */ | ||||
|     private String tplCategory; | ||||
| 
 | ||||
|     /** 前端类型(element-ui模版 element-plus模版) */ | ||||
|     private String tplWebType; | ||||
| 
 | ||||
|     /** 生成包路径 */ | ||||
|     @NotBlank(message = "生成包路径不能为空") | ||||
|     private String packageName; | ||||
| @ -165,6 +168,16 @@ public class GenTable extends BaseEntity | ||||
|         this.tplCategory = tplCategory; | ||||
|     } | ||||
| 
 | ||||
|     public String getTplWebType() | ||||
|     { | ||||
|         return tplWebType; | ||||
|     } | ||||
| 
 | ||||
|     public void setTplWebType(String tplWebType) | ||||
|     { | ||||
|         this.tplWebType = tplWebType; | ||||
|     } | ||||
| 
 | ||||
|     public String getPackageName() | ||||
|     { | ||||
|         return packageName; | ||||
|  | ||||
| @ -206,7 +206,7 @@ public class GenTableServiceImpl implements IGenTableService | ||||
|         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 @@ public class GenTableServiceImpl implements IGenTableService | ||||
|         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 @@ public class GenTableServiceImpl implements IGenTableService | ||||
|         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) | ||||
|         { | ||||
|             // 渲染模板 | ||||
|  | ||||
| @ -123,11 +123,17 @@ public class VelocityUtils | ||||
| 
 | ||||
|     /** | ||||
|      * 获取模板信息 | ||||
|      * | ||||
|      * @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 @@ public class VelocityUtils | ||||
|         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; | ||||
|  | ||||
| @ -12,6 +12,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" | ||||
| 		<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 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" | ||||
|     </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 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" | ||||
| 	</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 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" | ||||
| 	</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 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" | ||||
| 	</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 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" | ||||
| 			<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 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" | ||||
| 			<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 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" | ||||
|             <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> | ||||
|  | ||||
| @ -11,6 +11,15 @@ | ||||
|           </el-select> | ||||
|         </el-form-item> | ||||
|       </el-col> | ||||
|       <el-col :span="12"> | ||||
|         <el-form-item prop="tplWebType"> | ||||
|           <span slot="label">前端类型</span> | ||||
|           <el-select v-model="info.tplWebType"> | ||||
|             <el-option label="Vue2 Element UI 模版" value="element-ui" /> | ||||
|             <el-option label="Vue3 Element Plus 模版" value="element-plus" /> | ||||
|           </el-select> | ||||
|         </el-form-item> | ||||
|       </el-col> | ||||
|       <el-col :span="12"> | ||||
|         <el-form-item prop="packageName"> | ||||
|           <span slot="label"> | ||||
| @ -59,6 +68,19 @@ | ||||
|         </el-form-item> | ||||
|       </el-col> | ||||
| 
 | ||||
|       <el-col :span="12"> | ||||
|         <el-form-item prop="genType"> | ||||
|           <span slot="label"> | ||||
|             生成代码方式 | ||||
|             <el-tooltip content="默认为zip压缩包下载,也可以自定义生成路径" placement="top"> | ||||
|               <i class="el-icon-question"></i> | ||||
|             </el-tooltip> | ||||
|           </span> | ||||
|           <el-radio v-model="info.genType" label="0">zip压缩包</el-radio> | ||||
|           <el-radio v-model="info.genType" label="1">自定义路径</el-radio> | ||||
|         </el-form-item> | ||||
|       </el-col> | ||||
| 
 | ||||
|       <el-col :span="12"> | ||||
|         <el-form-item> | ||||
|           <span slot="label"> | ||||
| @ -78,19 +100,6 @@ | ||||
|         </el-form-item> | ||||
|       </el-col> | ||||
| 
 | ||||
|       <el-col :span="12"> | ||||
|         <el-form-item prop="genType"> | ||||
|           <span slot="label"> | ||||
|             生成代码方式 | ||||
|             <el-tooltip content="默认为zip压缩包下载,也可以自定义生成路径" placement="top"> | ||||
|               <i class="el-icon-question"></i> | ||||
|             </el-tooltip> | ||||
|           </span> | ||||
|           <el-radio v-model="info.genType" label="0">zip压缩包</el-radio> | ||||
|           <el-radio v-model="info.genType" label="1">自定义路径</el-radio> | ||||
|         </el-form-item> | ||||
|       </el-col> | ||||
| 
 | ||||
|       <el-col :span="24" v-if="info.genType == '1'"> | ||||
|         <el-form-item prop="genPath"> | ||||
|           <span slot="label"> | ||||
| @ -255,10 +264,14 @@ export default { | ||||
|       } | ||||
|     }; | ||||
|   }, | ||||
|   created() {}, | ||||
|   watch: { | ||||
|     'info.subTableName': function(val) { | ||||
|       this.setSubTableColumns(val); | ||||
|     }, | ||||
|     'info.tplWebType': function(val) { | ||||
|       if (val === '') { | ||||
|         this.info.tplWebType = "element-ui"; | ||||
|       } | ||||
|     } | ||||
|   }, | ||||
|   methods: { | ||||
|  | ||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user