From 172856ede3704669023ccb535fcccb331de7408d Mon Sep 17 00:00:00 2001 From: wuaho Date: Thu, 29 Jul 2021 22:31:45 +0800 Subject: [PATCH] 1 --- api/api_v1/endpoints/dashboard.py | 3 ++- models/behavior_analysis.py | 13 +++++++++---- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/api/api_v1/endpoints/dashboard.py b/api/api_v1/endpoints/dashboard.py index 06e88bc..b479057 100644 --- a/api/api_v1/endpoints/dashboard.py +++ b/api/api_v1/endpoints/dashboard.py @@ -153,4 +153,5 @@ async def dashboards(request: Request, """获取一个看板""" res = await crud.dashboard.get(db, id=data_in.id) # res['reports'] = await crud.report.find_many(db, **{'_id': {'$in': [item['report_id'] for item in res.get('reports')]}}) - return schemas.Msg(code=0, msg='ok', data=res['reports']) + data = {item['report_id']: item for item in res['reports']} + return schemas.Msg(code=0, msg='ok', data=data) diff --git a/models/behavior_analysis.py b/models/behavior_analysis.py index 5a9bc71..5081879 100644 --- a/models/behavior_analysis.py +++ b/models/behavior_analysis.py @@ -221,10 +221,15 @@ class BehaviorAnalysis: opt = ({'+', '-', '*', '/'} & set(s)).pop() a, b = s.split(opt) r1 = a.split('.') - r2 = b.split('.') - return {'event_name': [r1[0], r2[0]], - 'select': func.round(settings.ARITHMETIC[opt](f(r1), f(r2)), 2).label('values') - } + if '.' in b: + r2 = b.split('.') + return {'event_name': [r1[0], r2[0]], + 'select': func.round(settings.ARITHMETIC[opt](f(r1), f(r2)), 2).label('values') + } + elif b.isdigit(): + return {'event_name': [r1[0]], + 'select': func.round(settings.ARITHMETIC[opt](f(r1), int(b)), 2).label('values') + } def event_model_sql(self): sqls = []