organization.py 3.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. from fastapi import APIRouter, Depends
  2. from app.api import Response, pwd_context, get_current_user
  3. from app.models import DeptList, DeptInfo, DeptParent
  4. from app.models.base_model import get_db
  5. from app.models.user import PageParameter, UserStatus, UserInfo, LoginData
  6. from app.models.user_model import UserModel
  7. from app.service.organization import get_organization_list, create_dept, edit_dept_data, edit_dept_parent, \
  8. get_organization_info, delete_organization_info
  9. dept_router = APIRouter()
  10. @dept_router.get("/list", response_model=Response)
  11. async def organization_list(deptName="",current_user: UserModel = Depends(get_current_user), db=Depends(get_db)):
  12. return Response(code=200, msg="", data=await get_organization_list(db, deptName))
  13. @dept_router.post("/add_dept", response_model=Response)
  14. async def add_dept(dept: DeptInfo, current_user: UserModel = Depends(get_current_user), db=Depends(get_db)):
  15. if not dept.deptName:
  16. return Response(code=400, msg="The deptName cannot be empty!")
  17. if dept.status not in ["0", "1"]:
  18. return Response(code=400, msg="The status cannot be {}!".format(dept.status))
  19. is_create = await create_dept(db, dept.deptName, dept.leader, dept.phone, dept.address, dept.status, dept.orderNum, dept.roles, dept.groups, dept.parentId)
  20. if not is_create:
  21. return Response(code=500, msg="dept create failure", data={})
  22. return Response(code=200, msg="dept create successfully", data={})
  23. @dept_router.put("/edit_dept", response_model=Response)
  24. async def edit_dept(dept: DeptInfo, current_user: UserModel = Depends(get_current_user), db=Depends(get_db)):
  25. if not dept.deptName:
  26. return Response(code=400, msg="The deptName cannot be empty!")
  27. if dept.status not in ["0", "1"]:
  28. return Response(code=400, msg="The status cannot be {}!".format(dept.status))
  29. is_create = await edit_dept_data(db, dept.deptId, dept.deptName, dept.leader, dept.phone, dept.address, dept.status, dept.orderNum, dept.roles, dept.groups, dept.parentId)
  30. if not is_create:
  31. return Response(code=500, msg="dept edit failure", data={})
  32. return Response(code=200, msg="dept edit successfully", data={})
  33. @dept_router.put("/dept_parent", response_model=Response)
  34. async def dept_parent(dept: DeptParent, current_user: UserModel = Depends(get_current_user), db=Depends(get_db)):
  35. is_create = await edit_dept_parent(db, dept.deptId, dept.parentId, dept.orderNum)
  36. if not is_create:
  37. return Response(code=500, msg="dept edit failure", data={})
  38. return Response(code=200, msg="dept edit successfully", data={})
  39. @dept_router.get("/{deptId}", response_model=Response)
  40. async def dept_info(deptId, current_user: UserModel = Depends(get_current_user), db=Depends(get_db)):
  41. return Response(code=200, msg="", data=await get_organization_info(db, deptId))
  42. @dept_router.delete("/{deptId}", response_model=Response)
  43. async def delete_dept(deptId, current_user: UserModel = Depends(get_current_user), db=Depends(get_db)):
  44. is_edit = await delete_organization_info(db, deptId)
  45. if not is_edit:
  46. return Response(code=500, msg="dept delete failure", data={})
  47. return Response(code=200, msg="dept delete successfully", data={})
  48. @dept_router.delete("/{deptId}", response_model=Response)
  49. async def delete_dept(deptId, current_user: UserModel = Depends(get_current_user), db=Depends(get_db)):
  50. is_edit = await delete_organization_info(db, deptId)
  51. if not is_edit:
  52. return Response(code=500, msg="dept delete failure", data={})
  53. return Response(code=200, msg="dept delete successfully", data={})