feat: 添加代码生成功能

This commit is contained in:
2025-03-04 00:54:33 +08:00
parent c790233aee
commit bd13f1cfdc
16 changed files with 1758 additions and 1 deletions

136
schemas/generate.py Normal file
View File

@@ -0,0 +1,136 @@
# _*_ coding : UTF-8 _*_
# @Time : 2025/02/28 18:00
# @UpdateTime : 2025/02/28 18:00
# @Author : sonder
# @File : generate.py
# @Software : PyCharm
# @Comment : 本程序
from typing import List
from pydantic import BaseModel, Field, ConfigDict
from pydantic.alias_generators import to_camel, to_snake
from schemas.common import BaseResponse, ListQueryResult
class TableInfo(BaseModel):
"""
数据表信息模型
"""
model_config = ConfigDict(alias_generator=to_snake)
id: str = Field(default="", description="主键")
table_name: str = Field(default="", description="表名称")
table_comment: str = Field(default="", description="表注释")
table_rows: int = Field(default=0, description="表行数")
data_length: str = Field(default="", description="表大小")
index_length: str = Field(default="", description="索引大小")
create_time: str = Field(default="", description="创建时间")
update_time: str = Field(default="", description="更新时间")
class GenerateTableInfo(BaseModel):
"""
生成表信息模型
"""
model_config = ConfigDict(alias_generator=to_snake)
id: str = Field(default="", description="主键")
table_name: str = Field(default="", description="表名称")
table_comment: str = Field(default="", description="表注释")
author: str = Field(default="", description="作者")
prefix: str = Field(default="", description="api前缀")
class_name: str = Field(default="", description="类名")
remark: str = Field(default="", description="备注")
description: str = Field(default="", description="描述")
permission_id: str = Field(default="", description="权限ID")
create_time: str = Field(default="", description="创建时间")
update_time: str = Field(default="", description="更新时间")
class GetTableListResult(ListQueryResult):
"""
获取数据表结果
"""
result: List[TableInfo] = Field(default=None, description="响应数据")
class GetTablesListResponse(BaseResponse):
"""
获取数据库表结果
"""
data: TableInfo = Field(default=None, description="响应数据")
class AddGenerateInfoParams(BaseModel):
"""
添加生成信息参数
"""
table_name: str = Field(default="", description="表名称")
table_comment: str = Field(default="", description="表注释")
author: str = Field(default="", description="作者")
prefix: str = Field(default="", description="api前缀")
class_name: str = Field(default="", description="类名")
remark: str = Field(default="", description="备注")
permission_id: str = Field(default="", description="权限ID")
description: str = Field(default="", description="备注")
class GenerateColumnInfo(BaseModel):
"""
生成列信息
"""
model_config = ConfigDict(alias_generator=to_snake)
id: str = Field(default="", description="主键")
table_id: str = Field(default="", description="表ID")
table_name: str = Field(default="", description="表名称")
table_comment: str = Field(default="", description="表注释")
column_name: str = Field(default="", description="字段名称")
column_comment: str = Field(default="", description="字段注释")
column_type: str = Field(default="", description="字段类型")
python_type: str = Field(default="", description="python类型")
python_name: str = Field(default="", description="python名称")
is_insert: bool = Field(default=True, description="是否插入")
is_edit: bool = Field(default=True, description="是否编辑")
is_list: bool = Field(default=True, description="是否列表")
is_query: bool = Field(default=True, description="是否查询")
query_way: str = Field(default="", description="查询方式")
show_type: str = Field(default="", description="显示类型")
is_required: bool = Field(default=False, description="是否必填")
is_hide: bool = Field(default=False, description="是否隐藏")
index: int = Field(default=0, description="索引")
create_time: str = Field(default="", description="创建时间")
update_time: str = Field(default="", description="更新时间")
class UpdateGenerateInfoParams(BaseModel):
"""
更新生成信息参数
"""
columns: List[GenerateColumnInfo] = Field(default=None, description="生成列信息")
class GetGenerateInfoResult(GenerateTableInfo):
"""
获取生成信息结果
"""
columns: List[GenerateColumnInfo] = Field(default=None, description="生成列信息")
class GetGenerateInfoListResult(ListQueryResult):
"""
获取生成信息结果
"""
result: List[GetGenerateInfoResult] = Field(default=[], description="响应数据")
class GetGenerateInfoResponse(BaseResponse):
"""
获取生成信息结果
"""
data: GetGenerateInfoResult = Field(default=None, description="响应数据")
class GetGenerateInfoListResponse(BaseResponse):
"""
获取生成信息结果
"""
data: GetGenerateInfoListResult = Field(default=[], description="响应数据")