From 3f6b4007979dc56d266e3202f28a741d93300b31 Mon Sep 17 00:00:00 2001 From: zhaoqingang <zhaoqg0118@163.com> Date: 星期三, 13 十一月 2024 19:28:33 +0800 Subject: [PATCH] 参数修改 --- app/api/role.py | 2 app/models/role_model.py | 2 app/models/user_model.py | 38 ++++++++---------- app/api/organization.py | 4 +- app/service/group.py | 13 ------ app/models/group_model.py | 7 +++ app/service/role.py | 4 +- app/api/group.py | 32 +++++++++++----- app/api/user.py | 2 app/api/auth.py | 2 10 files changed, 55 insertions(+), 51 deletions(-) diff --git a/app/api/auth.py b/app/api/auth.py index 0011ee9..d6a9e7b 100644 --- a/app/api/auth.py +++ b/app/api/auth.py @@ -77,7 +77,7 @@ "token_type": "bearer", "username": user.username, "nickname": "", - "user": user.to_json() + "user": user.to_login_json() }) diff --git a/app/api/group.py b/app/api/group.py index 3880bf8..745afe5 100644 --- a/app/api/group.py +++ b/app/api/group.py @@ -3,7 +3,7 @@ from app.api import Response, get_current_user from app.models.base_model import get_db -from app.models.group_model import GroupModel, GroupData, GroupUsers +from app.models.group_model import GroupModel, GroupData, GroupUsers, GroupResource from app.models.user import PageParameter from app.models.user_model import UserModel from app.service.group import create_group, group_list, edit_group_data, delete_group_data, get_group_users, \ @@ -12,10 +12,10 @@ group_router = APIRouter() -@group_router.post("/group_list", response_model=Response) -async def user_group_list(paras: PageParameter, current_user: UserModel = Depends(get_current_user), +@group_router.get("/list", response_model=Response) +async def user_group_list(current:int, pageSize:int, keyword="", current_user: UserModel = Depends(get_current_user), db=Depends(get_db)): - return Response(code=200, msg="", data=await group_list(db, paras.page_size, paras.page_index, paras.keyword, current_user.permission, current_user.id)) + return Response(code=200, msg="", data=await group_list(db, pageSize, current, keyword, current_user.permission, current_user.id)) @group_router.post("/add_group", response_model=Response) @@ -31,7 +31,7 @@ return Response(code=200, msg="group create successfully", data={"group_name": group.group_name}) -@group_router.post("/edit_group", response_model=Response) +@group_router.put("/edit_group", response_model=Response) async def edit_group(group: GroupData, current_user: UserModel = Depends(get_current_user), db=Depends(get_db)): if not group.group_name: return Response(code=400, msg="The group_name cannot be empty!") @@ -46,7 +46,7 @@ return Response(code=200, msg="group edit successfully", data={"group_name": group.group_name}) -@group_router.post("/edit_group_status", response_model=Response) +@group_router.put("/edit_group_status", response_model=Response) async def edit_group_status(group: GroupData, current_user: UserModel = Depends(get_current_user), db=Depends(get_db)): if group.group_status not in ["0", "1"]: return Response(code=400, msg="The status cannot be {}!".format(group.group_status)) @@ -60,12 +60,12 @@ return Response(code=200, msg="group status edit successfully", data={"group_name": group.group_name}) -@group_router.post("/delete_group", response_model=Response) -async def delete_group(group: GroupData, current_user: UserModel = Depends(get_current_user), db=Depends(get_db)): - db_group = db.query(GroupModel).filter(GroupModel.id == group.id).first() +@group_router.delete("/delete_group/{groupId}", response_model=Response) +async def delete_group(groupId, current_user: UserModel = Depends(get_current_user), db=Depends(get_db)): + db_group = db.query(GroupModel).filter(GroupModel.id == groupId).first() if not db_group: return Response(code=200, msg="group does not exist") - is_edit = await delete_group_data(db, group.id) + is_edit = await delete_group_data(db, groupId) if not is_edit: return Response(code=200, msg="group delete failure", data={}) return Response(code=200, msg="group delete successfully", data={}) @@ -89,3 +89,15 @@ if not is_success: return Response(code=500, msg="save user to group failure", data={}) return Response(code=200, msg="success", data={}) + + +@group_router.post("/group_resource", response_model=Response) +async def group_resource(group_resource: GroupResource, current_user: UserModel = Depends(get_current_user), + db=Depends(get_db)): + db_group = db.query(GroupModel).filter(GroupModel.id == group_resource.id).first() + if not db_group: + return Response(code=200, msg="group does not exist") + # is_success = await save_group_resource(db, current_user.id, group_resource.id, group_resource.agents, group_resource.dialogs, group_resource.knowledges) + # if not is_success: + # return Response(code=500, msg="save user to group failure", data={}) + return Response(code=200, msg="success", data={}) diff --git a/app/api/organization.py b/app/api/organization.py index 3589c07..a660c16 100644 --- a/app/api/organization.py +++ b/app/api/organization.py @@ -11,8 +11,8 @@ @dept_router.get("/list", response_model=Response) -async def organization_list(paras: DeptList,current_user: UserModel = Depends(get_current_user), db=Depends(get_db)): - return Response(code=200, msg="", data=await get_organization_list(db, paras.deptName)) +async def organization_list(deptName="",current_user: UserModel = Depends(get_current_user), db=Depends(get_db)): + return Response(code=200, msg="", data=await get_organization_list(db, deptName)) @dept_router.post("/add_dept", response_model=Response) diff --git a/app/api/role.py b/app/api/role.py index a4674c3..af065f2 100644 --- a/app/api/role.py +++ b/app/api/role.py @@ -11,7 +11,7 @@ role_router = APIRouter() @role_router.get("/list", response_model=Response) -async def user_group_list(current, pageSize, keyword="", current_user: UserModel = Depends(get_current_user), +async def user_group_list(current:int, pageSize:int, keyword="", current_user: UserModel = Depends(get_current_user), db=Depends(get_db)): return Response(code=200, msg="", data=await role_list(db, pageSize, current, keyword, current_user.permission, current_user.id)) diff --git a/app/api/user.py b/app/api/user.py index 1e2db47..850d815 100644 --- a/app/api/user.py +++ b/app/api/user.py @@ -10,7 +10,7 @@ @user_router.get("/list", response_model=Response) -async def user_list(current, pageSize, keyword="", current_user: UserModel = Depends(get_current_user), +async def user_list(current:int, pageSize:int, keyword="", current_user: UserModel = Depends(get_current_user), db=Depends(get_db)): return Response(code=200, msg="", data=await get_user_list(db, current, pageSize, keyword, current_user.permission, current_user.id)) diff --git a/app/models/group_model.py b/app/models/group_model.py index 38db667..dda330a 100644 --- a/app/models/group_model.py +++ b/app/models/group_model.py @@ -130,3 +130,10 @@ id: int user_list: list + +class GroupResource(BaseModel): + id: int + agents: list + dialogs: list + knowledges: list + diff --git a/app/models/role_model.py b/app/models/role_model.py index de18a04..666eaf2 100644 --- a/app/models/role_model.py +++ b/app/models/role_model.py @@ -70,7 +70,7 @@ remark: Optional[str] = "" roleName: str roleKey: Optional[str] = "" - dataScope: Optional[str] = "" + dataScope: Optional[int] = 0 class RoleStatus(BaseModel): diff --git a/app/models/user_model.py b/app/models/user_model.py index d722d02..96d2d32 100644 --- a/app/models/user_model.py +++ b/app/models/user_model.py @@ -127,35 +127,31 @@ # 'phoneNumber': self.phone_number } parent_dict = {} - resources = [] + children_dict = {} for role in self.roles: for r in role.to_json().get("resources", []): - if not r["parentId"]: - resources.append(r) - continue - if r["parentId"] in parent_dict: - parent_dict[r["parentId"]].append(r) + if r["menuType"] != "1": + parent_dict[r["menuId"]] = r else: - parent_dict[r["parentId"]] = [r] - - # roles = [role.to_json() for role in self.roles] + if r["parentId"] in children_dict: + children_dict[r["parentId"]].append(r) + else: + children_dict[r["parentId"]] = [r] organization_roles = [role.to_json() for organization in self.organizations for role in organization.roles] for role in organization_roles: for r in role.to_json().get("resources", []): - if not r["parentId"]: - resources.append(r) - continue - if r["parentId"] in parent_dict: - parent_dict[r["parentId"]].append(r) + if r["menuType"] != "1": + parent_dict[r["menuId"]] = r else: - parent_dict[r["parentId"]] = [r] - - - # for resource in resources: - # if resource["menuId"] in parent_dict: - # resource[] - + if r["parentId"] in children_dict: + children_dict[r["parentId"]].append(r) + else: + children_dict[r["parentId"]] = [r] + resources = [] + for resource in parent_dict.values(): + resource["children"] = children_dict.get(resource["menuId"], []) + resources.append(resource) json['resources'] = resources return json diff --git a/app/service/group.py b/app/service/group.py index 903aa76..cc05127 100644 --- a/app/service/group.py +++ b/app/service/group.py @@ -15,18 +15,7 @@ query = query.filter(GroupModel.group_name.like('%{}%'.format(keyword))) items = query.order_by(GroupModel.id.desc()).limit(page_size).offset( (page_index - 1) * page_size).all() - # items_list = [item.to_dict() for item in items] - # groups = [i["id"] for i in items_list] - # group_dict = {} - # for group_user in db.query(GroupModel.group_id, UserModel.id, UserModel.username).outerjoin(UserModel, - # UserModel.id == UserGroupModel.user_id).filter( - # GroupModel.group_id.in_(groups)).all(): - # if group_user.group_id in group_dict: - # group_dict[group_user.group_id].append({"user_id": group_user.id, "user_name": group_user.username}) - # else: - # group_dict[group_user.group_id] = [{"user_id": group_user.id, "user_name": group_user.username}] - # for item in items_list: - # item["users"] = group_dict.get(item["id"], []) + return {"total": query.count(), "items": [item.to_json() for item in items]} diff --git a/app/service/role.py b/app/service/role.py index a0c631f..7739d00 100644 --- a/app/service/role.py +++ b/app/service/role.py @@ -19,7 +19,7 @@ async def create_role(db, role_name: str, description: str, role_key, data_scope, user_id): try: - role_model = RoleModel(id=str(uuid.uuid4()),name=role_name, description=description,creator=user_id, data_scope=data_scope) + role_model = RoleModel(id=str(uuid.uuid4()),name=role_name, description=description,creator=user_id, dataScope=data_scope) if role_key: role_model.roleKey = role_key db.add(role_model) @@ -63,7 +63,7 @@ if role_key: role.roleKey = role_key if data_scope: - role.data_scope = data_scope + role.dataScope = data_scope else: role.resources = [db.get(ResourceModel, resourcesId) for resourcesId in resources] db.add(role) -- Gitblit v1.8.0