From ee8df9424fc4e3fb30a8b8e39436b26c902defb7 Mon Sep 17 00:00:00 2001 From: zhaoqingang <zhaoqg0118@163.com> Date: 星期二, 24 十二月 2024 13:37:15 +0800 Subject: [PATCH] 角色的资源过滤掉删除的 --- app/models/role_model.py | 5 +++-- app/service/dialog.py | 10 ++++++---- app/api/dialog.py | 4 +++- app/api/agent.py | 16 ++++++++++------ 4 files changed, 22 insertions(+), 13 deletions(-) diff --git a/app/api/agent.py b/app/api/agent.py index fb1ad87..0fb5f10 100644 --- a/app/api/agent.py +++ b/app/api/agent.py @@ -81,11 +81,15 @@ @router.get("/{agent_id}/{conversation_id}/session_log") async def session_log(agent_id: str, conversation_id: str, db: Session = Depends(get_db), current_user: UserModel = Depends(get_current_user)): - agent = db.query(AgentModel).filter(AgentModel.id == agent_id).first() + # agent = db.query(AgentModel).filter(AgentModel.id == agent_id).first() + # if not agent: + # return Response(code=404, msg="Agent not found") + agent = db.query(MenuCapacityModel).filter(MenuCapacityModel.chat_id == agent_id).first() if not agent: - return Response(code=404, msg="Agent not found") + return ResponseList(code=404, msg="Agent not found") + agent_type = int(agent.capacity_type) - if agent.agent_type == AgentType.RAGFLOW: + if agent_type == AgentType.RAGFLOW: ragflow_service = RagflowService(base_url=settings.fwr_base_url) try: token = await get_ragflow_token(db, current_user.id) @@ -116,7 +120,7 @@ return JSONResponse(status_code=200, content={"code": 400, "message": "Invalid result structure"}) except Exception as e: raise HTTPException(status_code=500, detail=str(e)) - elif agent.agent_type == AgentType.BISHENG: + elif agent_type == AgentType.BISHENG: is_join = False if agent.name == "鎶ュ憡鐢熸垚": is_join = True @@ -180,7 +184,7 @@ 'answer': answer_str, 'files': files}]}) except Exception as e: raise HTTPException(status_code=500, detail=str(e)) - elif agent.agent_type == AgentType.BASIC: + elif agent_type == AgentType.BASIC: data = [] session = db.query(SessionModel).filter(SessionModel.id == conversation_id).first() if session: @@ -219,7 +223,7 @@ data.append(tmp_data) return JSONResponse(status_code=200, content={"code": 200, "data": data}) - elif agent.agent_type == AgentType.DIFY: + elif agent_type == AgentType.DIFY: data = [] session = db.query(SessionModel).filter(SessionModel.id == conversation_id).first() if session: diff --git a/app/api/dialog.py b/app/api/dialog.py index 799d7ea..45db470 100644 --- a/app/api/dialog.py +++ b/app/api/dialog.py @@ -20,7 +20,9 @@ current_user: UserModel = Depends(get_current_user), db=Depends(get_db)): if current and not pageSize: - return ResponseList(code=400, msg="缂哄皯鍙傛暟") + return Response(code=400, msg="缂哄皯鍙傛暟") + if status and status not in ["0", "1"]: + return Response(code=400, msg="Parameter status exception") return Response(code=200, msg="", data=await get_dialog_list(db, current_user.id, keyword, label, status, pageSize, current)) diff --git a/app/models/role_model.py b/app/models/role_model.py index 42895df..23231de 100644 --- a/app/models/role_model.py +++ b/app/models/role_model.py @@ -5,6 +5,7 @@ from sqlalchemy import Column, Integer, String, DateTime, Table, ForeignKey from sqlalchemy.orm import relationship, backref +from app.config.const import RESOURCE_STATUS_DELETE, DEPT_STATUS_DELETE from app.models.base_model import Base # 瑙掕壊璧勬簮鍏宠仈琛� @@ -59,9 +60,9 @@ } # if len(self.resources) > 0: - json['resources'] = [resource.to_json() for resource in self.resources] + json['resources'] = [resource.to_json() for resource in self.resources if resource.status != DEPT_STATUS_DELETE] - json['dept'] = [dept.to_base_json() for dept in self.organizations] + json['dept'] = [dept.to_base_json() for dept in self.organizationsif if dept.status != RESOURCE_STATUS_DELETE] return json diff --git a/app/service/dialog.py b/app/service/dialog.py index bfc1fc0..0e79270 100644 --- a/app/service/dialog.py +++ b/app/service/dialog.py @@ -13,7 +13,11 @@ user = db.query(UserModel).filter(UserModel.id == user_id).first() if user is None: return {"rows": []} - query = db.query(DialogModel).filter(DialogModel.status != Dialog_STATSU_DELETE) + query = db.query(DialogModel) + if status: + query = query.filter(DialogModel.status == status) + else: + query = query.filter(DialogModel.status != Dialog_STATSU_DELETE) id_list = [] if label: id_list = [i.object_id for i in db.query(LabelWorkerModel).filter(LabelWorkerModel.label_id==label).all()] @@ -27,9 +31,7 @@ if keyword: query = query.filter(DialogModel.name.like('%{}%'.format(keyword))) - if status: - # print(status) - query = query.filter(DialogModel.status == status) + query = query.order_by(DialogModel.update_date.desc()) total = query.count() if page_size: -- Gitblit v1.8.0