diff --git a/api/api_v1/endpoints/interview.py b/api/api_v1/endpoints/interview.py index 7008f91..3fb7039 100644 --- a/api/api_v1/endpoints/interview.py +++ b/api/api_v1/endpoints/interview.py @@ -493,3 +493,36 @@ async def event_edit( except Exception: return schemas.Msg(code=-9, msg='发送失败', data='') + +@router.post("/add_mode") +async def event_edit( + request: Request, + data_in: schemas.InsertModes, + db: AsyncIOMotorDatabase = Depends(get_database), +) -> schemas.Msg: + """添加hr分组""" + await crud.api_interview_modes.insert_modes(db, data_in) + return schemas.Msg(code=200, msg='ok', data='') + + +@router.post("/find_mode") +async def event_edit( + request: Request, + data_in: schemas.FindModes, + db: AsyncIOMotorDatabase = Depends(get_database), +) -> schemas.Msg: + """查找hr所有分组""" + data = await crud.api_interview_modes.get_interview_modes(db, data_in) + return schemas.Msg(code=200, msg='ok', data=data) + + +@router.post("/update_mode") +async def event_edit( + request: Request, + data_in: schemas.UpdateModes, + db: AsyncIOMotorDatabase = Depends(get_database), +) -> schemas.Msg: + """更新一条hr分组数据""" + data = await crud.api_interview_modes.update_modes(db, data_in) + return schemas.Msg(code=200, msg='ok', data=data) + diff --git a/crud/__init__.py b/crud/__init__.py index f96057b..932f20a 100644 --- a/crud/__init__.py +++ b/crud/__init__.py @@ -23,5 +23,6 @@ from .crud_api_module import api_module from .crud_event_list import event_list from .crud_jobs import jobs from .crud_interview_remark import api_interview_remark +from .crud_interview_modes import api_interview_modes from .crud_email_record import email_record from .crud_operate_log import operate_log diff --git a/crud/crud_interview_modes.py b/crud/crud_interview_modes.py new file mode 100644 index 0000000..30dedd6 --- /dev/null +++ b/crud/crud_interview_modes.py @@ -0,0 +1,30 @@ +from motor.motor_asyncio import AsyncIOMotorDatabase +import schemas +from crud.base import CRUDBase + +__all__ = 'api_interview_modes', + + +class ApiInterviewModes(CRUDBase): + + # 获取hr所有分组 + async def get_interview_modes(self, db: AsyncIOMotorDatabase, data_in: schemas.FindModes): + where = data_in.where + where.update({'hr_uid': data_in.hr_uid}) + return await self.find_many(db, where, {'_id': 0}) + + # 插入一条全新的分组 + async def insert_modes(self, db: AsyncIOMotorDatabase, data_in: schemas.InsertModes): + return await self.insert_one(db, data_in.dict()) + + # 更新一条分组信息 + async def update_modes(self, db: AsyncIOMotorDatabase, data_in: schemas.UpdateModes): + return await self.update_one(db, {'hr_uid': data_in.hr_uid}, {'$set': data_in.update_data}) + + # 更新一条信息 + async def update_one_interview(self, db: AsyncIOMotorDatabase, res): + return await self.update_one(db, {'_id': res['_id']}, { + '$set': res}) + + +api_interview_modes = ApiInterviewModes('interview_modes') diff --git a/crud/crud_interview_remark.py b/crud/crud_interview_remark.py index b9ad07b..cfb6447 100644 --- a/crud/crud_interview_remark.py +++ b/crud/crud_interview_remark.py @@ -11,19 +11,17 @@ class ApiInterviewRemark(CRUDBase): async def get_interview_remarks(self, db: AsyncIOMotorDatabase, data_in: schemas.FindRemark): where = data_in.where where.update({'remark_uid': data_in.remark_uid}) - return await self.find_many(db, where,{'_id': 0}) + return await self.find_many(db, where, {'_id': 0}) # 插入一条全新的备注 async def insert_remark(self, db: AsyncIOMotorDatabase, data_in: schemas.BaseRemark): return await self.insert_one(db, data_in.dict()) # 更新一条备注数据 - async def updata_remark(self, db: AsyncIOMotorDatabase, data_in: schemas.Url_module): - return await self.update_one(db, {'auth_id': data_in.auth_id, 'path_name': data_in.path_name}, - {'$set': {'api_list': data_in.api_list, 'api_name': data_in.api_name, - 'state': data_in.state}}) + async def update_remark(self, db: AsyncIOMotorDatabase, data_in: schemas.UpdateRemark): + return await self.update_one(db, {'remark_uid': data_in.remark_uid}, {'$set': data_in.update_data}) - # 更新一条面试安排数据 + # 更新一条数据 async def update_one_interview(self, db: AsyncIOMotorDatabase, res): return await self.update_one(db, {'_id': res['_id']}, { '$set': res}) diff --git a/schemas/__init__.py b/schemas/__init__.py index bbeaf9b..3218cfb 100644 --- a/schemas/__init__.py +++ b/schemas/__init__.py @@ -30,4 +30,5 @@ from .interview_plan import * from .jobs import * from .interview_remark import * from .email_record import * -from .operate_log import * \ No newline at end of file +from .operate_log import * +from .interview_modes import * diff --git a/schemas/interview_modes.py b/schemas/interview_modes.py new file mode 100644 index 0000000..510673f --- /dev/null +++ b/schemas/interview_modes.py @@ -0,0 +1,26 @@ +import time +from datetime import datetime + +from pydantic import BaseModel + + +# 报表分组模板 +class InsertModes(BaseModel): + mode_name: str # 模版名称 + hr_name: str # 模板所属hr名字 + hr_uid: str # 模板所属hr的uid + mode_list: list = ['招聘职位', '流程中的申请', '完成招聘职位', '归档的申请', '招聘漏斗', '性别分布', '渠道质量', + '年龄分布', '招聘网站质量', '职位投录比'] # 分组包含的基础分析报表 + mode_time: datetime = datetime.now() # 修改时间 + + +# 查询分组 +class FindModes(BaseModel): + hr_uid: str # 模板所属hr的uid + where: dict = {} # 其他条件 + + +# 更新分组 +class UpdateModes(BaseModel): + hr_uid: str # 模板所属hr的uid + update_data: dict # 更新的数据 diff --git a/schemas/interview_remark.py b/schemas/interview_remark.py index aa85ee4..95277cf 100644 --- a/schemas/interview_remark.py +++ b/schemas/interview_remark.py @@ -20,3 +20,8 @@ class FindRemark(BaseModel): remark_uid: str # 简历uid where: dict = {} # 其他条件 + +# 更新备注 +class UpdateRemark(BaseModel): + remark_uid: str # 简历uid + update_data: dict # 修改的数据