zhaoqingang
2025-01-14 a7c9047450b2ebb8b7e5d2201c3c6b61af580a3c
智能体列表问题优化
1个文件已修改
26 ■■■■ 已修改文件
app/service/dialog.py 26 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/service/dialog.py
@@ -19,14 +19,15 @@
    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()]
    # if label:
    #     id_list = [i.object_id for i in db.query(LabelWorkerModel).filter(LabelWorkerModel.label_id==label).all()]
    if user.permission != "admin":
        dia_list = [j.id for i in user.groups for j in i.dialogs if not label or j.id in id_list]
        dia_list = [j.id for i in user.groups for j in i.dialogs]
        query = query.filter(or_(DialogModel.tenant_id == user_id, DialogModel.id.in_(dia_list)))
    else:
        if label:
            query = query.filter(or_(DialogModel.id.in_(id_list)))
    # else:
    if label:
        id_list = [i.object_id for i in db.query(LabelWorkerModel).filter(LabelWorkerModel.label_id == label).all()]
        query = query.filter(DialogModel.id.in_(id_list))
    if keyword:
        query = query.filter(DialogModel.name.like('%{}%'.format(keyword)))
@@ -144,15 +145,14 @@
    if user is None:
        return {"rows": []}
    query = db.query(DialogModel).filter(DialogModel.status != Dialog_STATSU_DELETE)
    id_list = []
    if label:
        id_list = set([i.object_id for i in db.query(LabelWorkerModel).filter(LabelWorkerModel.label_id.in_(label)).all()])
    if user.permission != "admin":
        dia_list = [j.id for i in user.groups for j in i.dialogs if not label or j.id in id_list]
        dia_list = [j.id for i in user.groups for j in i.dialogs]
        query = query.filter(or_(DialogModel.tenant_id == user_id, DialogModel.id.in_(dia_list)))
    else:
        if label:
            query = query.filter(or_(DialogModel.id.in_(id_list)))
    if label:
        id_list = set(
            [i.object_id for i in db.query(LabelWorkerModel).filter(LabelWorkerModel.label_id.in_(label)).all()])
        query = query.filter(DialogModel.id.in_(id_list))
    if keyword:
        query = query.filter(DialogModel.name.like('%{}%'.format(keyword)))