From e6c5e89f09637b8d9ebca6895d781663f12646d6 Mon Sep 17 00:00:00 2001
From: zhaoqingang <zhaoqg0118@163.com>
Date: 星期二, 17 十二月 2024 16:43:55 +0800
Subject: [PATCH] dify 文档智能

---
 app/service/user.py |   19 ++++++++++++++++---
 1 files changed, 16 insertions(+), 3 deletions(-)

diff --git a/app/service/user.py b/app/service/user.py
index 1ce7417..895f477 100644
--- a/app/service/user.py
+++ b/app/service/user.py
@@ -5,7 +5,7 @@
 from app.api.dialog import dialog_list
 from app.config.config import settings
 from app.config.const import RAGFLOW, BISHENG, DIFY
-from app.models import RoleModel, GroupModel, AgentType, role_resource_table, DialogModel
+from app.models import RoleModel, GroupModel, AgentType, role_resource_table, DialogModel, OrganizationModel
 from app.models.menu_model import WebMenuModel, MenuCapacityModel
 from app.models.user_model import UserModel, UserAppModel
 from Log import logger
@@ -245,6 +245,7 @@
     for group in user.groups:
         for dialog in group.dialogs:
             dialog_list.append(dialog.id)
+    print(dialog_list)
     menu_list = db.query(WebMenuModel.id, WebMenuModel.title, WebMenuModel.describe, WebMenuModel.icon, WebMenuModel.desc,WebMenuModel.rank,
                          WebMenuModel.img, MenuCapacityModel.capacity_id, MenuCapacityModel.capacity_type, MenuCapacityModel.chat_id.label("agentId")).outerjoin(
         MenuCapacityModel, WebMenuModel.id == MenuCapacityModel.menu_id).outerjoin(
@@ -258,7 +259,7 @@
         for m in menus:
             if user.permission == "admin":
                 continue
-            elif not m.capacity_type or m.capacity_type == 1 and m.capacity_id not in dialog_list:
+            elif m.capacity_id not in dialog_list:
                 break
         else:
             res.append({
@@ -343,4 +344,16 @@
     user = db.query(UserModel).filter_by(id=user_id).first()
 
 
-    return {"roles": [i.to_dict() for i in user.roles], "user": user.to_dict()}
\ No newline at end of file
+    return {"roles": [i.to_dict() for i in user.roles], "user": user.to_dict()}
+
+
+async def edit_user_dept(db, user_id, dept_list):
+    try:
+        user = db.query(UserModel).filter(UserModel.id == user_id).first()
+        user.organizations = [db.get(OrganizationModel, deptId) for deptId in dept_list]
+        db.commit()
+    except Exception as e:
+        logger.error(e)
+        db.rollback()
+        return False
+    return True
\ No newline at end of file

--
Gitblit v1.8.0