From 8c43ecd5b682fe7d75881f63e35139b4bd29f679 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E6=80=9D=E5=B7=9D?= Date: Wed, 23 Mar 2022 16:51:53 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=81=E4=B8=9A=E4=B8=BB=E9=A1=B5=E6=A8=A1?= =?UTF-8?q?=E5=9D=97=20=E8=B4=A2=E5=8A=A1=E8=A6=81=E7=B4=A0=E5=88=86?= =?UTF-8?q?=E6=9E=90&=E7=BB=8F=E8=90=A5=E9=A3=8E=E9=99=A9=E5=88=86?= =?UTF-8?q?=E6=9E=90=20=E5=8F=98=E6=9B=B4=E8=87=B3v0.21=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- company/company_db.py | 32 -------------------------------- company/company_impl.py | 20 ++++++++++++++++++-- company/company_obj.py | 11 +++++++++-- company/company_routes.py | 24 +++++++++++++++++++----- 4 files changed, 46 insertions(+), 41 deletions(-) diff --git a/company/company_db.py b/company/company_db.py index 5a9e0b6..a702978 100644 --- a/company/company_db.py +++ b/company/company_db.py @@ -7,38 +7,6 @@ DB_PORT = "27021" CLIENT = pymongo.MongoClient('mongodb://{}:{}@{}:{}'.format(DB_USER, DB_PASS, DB_HOST, DB_PORT)) -def FIND_DATA_IN_COMPANY(param1, param2): - """ - 从企业数据库中查询数据 - Parameters: - param1 str 数据表 - param2 dict 查询条件 - Returns: - record: 查询结果 - """ - collection = CLIENT['企业'][param1] - data = collection.find(param2, {'_id': False}) - record = list(data) - return record - - -def FIND_DATA_IN_MACRO_INDUSTRY_ANALYSIS(industry): - """ - 从宏观行业分析数据库中查询行业宏观分析信息 - Parameters: - industry: str 行业 - Returns: - record: 查询结果 - """ - collection = CLIENT['宏观']['行业宏观分析'] - data = collection.find({"行业": industry}, {'_id': False}) - record = list(data) - if record: - return record[0] - else: - return False - - def FIND_SINGLE_COLUMN_BY_REQ(param1, param2, param3, param4): """ 查询符合条件的第一条数据的某个制定字段值 diff --git a/company/company_impl.py b/company/company_impl.py index 9de9ffe..216b3d6 100644 --- a/company/company_impl.py +++ b/company/company_impl.py @@ -1,4 +1,4 @@ -from company.company_db import FIND_DATA_IN_COMPANY, FIND_SINGLE_DATA_BY_REQ_WITH_SORT, FIND_SINGLE_DATA_BY_REQ +from company.company_db import FIND_SINGLE_DATA_BY_REQ_WITH_SORT, FIND_SINGLE_DATA_BY_REQ from company.company_utils import judge_industry @@ -69,9 +69,25 @@ def get_esg_rating_impl(cid): Case Fail: data: dict 空字典 """ - data = FIND_SINGLE_DATA_BY_REQ('企业数据', 'ESG评价分析', {"企业ID": cid}, ["更新日期", "ESG评级", "维度得分情况", "实质性议题得分情况", "实质性议题"]) + data = FIND_SINGLE_DATA_BY_REQ_WITH_SORT('企业数据', 'ESG评价分析', {"企业ID": cid}, ["更新日期", "ESG评级", "维度得分情况", "实质性议题得分情况", "实质性议题"], {"更新日期": -1}) if data is False: return {} return data + + +def get_financial_elements_impl(cid): + """ + 财务要素分析 + """ + data = FIND_SINGLE_DATA_BY_REQ_WITH_SORT('企业数据', '财务要素分析', {"企业ID": cid}, ["更新日期", "财报期", "同行对比图", "去年对比图", "去年对比表", "同行对比表", "指标详情"], {"更新日期": -1}) + return data + + +def get_operating_risk_impl(cid): + """ + 经营风险分析 + """ + data = FIND_SINGLE_DATA_BY_REQ_WITH_SORT('企业数据', '经营风险分析', {"企业ID": cid}, ["更新日期", "风险分数", "风险级别", "列入失信名单", "合规风险", "经营风险", "周边风险", "变更记录"], {"更新日期": -1}) + return data diff --git a/company/company_obj.py b/company/company_obj.py index 8d2110f..4ebecf9 100644 --- a/company/company_obj.py +++ b/company/company_obj.py @@ -1,5 +1,6 @@ -from company.company_impl import get_head_info_impl, get_industry_analysis_impl, get_esg_rating_impl, get_cc_rating_impl, \ - get_basic_info_impl +from company.company_impl import get_head_info_impl, get_industry_analysis_impl, get_esg_rating_impl, \ + get_cc_rating_impl, \ + get_basic_info_impl, get_financial_elements_impl, get_operating_risk_impl class CompanyIndex: @@ -26,3 +27,9 @@ class CompanyIndex: def get_esg_rating(self): return get_esg_rating_impl(self.cid) + + def get_financial_elements(self): + return get_financial_elements_impl(self.cid) + + def get_operating_risk(self): + return get_operating_risk_impl(self.cid) diff --git a/company/company_routes.py b/company/company_routes.py index 493a7c2..551c812 100644 --- a/company/company_routes.py +++ b/company/company_routes.py @@ -49,13 +49,27 @@ def industry_analysis_route(**kwargs): @verify_token def esg_rating_route(**kwargs): """ - ESG分析数据 - Parameters: - param desc - Returns: - res: desc + ESG评价分析 """ company_index = CompanyIndex() company_index.cid = kwargs['cid'] result = company_index.get_esg_rating() return {"info": "查询结果", "result": result} + + +@company_route.route('/financial_elements', methods=['GET']) +@verify_token +def financial_elements_route(**kwargs): + company_index = CompanyIndex() + company_index.cid = kwargs['cid'] + result = company_index.get_financial_elements() + return {"info": "查询结果", "result": result} + + +@company_route.route('/operating_risk', methods=['GET']) +@verify_token +def operating_risk_route(**kwargs): + company_index = CompanyIndex() + company_index.cid = kwargs['cid'] + result = company_index.get_operating_risk() + return {"info": "查询结果", "result": result}