diff --git a/app/general/general_utils/sql_service.py b/app/general/general_utils/sql_service.py index 07bf810..1b056bd 100644 --- a/app/general/general_utils/sql_service.py +++ b/app/general/general_utils/sql_service.py @@ -43,6 +43,7 @@ async def list(session: AsyncSessionDep, query_config, module_config, debug_data n_page = get_value(query_config, 'page', 0) n_size = get_value(query_config, 'size', 5) n_only_count = get_value(query_config, 'onlyCount', False) + n_with_count = get_value(query_config, 'withCount', False) offset = n_page * n_size # 多查一条数据,方便判断是否有下一页数据 @@ -77,8 +78,17 @@ async def list(session: AsyncSessionDep, query_config, module_config, debug_data has_next = False if get_value(query_config, 'all', False) else len(result) == n_size + 1 if has_next: result.pop() + + count_result = await list( + session, + query_config={**query_config, "onlyCount": True}, + module_config=module_config, + debug_data=debug_data, + user=user + ) if n_with_count else {} return { "hasNext": has_next, + **count_result, "list": result, } except Exception as err: