feat: 重构代码生成模块并优化相关功能

- 重构代码生成模板,统一路由前缀和业务路径规范
- 优化数据库表分页查询性能,支持方言特定实现
- 新增同步数据库差异预览功能
- 调整字段配置界面,支持拖拽排序和批量设置
- 清理旧版示例代码和冗余配置
- 修复权限和路由嵌套路径处理问题
- 优化前端样式和交互细节
This commit is contained in:
zhangtao
2026-04-03 00:43:50 +08:00
parent 8a3360ef35
commit b552b29ac5
40 changed files with 3287 additions and 1811 deletions
@@ -14,11 +14,9 @@ from app.core.base_schema import BatchSetAvailable
from .service import {{ class_name }}Service
from .schema import {{ class_name }}CreateSchema, {{ class_name }}UpdateSchema, {{ class_name }}QueryParam
{% if is_example_style %}
{{ class_name }}Router = APIRouter(prefix='/{{ module_name }}{% if business_name %}/{{ business_name }}{% endif %}', tags=["{{ function_name }}模块"])
{% else %}
{{ class_name }}Router = APIRouter(prefix='/{{ business_name }}', tags=["{{ function_name }}模块"])
{% endif %}
# 动态路由容器前缀由 module_xxx 决定(discover: module_xxx -> /xxx)
# 对齐 module_example/demo:业务路由前缀固定为 /{module_name}
{{ class_name }}Router = APIRouter(prefix='/{{ module_name }}', tags=["{{ function_name }}模块"])
@{{ class_name }}Router.get(
"/detail/{id}",
@@ -49,12 +49,12 @@ class {{ class_name }}QueryParam:
def __init__(
self,
{% for column in columns %}
{% if column.query_type == 'LIKE' %}
{% if column.is_query and column.query_type == 'LIKE' %}
{{ column.column_name }}: str | None = Query(None, description="{{ column.column_comment }}"),
{% endif %}
{% endfor %}
{% for column in columns %}
{% if column.query_type == 'EQ' and column.column_name not in ['created_time', 'updated_time'] %}
{% if column.is_query and column.query_type == 'EQ' and column.column_name not in ['created_time', 'updated_time'] %}
{{ column.column_name }}: {{ column.python_type }} | None = Query(None, description="{{ column.column_comment }}"),
{% endif %}
{% endfor %}
@@ -66,12 +66,12 @@ class {{ class_name }}QueryParam:
{% endif %}
) -> None:
{% for column in columns %}
{% if column.query_type == 'LIKE' %}
{% if column.is_query and column.query_type == 'LIKE' %}
# 模糊查询字段
self.{{ column.column_name }} = (QueueEnum.like.value, {{ column.column_name }})
{% elif column.query_type == 'EQ' and column.column_name not in ['created_time', 'updated_time'] %}
{% elif column.is_query and column.query_type == 'EQ' and column.column_name not in ['created_time', 'updated_time'] %}
# 精确查询字段
if {{ column.column_name }}:
if {{ column.column_name }} is not None:
self.{{ column.column_name }} = (QueueEnum.eq.value, {{ column.column_name }})
{% endif %}
{% endfor %}