diff --git a/src/blackboard/queries.py b/src/blackboard/queries.py index e99dfc4..c7e6785 100644 --- a/src/blackboard/queries.py +++ b/src/blackboard/queries.py @@ -73,14 +73,21 @@ class Queries: finally: conn.close() - def tasks_by_status(self, status: str) -> List[Task]: + def tasks_by_status(self, status: str, + card_id: Optional[str] = None) -> List[Task]: """查询指定状态的所有任务""" conn = self._conn() try: - rows = conn.execute( - "SELECT * FROM tasks WHERE status=? ORDER BY priority ASC", - (status,), - ).fetchall() + if card_id: + rows = conn.execute( + "SELECT * FROM tasks WHERE status=? AND card_id=? ORDER BY priority ASC", + (status, card_id), + ).fetchall() + else: + rows = conn.execute( + "SELECT * FROM tasks WHERE status=? ORDER BY priority ASC", + (status,), + ).fetchall() return [Task.from_row(r) for r in rows] finally: conn.close()