diff --git a/models/tone_model.py b/models/tone_model.py index 0d1b24f4ddf67f22d2d02f2af672f904692d559f..80957c5bd57973e95398c781b114e40cf6959356 100644 --- a/models/tone_model.py +++ b/models/tone_model.py @@ -44,6 +44,17 @@ async def query_tone_suite(page_num, page_size, condition): results] +async def get_total_suite_name(condition=None): + select_orm = select(ToneCase.suite_id, ToneCase.suite_name, ToneCase.test_type, func.count(ToneCase.suite_name)) + if len(condition) > 0: + select_orm = select_orm.where(*condition) + select_orm = select_orm.group_by(ToneCase.suite_name) + async with db.conn() as session: + results = await session.execute(select_orm) + return [{'suite_id': result[0], 'suite_name': result[1], 'test_type': result[2], 'nums': result[3]} for result in + results] + + async def batch_insert_or_update_case(data): insert_orm = insert(ToneCase).values(data) on_duplicate_key_stmt = insert_orm.on_duplicate_key_update( diff --git a/services/tone_service.py b/services/tone_service.py index f03f31e972beffaa6b04315654b3735769b5218d..409e653f7f20d28c2d166694262538d07fbad8ce 100644 --- a/services/tone_service.py +++ b/services/tone_service.py @@ -4,17 +4,17 @@ from common.tone.api import TONE_SUITE_QUERY, TONE_WS_QUERY, TONE_PROJECT_QUERY, TONE_SERVER_TAG, TONE_CLUSTER_LIST from common.tone.tone_request import get_res_from_tone from app import log -from models.tone_model import ToneCase, query_tone_case_type, query_tone_suite, ToneSyncPull, \ +from models.tone_model import ToneCase, query_tone_case_type, get_total_suite_name, ToneSyncPull, \ batch_insert_or_update_case -async def query_suite(data, page_num=1, page_size=20): +async def query_suite(data): conditions = list() if data.get('test_type'): conditions.append(ToneCase.test_type == data.get('test_type')) if data.get('key'): conditions.append(ToneCase.tone_case_name.startswith(data.get('key'))) - return await query_tone_suite(page_num, page_size, conditions) + return await get_total_suite_name(conditions) async def query_tone_cases(data, suite_name): diff --git a/views/tone_view.py b/views/tone_view.py index 6788e1f232e5427146be09f6e02bc61cdb70a7b5..97ca6337668660882aedd46f50b1c900bd501b75 100644 --- a/views/tone_view.py +++ b/views/tone_view.py @@ -14,8 +14,7 @@ bp = Blueprint('tone', url_prefix='api/tone/') @bp.get('/suites') @login_auth async def get_tone_case_list(request, user_infos): - page_num = int(request.args.get('page_num')) if request.args.get('page_num') else 1 - result = await query_suite(request.args, page_num, page_size=20) + result = await query_suite(request.args) return rsp(data=result)