diff --git a/api/api_v1/endpoints/interview.py b/api/api_v1/endpoints/interview.py index 4b40484..7647588 100644 --- a/api/api_v1/endpoints/interview.py +++ b/api/api_v1/endpoints/interview.py @@ -1792,3 +1792,47 @@ async def add_interviewee( """ # 添加面试官和hr并自动进入下一阶段 await ckdb.execute(sql) return schemas.Msg(code=200, msg='ok', data='') + + +# 头像上传到华为云 +@router.post("/head_to_hw") +async def head_to_hw( + request: Request, + data_in: schemas.head_to_hw, + file: UploadFile = File(...), + ckdb: CKDrive = Depends(get_ck_db), + current_user: schemas.UserDB = Depends(deps.get_current_user) +) -> schemas.Msg: + """ 头像上传到华为云 """ + path_data = os.getcwd() + '/head' # 当前文件所在的目录 + if not os.path.exists(path_data): + os.makedirs(path_data) + contents = await file.read() + filename = file.filename + try: + with open(path_data + '/' + filename, "wb") as f: + # 将获取的file文件内容,写入到新文件中 + f.write(contents) + f.close() + except: + return schemas.Msg(code=400, msg='上传文件有误', data=None) + try: + # 头像正常上传到华为云 + res = obsClient.putFile('legu-cdn-source', 'hrms/user_icon' + filename, path_data + '/' + filename) + if res.status < 300: + # 地址 + url = res.body.objectUrl + resData = {'file_url': url, 'filename': 'hrms/user_icon' + filename, 'uid': data_in.uid} + sql=f""" + ALTER TABLE HR.resumes update head = '{url}' WHERE uid = '{data_in.uid}' + """ + await ckdb.execute(sql) + return schemas.Msg(code=0, msg='ok', data=resData) + else: + # print('errorCode:', res.errorCode) + # print('errorMessage:', res.errorMessage) + return schemas.Msg(code=400, msg='上传华为云失败', data=None) + except: + import traceback + print(traceback.format_exc()) + return schemas.Msg(code=400, msg='上传华为云失败', data=None) \ No newline at end of file diff --git a/schemas/interview_plan.py b/schemas/interview_plan.py index 77c4715..d0353d4 100644 --- a/schemas/interview_plan.py +++ b/schemas/interview_plan.py @@ -152,3 +152,6 @@ class add_inter(BaseModel): star_time: str # 面试开始时间 end_time:str # 面试结束时间 hr_user: List[str] # HR的钉钉id + +class head_to_hw(BaseModel): + uid: str # 求职者uid