1.看板样式设置

This commit is contained in:
李伟 2022-07-26 16:28:22 +08:00
parent b8d7e471b8
commit 8ee04c389c
5 changed files with 99 additions and 61 deletions

View File

@ -409,6 +409,9 @@ async def event_edit(
data = {} data = {}
column = df.columns column = df.columns
for i in column: for i in column:
if 'int' in str(type(df[i][0])):
data[i] = int(df[i][0])
else:
data[i] = df[i][0] data[i] = df[i][0]
return schemas.Msg(code=200, msg='ok', data=data) return schemas.Msg(code=200, msg='ok', data=data)
@ -473,12 +476,14 @@ async def event_edit(
# 保存发送邮件的记录 # 保存发送邮件的记录
now_time = str(datetime.now()).split('.')[0] 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, 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='') return schemas.Msg(code=200, msg='邮件发送成功', data='')
except Exception: except Exception:
now_time = str(datetime.now()).split('.')[0] 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, 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='') return schemas.Msg(code=200, msg='邮件发送失败', data='')
@ -714,53 +719,52 @@ async def edit(
return schemas.Msg(code=200, msg='ok', data='') return schemas.Msg(code=200, msg='ok', data='')
@router.post("/alter") @router.post("/get_report")
async def edit( async def edit(
data_in: schemas.Stage, data_in: schemas.Findreport,
ckdb: CKDrive = Depends(get_ck_db), ckdb: CKDrive = Depends(get_ck_db),
db: AsyncIOMotorDatabase = Depends(get_database) db: AsyncIOMotorDatabase = Depends(get_database)
) -> schemas.Msg: ) -> schemas.Msg:
"""获得已添加和未添加的报表""" """获得已添加的报表"""
user_id = ''
# 获取自己的报表 # 获取自己的报表
res = await crud.dashboard.find_report(db, user_id=user_id) res = await crud.dashboard.find_report(db, user_id=data_in.report_id)
# 获取所有的报表 return schemas.Msg(code=200, msg='ok', data=res)
return schemas.Msg(code=200, msg='ok', data='')
@router.post("/alter") @router.post("/create_report")
async def edit( async def edit(
data_in: schemas.Stage, data_in: schemas.ReportCreate,
ckdb: CKDrive = Depends(get_ck_db), ckdb: CKDrive = Depends(get_ck_db),
db: AsyncIOMotorDatabase = Depends(get_database) db: AsyncIOMotorDatabase = Depends(get_database)
) -> schemas.Msg: ) -> schemas.Msg:
"""添加报表""" """新建报表"""
user_id = '' try:
await crud.report.create(db, data_in)
return schemas.Msg(code=200, msg='ok', data='') except pymongo.errors.DuplicateKeyError:
return schemas.Msg(code=-9, msg='error', data='报表已存在')
return schemas.Msg(code=200, msg='创建成功', 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='')
@router.post("/edit_report") @router.post("/edit_report")
async def edit_report(data_in: schemas.EditReport, async def edit_report(data_in: schemas.EditReport,
game: str, db: AsyncIOMotorDatabase = Depends(get_database)
db: AsyncIOMotorDatabase = Depends(get_database), ) -> schemas.Msg:
current_user: schemas.UserDB = Depends(deps.get_current_user)
):
"""看板样式设置""" """看板样式设置"""
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 {'$set': {f'reports.$.{k}': v for k, v in
data_in.report.dict(skip_defaults=True).items()}}) data_in.report.dict(skip_defaults=True).items()}})
return schemas.Msg(code=0, msg='ok', data='') 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='')

View File

@ -9,9 +9,9 @@ __all__ = 'report',
class CRUDReport(CRUDBase): 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( db_obj = ReportDB(
**obj_in.dict(), user_id=user_id, **obj_in.dict(),
_id=uuid.uuid1().hex _id=uuid.uuid1().hex
) )
await db[self.coll_name].insert_one(db_obj.dict(by_alias=True)) await db[self.coll_name].insert_one(db_obj.dict(by_alias=True))

View File

@ -199,7 +199,7 @@ api:/api/v1/itr/notarize
interview_name: str interview_name: str
interview_id: str interview_id: str
#编辑看板名 #更改简历阶段
api:/api/v1/itr/alter api:/api/v1/itr/alter
请求方式post 请求方式post
参数: 参数:
@ -207,4 +207,30 @@ api:/api/v1/itr/alter
uid: str # 面试者简历在CK中的唯一标识 uid: str # 面试者简历在CK中的唯一标识
data: Dict # 更新的数据 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 # 头像链接

View File

@ -74,3 +74,8 @@ class Notarize(BaseModel):
hr_email: str hr_email: str
interview_name: str interview_name: str
interview_id: str interview_id: str
class Post_head(BaseModel):
uid: str # 面试者简历在CK中的唯一标识
head_id: str # 头像链接

View File

@ -15,12 +15,13 @@ class ReportBase(BaseModel):
project_id: str = None project_id: str = None
class ReportCreate(ReportBase): class ReportCreate(BaseModel):
name: str name: str # 显示名
desc: str user_id: str # 用户id
project_id: str desc: str # 备注
query: dict query: dict # 请求参数
cat: str create_date: datetime = datetime.now() # 创建时间
class ReportEdit(BaseModel): class ReportEdit(BaseModel):
@ -45,13 +46,15 @@ class ReportRead(BaseModel):
dashboard_id: str = None dashboard_id: str = None
class Findreport(BaseModel):
report_id: str
# -------------------------------------------------------------- # --------------------------------------------------------------
# 数据库模型 # 数据库模型
class ReportDB(DBBase): class ReportDB(DBBase):
name: str name: str # 显示名
user_id: str user_id: str # 用户id
project_id: str desc: str # 备注
desc: str query: dict # 请求参数
query: dict create_date: datetime = datetime.now() # 创建时间
cat: str
create_date: datetime = datetime.now()