From b993f3251e9cb92480f65da2e32656cca807b807 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E4=BC=9F?= <250213850@qq.com> Date: Wed, 27 Jul 2022 11:07:26 +0800 Subject: [PATCH] =?UTF-8?q?1.=E9=9D=A2=E8=AF=95=E7=9B=B8=E5=85=B3=E6=8F=90?= =?UTF-8?q?=E9=86=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/api_v1/endpoints/interview.py | 31 ++++++++++++++++++++++++++++++- core/config.py | 2 +- crud/crud_email_record.py | 21 ++++++++++++--------- liwei_接口文档.md | 12 +++++++++++- schemas/email_record.py | 12 ++++++++++++ schemas/interview_plan.py | 4 ++++ 6 files changed, 70 insertions(+), 12 deletions(-) diff --git a/api/api_v1/endpoints/interview.py b/api/api_v1/endpoints/interview.py index c47c027..6d4fed0 100644 --- a/api/api_v1/endpoints/interview.py +++ b/api/api_v1/endpoints/interview.py @@ -611,6 +611,7 @@ async def event_edit( @router.post("/create") async def create( + request: Request, data_in: schemas.DashboardCreate, db: AsyncIOMotorDatabase = Depends(get_database), current_user: schemas.UserDB = Depends(deps.get_current_user) @@ -655,6 +656,7 @@ async def dashboards(request: Request, @router.post("/edit") async def edit( + request: Request, data_in: schemas.EditDashboard, db: AsyncIOMotorDatabase = Depends(get_database), current_user: schemas.UserDB = Depends(deps.get_current_user) @@ -702,6 +704,7 @@ async def event_edit( @router.post("/alter") async def edit( + request: Request, data_in: schemas.Stage, ckdb: CKDrive = Depends(get_ck_db), db: AsyncIOMotorDatabase = Depends(get_database) @@ -721,6 +724,7 @@ async def edit( @router.post("/get_report") async def edit( + request: Request, data_in: schemas.Findreport, ckdb: CKDrive = Depends(get_ck_db), db: AsyncIOMotorDatabase = Depends(get_database) @@ -733,6 +737,7 @@ async def edit( @router.post("/create_report") async def edit( + request: Request, data_in: schemas.ReportCreate, ckdb: CKDrive = Depends(get_ck_db), db: AsyncIOMotorDatabase = Depends(get_database) @@ -765,7 +770,8 @@ async def edit( @router.post("/edit_report") -async def edit_report(data_in: schemas.EditReport, +async def edit_report(request: Request, + data_in: schemas.EditReport, db: AsyncIOMotorDatabase = Depends(get_database) ) -> schemas.Msg: """看板样式设置""" @@ -787,3 +793,26 @@ async def event_edit( """ await ckdb.execute(sql) return schemas.Msg(code=200, msg='ok', data='') + + +@router.get("/hint") +async def edit_report( + request: Request, + db: AsyncIOMotorDatabase = Depends(get_database) +) -> schemas.Msg: + """重要事项-面试相关""" + res = await crud.email_record.all_hint(db) + data = sorted(res, key=operator.itemgetter('times')) + return schemas.Msg(code=200, msg='ok', data=data) + + +@router.post("/up_hint") +async def event_edit( + request: Request, + data_in: schemas.Up_hint, + ckdb: CKDrive = Depends(get_ck_db), + db: AsyncIOMotorDatabase = Depends(get_database) +) -> schemas.Msg: + """批量修改已读状态""" + await crud.email_record.up_hint(db, data_in) + return schemas.Msg(code=200, msg='ok', data='') diff --git a/core/config.py b/core/config.py index 4d4b989..4be3132 100644 --- a/core/config.py +++ b/core/config.py @@ -404,7 +404,7 @@ class Email(Settings): # DATABASE_URI = f'mongodb://{MDB_USER}:{MDB_PASSWORD}@{MDB_HOST}:{MDB_PORT}/admin' # 本地MongoDB的库测试 class Debug(Settings): - MDB_HOST: str = '10.0.0.240' + MDB_HOST: str = '127.0.0.1' MDB_PORT: int = 27017 MDB_DB: str = 'hr_system' diff --git a/crud/crud_email_record.py b/crud/crud_email_record.py index 1924f70..cae056b 100644 --- a/crud/crud_email_record.py +++ b/crud/crud_email_record.py @@ -1,3 +1,5 @@ +import uuid + from motor.motor_asyncio import AsyncIOMotorDatabase import schemas from crud.base import CRUDBase @@ -9,20 +11,21 @@ from utils import get_uid class Email_record(CRUDBase): # 获取对应求职者的邮件发送数据 - async def all_record(self, db: AsyncIOMotorDatabase,data_in: schemas.get_email_record): - return await self.find_many(db, {'user_id':data_in.user_id},{'_id': 0}) + async def all_record(self, db: AsyncIOMotorDatabase, data_in: schemas.get_email_record): + return await self.find_many(db, {'user_id': data_in.user_id}, {'_id': 0}) + + # 获取所有数据 + async def all_hint(self, db: AsyncIOMotorDatabase): + return await self.find_many(db, {}) # 修改数据 - # async def update(self, db: AsyncIOMotorDatabase, data_in: schemas.AddProjectnumber): - # game = data_in.game - # add_ditch = [] - # for member in data_in.ditch: - # add_ditch.append(member.dict()) - # await self.update_one(db, {'game': game}, {'$set': {'ditch': add_ditch}}) + async def up_hint(self, db: AsyncIOMotorDatabase, data_in: schemas.Up_hint): + await self.update_many(db, {'_id': {'$in': data_in.hint_id}}, {'$set': {'read_status': 1}}) # 插入数据 async def create(self, db: AsyncIOMotorDatabase, data_in: schemas.email_record): - await self.insert_one(db, data_in.dict()) + data_ins = schemas.email_records(**data_in.dict(), _id=uuid.uuid1().hex) + await self.insert_one(db, data_ins.dict(by_alias=True)) email_record = Email_record('email_record') diff --git a/liwei_接口文档.md b/liwei_接口文档.md index 01aff3a..c8cebcc 100644 --- a/liwei_接口文档.md +++ b/liwei_接口文档.md @@ -242,4 +242,14 @@ api:/api/v1/itr/head 请求方式:post 参数: uid: str # 面试者简历在CK中的唯一标识 - head_id: str # 头像链接 \ No newline at end of file + head_id: str # 头像链接 + +#重要事项-面试相关 +api:/api/v1/itr/hint +请求方式:get + +#批量修改已读状态 +api:/api/v1/itr/up_hint +请求方式:post +参数: + hint_id: List[str] # 要修改已读的数据id \ No newline at end of file diff --git a/schemas/email_record.py b/schemas/email_record.py index 448d1f6..013ccad 100644 --- a/schemas/email_record.py +++ b/schemas/email_record.py @@ -1,5 +1,7 @@ from pydantic import BaseModel +from schemas import DBBase + class email_record(BaseModel): user_id: str # 求职者的唯一id @@ -13,3 +15,13 @@ class email_record(BaseModel): class get_email_record(BaseModel): user_id: str # 求职者的唯一id + + +class email_records(DBBase): + user_id: str # 求职者的唯一id + name: str # 求职者名字 + text: str # 邮件的文本内容 + times: str # 发送邮件的时间 + state: int # 邮件是否发送成功 + read_status:int #是否已读 + type: str \ No newline at end of file diff --git a/schemas/interview_plan.py b/schemas/interview_plan.py index 951dee4..7ce157a 100644 --- a/schemas/interview_plan.py +++ b/schemas/interview_plan.py @@ -79,3 +79,7 @@ class Notarize(BaseModel): class Post_head(BaseModel): uid: str # 面试者简历在CK中的唯一标识 head_id: str # 头像链接 + + +class Up_hint(BaseModel): + hint_id: List[str] # 要修改已读的数据id