1.优化反馈,面试

This commit is contained in:
李伟 2022-11-03 15:22:14 +08:00
parent 85311dbd2d
commit 728fad2cc7
2 changed files with 28 additions and 19 deletions

View File

@ -2545,6 +2545,7 @@ async def add_interviewee(
for us in [name, hr]: for us in [name, hr]:
for i in us: for i in us:
survey[i['user_id']] = { survey[i['user_id']] = {
"user_id": i['user_id'],
"name": i['nickname'], "name": i['nickname'],
"voice": 0, "voice": 0,
"thought": 0, "thought": 0,
@ -2841,24 +2842,27 @@ async def interview_teacher(
@router.post("/up_teacher") @router.post("/up_teacher")
async def interview_teacher( async def interview_teacher(
request: Request, request: Request,
data_in: schemas.feedback, data_in: schemas.Feedback,
ckdb: CKDrive = Depends(get_ck_db), ckdb: CKDrive = Depends(get_ck_db),
db: AsyncIOMotorDatabase = Depends(get_database), db: AsyncIOMotorDatabase = Depends(get_database),
current_user: schemas.UserDB = Depends(deps.get_current_user) current_user: schemas.UserDB = Depends(deps.get_current_user)
) -> schemas.Msg: ) -> schemas.Msg:
""" 修改面试反馈 """ """ 修改面试反馈 """
data = await crud.feedback.one_feedback(db, {'uid': data_in.uid}) if current_user.name == 'root':
for k, v in data['survey'].items(): return schemas.Msg(code=200, msg='root账号不允许修改', data='')
if k == list(data_in.survey.keys())[0]: data = await crud.feedback.all_feedback(db, {'uid': data_in.uid})
data['survey'][k] = data_in.survey[k] for i in data:
data['survey'][k]['type'] = True for k, v in i['survey'].items(): # 修改数据
if k == data_in.survey['user_id']:
await crud.feedback.up_feedback(db, schemas.Feedback(uid=data_in.uid, survey=data['survey'])) i['survey'][k] = data_in.survey
res = await crud.feedback.one_feedback(db, {'uid': data_in.uid}) i['survey'][k]['type'] = True
teacher_back = [v['teacher_back'] for v in res['survey'].values()] id = i['_id']
types = [v['type'] for v in res['survey'].values()] await crud.feedback.up_feedback(db, _id=str(id), survey=i['survey'])
res = await crud.feedback.one_feedback(db, {'relevancy_id': data_in.relevancy_id})
teacher_back = [v['teacher_back'] for v in res[0]['survey'].values()]
types = [v['type'] for v in res[0]['survey'].values()]
if 0 not in teacher_back and False not in types: # 当所有的反馈都处理完后,修改简历状态 if 0 not in teacher_back and False not in types: # 当所有的反馈都处理完后,修改简历状态
up_sql = f"""ALTER TABLE HR.resumes update teacher_state = 2 WHERE uid = '{data_in.uid}'""" up_sql = f"""ALTER TABLE HR.resumes update teacher_state = 2,feedback = 1 WHERE uid = '{data_in.uid}'"""
await ckdb.execute(up_sql) await ckdb.execute(up_sql)
return schemas.Msg(code=200, msg='ok', data='') return schemas.Msg(code=200, msg='ok', data='')
@ -3217,10 +3221,14 @@ async def send_talent_pool(
current_user: schemas.UserDB = Depends(deps.get_current_user) current_user: schemas.UserDB = Depends(deps.get_current_user)
) -> schemas.Msg: ) -> schemas.Msg:
"""把人才库的人推到人才推荐中,并给每个人发送邮件""" """把人才库的人推到人才推荐中,并给每个人发送邮件"""
email=[i['mail'] for i in data_in.send] email = [i['mail'] for i in data_in.send]
str_msg=f"""亲爱的{1}\n最近工作还顺利吗好久不见我是武汉乐谷在线科技有限公司的HR最近我们正在招聘以下职位与您匹配值非常高。\n str_msg = f"""亲爱的{1}\n最近工作还顺利吗好久不见我是武汉乐谷在线科技有限公司的HR最近我们正在招聘以下职位与您匹配值非常高。\n
我们期待您的投递祝您生活愉快""" 我们期待您的投递祝您生活愉快"""
for i in email: for i in email:
if i != '': if i != '':
send_affix_mail(str_msg,i) send_affix_mail(str_msg, i)
uid = [i['uid'] for i in data_in.send]
for i in uid:
up_sql = f"""ALTER TABLE HR.resumes update interview_stage = 0 WHERE uid = '{i}'"""
await ckdb.execute(up_sql)
return schemas.Msg(code=200, msg='ok', data='') return schemas.Msg(code=200, msg='ok', data='')

View File

@ -1,3 +1,4 @@
from bson import ObjectId
from motor.motor_asyncio import AsyncIOMotorDatabase from motor.motor_asyncio import AsyncIOMotorDatabase
import schemas import schemas
from crud.base import CRUDBase from crud.base import CRUDBase
@ -9,17 +10,17 @@ from utils import get_uid
class CRUDfeedback(CRUDBase): class CRUDfeedback(CRUDBase):
# 获取所有数据 # 获取所有数据
async def all_xiangmu(self, db: AsyncIOMotorDatabase): async def all_feedback(self, db: AsyncIOMotorDatabase,where):
return await self.find_many(db, {}) return await self.find_many(db, where)
# 获取对应条件的数据 # 获取对应条件的数据
async def one_feedback(self, db: AsyncIOMotorDatabase,where): async def one_feedback(self, db: AsyncIOMotorDatabase,where):
return await self.find_many(db, where,{'_id':0}) return await self.find_many(db, where,{'_id':0})
# 修改数据 # 修改数据
async def up_feedback(self, db: AsyncIOMotorDatabase, data_in: schemas.Feedback): async def up_feedback(self, db: AsyncIOMotorDatabase, _id,survey):
await self.update_one(db, {'uid': data_in.uid}, {'$set': {'survey': data_in.survey}}) await self.update_one(db, {'_id': ObjectId(_id)}, {'$set': {'survey':survey}})
# 插入数据 # 插入数据
async def ins_feedback(self, db: AsyncIOMotorDatabase, data_in: schemas.Feedback): async def ins_feedback(self, db: AsyncIOMotorDatabase, data_in: schemas.Feedback):