diff --git a/ruoyi-fastapi-backend/module_generator/templates/python/controller.py.jinja2 b/ruoyi-fastapi-backend/module_generator/templates/python/controller.py.jinja2 index f574cf2..56c2dd7 100644 --- a/ruoyi-fastapi-backend/module_generator/templates/python/controller.py.jinja2 +++ b/ruoyi-fastapi-backend/module_generator/templates/python/controller.py.jinja2 @@ -22,12 +22,12 @@ from common.aspect.db_seesion import DBSessionDependency from common.aspect.interface_auth import UserInterfaceAuthDependency from common.aspect.pre_auth import CurrentUserDependency, PreAuthDependency from common.enums import BusinessType +from common.vo import DataResponseModel, PageResponseModel, ResponseBaseModel from module_admin.entity.vo.user_vo import CurrentUserModel from {{ packageName }}.service.{{ businessName }}_service import {{ BusinessName }}Service from {{ packageName }}.entity.vo.{{ businessName }}_vo import Delete{{ BusinessName }}Model, {{ BusinessName }}Model, {{ BusinessName }}PageQueryModel from utils.common_util import bytes2file_response from utils.log_util import logger -from utils.page_util import PageResponseModel from utils.response_util import ResponseUtil @@ -36,7 +36,7 @@ from utils.response_util import ResponseUtil @{{ businessName }}_controller.get( '/list', - response_model=PageResponseModel, + response_model=PageResponseModel[{{ BusinessName }}Model], dependencies=[UserInterfaceAuthDependency('{{ permissionPrefix }}:list')], ) async def get_{{ moduleName }}_{{ businessName }}_list( @@ -60,7 +60,9 @@ async def get_{{ moduleName }}_{{ businessName }}_list( @{{ businessName }}_controller.post( '', - dependencies=[UserInterfaceAuthDependency('{{ permissionPrefix }}:add')]), + response_model=ResponseBaseModel, + dependencies=[UserInterfaceAuthDependency('{{ permissionPrefix }}:add')], +) @ValidateFields(validate_model='add_{{ businessName }}') @Log(title='{{ functionName }}', business_type=BusinessType.INSERT) async def add_{{ moduleName }}_{{ businessName }}( @@ -88,7 +90,9 @@ async def add_{{ moduleName }}_{{ businessName }}( @{{ businessName }}_controller.put( '', - dependencies=[UserInterfaceAuthDependency('{{ permissionPrefix }}:edit')]), + response_model=ResponseBaseModel, + dependencies=[UserInterfaceAuthDependency('{{ permissionPrefix }}:edit')], +) @ValidateFields(validate_model='edit_{{ businessName }}') @Log(title='{{ functionName }}', business_type=BusinessType.UPDATE) async def edit_{{ moduleName }}_{{ businessName }}( @@ -112,7 +116,9 @@ async def edit_{{ moduleName }}_{{ businessName }}( @{{ businessName }}_controller.delete( '/{% raw %}{{% endraw %}{{ pk_field }}s{% raw %}}{% endraw %}', - dependencies=[UserInterfaceAuthDependency('{{ permissionPrefix }}:remove')]), + response_model=ResponseBaseModel, + dependencies=[UserInterfaceAuthDependency('{{ permissionPrefix }}:remove')], +) @Log(title='{{ functionName }}', business_type=BusinessType.DELETE) async def delete_{{ moduleName }}_{{ businessName }}( request: Request, @@ -128,7 +134,7 @@ async def delete_{{ moduleName }}_{{ businessName }}( @{{ businessName }}_controller.get( '/{% raw %}{{% endraw %}{{ pk_field }}{% raw %}}{% endraw %}', - response_model={{ BusinessName }}Model, + response_model=DataResponseModel[{{ BusinessName }}Model], dependencies=[UserInterfaceAuthDependency('{{ permissionPrefix }}:query')] ) async def query_detail_{{ moduleName }}_{{ businessName }}( @@ -144,7 +150,8 @@ async def query_detail_{{ moduleName }}_{{ businessName }}( @{{ businessName }}_controller.post( '/export', - dependencies=[UserInterfaceAuthDependency('{{ permissionPrefix }}:export')]) + dependencies=[UserInterfaceAuthDependency('{{ permissionPrefix }}:export')], +) @Log(title='{{ functionName }}', business_type=BusinessType.EXPORT) async def export_{{ moduleName }}_{{ businessName }}_list( request: Request, diff --git a/ruoyi-fastapi-backend/module_generator/templates/python/dao.py.jinja2 b/ruoyi-fastapi-backend/module_generator/templates/python/dao.py.jinja2 index 477ee84..60222c4 100644 --- a/ruoyi-fastapi-backend/module_generator/templates/python/dao.py.jinja2 +++ b/ruoyi-fastapi-backend/module_generator/templates/python/dao.py.jinja2 @@ -15,6 +15,7 @@ from sqlalchemy.ext.asyncio import AsyncSession from sqlalchemy.orm import selectinload {% endif %} +from common.vo import PageModel {% if table.sub %} from {{ packageName }}.entity.do.{{ businessName }}_do import {{ ClassName }}, {{ subClassName }} from {{ packageName }}.entity.vo.{{ businessName }}_vo import {{ BusinessName }}Model, {{ BusinessName }}PageQueryModel, {{ subTable.business_name | capitalize }}Model @@ -22,7 +23,7 @@ from {{ packageName }}.entity.vo.{{ businessName }}_vo import {{ BusinessName }} from {{ packageName }}.entity.do.{{ businessName }}_do import {{ ClassName }} from {{ packageName }}.entity.vo.{{ businessName }}_vo import {{ BusinessName }}Model, {{ BusinessName }}PageQueryModel {% endif %} -from utils.page_util import PageResponseModel, PageUtil +from utils.page_util import PageUtil class {{ BusinessName }}Dao: @@ -89,7 +90,7 @@ class {{ BusinessName }}Dao: @classmethod async def get_{{ businessName }}_list( cls, db: AsyncSession, query_object: {{ BusinessName }}PageQueryModel, is_page: bool = False - ) -> Union[PageResponseModel, list[dict[str, Any]]]: + ) -> Union[PageModel, list[dict[str, Any]]]: """ 根据查询参数获取{{ functionName }}列表信息 @@ -137,7 +138,7 @@ class {{ BusinessName }}Dao: .order_by({{ ClassName }}.{{ pk_field }}) .distinct() ) - {{ businessName }}_list: Union[PageResponseModel, list[dict[str, Any]]] = await PageUtil.paginate( + {{ businessName }}_list: Union[PageModel, list[dict[str, Any]]] = await PageUtil.paginate( db, query, query_object.page_num, query_object.page_size, is_page ) diff --git a/ruoyi-fastapi-backend/module_generator/templates/python/service.py.jinja2 b/ruoyi-fastapi-backend/module_generator/templates/python/service.py.jinja2 index 5608b55..bfd8a2a 100644 --- a/ruoyi-fastapi-backend/module_generator/templates/python/service.py.jinja2 +++ b/ruoyi-fastapi-backend/module_generator/templates/python/service.py.jinja2 @@ -10,6 +10,7 @@ from fastapi import Request from sqlalchemy.ext.asyncio import AsyncSession from common.constant import CommonConstant +from common.vo import PageModel from exceptions.exception import ServiceException from {{ packageName }}.dao.{{ businessName }}_dao import {{ BusinessName }}Dao from module_admin.entity.vo.common_vo import CrudResponseModel @@ -19,7 +20,6 @@ from module_admin.service.dict_service import DictDataService {% endif %} from utils.common_util import CamelCaseUtil from utils.excel_util import ExcelUtil -from utils.page_util import PageResponseModel class {{ BusinessName }}Service: @@ -30,7 +30,7 @@ class {{ BusinessName }}Service: @classmethod async def get_{{ businessName }}_list_services( cls, query_db: AsyncSession, query_object: {{ BusinessName }}PageQueryModel, is_page: bool = False - ) -> Union[PageResponseModel, list[dict[str, Any]]]: + ) -> Union[PageModel, list[dict[str, Any]]]: """ 获取{{ functionName }}列表信息service