From 57239055391b0c2891180739b78c535a17851aac Mon Sep 17 00:00:00 2001
From: zhaoqingang <zhaoqg0118@163.com>
Date: 星期四, 14 十一月 2024 10:21:11 +0800
Subject: [PATCH] 组资源配置

---
 app/service/group.py |   32 +++++++++++++++++---------------
 1 files changed, 17 insertions(+), 15 deletions(-)

diff --git a/app/service/group.py b/app/service/group.py
index 903aa76..d7845fa 100644
--- a/app/service/group.py
+++ b/app/service/group.py
@@ -1,4 +1,5 @@
 from app.config.config import settings
+from app.models import CanvasModel, DialogModel, KnowledgeModel
 from app.models.group_model import GroupModel
 from app.models.user_model import UserModel
 from app.service.ragflow import RagflowService
@@ -8,25 +9,14 @@
 
 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)
-    if role_key != "admin":
-        query.filter(GroupModel.creator==user_id)
+    query = db.query(GroupModel).filter(GroupModel.creator==user_id)
+    # 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()
-    # 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]}
 
 
@@ -118,4 +108,16 @@
     except Exception as e:
         logger.error(e)
         return False
+    return True
+
+async def save_group_resource(db, user_id, group_id, agents, 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.dialogs = [db.get(DialogModel, user) for user in dialogs]
+        group.knowledges = [db.get(KnowledgeModel, user) for user in knowledges]
+        db.commit()
+    except Exception as e:
+        logger.error(e)
+        return False
     return True
\ No newline at end of file

--
Gitblit v1.8.0