1.获取钉钉用户id
2.催促面试官反馈功能
This commit is contained in:
parent
c3694e3b59
commit
125f0be03f
@ -4,6 +4,8 @@ import re
|
|||||||
import pandas as pd
|
import pandas as pd
|
||||||
from fastapi import APIRouter, Depends, Request, File, UploadFile
|
from fastapi import APIRouter, Depends, Request, File, UploadFile
|
||||||
from motor.motor_asyncio import AsyncIOMotorDatabase
|
from motor.motor_asyncio import AsyncIOMotorDatabase
|
||||||
|
|
||||||
|
from utils.dingding import get_redis_alluid, send_dates
|
||||||
from utils.jianli import get_resume
|
from utils.jianli import get_resume
|
||||||
import crud, schemas
|
import crud, schemas
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
@ -464,3 +466,30 @@ async def event_edit(
|
|||||||
# 对时间进行排序
|
# 对时间进行排序
|
||||||
data = sorted(data, key=operator.itemgetter('times'))
|
data = sorted(data, key=operator.itemgetter('times'))
|
||||||
return schemas.Msg(code=200, msg='ok', data=data)
|
return schemas.Msg(code=200, msg='ok', data=data)
|
||||||
|
|
||||||
|
|
||||||
|
@router.get("/get_dding_user")
|
||||||
|
async def event_edit(
|
||||||
|
request: Request,
|
||||||
|
) -> schemas.Msg:
|
||||||
|
"""获取钉钉的用户id"""
|
||||||
|
data = get_redis_alluid()
|
||||||
|
return schemas.Msg(code=200, msg='ok', data=data)
|
||||||
|
|
||||||
|
|
||||||
|
@router.post("/teacher_state")
|
||||||
|
async def event_edit(
|
||||||
|
request: Request,
|
||||||
|
data_in: schemas.user_id,
|
||||||
|
db: AsyncIOMotorDatabase = Depends(get_database)
|
||||||
|
) -> schemas.Msg:
|
||||||
|
"""催促面试官反馈功能"""
|
||||||
|
# 同步钉钉发消息给面试官
|
||||||
|
try:
|
||||||
|
now_time = str(datetime.now()).split('.')[0]
|
||||||
|
content=f"【催促反馈】\n请面试官尽快给{data_in.name}做面试反馈\n提醒时间:{now_time}"
|
||||||
|
send_dates(content,data_in.user_id)
|
||||||
|
return schemas.Msg(code=200, msg='发送成功', data='')
|
||||||
|
except Exception:
|
||||||
|
return schemas.Msg(code=-9, msg='发送失败', data='')
|
||||||
|
|
||||||
|
@ -97,3 +97,31 @@ api:/api/v1/itr/email_record
|
|||||||
请求方式:post
|
请求方式:post
|
||||||
参数:
|
参数:
|
||||||
user_id: str # 求职者的唯一id
|
user_id: str # 求职者的唯一id
|
||||||
|
|
||||||
|
#同步插入操作记录
|
||||||
|
api:/api/v1/itr/operate_log
|
||||||
|
请求方式:post
|
||||||
|
参数:
|
||||||
|
user_id: str # 求职者的唯一id
|
||||||
|
who: str # 谁操作的
|
||||||
|
why: str # 为什么操作
|
||||||
|
content: str # 操作的内容
|
||||||
|
|
||||||
|
#获取操作记录
|
||||||
|
api:/api/v1/itr/get_operate_log
|
||||||
|
请求方式:post
|
||||||
|
参数:
|
||||||
|
user_id: str # 求职者的唯一id
|
||||||
|
|
||||||
|
|
||||||
|
#获取钉钉的用户id
|
||||||
|
api:/api/v1/itr/get_dding_user
|
||||||
|
请求方式:get
|
||||||
|
|
||||||
|
|
||||||
|
#催促面试官反馈功能
|
||||||
|
api:/api/v1/itr/teacher_state
|
||||||
|
请求方式:post
|
||||||
|
参数:
|
||||||
|
user_id: List[str] # 钉钉接收者的唯一id
|
||||||
|
name: str # 求职者姓名
|
@ -52,3 +52,7 @@ class send_str_mail(BaseModel):
|
|||||||
email: str # 接收者的邮箱
|
email: str # 接收者的邮箱
|
||||||
email_str: str # 需要发送的文本内容
|
email_str: str # 需要发送的文本内容
|
||||||
|
|
||||||
|
|
||||||
|
class user_id(BaseModel):
|
||||||
|
user_id: List[str] # 钉钉接收者的唯一id
|
||||||
|
name: str # 求职者姓名
|
||||||
|
@ -1,9 +1,16 @@
|
|||||||
import json
|
import json
|
||||||
|
|
||||||
|
import redis
|
||||||
import requests
|
import requests
|
||||||
from db.redisdb import get_redis_pool
|
|
||||||
|
|
||||||
redisdb = get_redis_pool()
|
|
||||||
|
|
||||||
|
from core.config import Settings
|
||||||
|
Settings=Settings()
|
||||||
|
host=Settings.REDIS_CONF.get('host')
|
||||||
|
port=Settings.REDIS_CONF.get('port')
|
||||||
|
db=Settings.REDIS_CONF.get('db')
|
||||||
|
password=Settings.REDIS_CONF.get('password')
|
||||||
|
#redisdb = redis.Redis(host=host, port=port, db=db,password=password)
|
||||||
|
redisdb = redis.Redis(host=host, port=port, db=db)
|
||||||
|
|
||||||
def get_token():
|
def get_token():
|
||||||
"""
|
"""
|
||||||
@ -175,3 +182,32 @@ def get_redis_alluid():
|
|||||||
user=redisuid.decode()
|
user=redisuid.decode()
|
||||||
return json.loads(user)
|
return json.loads(user)
|
||||||
|
|
||||||
|
def send_dates(content,userid_list):
|
||||||
|
"""
|
||||||
|
发送消息至钉钉的通用模板
|
||||||
|
:param content: 需要发送的内容
|
||||||
|
:param userid_list: 要发送的人的uid,列表
|
||||||
|
:return:
|
||||||
|
"""
|
||||||
|
userid_list = ','.join(userid_list)
|
||||||
|
url = "https://oapi.dingtalk.com/topapi/message/corpconversation/asyncsend_v2"
|
||||||
|
query = {
|
||||||
|
'access_token': get_redistoken()
|
||||||
|
}
|
||||||
|
data = {
|
||||||
|
'agent_id': 792756727,
|
||||||
|
"to_all_user": "false",
|
||||||
|
'userid_list': userid_list,
|
||||||
|
"msg": {
|
||||||
|
"msgtype": "text",
|
||||||
|
"text": {
|
||||||
|
"content": content
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
json_data = json.dumps(data)
|
||||||
|
# 发送消息到钉钉
|
||||||
|
requests.post(url=url, params=query, data=json_data)
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
pass
|
Loading…
Reference in New Issue
Block a user