企业主页模块 头部信息 变更至v0.21版本

This commit is contained in:
王思川 2022-03-23 11:15:00 +08:00
parent 71eaa83bf1
commit d9ab77dd51
2 changed files with 60 additions and 21 deletions

View File

@ -1,10 +1,10 @@
import pymongo import pymongo
MG_USER = "root" DB_HOST = "116.63.130.34"
MG_PWD = "sromitdTW569kC#M" DB_PASS = "UTlC9cCoglD1cI1*"
MG_HOST = "116.63.130.34" DB_USER = "root"
MG_PORT = "27018" DB_PORT = "27021"
CLIENT = pymongo.MongoClient('mongodb://{}:{}@{}:{}'.format(MG_USER, MG_PWD, MG_HOST, MG_PORT)) CLIENT = pymongo.MongoClient('mongodb://{}:{}@{}:{}'.format(DB_USER, DB_PASS, DB_HOST, DB_PORT))
def FIND_DATA_IN_COMPANY(param1, param2): def FIND_DATA_IN_COMPANY(param1, param2):
@ -51,3 +51,38 @@ def FIND_DATA_IN_MACRO_INDUSTRY_ANALYSIS(industry):
return record[0] return record[0]
else: else:
return False return False
def FIND_SINGLE_DATA_BY_REQ(param1, param2, param3, param4):
"""
查询符合条件的第一条数据
Parameters:
param1: str 数据库
param2: str 数据表
param3: dict 查询条件
param4: list 查询字段
Returns:
record: 查询结果为空返回False; 查询结果正常返回查询结果的第一条数据;
"""
collection = CLIENT[param1][param2]
columns = {**{'_id': False}, **dict(zip(param4, [1] * len(param4)))}
record = list(collection.find(param3, columns))
return False if record == [] else record[0]
def FIND_SINGLE_DATA_BY_REQ_WITH_SORT(param1, param2, param3, param4, param5):
"""
查询符合条件的第一条数据
Parameters:
param1: str 数据库
param2: str 数据表
param3: dict 查询条件
param4: list 查询字段
param5: dict 排序条件 例如 {"name": 1} 表示按照name字段正序返回
Returns:
record: 查询结果为空返回False; 查询结果正常返回查询结果的第一条数据;
"""
collection = CLIENT[param1][param2]
columns = {**{'_id': False}, **dict(zip(param4, [1] * len(param4)))}
record = list(collection.find(param3, columns).sort(list(param5.keys())[0], list(param5.values())[0]).limit(1))
return False if record == [] else record[0]

View File

@ -2,8 +2,9 @@ import json
import pandas as pd import pandas as pd
from company.company_db import FIND_DATA_IN_COMPANY, FIND_DATA_IN_MACRO_INDUSTRY_ANALYSIS from company.company_db import FIND_DATA_IN_COMPANY, FIND_DATA_IN_MACRO_INDUSTRY_ANALYSIS, \
from company.company_utils import sub_dict, judge_industry FIND_SINGLE_DATA_BY_REQ_WITH_SORT, FIND_SINGLE_DATA_BY_REQ
from company.company_utils import judge_industry
def find_company_data_scripts(table, cid): def find_company_data_scripts(table, cid):
@ -11,20 +12,23 @@ def find_company_data_scripts(table, cid):
def get_head_info_impl(cid): def get_head_info_impl(cid):
data = FIND_DATA_IN_COMPANY('综合评价分析', {"企业ID": cid}) # company_info: 企业信息
if data: company_info = FIND_SINGLE_DATA_BY_REQ("应用端", "企业用户", {"企业ID": cid}, ["企业名称", "已认证"])
return sub_dict(data[0], ['企业名称', '综合信用等级'])
else: # cc_rating: 最近一期综信评价结果
company = FIND_DATA_IN_COMPANY('公司基本信息', {"企业ID": cid})[0] cc_rating = FIND_SINGLE_DATA_BY_REQ_WITH_SORT("综信评价数据", "评价结果", {"企业ID": cid}, ["信用评分", "信用等级", "评价时间"], {"评价年度": -1})
result = { # esg_rating: 最近一期ESG评价结果
"企业名称": company['企业名称'], esg_rating = FIND_SINGLE_DATA_BY_REQ_WITH_SORT("ESG评价数据", "评价结果", {"企业ID": cid}, ["ESG得分", "评价等级", "评价时间"], {"评价年度": -1})
"综合信用等级": {
"评价时间": "N/A", # head_info: 公司主要头部信息
"信用等级": "N/A", head_info = {
"信用评分": "N/A" "企业名称": company_info['企业名称'],
}, "企业认证": "已认证" if company_info['已认证'] == "" else "未认证",
} "综合信用评价": cc_rating if cc_rating else {"信用等级": "N/A", "信用评分": "N/A", "评价时间": "N/A"},
return result "ESG评价": esg_rating if esg_rating else {"信用等级": "N/A", "信用评分": "N/A", "评价时间": "N/A"}
}
return head_info
def find_financial_index_detail_scripts(table, cid): def find_financial_index_detail_scripts(table, cid):