1.优化
This commit is contained in:
parent
cf9408449b
commit
ccd1d7a649
@ -373,10 +373,13 @@ async def event_edit(
|
||||
ckdb: CKDrive = Depends(get_ck_db)
|
||||
) -> schemas.Msg:
|
||||
"""获取标准版简历"""
|
||||
# sql = f"""
|
||||
# select name,phone,job_name,work_exp,owner_name,education,work_undergo,school,specialty,
|
||||
# graduate_time,mail,account,id_card,gender,nation,age,at_school,specialty_do,hope_money,resume_affix_id,
|
||||
# review,work_list,project_undergo,upgrade,come_time,now_money,work_in_time from HR.resumes WHERE uid = '{data_in.uid}'
|
||||
# """
|
||||
sql = f"""
|
||||
select name,phone,job_name,work_exp,owner_name,education,work_undergo,school,specialty,
|
||||
graduate_time,mail,account,id_card,gender,nation,age,at_school,specialty_do,hope_money,resume_affix_id,
|
||||
review,work_list,project_undergo,upgrade,come_time,now_money,work_in_time from HR.resumes WHERE uid = '{data_in.uid}'
|
||||
select * from HR.resumes WHERE uid = '{data_in.uid}'
|
||||
"""
|
||||
df = await ckdb.query_dataframe(sql)
|
||||
data = {}
|
||||
@ -446,9 +449,12 @@ async def event_edit(
|
||||
# 保存发送邮件的记录
|
||||
now_time = str(datetime.now()).split('.')[0]
|
||||
await crud.email_record.create(db, schemas.email_record(user_id=data_in.user_id, text=data_in.email_str,
|
||||
times=now_time))
|
||||
times=now_time,name=data_in.name,state=1))
|
||||
return schemas.Msg(code=200, msg='邮件发送成功', data='')
|
||||
except Exception:
|
||||
now_time = str(datetime.now()).split('.')[0]
|
||||
await crud.email_record.create(db, schemas.email_record(user_id=data_in.user_id, text=data_in.email_str,
|
||||
times=now_time,name=data_in.name,state=0))
|
||||
return schemas.Msg(code=200, msg='邮件发送失败', data='')
|
||||
|
||||
|
||||
@ -558,6 +564,7 @@ async def event_edit(
|
||||
data_dict = {}
|
||||
data_dict['name'] = i.get('name')
|
||||
data_dict['email'] = i.get('email')
|
||||
data_dict['rank'] = i.get('rank') # 用于区分是面试官还是hr
|
||||
data.append(data_dict)
|
||||
return schemas.Msg(code=200, msg='ok', data=data)
|
||||
|
||||
@ -585,7 +592,7 @@ async def create(
|
||||
except pymongo.errors.DuplicateKeyError:
|
||||
return schemas.Msg(code=-1, msg='看板已存在', data='看板已存在')
|
||||
|
||||
return schemas.Msg(code=0, msg='创建成功', data='')
|
||||
return schemas.Msg(code=200, msg='ok', data='创建成功')
|
||||
|
||||
|
||||
@router.post("/delete")
|
||||
@ -599,7 +606,7 @@ async def delete(
|
||||
del_dashboard = await crud.dashboard.delete(db, {'_id': {'$in': data_in.ids}})
|
||||
if del_dashboard.deleted_count == 0:
|
||||
return schemas.Msg(code=-1, msg='error', data='删除失败')
|
||||
return schemas.Msg(code=0, msg='ok', data='删除成功')
|
||||
return schemas.Msg(code=200, msg='ok', data='删除成功')
|
||||
|
||||
|
||||
@router.post("/get_dashboard")
|
||||
@ -614,7 +621,7 @@ async def dashboards(request: Request,
|
||||
reports_detail = await crud.report.find_many(db, {'_id': {'$in': list(reports.keys())}}, {'query.cachedata': False})
|
||||
for item in reports_detail:
|
||||
reports[item['_id']].update(item)
|
||||
return schemas.Msg(code=0, msg='ok', data=reports)
|
||||
return schemas.Msg(code=200, msg='ok', data='')
|
||||
|
||||
|
||||
@router.post("/edit")
|
||||
@ -625,7 +632,7 @@ async def edit(
|
||||
):
|
||||
"""编辑看板名"""
|
||||
await crud.dashboard.update_one(db, {'_id': data_in.dashboard_id}, {'$set': {'name': data_in.new_name}})
|
||||
return schemas.Msg(code=0, msg='ok', data='ok')
|
||||
return schemas.Msg(code=200, msg='ok', data='')
|
||||
|
||||
|
||||
@router.post("/notarize")
|
||||
@ -641,7 +648,7 @@ async def event_edit(
|
||||
"""
|
||||
await ckdb.execute(sql)
|
||||
find_sql = f"""
|
||||
select uid,name,interview_name,hr_name,star_time,interview_sign,job_id,job_names from HR.resumes where uid = '{data_in.uid}'
|
||||
select uid,name,interview_name,hr_name,star_time,interview_sign,job_id,job_names,mail from HR.resumes where uid = '{data_in.uid}'
|
||||
"""
|
||||
df = await ckdb.query_dataframe(find_sql)
|
||||
# 存份面试数据到mongodb
|
||||
@ -655,6 +662,12 @@ async def event_edit(
|
||||
job_id=df['job_id'][0], # 我们自己招聘的职位id
|
||||
job_names=df['job_names'][0] # 我们自己招聘的职位名
|
||||
))
|
||||
if df['mail'][0] != '':
|
||||
# 发送邮件给面试者通知面试
|
||||
msg=f"""{df['name'][0]},您好\n\n感谢关注乐谷在线科技有限公司!请于{df['star_time'][0]}到公司参见面试。\n联系人:{data_in.hr_name}\n联系电话:{data_in.hr_phone}\n联系邮箱:{
|
||||
data_in.hr_email}\n\n如有问题请用以上联系方式及时与我们沟通,谢谢!\n(系统邮件,请勿回复)
|
||||
"""
|
||||
send_str_mail(msg, df['mail'][0])
|
||||
return schemas.Msg(code=200, msg='ok', data='')
|
||||
|
||||
|
||||
@ -663,7 +676,7 @@ async def edit(
|
||||
data_in: schemas.Stage,
|
||||
ckdb: CKDrive = Depends(get_ck_db),
|
||||
db: AsyncIOMotorDatabase = Depends(get_database)
|
||||
):
|
||||
) -> schemas.Msg:
|
||||
"""更改简历阶段"""
|
||||
if data_in.stage == 1: # 初筛
|
||||
sql = f"""
|
||||
@ -674,4 +687,43 @@ async def edit(
|
||||
ALTER table HR.resumes update interview_stage = {data_in.stage} WHERE uid = '{data_in.uid}'
|
||||
"""
|
||||
await ckdb.execute(sql)
|
||||
return schemas.Msg(code=0, msg='ok', data='ok')
|
||||
return schemas.Msg(code=200, msg='ok', data='')
|
||||
|
||||
|
||||
@router.post("/alter")
|
||||
async def edit(
|
||||
data_in: schemas.Stage,
|
||||
ckdb: CKDrive = Depends(get_ck_db),
|
||||
db: AsyncIOMotorDatabase = Depends(get_database)
|
||||
) -> schemas.Msg:
|
||||
"""获得已添加和未添加的报表"""
|
||||
user_id = ''
|
||||
# 获取自己的报表
|
||||
res = await crud.dashboard.find_report(db, user_id=user_id)
|
||||
# 获取所有的报表
|
||||
|
||||
return schemas.Msg(code=200, msg='ok', data='')
|
||||
|
||||
|
||||
@router.post("/alter")
|
||||
async def edit(
|
||||
data_in: schemas.Stage,
|
||||
ckdb: CKDrive = Depends(get_ck_db),
|
||||
db: AsyncIOMotorDatabase = Depends(get_database)
|
||||
) -> schemas.Msg:
|
||||
"""添加报表"""
|
||||
user_id = ''
|
||||
|
||||
return schemas.Msg(code=200, msg='ok', data='')
|
||||
|
||||
|
||||
@router.post("/alter")
|
||||
async def edit(
|
||||
data_in: schemas.ReportDB,
|
||||
ckdb: CKDrive = Depends(get_ck_db),
|
||||
db: AsyncIOMotorDatabase = Depends(get_database)
|
||||
) -> schemas.Msg:
|
||||
"""新增原始报表"""
|
||||
user_id = ''
|
||||
await crud.report.create(db, data_in, user_id=user_id)
|
||||
return schemas.Msg(code=200, msg='ok', data='')
|
||||
|
@ -22,6 +22,7 @@ class CRUDDashboard(CRUDBase):
|
||||
await db[self.coll_name].create_index(
|
||||
[('project_id', pymongo.DESCENDING), ('name', pymongo.DESCENDING), ('user_id', pymongo.DESCENDING)],
|
||||
unique=True)
|
||||
|
||||
async def find_report(self, db: AsyncIOMotorDatabase,user_id):
|
||||
await self.find(db, {'user_id': user_id}, {})
|
||||
|
||||
dashboard = CRUDDashboard('dashboard')
|
||||
|
@ -89,6 +89,7 @@ api:/api/v1/itr/send_str_mail
|
||||
请求方式:post
|
||||
参数:
|
||||
user_id: str # 接收者的唯一id
|
||||
name: str # 接收者的名字
|
||||
email: str # 接收者的邮箱
|
||||
email_str: str # 需要发送的文本内容
|
||||
|
||||
@ -190,9 +191,11 @@ api:/api/v1/itr/edit
|
||||
api:/api/v1/itr/notarize
|
||||
请求方式:post
|
||||
参数:
|
||||
uid: str # 面试者简历在CK中的唯一标识
|
||||
uid: str # 面试者简历在CK中的唯一标识
|
||||
hr_name: str
|
||||
hr_id: str
|
||||
hr_phone: str
|
||||
hr_email:str
|
||||
interview_name: str
|
||||
interview_id: str
|
||||
|
||||
|
@ -3,8 +3,10 @@ from pydantic import BaseModel
|
||||
|
||||
class email_record(BaseModel):
|
||||
user_id: str # 求职者的唯一id
|
||||
name: str # 求职者名字
|
||||
text: str # 邮件的文本内容
|
||||
times: str # 发送邮件的时间
|
||||
state: int # 邮件是否发送成功
|
||||
|
||||
|
||||
class get_email_record(BaseModel):
|
||||
|
@ -50,6 +50,7 @@ class Email_str(BaseModel):
|
||||
|
||||
class send_str_mail(BaseModel):
|
||||
user_id: str # 接收者的唯一id
|
||||
name: str # 接收者的名字
|
||||
email: str # 接收者的邮箱
|
||||
email_str: str # 需要发送的文本内容
|
||||
|
||||
@ -69,5 +70,7 @@ class Notarize(BaseModel):
|
||||
uid: str # 面试者简历在CK中的唯一标识
|
||||
hr_name: str
|
||||
hr_id: str
|
||||
hr_phone: str
|
||||
hr_email: str
|
||||
interview_name: str
|
||||
interview_id: str
|
||||
|
Loading…
Reference in New Issue
Block a user