diff --git a/common/scripts.py b/common/scripts.py index 2097ad3..4d04850 100644 --- a/common/scripts.py +++ b/common/scripts.py @@ -83,3 +83,15 @@ def make_verify_code(): ch = chr(random.randrange(ord('0'), ord('9') + 1)) code += ch return code + + +def sub_dict(param1, param2): + """ + 获取字典的子集 + Parameters: + param1: 原字典 + param2: 子集字段 + Returns: + 子集 + """ + return dict((key, value) for key, value in param1.items() if key in param2) diff --git a/company/CompanyIndex.py b/company/CompanyIndex.py index 32efa02..e8a5033 100644 --- a/company/CompanyIndex.py +++ b/company/CompanyIndex.py @@ -1,4 +1,4 @@ -from company.scripts import find_company_data_scripts, find_financial_index_detail_scripts +from company.scripts import find_company_data_scripts, find_financial_index_detail_scripts, find_head_info_scripts class CompanyIndex: @@ -21,3 +21,7 @@ class CompanyIndex: return '查询成功', result else: return '无数据', {} + + def head_info_obj(self): + result = find_head_info_scripts(self.cid) + return "查询成功", result diff --git a/company/routes.py b/company/routes.py index 2b973ea..762a689 100644 --- a/company/routes.py +++ b/company/routes.py @@ -23,4 +23,13 @@ def company_page(**kwargs): info, result = company_index.get_company_data_obj() else: info, result = company_index.get_index_detail_obj() - return {"info": info, "result": result} + return {"info": info, "result": result}, 200 + + +@company_route.route('/head_info', methods=['GET']) +@verify_token +def head_info(**kwargs): + company_index = CompanyIndex() + company_index.cid = kwargs['cid'] + info, result = company_index.head_info_obj() + return {"info": info, "result": result}, 200 diff --git a/company/scripts.py b/company/scripts.py index a49a5a4..8465b6c 100644 --- a/company/scripts.py +++ b/company/scripts.py @@ -1,6 +1,7 @@ import json import pandas as pd +from common.scripts import sub_dict from company.db import find_data_in_company @@ -8,6 +9,23 @@ def find_company_data_scripts(table, cid): return find_data_in_company(table, {"企业ID": cid}) +def find_head_info_scripts(cid): + data = find_data_in_company('综合评价分析', {"企业ID": cid}) + if data: + return sub_dict(data[0], ['企业名称', '综合信用等级']) + else: + company = find_data_in_company('公司基本信息', {"企业ID": cid})[0] + result = { + "企业名称": company['企业名称'], + "综合信用等级": { + "评价时间": "N/A", + "信用等级": "N/A", + "信用评分": "N/A" + }, + } + return result + + def find_financial_index_detail_scripts(table, cid): df = pd.DataFrame(find_data_in_company(table, {"企业ID": cid})).sort_values('年报期', ascending=False) cols = [