1.获取钉钉用户id
2.催促面试官反馈功能
This commit is contained in:
parent
c3694e3b59
commit
125f0be03f
@ -4,6 +4,8 @@ import re
|
||||
import pandas as pd
|
||||
from fastapi import APIRouter, Depends, Request, File, UploadFile
|
||||
from motor.motor_asyncio import AsyncIOMotorDatabase
|
||||
|
||||
from utils.dingding import get_redis_alluid, send_dates
|
||||
from utils.jianli import get_resume
|
||||
import crud, schemas
|
||||
from datetime import datetime
|
||||
@ -464,3 +466,30 @@ async def event_edit(
|
||||
# 对时间进行排序
|
||||
data = sorted(data, key=operator.itemgetter('times'))
|
||||
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
|
||||
参数:
|
||||
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: str # 需要发送的文本内容
|
||||
|
||||
|
||||
class user_id(BaseModel):
|
||||
user_id: List[str] # 钉钉接收者的唯一id
|
||||
name: str # 求职者姓名
|
||||
|
@ -1,9 +1,16 @@
|
||||
import json
|
||||
|
||||
import redis
|
||||
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():
|
||||
"""
|
||||
@ -175,3 +182,32 @@ def get_redis_alluid():
|
||||
user=redisuid.decode()
|
||||
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