diff --git a/api/api_v1/endpoints/interview.py b/api/api_v1/endpoints/interview.py index 81cd8dc..8edf588 100644 --- a/api/api_v1/endpoints/interview.py +++ b/api/api_v1/endpoints/interview.py @@ -282,15 +282,15 @@ async def interview_insert( noe = str(df['end_time'][i]).split(' ')[-1] timess = str(df['star_time'][i]) + '~' + noe date['time'] = timess - dates['msg']=date - dates['name']=df['name'][i] - dates['phone']=df['phone'][i] - dates['job_names']=df['job_names'][i] - dates['hr_name']=df['hr_name'][i] - date1={} - date1['type']=int(df['feedback'][i]) - date1['name']=df['interview_name'][i] - dates['type']=date1 + dates['msg'] = date + dates['name'] = df['name'][i] + dates['phone'] = df['phone'][i] + dates['job_names'] = df['job_names'][i] + dates['hr_name'] = df['hr_name'][i] + date1 = {} + date1['type'] = int(df['feedback'][i]) + date1['name'] = df['interview_name'][i] + dates['type'] = date1 datas.append(dates) data = {'lens': len_date, 'data': datas @@ -409,7 +409,10 @@ async def event_edit( data = {} column = df.columns for i in column: - data[i] = df[i][0] + if 'int' in str(type(df[i][0])): + data[i] = int(df[i][0]) + else: + data[i] = df[i][0] return schemas.Msg(code=200, msg='ok', data=data) @@ -473,12 +476,14 @@ async def event_edit( # 保存发送邮件的记录 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, name=data_in.name, state=1,read_status=0,type='email')) + times=now_time, name=data_in.name, state=1, + read_status=0, type='email')) return schemas.Msg(code=200, msg='邮件发送成功', data='') except Exception: 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, name=data_in.name, state=0,read_status=0,type='email')) + times=now_time, name=data_in.name, state=0, + read_status=0, type='email')) return schemas.Msg(code=200, msg='邮件发送失败', data='') @@ -714,53 +719,52 @@ async def edit( return schemas.Msg(code=200, msg='ok', data='') -@router.post("/alter") +@router.post("/get_report") async def edit( - data_in: schemas.Stage, + data_in: schemas.Findreport, ckdb: CKDrive = Depends(get_ck_db), db: AsyncIOMotorDatabase = Depends(get_database) ) -> schemas.Msg: - """获得已添加和未添加的报表""" - user_id = '' + """获得已添加的报表""" # 获取自己的报表 - res = await crud.dashboard.find_report(db, user_id=user_id) - # 获取所有的报表 - - return schemas.Msg(code=200, msg='ok', data='') + res = await crud.dashboard.find_report(db, user_id=data_in.report_id) + return schemas.Msg(code=200, msg='ok', data=res) -@router.post("/alter") +@router.post("/create_report") async def edit( - data_in: schemas.Stage, + data_in: schemas.ReportCreate, ckdb: CKDrive = Depends(get_ck_db), db: AsyncIOMotorDatabase = Depends(get_database) ) -> schemas.Msg: - """添加报表""" - user_id = '' - - return schemas.Msg(code=200, msg='ok', data='') - - -@router.post("/alter") -async def edit( - data_in: schemas.ReportDB, - ckdb: CKDrive = Depends(get_ck_db), - db: AsyncIOMotorDatabase = Depends(get_database) -) -> schemas.Msg: - """新增原始报表""" - user_id = '' - await crud.report.create(db, data_in, user_id=user_id) - return schemas.Msg(code=200, msg='ok', data='') + """新建报表""" + try: + await crud.report.create(db, data_in) + except pymongo.errors.DuplicateKeyError: + return schemas.Msg(code=-9, msg='error', data='报表已存在') + return schemas.Msg(code=200, msg='创建成功', data='') @router.post("/edit_report") async def edit_report(data_in: schemas.EditReport, - game: str, - db: AsyncIOMotorDatabase = Depends(get_database), - current_user: schemas.UserDB = Depends(deps.get_current_user) - ): + db: AsyncIOMotorDatabase = Depends(get_database) + ) -> schemas.Msg: """看板样式设置""" - res = await crud.dashboard.update_one(db, {'_id': data_in.id, 'reports.report_id': data_in.report.report_id}, + await crud.dashboard.update_one(db, {'_id': data_in.id, 'reports.report_id': data_in.report.report_id}, {'$set': {f'reports.$.{k}': v for k, v in data_in.report.dict(skip_defaults=True).items()}}) - return schemas.Msg(code=0, msg='ok', data='') \ No newline at end of file + return schemas.Msg(code=0, msg='ok', data='') + + +@router.post("/head") +async def event_edit( + request: Request, + data_in: schemas.Post_head, + ckdb: CKDrive = Depends(get_ck_db) +) -> schemas.Msg: + """保存头像链接""" + sql = f""" + ALTER table HR.resumes update head = '{data_in.head_id}' WHERE uid = '{data_in.uid}' + """ + await ckdb.execute(sql) + return schemas.Msg(code=200, msg='ok', data='') diff --git a/crud/crud_report.py b/crud/crud_report.py index cb5c2a2..5258550 100644 --- a/crud/crud_report.py +++ b/crud/crud_report.py @@ -9,9 +9,9 @@ __all__ = 'report', class CRUDReport(CRUDBase): - async def create(self, db: AsyncIOMotorDatabase, obj_in: ReportCreate, user_id: str): + async def create(self, db: AsyncIOMotorDatabase, obj_in: ReportCreate): db_obj = ReportDB( - **obj_in.dict(), user_id=user_id, + **obj_in.dict(), _id=uuid.uuid1().hex ) await db[self.coll_name].insert_one(db_obj.dict(by_alias=True)) diff --git a/liwei_接口文档.md b/liwei_接口文档.md index 40ae005..0b6ebb2 100644 --- a/liwei_接口文档.md +++ b/liwei_接口文档.md @@ -199,7 +199,7 @@ api:/api/v1/itr/notarize interview_name: str interview_id: str -#编辑看板名 +#更改简历阶段 api:/api/v1/itr/alter 请求方式:post 参数: @@ -207,4 +207,30 @@ api:/api/v1/itr/alter uid: str # 面试者简历在CK中的唯一标识 data: Dict # 更新的数据 - +#获得已添加的报表 +api:/api/v1/itr/get_report +请求方式:post +参数: + report_id: str + +#新建报表 +api:/api/v1/itr/create_report +请求方式:post +参数: + name: str # 显示名 + user_id: str # 用户id + desc: str # 备注 + query: dict # 请求参数 + +#看板样式设置 +api:/api/v1/itr/edit_report +请求方式:post +参数: + report: Report + +#保存头像链接 +api:/api/v1/itr/head +请求方式:post +参数: + uid: str # 面试者简历在CK中的唯一标识 + head_id: str # 头像链接 \ No newline at end of file diff --git a/schemas/interview_plan.py b/schemas/interview_plan.py index 0237410..951dee4 100644 --- a/schemas/interview_plan.py +++ b/schemas/interview_plan.py @@ -74,3 +74,8 @@ class Notarize(BaseModel): hr_email: str interview_name: str interview_id: str + + +class Post_head(BaseModel): + uid: str # 面试者简历在CK中的唯一标识 + head_id: str # 头像链接 diff --git a/schemas/report.py b/schemas/report.py index ff35a81..42ee3cb 100644 --- a/schemas/report.py +++ b/schemas/report.py @@ -15,12 +15,13 @@ class ReportBase(BaseModel): project_id: str = None -class ReportCreate(ReportBase): - name: str - desc: str - project_id: str - query: dict - cat: str +class ReportCreate(BaseModel): + name: str # 显示名 + user_id: str # 用户id + desc: str # 备注 + query: dict # 请求参数 + create_date: datetime = datetime.now() # 创建时间 + class ReportEdit(BaseModel): @@ -45,13 +46,15 @@ class ReportRead(BaseModel): dashboard_id: str = None +class Findreport(BaseModel): + report_id: str + + # -------------------------------------------------------------- # 数据库模型 class ReportDB(DBBase): - name: str - user_id: str - project_id: str - desc: str - query: dict - cat: str - create_date: datetime = datetime.now() + name: str # 显示名 + user_id: str # 用户id + desc: str # 备注 + query: dict # 请求参数 + create_date: datetime = datetime.now() # 创建时间