1.优化sql查询,仅查询使用
2.优化括号显示问题 3.优化区服的对应中文映射
This commit is contained in:
parent
ad7e4674ed
commit
75615f8bfc
@ -37,9 +37,13 @@ async def query_sql(
|
||||
) -> schemas.Msg:
|
||||
"""原 sql 查询 """
|
||||
sql = data_in.sql
|
||||
sql1=sql.lower()
|
||||
if 'insert' not in sql1 and 'update' not in sql1 and 'delete' not in sql1 and 'select' in sql1:
|
||||
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")
|
||||
@ -237,6 +241,19 @@ async def event_model(
|
||||
q['date_range'] = date_range #把要查询的时间加入q字典中
|
||||
df = await ckdb.query_dataframe(sql) #以sql语句查出数据,df是二维列表
|
||||
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:
|
||||
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']== '城市':
|
||||
q['groups'].append('未知城市')
|
||||
else:
|
||||
if 'str' in str(type(group)):
|
||||
q['groups'].append(str(group))
|
||||
else:
|
||||
q['groups'].append(str(list(group)))
|
||||
concat_data = []
|
||||
for i in set(date_range) - set(df_group['date']):
|
||||
if len(groupby) > 1:
|
||||
|
@ -26,5 +26,10 @@ class CRUDSelectMap(CRUDBase):
|
||||
res = await self.find_one(db, where, {'_id': 0})
|
||||
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')
|
||||
|
Loading…
Reference in New Issue
Block a user