From 2f84e3cc4bff981590ab37bd95da64bd72c1f2e0 Mon Sep 17 00:00:00 2001
From: zhaoqingang <zhaoqg0118@163.com>
Date: 星期一, 16 十二月 2024 09:40:00 +0800
Subject: [PATCH] 12-16

---
 app/service/service_token.py |    2 
 app/service/dialog.py        |    2 
 app/service/group.py         |   28 +++++++-------
 app/models/group_model.py    |   14 +++---
 app/api/group.py             |   44 +++++++++++-----------
 5 files changed, 45 insertions(+), 45 deletions(-)

diff --git a/app/api/group.py b/app/api/group.py
index 5498eb1..e1fda78 100644
--- a/app/api/group.py
+++ b/app/api/group.py
@@ -15,49 +15,49 @@
 @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, pageSize, current, keyword, current_user.permission, current_user.id))
+    return Response(code=200, msg="", data=await group_list(db, pageSize, current, keyword))
 
 
 @group_router.post("/add_group", response_model=Response)
 async def add_group(group: GroupData, current_user: UserModel = Depends(get_current_user), db=Depends(get_db)):
-    if not group.group_name:
+    if not group.groupName:
         return Response(code=400, msg="The group_name cannot be empty!")
-    db_group = db.query(GroupModel).filter(GroupModel.group_name == group.group_name).first()
+    db_group = db.query(GroupModel).filter(GroupModel.group_name == group.groupName).first()
     if db_group:
-        return Response(code=200, msg="group already created")
-    is_create = await create_group(db, group.group_name, group.group_description, current_user.id)
+        return Response(code=400, msg="group already created")
+    is_create = await create_group(db, group.groupName, group.description, current_user.id)
     if not is_create:
         return Response(code=200, msg="group create failure", data={})
-    return Response(code=200, msg="group create successfully", data={"group_name": group.group_name})
+    return Response(code=200, msg="group create successfully", data={"group_name": group.groupName})
 
 
 @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:
+    if not group.groupName:
         return Response(code=400, msg="The group_name cannot be empty!")
-    db_group = db.query(GroupModel).filter(GroupModel.group_name == group.group_name).first()
+    db_group = db.query(GroupModel).filter(GroupModel.group_name == group.groupName).first()
     if db_group and db_group.id != group.id:
-        return Response(code=200, msg="group_name already created")
+        return Response(code=400, msg="group_name already created")
     is_edit = await edit_group_data(db, group.id,
-                                    {"group_name": group.group_name, "group_description": group.group_description,
+                                    {"group_name": group.groupName, "group_description": group.description,
                                      "updated_at": datetime.now()})
     if not is_edit:
         return Response(code=200, msg="group edit failure", data={})
-    return Response(code=200, msg="group edit successfully", data={"group_name": group.group_name})
+    return Response(code=200, msg="group edit successfully", data={"group_name": group.groupName})
 
 
 @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))
+    if group.status not in ["0", "1"]:
+        return Response(code=400, msg="The status cannot be {}!".format(group.status))
     db_group = db.query(GroupModel).filter(GroupModel.id == group.id).first()
     if not db_group:
-        return Response(code=200, msg="group does not exist")
+        return Response(code=400, msg="group does not exist")
     is_edit = await edit_group_data(db, group.id,
-                                    {"status": group.group_status,"updated_at": datetime.now()})
+                                    {"status": group.status,"updated_at": datetime.now()})
     if not is_edit:
         return Response(code=200, msg="group status edit failure", data={})
-    return Response(code=200, msg="group status edit successfully", data={"group_name": group.group_name})
+    return Response(code=200, msg="group status edit successfully", data={"group_name": group.groupName})
 
 
 @group_router.delete("/delete_group/{groupId}", response_model=Response)
@@ -73,12 +73,12 @@
     return Response(code=200, msg="group delete successfully", data={})
 
 
-@group_router.post("/group_users", response_model=Response)
-async def group_users(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.get("/group_users", response_model=Response)
+async def group_users(groupId:int, 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", data={})
-    return Response(code=200, msg="success", data=await get_group_users(db, group.id))
+    return Response(code=200, msg="success", data=await get_group_users(db, groupId))
 
 
 @group_router.post("/save_group_user", response_model=Response)
@@ -87,7 +87,7 @@
     db_group = db.query(GroupModel).filter(GroupModel.id == group_user.id).first()
     if not db_group:
         return Response(code=200, msg="group does not exist")
-    is_success = await save_user_to_group(db, current_user.id, group_user.id, group_user.user_list)
+    is_success = await save_user_to_group(db, current_user.id, group_user.id, group_user.userList)
     if not is_success:
         return Response(code=500, msg="save user to group failure", data={})
     return Response(code=200, msg="success", data={})
@@ -99,7 +99,7 @@
     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)
+    is_success = await save_group_resource(db, current_user.id, group_resource.id, group_resource.llms, 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/models/group_model.py b/app/models/group_model.py
index 529db57..58d4991 100644
--- a/app/models/group_model.py
+++ b/app/models/group_model.py
@@ -96,8 +96,8 @@
         if len(self.dialogs.all()) > 0:
             json['dialogs'] = [dialog.to_json() for dialog in self.dialogs]
 
-        if len(self.agents.all()) > 0:
-            json['agents'] = [agent.to_json() for agent in self.agents]
+        # if len(self.agents.all()) > 0:
+        #     json['agents'] = [agent.to_json() for agent in self.agents]
 
         if len(self.llms.all()) > 0:
             json['llms'] = [llm.to_json() for llm in self.llms]
@@ -120,18 +120,18 @@
 
 class GroupData(BaseModel):
     id: Optional[int] = None
-    group_name: Optional[str] = ""
-    group_description: Optional[str] = ""
-    group_status: Optional[str] = ""
+    groupName: Optional[str] = ""
+    description: Optional[str] = ""
+    status: Optional[str] = ""
 
 class GroupUsers(BaseModel):
     id: int
-    user_list: list
+    userList: list
 
 
 class GroupResource(BaseModel):
     id: int
-    agents: list
+    llms: list
     dialogs: list
     knowledges: list
 
diff --git a/app/service/dialog.py b/app/service/dialog.py
index 8a1ccbc..7073aa5 100644
--- a/app/service/dialog.py
+++ b/app/service/dialog.py
@@ -105,7 +105,7 @@
 
 async def update_dialog_status_service(db, dialog_id, status):
     try:
-        DialogModel(id=dialog_id).update({"status":status})
+        db.query(DialogModel).filter_by(id=dialog_id).update({"status":status})
         db.commit()
     except Exception as e:
         logger.error(e)
diff --git a/app/service/group.py b/app/service/group.py
index 0c6eb77..ab8368e 100644
--- a/app/service/group.py
+++ b/app/service/group.py
@@ -7,17 +7,18 @@
 from Log import logger
 
 
-async def group_list(db, page_size: int, page_index: int, keyword: str, role_key:str, user_id):
-    logger.info("-------------------------group_list----------------------------------")
-    query = db.query(GroupModel).filter(GroupModel.creator==user_id)
+async def group_list(db, page_size: int, page_index: int, keyword: str):
+    # logger.info("-------------------------group_list----------------------------------")
+    query = db.query(GroupModel)
     # if role_key != "admin":
     #     query.filter(GroupModel.creator==user_id)
     if keyword:
         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()
+    total = query.count()
+    print(total)
+    items = query.order_by(GroupModel.id.desc()).limit(page_size).offset((page_index - 1) * page_size)
 
-    return {"total": query.count(), "items": [item.to_json() for item in items]}
+    return {"total":total , "items": [item.to_dict() for item in items.all()]}
 
 
 async def create_group(db, group_name: str, group_description: str, user_id):
@@ -58,14 +59,13 @@
 async def get_group_users(db, group_id):
     not_group_user = []
     in_group_user = []
-    user_list = [u.id for i in
-                 db.query(GroupModel).filter(GroupModel.id.__eq__(group_id)).all() for u in i.users]
-    for u in db.query(UserModel.id, UserModel.username).filter(UserModel.permission!="admin").order_by(UserModel.id.desc()).all():
+    user_list = [u.id for u in db.query(GroupModel).filter(GroupModel.id.__eq__(group_id)).first().users]
+    for u in db.query(UserModel.id, UserModel.username,UserModel.permission).filter(UserModel.permission!="admin").order_by(UserModel.id.desc()).all():
         if u.id in user_list:
-            in_group_user.append({"user_id": u.id, "user_name": u.username})
+            in_group_user.append({"userId": u.id, "userName": u.username})
         else:
-            not_group_user.append({"user_id": u.id, "user_name": u.username})
-    return {"in_group": in_group_user, "not_in_group": not_group_user}
+            not_group_user.append({"userId": u.id, "userName": u.username})
+    return {"inGroup": in_group_user, "notInGroup": not_group_user}
 
 
 async def save_user_to_group(db, user_id, group_id, user_list):
@@ -112,10 +112,10 @@
         return False
     return True
 
-async def save_group_resource(db, user_id, group_id, agents, dialogs, knowledges):
+async def save_group_resource(db, user_id, group_id, llms, dialogs, knowledges):
     try:
         group = db.query(GroupModel).filter(GroupModel.id.__eq__(group_id)).first()
-        group.agents = [db.get(CanvasModel, user) for user in agents]
+        group.llms = [db.get(CommonLlmModel, user) for user in llms]
         group.dialogs = [db.get(DialogModel, user) for user in dialogs]
         group.knowledges = [db.get(KnowledgeModel, user) for user in knowledges]
         db.commit()
diff --git a/app/service/service_token.py b/app/service/service_token.py
index 7a2a695..0b031cb 100644
--- a/app/service/service_token.py
+++ b/app/service/service_token.py
@@ -103,7 +103,7 @@
         logger.error("娉ㄥ唽鐢ㄦ埛鑾峰彇token澶辫触锛�")
         return False
     user_list = db.query(UserAppModel).filter(UserAppModel.app_type==RAGFLOW).all()
-    user = db.query(UserAppModel).filter(UserAppModel.userFlag==sync_user.id, UserAppModel.app_type == RAGFLOW).first()
+    user = db.query(UserAppModel).filter(UserAppModel.user_id==sync_user.id, UserAppModel.app_type == RAGFLOW).first()
     if not user:
         logger.error("娉ㄥ唽鐢ㄦ埛鑾峰彇淇℃伅澶辫触锛�")
         return False

--
Gitblit v1.8.0