tfse-app-api-v0.2/company/company_db.py

89 lines
2.7 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import pymongo
DB_HOST = "116.63.130.34"
DB_PASS = "UTlC9cCoglD1cI1*"
DB_USER = "root"
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_INDUSTRY_DATA_IN_RATING_INPUT(cid):
"""
从评价数据库中查询数据
Parameters:
cid str 企业ID
Returns:
record: 查询结果
"""
collection = CLIENT['评价']['综合评价填报']
data = collection.find({"企业ID": cid}, {'_id': False, "行业选择": 1, "评价年度": 1})
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_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]