From 52acdbbfab83d56b35dced5928da5d287598cb8b Mon Sep 17 00:00:00 2001 From: yumoqing Date: Tue, 21 Jul 2026 14:30:38 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20LIMIT=E8=AF=AD=E6=B3=95=E9=94=99?= =?UTF-8?q?=E8=AF=AF=20-=20str(limit)=E5=AF=BC=E8=87=B4LIMIT=20'5',?= =?UTF-8?q?=E6=94=B9=E4=B8=BAint?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sage_datamart/dashboards.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/sage_datamart/dashboards.py b/sage_datamart/dashboards.py index 6b7a521..63d3bd3 100644 --- a/sage_datamart/dashboards.py +++ b/sage_datamart/dashboards.py @@ -209,7 +209,7 @@ async def get_top_models(env, sor, limit=5): sql = """SELECT model, COUNT(*) as cnt, COALESCE(SUM(amount_cny), 0) as total_amount FROM dm_model_call_fact WHERE call_date = ${today}$ GROUP BY model ORDER BY cnt DESC LIMIT ${limit}$""" - recs = await sor.sqlExe(sql, {'today': env.curDateString(), 'limit': str(limit)}) + recs = await sor.sqlExe(sql, {'today': env.curDateString(), 'limit': limit}) return [{'model_name': r.model or 'Unknown', 'cnt': int(r.cnt), 'total_amount': round(float(r.total_amount), 2)} for r in recs] @@ -219,7 +219,7 @@ async def get_top_providers(env, sor, limit=5): sql = """SELECT providerid, COUNT(*) as cnt, COALESCE(SUM(amount_cny), 0) as total_amount FROM dm_model_call_fact WHERE call_date = ${today}$ AND providerid IS NOT NULL GROUP BY providerid ORDER BY total_amount DESC LIMIT ${limit}$""" - recs = await sor.sqlExe(sql, {'today': env.curDateString(), 'limit': str(limit)}) + recs = await sor.sqlExe(sql, {'today': env.curDateString(), 'limit': limit}) return [{'provider_name': r.providerid or 'Unknown', 'cnt': int(r.cnt), 'total_amount': round(float(r.total_amount), 2)} for r in recs] @@ -228,7 +228,7 @@ async def get_top_users(env, sor, limit=5): """全量 Top N 用户(按金额)""" sql = """SELECT userid, COUNT(*) as cnt, COALESCE(SUM(amount_cny), 0) as total_amount FROM dm_model_call_fact GROUP BY userid ORDER BY total_amount DESC LIMIT ${limit}$""" - recs = await sor.sqlExe(sql, {'limit': str(limit)}) + recs = await sor.sqlExe(sql, {'limit': limit}) return [{'user_name': r.userid, 'cnt': int(r.cnt), 'total_amount': round(float(r.total_amount), 2)} for r in recs] @@ -313,7 +313,7 @@ async def get_distributor_top_customers(sor, distributor_orgid, limit=5): sql = """SELECT userorgid, COUNT(*) as cnt, COALESCE(SUM(amount_cny), 0) as total_amount FROM dm_model_call_fact WHERE distributor_orgid = ${org}$ GROUP BY userorgid ORDER BY total_amount DESC LIMIT ${limit}$""" - recs = await sor.sqlExe(sql, {'org': distributor_orgid, 'limit': str(limit)}) + recs = await sor.sqlExe(sql, {'org': distributor_orgid, 'limit': limit}) return [{'org_id': r.userorgid, 'cnt': int(r.cnt), 'total_amount': round(float(r.total_amount), 2)} for r in recs]