diff --git a/api/api_v1/endpoints/interview.py b/api/api_v1/endpoints/interview.py index 3bdd38f..010a8fb 100644 --- a/api/api_v1/endpoints/interview.py +++ b/api/api_v1/endpoints/interview.py @@ -2538,8 +2538,8 @@ async def add_interviewee( 'read_status': 0, # 读取状态 'back_status': 0, # 反馈状态 'type': 'interview', # 记录的类型 - 'relevancy_id' : relevancy_id # 标识,关联面试反馈用 - }) + 'relevancy_id': relevancy_id # 标识,关联面试反馈用 + }) # 创建空白的面试反馈到mdb数据库 survey = {} for us in [name, hr]: @@ -2552,7 +2552,7 @@ async def add_interviewee( "evaluate": "", "teacher_back": 0, 'type': False} - await crud.feedback.ins_feedback(db, schemas.Feedback(uid=data_in.uid, survey=survey,relevancy_id=relevancy_id)) + await crud.feedback.ins_feedback(db, schemas.Feedback(uid=data_in.uid, survey=survey, relevancy_id=relevancy_id)) return schemas.Msg(code=200, msg='ok', data='') @@ -2841,7 +2841,7 @@ async def interview_teacher( @router.post("/up_teacher") async def interview_teacher( request: Request, - data_in: schemas.Feedback, + data_in: schemas.feedback, ckdb: CKDrive = Depends(get_ck_db), db: AsyncIOMotorDatabase = Depends(get_database), current_user: schemas.UserDB = Depends(deps.get_current_user) @@ -2886,18 +2886,18 @@ async def hint( """个人面试记录""" res = [] interview = await crud.interview_record.all_fields(db, {'uid': data_in.uid}) - #面试反馈 + # 面试反馈 data = await crud.feedback.one_feedback(db, {'uid': data_in.uid}) for i in interview: i.pop('_id') for ii in data: - if i['relevancy_id'] == ii ['relevancy_id']: - survey=[] - for k,v in ii['survey'].items(): - vlave=v - vlave['user_id']=k + if i['relevancy_id'] == ii['relevancy_id']: + survey = [] + for k, v in ii['survey'].items(): + vlave = v + vlave['user_id'] = k survey.append(vlave) - i['survey']=survey + i['survey'] = survey res.append(i) data = sorted(res, key=operator.itemgetter('times')) return schemas.Msg(code=200, msg='ok', data=data) @@ -2913,6 +2913,7 @@ async def talent_pool( ) -> schemas.Msg: """获取人才库数据,分页查询""" find_column = ["uid", "gender", "at_school", "name", "event_time", "education", "school", "specialty", "work_list", + "mail", "work_exp", "job_id", "job_names", "ago", "age", "pass_time", "job_name", "pass_why", "pass_text"] find_columns = ','.join(find_column) if data_in.date != {}: @@ -3205,3 +3206,21 @@ async def option_data( _num = _nu[0]['values'] data = {'now': num, 'candidate': _num} return schemas.Msg(code=200, msg='ok', data=data) + + +@router.get("/send_talent_pool") +async def send_talent_pool( + request: Request, + data_in: schemas.send_list, + ckdb: CKDrive = Depends(get_ck_db), + db: AsyncIOMotorDatabase = Depends(get_database), + current_user: schemas.UserDB = Depends(deps.get_current_user) +) -> schemas.Msg: + """把人才库的人推到人才推荐中,并给每个人发送邮件""" + email=[i['mail'] for i in data_in.send] + str_msg=f"""亲爱的{1}:\n最近工作还顺利吗?好久不见,我是武汉乐谷在线科技有限公司的HR,最近我们正在招聘以下职位,与您匹配值非常高。\n + 我们期待您的投递,祝您生活愉快!""" + for i in email: + if i != '': + send_affix_mail(str_msg,i) + return schemas.Msg(code=200, msg='ok', data='') diff --git a/schemas/feedback.py b/schemas/feedback.py index d3bc03e..89331fe 100644 --- a/schemas/feedback.py +++ b/schemas/feedback.py @@ -5,6 +5,11 @@ from typing import List class Feedback(BaseModel): survey: dict # 存储的面试反馈 uid: str # 求职者唯一id - relevancy_id:str + relevancy_id: str # 面试的记录的关联id # survey数据 # {'voice':1,'thought':1,'diathesis':1,'evaluate':'评价','teacher_back':1} + + +class feedback(BaseModel): + survey: dict # 存储的面试反馈 + uid: str # 求职者唯一id diff --git a/schemas/interview_plan.py b/schemas/interview_plan.py index de2c95b..0c7ba3f 100644 --- a/schemas/interview_plan.py +++ b/schemas/interview_plan.py @@ -181,5 +181,9 @@ class record(BaseModel): class find(BaseModel): - date: dict={} # 查询条件 + date: dict = {} # 查询条件 pages: int = 1 # 分页的当前页 + + +class send_list(BaseModel): + send:List[dict]