From d68dee589161e4d0275810db53500eae9d050603 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E6=80=9D=E5=B7=9D?= Date: Mon, 18 Apr 2022 11:12:47 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=B4=E9=83=A8=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Manage/Company/CompanyImpl.py | 41 +++++++++++++++++++++++++--- Manage/Company/CompanyObj.py | 47 +++++++++++++++++++++++++++++---- Manage/Company/CompanyRoutes.py | 19 +++++++++---- 3 files changed, 94 insertions(+), 13 deletions(-) diff --git a/Manage/Company/CompanyImpl.py b/Manage/Company/CompanyImpl.py index 7e5a139..f203cd7 100644 --- a/Manage/Company/CompanyImpl.py +++ b/Manage/Company/CompanyImpl.py @@ -1,9 +1,9 @@ from DBHelper.MongoHelper import MongoHelper -from Manage.Company.CompanyObj import SearchCompanyBody, SearchCompanyResult +from Manage.Company.CompanyObj import SearchCompanyApi, SearchCompanyResult, CompanyIndexApi -class SearchCompanyBodyImpl(SearchCompanyBody): - """""" +class SearchCompanyApiImpl(SearchCompanyApi): + """企业查询请求接口实现类""" db = MongoHelper("tfse_v0.21") def conditions_search(self): @@ -62,3 +62,38 @@ class SearchCompanyBodyImpl(SearchCompanyBody): } return result + + +class CompanyIndexApiImpl(CompanyIndexApi): + """企业主页接口实现类""" + + db = MongoHelper("tfse_v0.21") + + head_info = CompanyIndexApi.HeadInfo() + update_tine = CompanyIndexApi + basic_info = CompanyIndexApi + financial_data = CompanyIndexApi + operating_risk = CompanyIndexApi + financial_analysis = CompanyIndexApi + cc_rating = CompanyIndexApi + esg_rating = CompanyIndexApi + + def get_head_info(self): + """获取头部信息""" + + self.head_info.email = self.db.find_single_column( + "应用端", + "企业用户", + {"企业ID": self.head_info.cid}, + "邮箱" + ) + + result = self.db.find_single_data( + "企业数据", + "企业数据_更新汇总", + {"企业ID": self.head_info.cid}, + ["企业名称", "一级行业"] + ) + + self.head_info.name = result['企业名称'] + self.head_info.industry = result['一级行业'] diff --git a/Manage/Company/CompanyObj.py b/Manage/Company/CompanyObj.py index 8bd731e..094a233 100644 --- a/Manage/Company/CompanyObj.py +++ b/Manage/Company/CompanyObj.py @@ -2,8 +2,8 @@ from Utils.ObjUtil import SpecObject from Utils.ValidateUtil import ValidateAttr -class SearchCompanyBody(SpecObject): - """""" +class SearchCompanyApi(SpecObject): + """企业查询请求接口""" class SearchBody(SpecObject): """""" @@ -88,7 +88,7 @@ class SearchCompanyBody(SpecObject): class SearchCompanyResult(SpecObject): - """""" + """企业查询返回结果""" cid = ValidateAttr(field='cid', type=str) name = ValidateAttr(field='name', type=str, default=None) industry = ValidateAttr(field='industry', type=str, default=None) @@ -104,6 +104,43 @@ class SearchCompanyResult(SpecObject): } -class CompanyIndex(SpecObject): - """企业主页""" +class CompanyIndexApi(SpecObject): + """企业主页接口""" + class HeadInfo(SpecObject): + """头部信息""" + name = ValidateAttr(field='name', type=str) + cid = ValidateAttr(field='cid', type=str) + email = ValidateAttr(field='email', type=str) + industry = ValidateAttr(field='industry', type=str) + + fields_map = { + "name": "企业名称", + "cid": "企业ID", + "email": "邮箱", + "industry": "行业", + } + + def get_head_info(self): + """头部信息""" + + def get_update_tine(self): + """更新时间""" + + def get_basic_info(self): + """工商信息""" + + def get_financial_data(self): + """财务数据""" + + def get_operating_risk(self): + """经营风险""" + + def get_financial_analysis(self): + """财务分析""" + + def get_cc_rating(self): + """综合信用分析""" + + def get_esg_rating(self): + """ESG评价分析""" diff --git a/Manage/Company/CompanyRoutes.py b/Manage/Company/CompanyRoutes.py index 668fa82..ef8644d 100644 --- a/Manage/Company/CompanyRoutes.py +++ b/Manage/Company/CompanyRoutes.py @@ -1,6 +1,6 @@ from flask import Blueprint, request -from Manage.Company.CompanyImpl import SearchCompanyBodyImpl +from Manage.Company.CompanyImpl import SearchCompanyApiImpl, CompanyIndexApiImpl from Utils.ErrorUtil import ReturnConditionCheckFailed from user.user_auth import verify_token @@ -15,9 +15,9 @@ def search_route(**kwargs): req = request.json - search_body_impl = SearchCompanyBodyImpl() - search_body = SearchCompanyBodyImpl().SearchBody() - sort_body = SearchCompanyBodyImpl().SortBody() + search_body_impl = SearchCompanyApiImpl() + search_body = SearchCompanyApiImpl().SearchBody() + sort_body = SearchCompanyApiImpl().SortBody() search = req['search'] if req.__contains__('search') else {} sort = req['sort'] if req.__contains__('sort') else {} @@ -55,7 +55,16 @@ def search_route(**kwargs): @company_route.route('/head_info', methods=["GET"]) @verify_token def head_info_route(**kwargs): - """""" + """头部信息""" + try: + impl = CompanyIndexApiImpl() + impl.head_info.cid = kwargs['cid'] + impl.get_head_info() + result = impl.head_info.dict_to_show() + return {"info": "查询结果", "result": result}, 200 + except ReturnConditionCheckFailed as e: + e.log_error() + return {"info": e.failed_info}, e.status_code @company_route.route('/index', methods=['POST'])