tfse-app-api-v0.2/user/db.py

122 lines
2.7 KiB
Python

import pymongo
from bson import ObjectId
from gridfs import GridFS
client = pymongo.MongoClient('mongodb://{}:{}@{}:{}'.format('root', 'sromitdTW569kC#M', '116.63.130.34', 27018))
def find_verify_record(param):
"""
查询验证记录
Parameters:
param: 查询条件
Returns:
record: 记录
"""
collection = client['用户']['验证记录']
data = collection.find(param, {'_id': False})
record = list(data)
return record
def update_verify_record(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_record(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))