From c3694e3b59cb2933d8b3165dae87b42e0d8f67b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E4=BC=9F?= <250213850@qq.com> Date: Tue, 19 Jul 2022 11:25:52 +0800 Subject: [PATCH] =?UTF-8?q?1.=E5=90=8C=E6=AD=A5=E6=93=8D=E4=BD=9C=E8=AE=B0?= =?UTF-8?q?=E5=BD=95=202.=E8=8E=B7=E5=8F=96=E6=93=8D=E4=BD=9C=E8=AE=B0?= =?UTF-8?q?=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/api_v1/endpoints/interview.py | 34 +++++++++++++++++++++++++++---- crud/__init__.py | 1 + crud/crud_operate_log.py | 26 +++++++++++++++++++++++ schemas/__init__.py | 3 ++- schemas/email_record.py | 3 --- schemas/operate_log.py | 16 +++++++++++++++ 6 files changed, 75 insertions(+), 8 deletions(-) create mode 100644 crud/crud_operate_log.py create mode 100644 schemas/operate_log.py diff --git a/api/api_v1/endpoints/interview.py b/api/api_v1/endpoints/interview.py index 1f927ed..9af0568 100644 --- a/api/api_v1/endpoints/interview.py +++ b/api/api_v1/endpoints/interview.py @@ -1,3 +1,4 @@ +import operator import os import re import pandas as pd @@ -422,8 +423,9 @@ async def event_edit( # 发送邮件 send_str_mail(data_in.email_str, data_in.email) # 保存发送邮件的记录 - 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)) + 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)) return schemas.Msg(code=200, msg='邮件发送成功', data='') except Exception: return schemas.Msg(code=200, msg='邮件发送失败', data='') @@ -436,5 +438,29 @@ async def event_edit( db: AsyncIOMotorDatabase = Depends(get_database) ) -> schemas.Msg: """获取发送邮件的记录""" - data=await crud.email_record.all_record(db,data_in) - return schemas.Msg(code=200, msg='邮件发送失败', data=data) \ No newline at end of file + data = await crud.email_record.all_record(db, data_in) + return schemas.Msg(code=200, msg='ok', data=data) + + +@router.post("/operate_log") +async def event_edit( + request: Request, + data_in: schemas.operate_log, + db: AsyncIOMotorDatabase = Depends(get_database) +) -> schemas.Msg: + """同步插入操作记录""" + await crud.operate_log.create(db, data_in) + return schemas.Msg(code=200, msg='ok', data='') + + +@router.post("/get_operate_log") +async def event_edit( + request: Request, + data_in: schemas.get_operate_log, + db: AsyncIOMotorDatabase = Depends(get_database) +) -> schemas.Msg: + """获取操作记录""" + data = await crud.operate_log.all_log(db, data_in) + # 对时间进行排序 + data = sorted(data, key=operator.itemgetter('times')) + return schemas.Msg(code=200, msg='ok', data=data) diff --git a/crud/__init__.py b/crud/__init__.py index ed51ece..f96057b 100644 --- a/crud/__init__.py +++ b/crud/__init__.py @@ -24,3 +24,4 @@ from .crud_event_list import event_list from .crud_jobs import jobs from .crud_interview_remark import api_interview_remark from .crud_email_record import email_record +from .crud_operate_log import operate_log diff --git a/crud/crud_operate_log.py b/crud/crud_operate_log.py new file mode 100644 index 0000000..335007f --- /dev/null +++ b/crud/crud_operate_log.py @@ -0,0 +1,26 @@ +from motor.motor_asyncio import AsyncIOMotorDatabase +import schemas +from crud.base import CRUDBase + +__all__ = 'operate_log', + + +class Operate_log(CRUDBase): + # 获取对应求职者的操作记录 + async def all_log(self, db: AsyncIOMotorDatabase, data_in: schemas.get_operate_log): + return await self.find_many(db, {'user_id': data_in.user_id}, {'_id': 0}) + + # 修改数据 + # 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 create(self, db: AsyncIOMotorDatabase, data_in: schemas.operate_log): + await self.insert_one(db, data_in.dict()) + + +operate_log = Operate_log('operate_log') diff --git a/schemas/__init__.py b/schemas/__init__.py index 06005ba..bbeaf9b 100644 --- a/schemas/__init__.py +++ b/schemas/__init__.py @@ -29,4 +29,5 @@ from .interview import * from .interview_plan import * from .jobs import * from .interview_remark import * -from .email_record import * \ No newline at end of file +from .email_record import * +from .operate_log import * \ No newline at end of file diff --git a/schemas/email_record.py b/schemas/email_record.py index 34c927c..a26fac7 100644 --- a/schemas/email_record.py +++ b/schemas/email_record.py @@ -1,6 +1,3 @@ -import time -from datetime import datetime - from pydantic import BaseModel diff --git a/schemas/operate_log.py b/schemas/operate_log.py new file mode 100644 index 0000000..61e55f9 --- /dev/null +++ b/schemas/operate_log.py @@ -0,0 +1,16 @@ +from datetime import datetime +from typing import List, Union, Dict +from pydantic import BaseModel +from typing import Optional + + +class operate_log(BaseModel): + user_id: str # 求职者的唯一id + who: str # 谁操作的 + why: str # 为什么操作 + content: str # 操作的内容 + times: datetime=str(datetime.now()).split('.')[0] # 操作的时间 + + +class get_operate_log(BaseModel): + user_id: str # 求职者的唯一id