diff --git a/app/services/training_admin_bridge.py b/app/services/training_admin_bridge.py index f1ad363..da7ac59 100644 --- a/app/services/training_admin_bridge.py +++ b/app/services/training_admin_bridge.py @@ -62,7 +62,10 @@ def delete_course(course_id: str) -> bool: # ── 活动(events 表)───────────────────────────────────────────────────── def list_activities(status: str | None = None) -> list[dict]: + from app.infrastructure.oss import resolve_url rows = tdb.list_all("events", "start_at DESC") + for r in rows: + r["image"] = resolve_url(r.get("image", "") or "") if status: return [r for r in rows if r.get("status") == status] return rows @@ -83,11 +86,13 @@ def create_activity(data: dict) -> dict: def list_activities_public(user_id: str | None = None, status: str | None = None) -> list[dict]: """公开活动列表;标注 is_mine(我发布的)与 my_registered(我已报名)。""" + from app.infrastructure.oss import resolve_url rows = tdb.list_all("events", "start_at DESC") bookings = tdb.list_all("bookings") out: list[dict] = [] for r in rows: r = dict(r) + r["image"] = resolve_url(r.get("image", "") or "") r["is_mine"] = bool(user_id and r.get("publisher_id") == user_id) r["my_registered"] = bool( user_id and any( @@ -166,10 +171,12 @@ def delete_activity_owned(event_id: str, user_id: str) -> bool: def get_event_detail(user_id: str | None, event_id: str) -> dict | None: """活动详情:发布者附带报名列表(bookings);非发布者只返回活动与我的报名标记。""" + from app.infrastructure.oss import resolve_url ev = tdb.fetch_by_id("events", event_id) if ev is None: return None ev = dict(ev) + ev["image"] = resolve_url(ev.get("image", "") or "") is_mine = bool(user_id and ev.get("publisher_id") == user_id) ev["is_mine"] = is_mine ev["my_registered"] = False