From e79f61a6a6c51657031d7924354ee35f12294d3e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E4=BC=9F?= <250213850@qq.com> Date: Mon, 25 Jul 2022 18:12:56 +0800 Subject: [PATCH] 1. --- api/api_v1/endpoints/interview.py | 42 +++++++++++++++++++++++-------- schemas/email_record.py | 2 ++ utils/dingding.py | 3 ++- 3 files changed, 36 insertions(+), 11 deletions(-) diff --git a/api/api_v1/endpoints/interview.py b/api/api_v1/endpoints/interview.py index 76ac99f..82b0742 100644 --- a/api/api_v1/endpoints/interview.py +++ b/api/api_v1/endpoints/interview.py @@ -245,19 +245,19 @@ async def interview_insert( if data_in.time_type == 'now': # 查询返回的数据一共多少条 len_sql = f"""select uid from HR.resumes where {where} and toDate(star_time) == '{times}' ORDER BY event_time""" - sql = f"""select interview_round,interview_type,star_time,end_time,name,phone,job_name,hr_name, + sql = f"""select interview_round,interview_type,star_time,end_time,name,phone,job_names,hr_name,uid, feedback,interview_name from HR.resumes where {where} and toDate(star_time) == '{times}' ORDER BY event_time LIMIT 10 OFFSET {(data_in.pages - 1) * 10}""" # 明天及之后的面试 elif data_in.time_type == 'tomorrow': len_sql = f"""select uid from HR.resumes where {where} and toDate(star_time) > '{times}' ORDER BY event_time""" - sql = f"""select interview_round,interview_type,star_time,end_time,name,phone,job_name,hr_name, + sql = f"""select interview_round,interview_type,star_time,end_time,name,phone,job_names,hr_name,uid, feedback,interview_name from HR.resumes where {where} and toDate(star_time) > '{times}' ORDER BY event_time LIMIT 10 OFFSET {(data_in.pages - 1) * 10}""" # 昨天及以前的面试 else: len_sql = f"""select uid from HR.resumes where {where} and toDate(star_time) < '{times}' ORDER BY event_time""" - sql = f"""select interview_round,interview_type,star_time,end_time,name,phone,job_name,hr_name, + sql = f"""select interview_round,interview_type,star_time,end_time,name,phone,job_names,hr_name,uid, feedback,interview_name from HR.resumes where {where} and toDate(star_time) < '{times}' ORDER BY event_time LIMIT 10 OFFSET {(data_in.pages - 1) * 10}""" if where == '': @@ -268,10 +268,32 @@ async def interview_insert( len_date = len(df_len) df = await ckdb.query_dataframe(sql) if df.empty: - return schemas.Msg(code=-9, msg='无数据', data='') + data = {'lens': 0, + 'data': [] + } + return schemas.Msg(code=-9, msg='无数据', data=data) + datas = [] + for i in range(len(df)): + dates = {} + dates['key'] = df['uid'][i] + date = {} # 面试信息 + date['interview_round'] = int(df['interview_round'][i]) + date['interview_type'] = int(df['interview_type'][i]) + noe = str(df['end_time'][i]).split(' ')[-1] + timess = str(df['star_time'][i]) + '~' + noe + date['time'] = timess + dates['msg']=date + dates['name']=df['name'][i] + dates['phone']=df['phone'][i] + dates['job_names']=df['job_names'][i] + dates['hr_name']=df['hr_name'][i] + date1={} + date1['type']=int(df['feedback'][i]) + date1['name']=df['interview_name'][i] + dates['type']=date1 + datas.append(dates) data = {'lens': len_date, - 'columns': df.columns.tolist(), - 'values': df.values.tolist() + 'data': datas } return schemas.Msg(code=200, msg='ok', data=data) @@ -449,12 +471,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,name=data_in.name,state=1)) + times=now_time, name=data_in.name, state=1,read_status=0,type='email')) 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)) + times=now_time, name=data_in.name, state=0,read_status=0,type='email')) return schemas.Msg(code=200, msg='邮件发送失败', data='') @@ -664,8 +686,8 @@ async def event_edit( )) 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(系统邮件,请勿回复) + 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='') diff --git a/schemas/email_record.py b/schemas/email_record.py index 5f6bb58..448d1f6 100644 --- a/schemas/email_record.py +++ b/schemas/email_record.py @@ -7,6 +7,8 @@ class email_record(BaseModel): text: str # 邮件的文本内容 times: str # 发送邮件的时间 state: int # 邮件是否发送成功 + read_status:int #是否已读 + type: str class get_email_record(BaseModel): diff --git a/utils/dingding.py b/utils/dingding.py index 471b51e..2c85aac 100644 --- a/utils/dingding.py +++ b/utils/dingding.py @@ -210,4 +210,5 @@ def send_dates(content,userid_list): requests.post(url=url, params=query, data=json_data) if __name__ == '__main__': - pass \ No newline at end of file + a=get_redis_alluid() + print(a) \ No newline at end of file