Browse Source

增加图标修改

master
zhanglei 1 month ago
parent
commit
e2bf272580
  1. 31
      main.py

31
main.py

@ -1,17 +1,18 @@
import logging import logging
import os import os
from datetime import datetime from datetime import datetime
from jinja2 import Environment, FileSystemLoader,TemplateNotFound from jinja2 import Environment, FileSystemLoader, TemplateNotFound
# from config import * # from config import *
from db import get_table, get_columns from db import get_table, get_columns
from utils import * from utils import *
import argparse import argparse
import yaml import yaml
import re import re
from vue import generate_vue # ✅ 核心:引入前端模块 from vue import generate_vue # ✅ 核心:引入前端模块
env = Environment(loader=FileSystemLoader("templates/java")) env = Environment(loader=FileSystemLoader("templates/java"))
def build_fields(table_name): def build_fields(table_name):
columns = get_columns(table_name) columns = get_columns(table_name)
fields = [] fields = []
@ -26,6 +27,7 @@ def build_fields(table_name):
}) })
return fields return fields
def render(template_name, out_path, context, java_version, overwrite=False): def render(template_name, out_path, context, java_version, overwrite=False):
""" """
:param template_name: 模板文件名 :param template_name: 模板文件名
@ -40,7 +42,7 @@ def render(template_name, out_path, context, java_version, overwrite=False):
return return
if java_version != "": if java_version != "":
template_name = java_version+"."+template_name template_name = java_version + "." + template_name
real_template = 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) 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: with open(conf_name, "r", encoding="utf-8") as f:
cfg = yaml.safe_load(f) cfg = yaml.safe_load(f)
cfg = resolve_config(cfg) cfg = resolve_config(cfg)
if(vue!=""): if (vue != ""):
generate_vue(vue, cfg) generate_vue(vue, cfg)
else : else:
context = { context = {
"mainModule": cfg["mainModule"], "mainModule": cfg["mainModule"],
"moduleName": cfg["moduleName"], "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_BASE_PACKAGE_DIR = f"{cfg['outputDir']}/java/{to_path(BASE_PACKAGE)}"
MAIN_OUTPUT_DIR = f"{MAIN_BASE_PACKAGE_DIR}/{cfg['package']['Models']}" MAIN_OUTPUT_DIR = f"{MAIN_BASE_PACKAGE_DIR}/{cfg['package']['Models']}"
# ========= 按表循环 ========= # ========= 按表循环 =========
for table_name in table_names: for table_name in table_names:
table = get_table(table_name) 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 java_version
) )
#Util 公共功能 # Util 公共功能
for file in ["Md5HashUtil.java.j2","FilesUtil.java.j2"]: for file in ["Md5HashUtil.java.j2", "FilesUtil.java.j2"]:
render( render(
file, file,
f"{BASE_DIR}{MAIN_OUTPUT_DIR}/common/unit/{file.replace('.j2', '')}", 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 java_version
) )
#项目的yml配置文件 resources 生成环境配置为了最低限度能将项目跑起来 # 项目的yml配置文件 resources 生成环境配置为了最低限度能将项目跑起来
render( render(
"application.yml.j2", "application.yml.j2",
f"{MAIN_MODULE}/{MODULE_NAME}/src/main/resources/application.yml", 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 java_version
) )
#项目开发环境的yml配置文件 resources yml 只生成dev环境配置为了最低限度能将项目跑起来 # 项目开发环境的yml配置文件 resources yml 只生成dev环境配置为了最低限度能将项目跑起来
render( render(
"application-dev.yml.j2", "application-dev.yml.j2",
f"{MAIN_MODULE}/{MODULE_NAME}/src/main/resources/application-dev.yml", 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 java_version
) )
#项目开发环境的yml配置文件 resources yml 只生成dev环境配置为了最低限度能将项目跑起来 # 项目开发环境的yml配置文件 resources yml 只生成dev环境配置为了最低限度能将项目跑起来
render( render(
"logback.xml.j2", "logback.xml.j2",
f"{MAIN_MODULE}/{MODULE_NAME}/src/main/resources/logback.xml", 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 java_version
) )
case "minio": case "minio":
#MinioConfig # MinioConfig
render( render(
"MinioConfig.java.j2", "MinioConfig.java.j2",
f"{BASE_DIR}{MAIN_OUTPUT_DIR}/common/config/MinioConfig.java", 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 # 如果生成vue,则一定要有table_names
if table_names is None or len(table_names) == 0: if table_names is None or len(table_names) == 0:
print("生成vue相关公共,需要生成相对应的表") print("生成vue相关公共,需要生成相对应的表")
else : else:
render( render(
"CommonController.java.j2", "CommonController.java.j2",
f"{BASE_DIR}{MAIN_OUTPUT_DIR}/controller/CommonController.java", f"{BASE_DIR}{MAIN_OUTPUT_DIR}/controller/CommonController.java",

Loading…
Cancel
Save