59 lines
2.3 KiB
Python
59 lines
2.3 KiB
Python
import uuid
|
|
|
|
from motor.motor_asyncio import AsyncIOMotorDatabase
|
|
import schemas
|
|
from crud.base import CRUDBase
|
|
|
|
__all__ = 'interview_record',
|
|
|
|
|
|
class CRUDInterview(CRUDBase):
|
|
# 获取所有面试数据
|
|
async def all_field(self, db: AsyncIOMotorDatabase):
|
|
return await self.find_many(db, {})
|
|
|
|
# 获取对应job_id的名字,以及部门, 招聘数量
|
|
async def find_job_some(self, db: AsyncIOMotorDatabase, hr_names):
|
|
return await self.find_many(db, {'hr_name': {"$in": hr_names}},
|
|
{'_id': 0, 'job_names': 1, 'hr_name': 1, 'interview_sign': 1, 'job_id': 1})
|
|
|
|
# 获取对应条件的数据
|
|
async def all_fields(self, db: AsyncIOMotorDatabase, where):
|
|
return await self.find_many(db, where)
|
|
|
|
# 修改面试读取状态
|
|
async def up_interview(self, db: AsyncIOMotorDatabase, data_in: schemas.Up_hint):
|
|
await self.update_many(db, {'_id': {'$in': data_in.hint_id}}, {'$set': {'read_status': 1}})
|
|
|
|
# 修改单条面试数据的back_status
|
|
async def update_back_status(self, db: AsyncIOMotorDatabase, uid, status):
|
|
await self.update_one(db, {'uid': uid}, {'$set': {'back_status': status}})
|
|
|
|
# 获取所有对应条件面试数据
|
|
# async def all_fields(self, db: AsyncIOMotorDatabase, data_in: schemas.Jobs):
|
|
# if data_in == None:
|
|
# return await self.find_many(db, {}, {'_id': 0})
|
|
# else:
|
|
# where = {}
|
|
# data_dict = data_in.dict()
|
|
# for k, v in data_dict.items():
|
|
# if v != None:
|
|
# where[k] = v
|
|
# return await self.find_many(db, where, {'_id': 0})
|
|
|
|
# async def update_job(self, db: AsyncIOMotorDatabase, data_in: schemas.Jobs):
|
|
# update = {}
|
|
# data_dict = data_in.dict()
|
|
# for k, v in data_dict.items():
|
|
# if v != None and k != 'job_id':
|
|
# update[k] = v
|
|
# await self.update_one(db, {'job_id': data_in.job_id}, {'$set': update})
|
|
|
|
# 插入一条新的面试数据数据
|
|
async def insert_record(self, db: AsyncIOMotorDatabase, data_in: schemas.interview_record):
|
|
# data_ins = schemas.interview_records(data_in, _id=uuid.uuid1().hex)
|
|
await self.insert_one(db, data_in)
|
|
|
|
|
|
interview_record = CRUDInterview('interview_record')
|