from flask import Blueprint, request from Manage.Company.Implements.CompanyIndex import CompanyIndexApiImpl from Manage.Company.Implements.CompanySearch import SearchCompanyApiImpl from Utils.ErrorUtil import ReturnConditionCheckFailed from user.user_auth import verify_token company_route = Blueprint('company', __name__) @company_route.route('/search', methods=['POST']) @verify_token def search_route(**kwargs): """企业搜索""" try: req = request.json 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 {} if search.__contains__('企业ID'): search_body.cid = search['企业ID'] if search.__contains__('企业名称'): search_body.name = search['企业名称'] if search.__contains__('一级行业'): search_body.industry = search['一级行业'] if search.__contains__('综信评价'): search_body.credit_level = search['综信评价'] if search.__contains__('ESG评价'): search_body.esg_level = search['ESG评价'] if sort != {}: sort_body.field = list(sort.keys())[0] sort_body.sort = list(sort.values())[0] search_body_impl.search = search_body search_body_impl.sort = sort_body search_body_impl.page_size = req['page_size'] search_body_impl.page_no = req['page_no'] result = search_body_impl.conditions_search() return {"info": '查询结果', "result": result}, 200 except ReturnConditionCheckFailed as e: 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('/update_time', methods=['POST']) @verify_token def update_time_route(**kwargs): """更新时间""" try: req = request.json impl = CompanyIndexApiImpl() impl.update_time.cid = req['cid'] impl.update_time.table = req['table'] impl.get_update_time() result = impl.update_time.dict_to_show(columns=['table', 'update_time']) return result, 200 except ReturnConditionCheckFailed as e: return {"info": e.failed_info}, e.status_code @company_route.route('/basic_info', methods=['POST']) @verify_token def basic_info_route(**kwargs): """工商信息""" try: req = request.json impl = CompanyIndexApiImpl() impl.basic_info.cid = req['cid'] if req.__contains__('update_time'): impl.basic_info.update_time = req['update_time'] impl.get_basic_info() result = impl.basic_info.dict_to_show(columns=["工商信息", "股东信息", "主要成员"]) return result, 200 except ReturnConditionCheckFailed as e: return {"info": e.failed_info}, e.status_code @company_route.route('/financial_data', methods=['POST']) @verify_token def financial_data_route(**kwargs): """财务数据""" try: req = request.json impl = CompanyIndexApiImpl() impl.financial_data.cid = req['cid'] impl.financial_data.report_date = req['report_date'] impl.get_financial_data() result = impl.financial_data.dict_to_show(columns=["报告期", "资产负债表", "利润表", "补充数据表", "财务指标"]) return result, 200 except ReturnConditionCheckFailed as e: return {"info": e.failed_info}, e.status_code @company_route.route('/operating_risk', methods=['POST']) @verify_token def operating_risk_route(**kwargs): """经营风险""" try: req = request.json impl = CompanyIndexApiImpl() impl.operating_risk.cid = req['cid'] if req.__contains__('update_time'): impl.operating_risk.update_time = req['update_time'] impl.get_operating_risk() result = impl.operating_risk.dict_to_show(columns=["评价ID", "风险级别", "风险分数", "列入失信名单", "合规风险统计", "经营风险统计", "周边风险统计", "变更记录统计"]) return result, 200 except ReturnConditionCheckFailed as e: return {"info": e.failed_info}, e.status_code @company_route.route('/financial_analysis', methods=['POST']) @verify_token def financial_analysis_route(**kwargs): """财务分析""" try: req = request.json impl = CompanyIndexApiImpl() impl.financial_analysis.cid = req['cid'] if req.__contains__('update_time'): impl.financial_analysis.update_time = req['update_time'] impl.get_financial_analysis() result = impl.financial_analysis.dict_to_show(columns=["评价ID", "财报期", "财务得分年度比较", "财务得分同行比较", "财务得分较去年变化", "财务得分较同行差异", "指标详情"]) return result, 200 except ReturnConditionCheckFailed as e: return {"info": e.failed_info}, e.status_code @company_route.route('/cc_rating', methods=['POST']) @verify_token def cc_rating_route(**kwargs): """综合信用分析""" return {"info": '调整中'}, 200 @company_route.route('/esg_rating', methods=['POST']) @verify_token def esg_rating_route(**kwargs): """ESG评价分析""" return {"info": '调整中'}, 200 @company_route.route('/index', methods=['POST']) @verify_token def index_route(**kwargs): """企业主页""" return {"info": '调整中'}, 200 @company_route.route('/edit', methods=['POST']) @verify_token def edit_route(**kwargs): """企业信息编辑""" return {"info": '调整中'}, 200