1.优化sql查询,仅查询使用
2.优化括号显示问题 3.优化区服的对应中文映射
This commit is contained in:
parent
ad7e4674ed
commit
75615f8bfc
@ -37,9 +37,13 @@ async def query_sql(
|
|||||||
) -> schemas.Msg:
|
) -> schemas.Msg:
|
||||||
"""原 sql 查询 """
|
"""原 sql 查询 """
|
||||||
sql = data_in.sql
|
sql = data_in.sql
|
||||||
sql = sql.replace('$game', game)
|
sql1=sql.lower()
|
||||||
data = await ckdb.execute(sql)
|
if 'insert' not in sql1 and 'update' not in sql1 and 'delete' not in sql1 and 'select' in sql1:
|
||||||
return schemas.Msg(code=0, msg='ok', data=data)
|
sql = sql.replace('$game', game)
|
||||||
|
data = await ckdb.execute(sql)
|
||||||
|
return schemas.Msg(code=0, msg='ok', data=data)
|
||||||
|
else:
|
||||||
|
return schemas.Msg(code=0, msg='ok', data='当前只支持SQL查询语句!')
|
||||||
|
|
||||||
|
|
||||||
@router.post("/sql_export")
|
@router.post("/sql_export")
|
||||||
@ -237,6 +241,19 @@ async def event_model(
|
|||||||
q['date_range'] = date_range #把要查询的时间加入q字典中
|
q['date_range'] = date_range #把要查询的时间加入q字典中
|
||||||
df = await ckdb.query_dataframe(sql) #以sql语句查出数据,df是二维列表
|
df = await ckdb.query_dataframe(sql) #以sql语句查出数据,df是二维列表
|
||||||
df.fillna(0, inplace=True)#以0填补空数据
|
df.fillna(0, inplace=True)#以0填补空数据
|
||||||
|
#映射对应中文返回给前端展示
|
||||||
|
for i in groupby:
|
||||||
|
if i == 'svrindex':
|
||||||
|
if game == 'mfmh5':
|
||||||
|
game = 'mzmfmh5'
|
||||||
|
chinese={}
|
||||||
|
resp = await crud.select_map.get_one(db, game,i)
|
||||||
|
for ii in resp:
|
||||||
|
chinese[ii['id']]=ii['title']
|
||||||
|
for k,v in chinese.items():
|
||||||
|
#开始映射
|
||||||
|
df.loc[df[i] == k, i] = v
|
||||||
|
|
||||||
#获取第一矩阵的长度
|
#获取第一矩阵的长度
|
||||||
if df.shape[0] == 0:
|
if df.shape[0] == 0:
|
||||||
df = pd.DataFrame({'date': date_range, 'values': 0 * len(date_range)})
|
df = pd.DataFrame({'date': date_range, 'values': 0 * len(date_range)})
|
||||||
@ -311,7 +328,10 @@ async def event_model(
|
|||||||
if str(group) == '0' and analysis.event_view['groupBy'][0]['columnDesc']== '城市':
|
if str(group) == '0' and analysis.event_view['groupBy'][0]['columnDesc']== '城市':
|
||||||
q['groups'].append('未知城市')
|
q['groups'].append('未知城市')
|
||||||
else:
|
else:
|
||||||
q['groups'].append(str(group))
|
if 'str' in str(type(group)):
|
||||||
|
q['groups'].append(str(group))
|
||||||
|
else:
|
||||||
|
q['groups'].append(str(list(group)))
|
||||||
concat_data = []
|
concat_data = []
|
||||||
for i in set(date_range) - set(df_group['date']):
|
for i in set(date_range) - set(df_group['date']):
|
||||||
if len(groupby) > 1:
|
if len(groupby) > 1:
|
||||||
|
@ -26,5 +26,10 @@ class CRUDSelectMap(CRUDBase):
|
|||||||
res = await self.find_one(db, where, {'_id': 0})
|
res = await self.find_one(db, where, {'_id': 0})
|
||||||
return res
|
return res
|
||||||
|
|
||||||
|
async def get_one(self, db: AsyncIOMotorDatabase, game: str, screen: str):
|
||||||
|
where = {'game': game, 'attr_name': screen}
|
||||||
|
res = await self.find_one(db, where, {'_id': 0})
|
||||||
|
return res.get('map_')
|
||||||
|
|
||||||
|
|
||||||
select_map = CRUDSelectMap('select_map')
|
select_map = CRUDSelectMap('select_map')
|
||||||
|
Loading…
Reference in New Issue
Block a user