From 5ef590b70cc8e2de16083af2ee2d977daae5587c Mon Sep 17 00:00:00 2001 From: zhaoqingang <zhaoqg0118@163.com> Date: 星期二, 19 十一月 2024 16:34:29 +0800 Subject: [PATCH] 会话缓存本地数据库 --- app/service/knowledge.py | 23 +++++++++++++++++++++++ 1 files changed, 23 insertions(+), 0 deletions(-) diff --git a/app/service/knowledge.py b/app/service/knowledge.py index e69de29..c9c89b4 100644 --- a/app/service/knowledge.py +++ b/app/service/knowledge.py @@ -0,0 +1,23 @@ +from app.models import KnowledgeModel, GroupModel +from app.models.user_model import UserModel +from Log import logger + + +async def get_knowledge_list(db, role, user_id): + if role == "admin": + kld_list = db.query(KnowledgeModel).all() + else: + user = db.query(UserModel).filter(UserModel.id == user_id).first() + + group_list = [i.id for i in user.groups] + + kld_list = db.query(KnowledgeModel).filter(KnowledgeModel.tenant_id == user_id).all() + kld_set = set([i.id for i in kld_list]) + for group in db.query(GroupModel).filter(GroupModel.id.in_(group_list)).all(): + for k in group.knowledges: + if k.id not in kld_set: + kld_list.append(k) + kld_set.add(k.id) + + return {"rows": [kld.to_json() for kld in kld_list]} + -- Gitblit v1.8.0