tfse-app-api-v0.2/cc_rating/cc_db.py

163 lines
4.2 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_SINGLE_COLUMN_BY_REQ(param1, param2, param3, param4):
"""
查询符合条件的第一条数据的某个制定字段值
Parameters:
param1: str 数据库
param2: str 数据表
param3: dict 查询条件
param4: str 一个指定查询字段
Returns:
record: 查询结果为空返回None; 查询结果正常,返回查询结果的第一条数据;
"""
collection = client[param1][param2]
column = {**{'_id': False}, **{param4: 1}}
record = list(collection.find(param3, column))
return None if record == [] else record[0][param4]
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_ALL_DATA_BY_REQ(param1, param2, param3, param4):
"""
查询符合条件的所有数据
Parameters:
param1: str 数据库
param2: str 数据表
param3: dict 查询条件
param4: list 查询字段
Returns:
record: list 查询结果
"""
collection = client[param1][param2]
columns = {**{'_id': False}, **dict(zip(param4, [1] * len(param4)))}
record = list(collection.find(param3, columns))
return record
def FIND_RATING_RECORDS(param):
"""
查询评价记录
Parameters:
param: 查询条件
Returns:
record: 查询结果
"""
collection = client['企业数据']['评价记录']
data = collection.find(param, {'_id': False})
record = list(data)
return record
def FIND_CC_RATING_PROCESS_DATA(param1, param2):
"""
查询流程记录
Parameters:
param1: 数据集名称
param2: 查询条件
Returns:
record: 查询结果
"""
collection = client['评价'][param1]
data = collection.find(param2, {'_id': False})
record = list(data)
return record
def find_rating_inputs(param):
"""
查询填报信息记录
Parameters:
param: 查询条件
Returns:
records: 查询结果
"""
collection = client['评价']['综合评价填报']
data = collection.find(param, {'_id': False})
record = list(data)
return record
def INSERT_COMPREHENSIVE_INPUT_DATA(data):
"""
插入一条新综合填报
Parameters:
data: 新综合填报数据
Returns:
-
"""
collection = client['评价']['综合评价填报']
collection.insert_one(data)
def UPDATE_COMPREHENSIVE_CREDIT_INPUT_DATA(rid, data):
"""
更新综合信用填报数据
Parameters:
rid: 评价ID
data: 综合填报数据
Returns:
res: None
"""
collection = client['评价']['综合评价填报']
collection.update_one({"评价ID": rid}, {"$set": data})
def find_risk_data(rid):
"""
查找评价所需的风险数据
"""
collection = client['评价']['风险数据']
data = collection.find({"评价ID": rid}, {'_id': False})
record = list(data)
return record
def update_rating_records(find, data):
"""
更新评价记录
Parameters:
find 查询条件
data 更新数据
Returns:
-
"""
collection = client['评价']['评价记录']
collection.update_one(find, {"$set": data})
def UPSERT_SINGLE_DATA(param1, param2, param3, param4):
"""
插入单条数据
Parameters:
param1: str 数据库
param2: str 数据表
param3: dict 查询条件
param4: dict 更新或新插入的数据
"""
collection = client[param1][param2]
collection.update_one(param3, {"$set": param4}, upsert=True)