feat(generate): 优化代码生成逻辑
- 新增公共字段配置,统一处理常见字段的生成规则 - 修复模板中的一些错误,如变量名、函数名等 - 优化代码结构,提高可读性和可维护性
This commit is contained in:
@@ -85,9 +85,73 @@ async def add_generate_info(request: Request, params: AddGenerateInfoParams):
|
||||
# 转换为小写键名
|
||||
formatted_result = [{k.lower(): v for k, v in row.items()} for row in result]
|
||||
formatted_result.sort(key=lambda x: x['ordinal_position'])
|
||||
common_column = ["id", "del_flag", "create_by", "update_by", "create_time", "update_time"]
|
||||
common_set = {
|
||||
"id": {
|
||||
"is_insert": False,
|
||||
"is_edit": False,
|
||||
"is_list": True,
|
||||
"is_query": False,
|
||||
"is_required": False,
|
||||
"is_hide": True,
|
||||
},
|
||||
"del_flag": {
|
||||
"is_insert": False,
|
||||
"is_edit": False,
|
||||
"is_list": False,
|
||||
"is_query": False,
|
||||
"is_required": False,
|
||||
"is_hide": True,
|
||||
},
|
||||
"create_by": {
|
||||
"is_insert": False,
|
||||
"is_edit": False,
|
||||
"is_list": False,
|
||||
"is_query": False,
|
||||
"is_required": False,
|
||||
"is_hide": True,
|
||||
},
|
||||
"update_by": {
|
||||
"is_insert": False,
|
||||
"is_edit": False,
|
||||
"is_list": False,
|
||||
"is_query": False,
|
||||
"is_required": False,
|
||||
"is_hide": True,
|
||||
},
|
||||
"create_time": {
|
||||
"is_insert": False,
|
||||
"is_edit": False,
|
||||
"is_list": True,
|
||||
"is_query": False,
|
||||
"is_required": False,
|
||||
"is_hide": False,
|
||||
},
|
||||
"update_time": {
|
||||
"is_insert": False,
|
||||
"is_edit": False,
|
||||
"is_list": True,
|
||||
"is_query": False,
|
||||
"is_required": False,
|
||||
"is_hide": False,
|
||||
}
|
||||
}
|
||||
for column in formatted_result:
|
||||
if await GenerateColumn.get_or_none(table_id=gen.id, column_name=column["column_name"], del_flag=1):
|
||||
continue
|
||||
is_insert = True
|
||||
is_edit = True
|
||||
is_list = True
|
||||
is_query = True
|
||||
is_required = True
|
||||
is_hide = False
|
||||
if column["column_name"] in common_column:
|
||||
is_insert = common_set[column["column_name"]]["is_insert"]
|
||||
is_edit = common_set[column["column_name"]]["is_edit"]
|
||||
is_list = common_set[column["column_name"]]["is_list"]
|
||||
is_query = common_set[column["column_name"]]["is_query"]
|
||||
is_required = common_set[column["column_name"]]["is_required"]
|
||||
is_hide = common_set[column["column_name"]]["is_hide"]
|
||||
await GenerateColumn.create(
|
||||
table=gen,
|
||||
index=column["ordinal_position"],
|
||||
@@ -97,14 +161,14 @@ async def add_generate_info(request: Request, params: AddGenerateInfoParams):
|
||||
python_type=MYSQL_TO_PYTHON_TYPE.get(column["column_type"]) if MYSQL_TO_PYTHON_TYPE.get(
|
||||
column["column_type"]) else MYSQL_TO_PYTHON_TYPE.get(column["data_type"], "str"),
|
||||
python_name=column["column_name"].lower(),
|
||||
is_insert=True,
|
||||
is_edit=True,
|
||||
is_list=True,
|
||||
is_query=True,
|
||||
is_required=False,
|
||||
is_insert=is_insert,
|
||||
is_edit=is_edit,
|
||||
is_list=is_list,
|
||||
is_query=is_query,
|
||||
is_required=is_required,
|
||||
query_way="__icontains",
|
||||
show_type="input",
|
||||
is_hide=False,
|
||||
is_hide=is_hide,
|
||||
)
|
||||
return Response.success(msg="添加成功!")
|
||||
return Response.error(msg="添加失败!")
|
||||
|
||||
Reference in New Issue
Block a user