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 e1bf9cc..c15d02f 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) @@ -102,3 +102,45 @@ class SearchCompanyResult(SpecObject): "credit_level": "信用等级", "esg_level": "ESG等级" } + + +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 f0ecee0..a788109 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 @@ -9,15 +9,15 @@ company_route = Blueprint('company', __name__) @company_route.route('/search', methods=['POST']) @verify_token -def search_company(**kwargs): +def search_route(**kwargs): """企业搜索""" try: 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 {} @@ -52,23 +52,31 @@ def search_company(**kwargs): return {"info": e.failed_info}, e.status_code +@company_route.route('/head_info', methods=["GET"]) +@verify_token +def head_info_route(**kwargs): + """头部信息""" + try: + impl = CompanyIndexApiImpl() + impl.head_info.cid = request.args['cid'] + impl.get_head_info() + result = impl.head_info.dict_to_show() + return result, 200 + except ReturnConditionCheckFailed as e: + e.log_error() + return {"info": e.failed_info}, e.status_code + + @company_route.route('/index', methods=['POST']) @verify_token -def company_index(**kwargs): - """ - 企业主页 - Parameters: - - - Returns: - info: 返回信息 - result: 返回数据 - """ +def index_route(**kwargs): + """企业主页""" return {"info": '调整中'}, 200 @company_route.route('/edit', methods=['POST']) @verify_token -def company_edit(**kwargs): +def edit_route(**kwargs): """ 企业信息编辑 Parameters: