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