增加权限变更
This commit is contained in:
parent
a18e2feb56
commit
6ec2782560
|
@ -104,5 +104,9 @@ def get_user_by_departments(db: Session, departments: []):
|
|||
def get_user_by_department_type(db: Session, department_type: str):
|
||||
departments = [item.id for item in db.query(Department).filter_by(type=department_type)]
|
||||
users = get_user_by_departments(db, departments)
|
||||
users = [get_full_user_info(db, user['email']) for user in users if user["name"]!='邢军']
|
||||
users = [get_full_user_info(db, user['email']) for user in users if user["name"] != '邢军']
|
||||
return users
|
||||
|
||||
|
||||
def get_department_list(db: Session):
|
||||
return db.query(Department).all()
|
||||
|
|
|
@ -12,6 +12,7 @@ class User(Base):
|
|||
name = Column(String(32), comment="用户名")
|
||||
department = Column(Text, comment="部门")
|
||||
post = Column(Text, comment="职务")
|
||||
manage_departments = Column(Text, comment="所管部门")
|
||||
disable = Column(Boolean, default=False, comment="禁用")
|
||||
auth_data = Column(Text, comment="权限数据")
|
||||
registered = Column(Boolean, default=False, comment="用户是否注册入app")
|
||||
|
|
|
@ -83,3 +83,6 @@ def daily_query(req: DailySchemas.DailyQuery, db: Session = Depends(get_db),
|
|||
def daily_delete(req: DailySchemas.DailyDeleteReq, db: Session = Depends(get_db), ):
|
||||
DailyCrud.daily_delete(db, req.id)
|
||||
return DailySchemas.DailyDeleteRes(msg="删除成功", state=1)
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@ from Models.PostModel import Post
|
|||
from Schemas import UserSchemas
|
||||
from Crud import UserCrud, AuthCrud
|
||||
from Schemas.UserSchemas import TokenData
|
||||
from Utils.AuthUtils import token_data_depend, create_token, registered_depend
|
||||
from Utils.AuthUtils import token_data_depend, create_token, registered_depend, check_auth
|
||||
from Utils.CrudUtils import auto_create_crud
|
||||
from Utils.SqlAlchemyUtils import get_db
|
||||
from Utils.VerifyCodeUtils import EmailVerifyCode, EmailVerifyType, PhoneVerifyCode, PhoneVerifyType
|
||||
|
@ -171,6 +171,27 @@ def get_user_by_department_type(body: UserSchemas.GetUserByDepartmentTypeReq,
|
|||
return UserSchemas.GetUserByDepartmentTypeRes(users=[UserSchemas.UserFullInfo(**user) for user in users])
|
||||
|
||||
|
||||
@router.post("/get_user_can_watch_department", tags=["获取用户可查看部门列表"], summary=['查询'])
|
||||
def get_user_can_watch_department(token_data: TokenData = Depends(token_data_depend), db: Session = Depends(get_db)):
|
||||
department_list = [item.to_dict() for item in UserCrud.get_department_list(db)]
|
||||
department_dict = {item['id']: item for item in department_list}
|
||||
# 所有部门动态查看
|
||||
if check_auth(token_data.auth_data, [2]):
|
||||
return {'item_list': department_list, "count": len(department_list)}
|
||||
can_watch_department = set()
|
||||
for item in token_data.department.split(","):
|
||||
if int(item) in [1, 2, 3]:
|
||||
can_watch_department.add(1)
|
||||
can_watch_department.add(2)
|
||||
can_watch_department.add(3)
|
||||
can_watch_department.add(int(item))
|
||||
if token_data.manage_departments:
|
||||
for item in token_data.manage_departments.split(","):
|
||||
can_watch_department.add(int(item))
|
||||
can_watch_department_list = [department_dict[item] for item in can_watch_department]
|
||||
return {'item_list': can_watch_department_list, "count": len(can_watch_department_list)}
|
||||
|
||||
|
||||
department_crud = auto_create_crud(Department, 'department', "部门", auto_create_keys=['id'], tags=["部门职务操作"])
|
||||
post_crud = auto_create_crud(Post, 'post', "职务", auto_create_keys=['id'], tags=["部门职务操作"])
|
||||
department_crud.mount(router)
|
||||
|
|
|
@ -37,6 +37,7 @@ class GetUserInfoRes(BaseModel):
|
|||
post_list: Optional[List[PostInfo]]
|
||||
name: Optional[str]
|
||||
department: Optional[str]
|
||||
manage_departments: Optional[str]
|
||||
department_list: Optional[List[DepartmentInfo]]
|
||||
registered: Optional[bool]
|
||||
auth_data: Optional[str]
|
||||
|
@ -47,6 +48,7 @@ class TokenData(BaseModel):
|
|||
registered: bool
|
||||
auth_data: Union[str, None]
|
||||
department: Union[str, None]
|
||||
manage_departments: Optional[str]
|
||||
post: Union[str, None]
|
||||
|
||||
|
||||
|
@ -54,6 +56,7 @@ class UserInfoChange(BaseModel):
|
|||
email: str
|
||||
name: Optional[str]
|
||||
post: Optional[str]
|
||||
manage_departments: Optional[str]
|
||||
department: Optional[str]
|
||||
registered: Optional[bool]
|
||||
|
||||
|
@ -62,6 +65,7 @@ class UserInfo(BaseModel):
|
|||
email: str
|
||||
name: str
|
||||
post: str
|
||||
manage_departments: Optional[str]
|
||||
department: str
|
||||
registered: bool
|
||||
|
||||
|
@ -72,6 +76,7 @@ class UserFullInfo(BaseModel):
|
|||
post_list: Optional[List[PostInfo]]
|
||||
name: Optional[str]
|
||||
department: Optional[str]
|
||||
manage_departments: Optional[str]
|
||||
department_list: Optional[List[DepartmentInfo]]
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue