7 次代码提交 a2d80984b0 ... 437e098d76

作者 SHA1 备注 提交日期
  ‘suhuihui’ 437e098d76 suhh-知识库查询添加拥有编辑账号信息 4 月之前
  ‘suhuihui’ f20ebf19d1 Merge branch '1.1.3-master' into 1.1.3-suhh 4 月之前
  ‘suhuihui’ 53f70cbfb9 suhh-部门树查询 4 月之前
  ‘suhuihui’ 9b8f17c2cb suhh-部门树查询 4 月之前
  liangxunge 5322fecba6 Merge branch '1.1.3-master' of http://8.130.72.63:18081/shenzhen/tjdify into 1.1.3-master 4 月之前
  liangxunge 02116d44c0 Merge branch '1.1.3-lxg' into 1.1.3-master 4 月之前
  liangxunge 912bc3529e 训练语料(分页接口返回值添加创建人和创建时间) 4 月之前

+ 3 - 0
api/controllers/console/__init__.py

@@ -87,6 +87,9 @@ from .datasets import (
     website,
 )
 
+# Import dept controllers
+from .dept import depts
+
 # Import explore controllers
 from .explore import (
     installed_app,

+ 2 - 1
api/controllers/console/datasets/datasets.py

@@ -222,7 +222,8 @@ class DatasetApi(Resource):
         if data.get("permission") == "partial_members":
             part_users_list = DatasetPermissionService.get_dataset_partial_member_list(dataset_id_str)
             data.update({"partial_member_list": part_users_list})
-
+        edit_user_id_list = DatasetPermissionService.get_dataset_edit_user_ids(dataset_id_str)
+        data.update({"edit_user_ids": edit_user_id_list})
         return data, 200
 
     @setup_required

+ 35 - 0
api/controllers/console/dept/depts.py

@@ -0,0 +1,35 @@
+from flask_restful import Resource  # type: ignore
+
+from controllers.console import api
+from controllers.console.wraps import (
+    account_initialization_required,
+    setup_required,
+)
+from libs.login import login_required
+from services.dept_service import DeptService
+
+
+class DeptAccountListApi(Resource):
+    @setup_required
+    @login_required
+    @account_initialization_required
+    def get(self):
+        dept_account_list=DeptService.get_dept_account_list()
+        response = {
+            "data": dept_account_list,
+        }
+        return response, 200
+
+class DeptListApi(Resource):
+    @setup_required
+    @login_required
+    @account_initialization_required
+    def get(self):
+        dept_list = DeptService.get_dept_list()
+        response = {
+            "data": dept_list,
+        }
+        return response, 200
+
+api.add_resource(DeptAccountListApi, "/dept/dept-accounts")
+api.add_resource(DeptListApi, "/dept")

+ 2 - 0
api/fields/intention_fields.py

@@ -78,6 +78,8 @@ intention_corpus_detail_fields = {
     "question_config": fields.String,
     "intention": fields.Nested(intention_page_fields),
     "similarity_questions": fields.List(fields.Nested(intention_corpus_similarity_question_fields)),
+    "created_by": fields.String,
+    "created_at": TimestampField,
 }
 
 intention_detail_fields = {

+ 3 - 1
api/models/dept.py

@@ -14,7 +14,9 @@ class DeptStatus(enum.StrEnum):
 
 class Dept(db.Model):
     __tablename__ = "dept"
-    __table_args__ = db.PrimaryKeyConstraint("dept_id", name="dept_pkey")
+    __table_args__ = (
+        db.PrimaryKeyConstraint("dept_id", name="dept_pkey"),
+    )
 
     dept_id: Mapped[str] = mapped_column(StringUUID, server_default=db.text("uuid_generate_v4()"))
     dept_name = db.Column(db.String(255), nullable=False)

+ 14 - 0
api/services/dataset_service.py

@@ -2749,6 +2749,20 @@ class DatasetCollectionBindingService:
 
 class DatasetPermissionService:
     @classmethod
+    def get_dataset_edit_user_ids(cls, dataset_id):
+        edit_user_ids_query = (
+            db.session.query(
+                DatasetPermissionAll.account_id,
+            )
+            .filter(DatasetPermissionAll.dataset_id == dataset_id, DatasetPermissionAll.has_edit_permission == True)
+            .all()
+        )
+        edit_user_ids = []
+        for edit_user_id in edit_user_ids_query:
+            edit_user_ids.append(edit_user_id.account_id)
+        return edit_user_ids
+
+    @classmethod
     def get_dataset_partial_member_list(cls, dataset_id):
         user_list_query = (
             db.session.query(

+ 41 - 0
api/services/dept_service.py

@@ -0,0 +1,41 @@
+from extensions.ext_database import db
+from models.account import Account
+from models.dept import Dept
+
+
+class DeptService:
+
+    @staticmethod
+    def get_dept_account_list():
+        dept_list=[]
+        account_list=[]
+
+        dept_results = (
+            db.session.query(Dept.dept_id, Dept.dept_name)
+            .filter(Dept.status == 'active')
+            .all()
+        )
+
+        account_results = (
+            db.session.query(Account.dept_id, Account.id,Account.email)
+            .filter(Account.status == 'active')
+            .all()
+        )
+        for dept_row in dept_results:
+            for account_row in account_results:
+                if account_row.dept_id == dept_row.dept_id:
+                   account_list.append({"account_id":account_row.id,"email":account_row.email})
+            dept_list.append({"dept_id": dept_row.dept_id, "dept_name": dept_row.dept_name,"accounts":account_list})
+
+        return dept_list
+    @staticmethod
+    def get_dept_list():
+        dept_list = []
+        dept_results = (
+            db.session.query(Dept.dept_id, Dept.dept_name)
+            .filter(Dept.status == 'active')
+            .all()
+        )
+        for dept_row in dept_results:
+            dept_list.append({"dept_id": dept_row.dept_id, "dept_name": dept_row.dept_name})
+        return  dept_list