1.创建,删除,获取,修改看板
This commit is contained in:
parent
c163d02176
commit
e1e6c544bc
@ -10,19 +10,7 @@ from utils.func import get_uid
|
||||
router = APIRouter()
|
||||
|
||||
|
||||
@router.post("/create")
|
||||
async def create(
|
||||
data_in: schemas.DashboardCreate,
|
||||
db: AsyncIOMotorDatabase = Depends(get_database),
|
||||
current_user: schemas.UserDB = Depends(deps.get_current_user)
|
||||
) -> schemas.Msg:
|
||||
"""创建看板"""
|
||||
try:
|
||||
await crud.dashboard.create(db, data_in, user_id=current_user.id)
|
||||
except pymongo.errors.DuplicateKeyError:
|
||||
return schemas.Msg(code=-1, msg='看板已存在', data='看板已存在')
|
||||
|
||||
return schemas.Msg(code=0, msg='ok', data='创建成功')
|
||||
|
||||
|
||||
@router.post('/edit_show_report')
|
||||
@ -42,19 +30,7 @@ async def edit_show_report(
|
||||
return schemas.Msg(code=-1, msg='没有修改', data=dict())
|
||||
|
||||
|
||||
@router.post("/delete")
|
||||
async def delete(
|
||||
request: Request,
|
||||
data_in: schemas.DashboardDelete,
|
||||
db: AsyncIOMotorDatabase = Depends(get_database),
|
||||
current_user: schemas.UserDB = Depends(deps.get_current_user)
|
||||
) -> schemas.Msg:
|
||||
"""删除看板"""
|
||||
del_dashboard = await crud.dashboard.delete(db, {'_id': {'$in': data_in.ids}})
|
||||
|
||||
if del_dashboard.deleted_count == 0:
|
||||
return schemas.Msg(code=-1, msg='error', data='删除失败')
|
||||
return schemas.Msg(code=0, msg='ok', data='删除成功')
|
||||
|
||||
|
||||
@router.post("/move")
|
||||
@ -74,7 +50,6 @@ async def move(
|
||||
|
||||
@router.post("/sort")
|
||||
async def sort(
|
||||
game: str,
|
||||
data_in: schemas.DashboardSort,
|
||||
db: AsyncIOMotorDatabase = Depends(get_database),
|
||||
current_user: schemas.UserDB = Depends(deps.get_current_user)
|
||||
@ -99,7 +74,7 @@ async def copy(
|
||||
"""
|
||||
# 检查是否存在默认空间 不存在就创建
|
||||
dest_project_id = data_in.dest_project_id
|
||||
dest_default_space = await crud.space.find_one(db, {'project_id': dest_project_id, 'name': '默认空间'},
|
||||
dest_default_space = await crud.space.find_one(db, { 'name': '默认空间'},
|
||||
{'_id': True})
|
||||
dest_space_id = dest_default_space.get('_id')
|
||||
user_id = request.user.id
|
||||
@ -191,7 +166,6 @@ async def copy(
|
||||
|
||||
@router.post("/add_report")
|
||||
async def add_report(data_in: schemas.AddReport,
|
||||
game: str,
|
||||
db: AsyncIOMotorDatabase = Depends(get_database),
|
||||
current_user: schemas.UserDB = Depends(deps.get_current_user)
|
||||
):
|
||||
@ -206,7 +180,6 @@ async def add_report(data_in: schemas.AddReport,
|
||||
|
||||
@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)
|
||||
):
|
||||
@ -221,7 +194,6 @@ async def edit_report(data_in: schemas.EditReport,
|
||||
|
||||
@router.post("/del_report")
|
||||
async def del_report(
|
||||
game: str,
|
||||
data_in: schemas.DelReport,
|
||||
db: AsyncIOMotorDatabase = Depends(get_database),
|
||||
current_user: schemas.UserDB = Depends(deps.get_current_user)
|
||||
@ -232,29 +204,7 @@ async def del_report(
|
||||
return schemas.Msg(code=0, msg='ok', data='ok')
|
||||
|
||||
|
||||
@router.post("/edit")
|
||||
async def edit(
|
||||
game: str,
|
||||
data_in: schemas.EditDashboard,
|
||||
db: AsyncIOMotorDatabase = Depends(get_database),
|
||||
current_user: schemas.UserDB = Depends(deps.get_current_user)
|
||||
):
|
||||
"""编辑看板名"""
|
||||
await crud.dashboard.update_one(db, {'_id': data_in.dashboard_id}, {'$set': {'name': data_in.new_name}})
|
||||
return schemas.Msg(code=0, msg='ok', data='ok')
|
||||
|
||||
|
||||
@router.post("/")
|
||||
async def dashboards(request: Request,
|
||||
game: str,
|
||||
data_in: schemas.ReadDashboard,
|
||||
db: AsyncIOMotorDatabase = Depends(get_database),
|
||||
current_user: schemas.UserDB = Depends(deps.get_current_user)
|
||||
):
|
||||
"""获取一个看板"""
|
||||
res = await crud.dashboard.get(db, id=data_in.id)
|
||||
reports = {item['report_id']: item for item in res['reports']}
|
||||
reports_detail = await crud.report.find_many(db, {'_id': {'$in': list(reports.keys())}}, {'query.cachedata': False})
|
||||
for item in reports_detail:
|
||||
reports[item['_id']].update(item)
|
||||
return schemas.Msg(code=0, msg='ok', data=reports)
|
||||
|
||||
|
||||
|
@ -2,9 +2,11 @@ import operator
|
||||
import os
|
||||
import re
|
||||
import pandas as pd
|
||||
import pymongo
|
||||
from fastapi import APIRouter, Depends, Request, File, UploadFile
|
||||
from motor.motor_asyncio import AsyncIOMotorDatabase
|
||||
|
||||
from api import deps
|
||||
from utils.dingding import get_redis_alluid, send_dates
|
||||
from utils.jianli import get_resume
|
||||
import crud, schemas
|
||||
@ -295,7 +297,7 @@ async def event_edit(
|
||||
sql = f"""
|
||||
select count(job_id) from HR.resumes where job_id = '{i['job_id']}' and interview_stage = 7
|
||||
"""
|
||||
num=await ckdb.execute(sql)
|
||||
num = await ckdb.execute(sql)
|
||||
|
||||
job_list.append(i['job_name'])
|
||||
job_list.append(i['job_sector'])
|
||||
@ -411,9 +413,9 @@ async def event_edit(
|
||||
"""
|
||||
await ckdb.execute(sql)
|
||||
# 给招聘中职位计入职数
|
||||
res=await crud.jobs.find_job(db,data_in.job_id)
|
||||
num=res['now_job_num']+1
|
||||
await crud.jobs.update_job(db,schemas.Jobs(job_id=data_in.job_id,now_job_num=num))
|
||||
res = await crud.jobs.find_job(db, data_in.job_id)
|
||||
num = res['now_job_num'] + 1
|
||||
await crud.jobs.update_job(db, schemas.Jobs(job_id=data_in.job_id, now_job_num=num))
|
||||
return schemas.Msg(code=200, msg='ok', data='')
|
||||
|
||||
|
||||
@ -569,3 +571,58 @@ async def event_edit(
|
||||
"""修改职位信息,修改职位招聘状态"""
|
||||
await crud.jobs.update_job(db, data_in)
|
||||
return schemas.Msg(code=200, msg='ok', data='')
|
||||
|
||||
|
||||
@router.post("/create")
|
||||
async def create(
|
||||
data_in: schemas.DashboardCreate,
|
||||
db: AsyncIOMotorDatabase = Depends(get_database),
|
||||
current_user: schemas.UserDB = Depends(deps.get_current_user)
|
||||
) -> schemas.Msg:
|
||||
"""创建看板"""
|
||||
try:
|
||||
await crud.dashboard.create(db, data_in.name, user_id=current_user.id)
|
||||
except pymongo.errors.DuplicateKeyError:
|
||||
return schemas.Msg(code=-1, msg='看板已存在', data='看板已存在')
|
||||
|
||||
return schemas.Msg(code=0, msg='创建成功', data='')
|
||||
|
||||
|
||||
@router.post("/delete")
|
||||
async def delete(
|
||||
request: Request,
|
||||
data_in: schemas.DashboardDelete,
|
||||
db: AsyncIOMotorDatabase = Depends(get_database),
|
||||
current_user: schemas.UserDB = Depends(deps.get_current_user)
|
||||
) -> schemas.Msg:
|
||||
"""删除看板"""
|
||||
del_dashboard = await crud.dashboard.delete(db, {'_id': {'$in': data_in.ids}})
|
||||
if del_dashboard.deleted_count == 0:
|
||||
return schemas.Msg(code=-1, msg='error', data='删除失败')
|
||||
return schemas.Msg(code=0, msg='ok', data='删除成功')
|
||||
|
||||
|
||||
@router.post("/get_dashboard")
|
||||
async def dashboards(request: Request,
|
||||
data_in: schemas.ReadDashboard,
|
||||
db: AsyncIOMotorDatabase = Depends(get_database),
|
||||
current_user: schemas.UserDB = Depends(deps.get_current_user)
|
||||
):
|
||||
"""获取一个看板"""
|
||||
res = await crud.dashboard.get(db, id=data_in.id)
|
||||
reports = {item['report_id']: item for item in res['reports']}
|
||||
reports_detail = await crud.report.find_many(db, {'_id': {'$in': list(reports.keys())}}, {'query.cachedata': False})
|
||||
for item in reports_detail:
|
||||
reports[item['_id']].update(item)
|
||||
return schemas.Msg(code=0, msg='ok', data=reports)
|
||||
|
||||
|
||||
@router.post("/edit")
|
||||
async def edit(
|
||||
data_in: schemas.EditDashboard,
|
||||
db: AsyncIOMotorDatabase = Depends(get_database),
|
||||
current_user: schemas.UserDB = Depends(deps.get_current_user)
|
||||
):
|
||||
"""编辑看板名"""
|
||||
await crud.dashboard.update_one(db, {'_id': data_in.dashboard_id}, {'$set': {'name': data_in.new_name}})
|
||||
return schemas.Msg(code=0, msg='ok', data='ok')
|
||||
|
@ -8,12 +8,10 @@ __all__ = 'dashboard',
|
||||
|
||||
|
||||
class CRUDDashboard(CRUDBase):
|
||||
|
||||
async def create(self, db: AsyncIOMotorDatabase, obj_in: DashboardCreate, user_id: str):
|
||||
db_obj = DashboardDB(
|
||||
**obj_in.dict(), user_id=user_id,
|
||||
_id=uuid.uuid1().hex
|
||||
|
||||
# 创建一个空看板
|
||||
async def create(self, db: AsyncIOMotorDatabase,name, user_id: str):
|
||||
db_obj = DashboardDB( user_id=user_id,
|
||||
_id=uuid.uuid1().hex,name=name
|
||||
)
|
||||
await db[self.coll_name].insert_one(db_obj.dict(by_alias=True))
|
||||
|
||||
|
@ -159,3 +159,29 @@ api:/api/v1/itr/amend_job
|
||||
max_money: int = None # 薪资范围max
|
||||
requirement: str = None # 需求描述
|
||||
|
||||
#创建看板
|
||||
api:/api/v1/itr/create
|
||||
请求方式:post
|
||||
参数:
|
||||
name: str # 看板名
|
||||
|
||||
|
||||
#删除看板
|
||||
api:/api/v1/itr/delete
|
||||
请求方式:post
|
||||
参数:
|
||||
ids: List[str]
|
||||
|
||||
|
||||
#获取一个看板
|
||||
api:/api/v1/itr/get_dashboard
|
||||
请求方式:post
|
||||
参数:
|
||||
id: str
|
||||
|
||||
#编辑看板名
|
||||
api:/api/v1/itr/edit
|
||||
请求方式:post
|
||||
参数:
|
||||
dashboard_id: str
|
||||
new_name: str
|
@ -15,9 +15,6 @@ class DashboardBase(BaseModel):
|
||||
# 解析请求json 创建项目
|
||||
class DashboardCreate(DashboardBase):
|
||||
name: str
|
||||
project_id: str
|
||||
# cat: str
|
||||
pid: str
|
||||
|
||||
|
||||
class ReadDashboard(BaseModel):
|
||||
@ -96,10 +93,7 @@ class EditReport(DBBase):
|
||||
# --------------------------------------------------------------
|
||||
# 数据库模型
|
||||
class DashboardDB(DBBase):
|
||||
name: str
|
||||
user_id: str
|
||||
project_id: str
|
||||
# cat: Category
|
||||
reports: List[str] = []
|
||||
pid: str
|
||||
create_date: datetime = datetime.now()
|
||||
name: str # 看板名
|
||||
user_id: str # 用户名
|
||||
reports: List[str] = [] # 看板里面的详情
|
||||
create_date: datetime = datetime.now() #创建时间
|
||||
|
@ -57,3 +57,5 @@ class send_str_mail(BaseModel):
|
||||
class user_id(BaseModel):
|
||||
user_id: List[str] # 钉钉接收者的唯一id
|
||||
name: str # 求职者姓名
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user