From e2bf2725801e224f6868f32b3449219e3734a03a Mon Sep 17 00:00:00 2001 From: zhanglei Date: Fri, 3 Apr 2026 13:24:12 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=9B=BE=E6=A0=87=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main.py | 33 +++++++++++++++++---------------- 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/main.py b/main.py index 4cba234..3fc129f 100644 --- a/main.py +++ b/main.py @@ -1,17 +1,18 @@ import logging import os from datetime import datetime -from jinja2 import Environment, FileSystemLoader,TemplateNotFound +from jinja2 import Environment, FileSystemLoader, TemplateNotFound # from config import * from db import get_table, get_columns from utils import * import argparse import yaml import re -from vue import generate_vue # ✅ 核心:引入前端模块 +from vue import generate_vue # ✅ 核心:引入前端模块 env = Environment(loader=FileSystemLoader("templates/java")) + def build_fields(table_name): columns = get_columns(table_name) fields = [] @@ -26,6 +27,7 @@ def build_fields(table_name): }) return fields + def render(template_name, out_path, context, java_version, overwrite=False): """ :param template_name: 模板文件名 @@ -40,7 +42,7 @@ def render(template_name, out_path, context, java_version, overwrite=False): return if java_version != "": - template_name = java_version+"."+template_name + template_name = java_version + "." + template_name real_template = template_name @@ -79,14 +81,14 @@ def render(template_name, out_path, context, java_version, overwrite=False): logging.info("Generated file: %s (template: %s)", out_path, real_template) -def generate(table_names: list[str], model_names: list[str], conf_name: str, over_write: bool, java_version: str, vue: str): - +def generate(table_names: list[str], model_names: list[str], conf_name: str, over_write: bool, java_version: str, + vue: str): with open(conf_name, "r", encoding="utf-8") as f: cfg = yaml.safe_load(f) cfg = resolve_config(cfg) - if(vue!=""): + if (vue != ""): generate_vue(vue, cfg) - else : + else: context = { "mainModule": cfg["mainModule"], "moduleName": cfg["moduleName"], @@ -111,7 +113,6 @@ def generate(table_names: list[str], model_names: list[str], conf_name: str, ove MAIN_BASE_PACKAGE_DIR = f"{cfg['outputDir']}/java/{to_path(BASE_PACKAGE)}" MAIN_OUTPUT_DIR = f"{MAIN_BASE_PACKAGE_DIR}/{cfg['package']['Models']}" - # ========= 按表循环 ========= for table_name in table_names: table = get_table(table_name) @@ -211,8 +212,8 @@ def generate(table_names: list[str], model_names: list[str], conf_name: str, ove java_version ) - #Util 公共功能 - for file in ["Md5HashUtil.java.j2","FilesUtil.java.j2"]: + # Util 公共功能 + for file in ["Md5HashUtil.java.j2", "FilesUtil.java.j2"]: render( file, f"{BASE_DIR}{MAIN_OUTPUT_DIR}/common/unit/{file.replace('.j2', '')}", @@ -252,7 +253,7 @@ def generate(table_names: list[str], model_names: list[str], conf_name: str, ove java_version ) - #项目的yml配置文件 resources 生成环境配置为了最低限度能将项目跑起来 + # 项目的yml配置文件 resources 生成环境配置为了最低限度能将项目跑起来 render( "application.yml.j2", f"{MAIN_MODULE}/{MODULE_NAME}/src/main/resources/application.yml", @@ -260,7 +261,7 @@ def generate(table_names: list[str], model_names: list[str], conf_name: str, ove java_version ) - #项目开发环境的yml配置文件 resources yml 只生成dev环境配置为了最低限度能将项目跑起来 + # 项目开发环境的yml配置文件 resources yml 只生成dev环境配置为了最低限度能将项目跑起来 render( "application-dev.yml.j2", f"{MAIN_MODULE}/{MODULE_NAME}/src/main/resources/application-dev.yml", @@ -268,7 +269,7 @@ def generate(table_names: list[str], model_names: list[str], conf_name: str, ove java_version ) - #项目开发环境的yml配置文件 resources yml 只生成dev环境配置为了最低限度能将项目跑起来 + # 项目开发环境的yml配置文件 resources yml 只生成dev环境配置为了最低限度能将项目跑起来 render( "logback.xml.j2", f"{MAIN_MODULE}/{MODULE_NAME}/src/main/resources/logback.xml", @@ -302,7 +303,7 @@ def generate(table_names: list[str], model_names: list[str], conf_name: str, ove java_version ) case "minio": - #MinioConfig + # MinioConfig render( "MinioConfig.java.j2", f"{BASE_DIR}{MAIN_OUTPUT_DIR}/common/config/MinioConfig.java", @@ -340,7 +341,7 @@ def generate(table_names: list[str], model_names: list[str], conf_name: str, ove # 如果生成vue,则一定要有table_names if table_names is None or len(table_names) == 0: print("生成vue相关公共,需要生成相对应的表") - else : + else: render( "CommonController.java.j2", f"{BASE_DIR}{MAIN_OUTPUT_DIR}/controller/CommonController.java", @@ -374,4 +375,4 @@ if __name__ == "__main__": java_version=version, over_write=rew, vue=args.vue - ) \ No newline at end of file + )