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')