1.优化
This commit is contained in:
parent
cf9408449b
commit
ccd1d7a649
@ -373,10 +373,13 @@ async def event_edit(
|
|||||||
ckdb: CKDrive = Depends(get_ck_db)
|
ckdb: CKDrive = Depends(get_ck_db)
|
||||||
) -> schemas.Msg:
|
) -> 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"""
|
sql = f"""
|
||||||
select name,phone,job_name,work_exp,owner_name,education,work_undergo,school,specialty,
|
select * from HR.resumes WHERE uid = '{data_in.uid}'
|
||||||
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}'
|
|
||||||
"""
|
"""
|
||||||
df = await ckdb.query_dataframe(sql)
|
df = await ckdb.query_dataframe(sql)
|
||||||
data = {}
|
data = {}
|
||||||
@ -446,9 +449,12 @@ async def event_edit(
|
|||||||
# 保存发送邮件的记录
|
# 保存发送邮件的记录
|
||||||
now_time = str(datetime.now()).split('.')[0]
|
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,
|
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='')
|
return schemas.Msg(code=200, msg='邮件发送成功', data='')
|
||||||
except Exception:
|
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='')
|
return schemas.Msg(code=200, msg='邮件发送失败', data='')
|
||||||
|
|
||||||
|
|
||||||
@ -558,6 +564,7 @@ async def event_edit(
|
|||||||
data_dict = {}
|
data_dict = {}
|
||||||
data_dict['name'] = i.get('name')
|
data_dict['name'] = i.get('name')
|
||||||
data_dict['email'] = i.get('email')
|
data_dict['email'] = i.get('email')
|
||||||
|
data_dict['rank'] = i.get('rank') # 用于区分是面试官还是hr
|
||||||
data.append(data_dict)
|
data.append(data_dict)
|
||||||
return schemas.Msg(code=200, msg='ok', data=data)
|
return schemas.Msg(code=200, msg='ok', data=data)
|
||||||
|
|
||||||
@ -585,7 +592,7 @@ async def create(
|
|||||||
except pymongo.errors.DuplicateKeyError:
|
except pymongo.errors.DuplicateKeyError:
|
||||||
return schemas.Msg(code=-1, msg='看板已存在', data='看板已存在')
|
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")
|
@router.post("/delete")
|
||||||
@ -599,7 +606,7 @@ async def delete(
|
|||||||
del_dashboard = await crud.dashboard.delete(db, {'_id': {'$in': data_in.ids}})
|
del_dashboard = await crud.dashboard.delete(db, {'_id': {'$in': data_in.ids}})
|
||||||
if del_dashboard.deleted_count == 0:
|
if del_dashboard.deleted_count == 0:
|
||||||
return schemas.Msg(code=-1, msg='error', data='删除失败')
|
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")
|
@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})
|
reports_detail = await crud.report.find_many(db, {'_id': {'$in': list(reports.keys())}}, {'query.cachedata': False})
|
||||||
for item in reports_detail:
|
for item in reports_detail:
|
||||||
reports[item['_id']].update(item)
|
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")
|
@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}})
|
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")
|
@router.post("/notarize")
|
||||||
@ -641,7 +648,7 @@ async def event_edit(
|
|||||||
"""
|
"""
|
||||||
await ckdb.execute(sql)
|
await ckdb.execute(sql)
|
||||||
find_sql = f"""
|
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)
|
df = await ckdb.query_dataframe(find_sql)
|
||||||
# 存份面试数据到mongodb
|
# 存份面试数据到mongodb
|
||||||
@ -655,6 +662,12 @@ async def event_edit(
|
|||||||
job_id=df['job_id'][0], # 我们自己招聘的职位id
|
job_id=df['job_id'][0], # 我们自己招聘的职位id
|
||||||
job_names=df['job_names'][0] # 我们自己招聘的职位名
|
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='')
|
return schemas.Msg(code=200, msg='ok', data='')
|
||||||
|
|
||||||
|
|
||||||
@ -663,7 +676,7 @@ async def edit(
|
|||||||
data_in: schemas.Stage,
|
data_in: schemas.Stage,
|
||||||
ckdb: CKDrive = Depends(get_ck_db),
|
ckdb: CKDrive = Depends(get_ck_db),
|
||||||
db: AsyncIOMotorDatabase = Depends(get_database)
|
db: AsyncIOMotorDatabase = Depends(get_database)
|
||||||
):
|
) -> schemas.Msg:
|
||||||
"""更改简历阶段"""
|
"""更改简历阶段"""
|
||||||
if data_in.stage == 1: # 初筛
|
if data_in.stage == 1: # 初筛
|
||||||
sql = f"""
|
sql = f"""
|
||||||
@ -674,4 +687,43 @@ async def edit(
|
|||||||
ALTER table HR.resumes update interview_stage = {data_in.stage} WHERE uid = '{data_in.uid}'
|
ALTER table HR.resumes update interview_stage = {data_in.stage} WHERE uid = '{data_in.uid}'
|
||||||
"""
|
"""
|
||||||
await ckdb.execute(sql)
|
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(
|
await db[self.coll_name].create_index(
|
||||||
[('project_id', pymongo.DESCENDING), ('name', pymongo.DESCENDING), ('user_id', pymongo.DESCENDING)],
|
[('project_id', pymongo.DESCENDING), ('name', pymongo.DESCENDING), ('user_id', pymongo.DESCENDING)],
|
||||||
unique=True)
|
unique=True)
|
||||||
|
async def find_report(self, db: AsyncIOMotorDatabase,user_id):
|
||||||
|
await self.find(db, {'user_id': user_id}, {})
|
||||||
|
|
||||||
dashboard = CRUDDashboard('dashboard')
|
dashboard = CRUDDashboard('dashboard')
|
||||||
|
@ -89,6 +89,7 @@ api:/api/v1/itr/send_str_mail
|
|||||||
请求方式:post
|
请求方式:post
|
||||||
参数:
|
参数:
|
||||||
user_id: str # 接收者的唯一id
|
user_id: str # 接收者的唯一id
|
||||||
|
name: str # 接收者的名字
|
||||||
email: str # 接收者的邮箱
|
email: str # 接收者的邮箱
|
||||||
email_str: str # 需要发送的文本内容
|
email_str: str # 需要发送的文本内容
|
||||||
|
|
||||||
@ -193,6 +194,8 @@ api:/api/v1/itr/notarize
|
|||||||
uid: str # 面试者简历在CK中的唯一标识
|
uid: str # 面试者简历在CK中的唯一标识
|
||||||
hr_name: str
|
hr_name: str
|
||||||
hr_id: str
|
hr_id: str
|
||||||
|
hr_phone: str
|
||||||
|
hr_email:str
|
||||||
interview_name: str
|
interview_name: str
|
||||||
interview_id: str
|
interview_id: str
|
||||||
|
|
||||||
|
@ -3,8 +3,10 @@ from pydantic import BaseModel
|
|||||||
|
|
||||||
class email_record(BaseModel):
|
class email_record(BaseModel):
|
||||||
user_id: str # 求职者的唯一id
|
user_id: str # 求职者的唯一id
|
||||||
|
name: str # 求职者名字
|
||||||
text: str # 邮件的文本内容
|
text: str # 邮件的文本内容
|
||||||
times: str # 发送邮件的时间
|
times: str # 发送邮件的时间
|
||||||
|
state: int # 邮件是否发送成功
|
||||||
|
|
||||||
|
|
||||||
class get_email_record(BaseModel):
|
class get_email_record(BaseModel):
|
||||||
|
@ -50,6 +50,7 @@ class Email_str(BaseModel):
|
|||||||
|
|
||||||
class send_str_mail(BaseModel):
|
class send_str_mail(BaseModel):
|
||||||
user_id: str # 接收者的唯一id
|
user_id: str # 接收者的唯一id
|
||||||
|
name: str # 接收者的名字
|
||||||
email: str # 接收者的邮箱
|
email: str # 接收者的邮箱
|
||||||
email_str: str # 需要发送的文本内容
|
email_str: str # 需要发送的文本内容
|
||||||
|
|
||||||
@ -69,5 +70,7 @@ class Notarize(BaseModel):
|
|||||||
uid: str # 面试者简历在CK中的唯一标识
|
uid: str # 面试者简历在CK中的唯一标识
|
||||||
hr_name: str
|
hr_name: str
|
||||||
hr_id: str
|
hr_id: str
|
||||||
|
hr_phone: str
|
||||||
|
hr_email: str
|
||||||
interview_name: str
|
interview_name: str
|
||||||
interview_id: str
|
interview_id: str
|
||||||
|
Loading…
Reference in New Issue
Block a user