139 lines
3.1 KiB
Python
139 lines
3.1 KiB
Python
import pymongo
|
|
from bson import ObjectId
|
|
from gridfs import GridFS
|
|
|
|
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_VERIFY_CODE(param):
|
|
"""
|
|
查询验证记录
|
|
Parameters:
|
|
param: 查询条件
|
|
Returns:
|
|
record: 记录
|
|
"""
|
|
collection = client['应用端']['邮箱验证码记录']
|
|
data = collection.find(param, {'_id': False})
|
|
record = list(data)
|
|
return record
|
|
|
|
|
|
def UPDATE_VERIFY_CODE(email, data):
|
|
"""
|
|
查询验证记录
|
|
Parameters:
|
|
email: 邮箱
|
|
data: 要更新的数据
|
|
Returns:
|
|
record: 记录
|
|
"""
|
|
collection = client['应用端']['邮箱验证码记录']
|
|
collection.update_one({"邮箱": email}, {"$set": data}, upsert=True)
|
|
|
|
|
|
def CLEAN_VERIFY_CODE(email):
|
|
"""
|
|
清除验证码和验证时间戳
|
|
Parameters:
|
|
email: 邮箱
|
|
Returns:
|
|
-
|
|
"""
|
|
UPDATE_VERIFY_CODE(email, {"验证码": None, "验证有效期": None})
|
|
|
|
|
|
def FIND_USER_INFO(param):
|
|
"""
|
|
查询用户信息
|
|
Parameters:
|
|
param: 查询条件
|
|
Returns:
|
|
record: 记录
|
|
"""
|
|
collection = client['应用端']['企业用户']
|
|
data = collection.find(param, {'_id': False})
|
|
record = list(data)
|
|
return record
|
|
|
|
|
|
def INSERT_USER_INFO(data):
|
|
"""
|
|
插入一条用户信息
|
|
Parameters:
|
|
data: 用户信息对象
|
|
Returns:
|
|
-
|
|
"""
|
|
collection = client['应用端']['企业用户']
|
|
collection.insert_one(data)
|
|
|
|
|
|
def UPDATE_USER_INFO_BY_CID(cid, data):
|
|
"""
|
|
更新用户信息
|
|
Parameters:
|
|
cid: 企业ID
|
|
data: 更新数据
|
|
Returns:
|
|
info: 信息
|
|
"""
|
|
collection = client['应用端']['企业用户']
|
|
collection.update_one({"企业ID": cid}, {"$set": data})
|
|
|
|
|
|
def FIND_FILE(bucket, file_id):
|
|
"""
|
|
读取一个文件
|
|
Parameters:
|
|
bucket:
|
|
file_id:
|
|
Returns:
|
|
data 文件二进制
|
|
"""
|
|
# 实例化一个文件存储器
|
|
gfs = GridFS(client['文件'], collection=bucket)
|
|
# 二进制读取文件
|
|
data = gfs.get(ObjectId(file_id)).read()
|
|
# 返回文件二进制流
|
|
return data
|
|
|
|
|
|
def INSERT_FILE(bucket, file_stream, content_type, filename):
|
|
"""
|
|
插入一个文件
|
|
Returns:
|
|
obj_id 文件ID
|
|
"""
|
|
# 实例化一个文件存储器
|
|
gfs = GridFS(client['文件'], bucket)
|
|
# 保存文件
|
|
obj_id = gfs.put(file_stream, content_type=content_type, filename=filename)
|
|
# 返回文件的obj_id
|
|
return str(obj_id)
|
|
|
|
|
|
def DELETE_FILE(bucket, file_id):
|
|
# 实例化一个文件存储器
|
|
gfs = GridFS(client['文件'], collection=bucket)
|
|
# 删除文件
|
|
gfs.delete(ObjectId(file_id))
|
|
|
|
|
|
def FIND_FID_IN_RATING_RECORD(cid):
|
|
"""
|
|
在评价记录中根据企业ID查询文件ID
|
|
Parameters:
|
|
cid: 企业ID
|
|
Returns:
|
|
record: 记录
|
|
"""
|
|
collection = client['企业数据']['评价记录']
|
|
data = collection.find({"企业ID": cid}, {'_id': False, "报告fid": 1, "证书fid": 1})
|
|
record = list(data)
|
|
return record
|