zhaoqingang
2025-02-25 ac9373fd6f0db53c983d87c4790cb627e82759e9
app/service/label.py
@@ -1,18 +1,19 @@
import uuid
from streamlit.time_util import adjust_years
from Log import logger
from app.models.label_model import LabelModel, LabelWorkerModel
from app.models.role_model import RoleModel
async def label_list_service(db, keyword: str, label_type):
async def label_list_service(db, keyword: str, label_type, object_id):
    query = db.query(LabelModel)
    if keyword:
        query = query.filter(LabelModel.name.like('%{}%'.format(keyword)))
    if label_type:
        query = query.filter(LabelModel.label_type==label_type)
    if object_id:
        label_id = [i.label_id for i in db.query(LabelWorkerModel).filter(LabelWorkerModel.object_id==object_id).all()]
        query = query.filter(LabelModel.id.in_(label_id))
    labels = query.order_by(LabelModel.id.desc()).all()
    return {"total": query.count(), "rows":  [label.to_json() for label in labels]}
@@ -61,4 +62,12 @@
            logger.error(e)
            db.rollback()
            # return False
    print(delete_list)
    for label_id in delete_list:
        try:
            db.query(LabelWorkerModel).filter_by(id=label_id).delete()
            db.commit()
        except Exception as e:
            logger.error(e)
            db.rollback()
    return True