tfse-etl-api-v0.2/RatingData/scripts/risk_detail.py

63 lines
1.9 KiB
Python

import json
import pandas as pd
from RatingData.db import FIND_DATA_N_TYC
def associate_risk_detail(param):
"""
关联风险
根据企业名称,查询企业关联风险类型和数量
Parameters:
param: 企业名称
Returns:
result: 企业关联风险类型和数量
"""
res = FIND_DATA_N_TYC(db='天眼风险', col='周边风险', query={'企业名称': param})
result = []
if res:
pass
else:
return result
if res[0]['周边风险']['list']:
pass
else:
return result
df = pd.DataFrame(res[0]['周边风险']['list'])[['total', 'title', 'list']]
detail_list = list()
for row in df.iterrows():
df_sub1 = pd.DataFrame(row[1]['list'])
detail_list.append((df_sub1['title'] + df_sub1['riskCount'].apply(lambda x: ' ' + str(x) + '')).to_list())
df['detail'] = detail_list
result = list(json.loads(df[['title', 'total', 'detail']].T.to_json()).values())
return result
def change_log_detail(param):
"""
变更记录详情
Parameters:
param: desc
Returns:
res: desc
"""
res = FIND_DATA_N_TYC(db='天眼风险', col='预警提醒', query={'企业名称': param})
result = []
if res:
df = pd.DataFrame(res[0]['预警提醒']['list'])[['total', 'title', 'list']]
detail_list = list()
id_list = list()
for row in df.iterrows():
df_sub1 = pd.DataFrame(row[1]['list'])
detail_list.append((df_sub1['title'] + df_sub1['riskCount'].apply(lambda x: ' ' + str(x) + '')).to_list())
id_list.append(1 if df_sub1['companyId'].values[0] is None else 0)
df['detail'] = detail_list
df['companyId'] = id_list
df.drop(df[df['companyId'] == 0].index)
result = list(json.loads(df[['title', 'total', 'detail']].T.to_json()).values())
return result