"""分类服务""" from app import db from app.models import Category class CategoryService: """分类业务逻辑""" @staticmethod def get_all(): """获取所有分类""" return Category.query.order_by(Category.sort_order).all() @staticmethod def get_by_id(category_id): """通过ID获取分类""" return Category.query.get(category_id) @staticmethod def get_by_slug(slug): """通过slug获取分类""" return Category.query.filter_by(slug=slug).first() @staticmethod def create(name, slug=None, description=None, sort_order=0): """创建分类""" from slugify import slugify slug = slug or slugify(name) category = Category( name=name, slug=slug, description=description, sort_order=sort_order ) db.session.add(category) db.session.commit() return category @staticmethod def update(category_id, **kwargs): """更新分类""" category = Category.query.get(category_id) if not category: return None for key, value in kwargs.items(): if hasattr(category, key): setattr(category, key, value) db.session.commit() return category @staticmethod def delete(category_id): """删除分类""" category = Category.query.get(category_id) if category: db.session.delete(category) db.session.commit() return True return False