62 lines
1.8 KiB
Python
62 lines
1.8 KiB
Python
from Manage.industry.industry_db import UPDATE_DATA, FUZZY_FIND_DATA, FIND_DATA, FIELDS_FIND_DATA, DELETE_DATA
|
|
from Manage.industry.industry_utils import dict_fields_map, sub_dict
|
|
|
|
|
|
def search_industry_impl(param):
|
|
"""
|
|
搜索行业列表
|
|
Parameters:
|
|
param: str 搜索条件
|
|
Returns:
|
|
result: list 行业名称
|
|
"""
|
|
param = "" if type(param) is not str else param # 强制模糊搜索条件为str类型
|
|
records = FUZZY_FIND_DATA('行业宏观分析', {'行业': {'$regex': param}})
|
|
result = []
|
|
for record in records:
|
|
result.append(sub_dict(record, ['行业'])['行业'])
|
|
return result
|
|
|
|
|
|
def primary_industry_update_data_impl(param):
|
|
"""
|
|
新建/更新一级行业数据
|
|
"""
|
|
fields_map = {
|
|
"name": "行业",
|
|
"introduction": "行业简介",
|
|
"positive_factors": "正面因素",
|
|
"negative_factors": "负面因素",
|
|
"increase_trend": "增长趋势",
|
|
"scale_distribution": "规模分布",
|
|
"update_time": "更新时间"
|
|
}
|
|
|
|
result = dict_fields_map(param.__dict__, fields_map)
|
|
|
|
UPDATE_DATA('行业宏观分析', {"行业": result["行业"]}, result)
|
|
|
|
|
|
def get_primary_industry_data_impl(param):
|
|
"""
|
|
获取一级行业数据
|
|
"""
|
|
analysis_data = FIND_DATA('行业宏观分析', {'行业': param})[0]
|
|
|
|
report_data = FIELDS_FIND_DATA('行业报告', {'行业名称': param}, ['报告名称', '报告fid', '上传日期'])
|
|
for data in report_data:
|
|
data['报告'] = '/file/get_industry_report?file_id={}'.format(data['报告fid'])
|
|
data.pop('报告fid')
|
|
|
|
result = {**analysis_data, **{'报告数据': report_data}}
|
|
|
|
return result
|
|
|
|
|
|
def delete_primary_industry_impl(param):
|
|
"""
|
|
删除一级行业
|
|
"""
|
|
DELETE_DATA('行业宏观分析', {"行业": param})
|
|
return True
|