status_store.py 943 B

12345678910111213141516171819202122232425262728
  1. from typing import Optional
  2. from sqlalchemy.orm import Session
  3. from ..models.status_model import StatusModel
  4. from .base_store import BaseStore
  5. class StatusStore(BaseStore[StatusModel]):
  6. """
  7. 状态存储类,继承自BaseStore
  8. 提供状态相关的特定操作
  9. """
  10. def __init__(self, db: Session):
  11. super().__init__(db, StatusModel)
  12. def get_by_type(self, type: str) -> Optional[StatusModel]:
  13. """根据类型获取状态"""
  14. return self.db.query(
  15. self.model).filter(self.model.type == type).first()
  16. def get_all_by_status(self, status: int) -> list[StatusModel]:
  17. """根据状态值获取所有状态"""
  18. return self.db.query(
  19. self.model).filter(self.model.status == status).all()
  20. def get_all_by_sort(self) -> list[StatusModel]:
  21. """根据排序获取所有状态"""
  22. return self.db.query(self.model).order_by(self.model.sort).all()