diff --git a/app/api/schemas/operator.py b/app/api/schemas/operator.py index e9df58d..759b266 100644 --- a/app/api/schemas/operator.py +++ b/app/api/schemas/operator.py @@ -18,6 +18,19 @@ class TaskCreateRequest(BaseModel): display_priority: int = 0 publisher_id: str | None = None publisher_name: str = "" + # ── 多端任务体系扩展字段 ── + publisher_role: str = "" # enterprise/operator/park + visibility: str = "public" # public/assigned_only/c_visible + c_visible: bool = True # 是否进 C 端任务广场 + park_public: bool = False # 是否公有任务(各园区大屏可见/本园可接) + assign_type: str = "" # opc/park(指派模式) + assign_park_id: str | None = None + assign_opc_id: str | None = None + park_id: str | None = None + bid_quota: int = 0 # 竞标报名人数上限 + win_quota: int = 0 # 竞标中标人数 + eligibility: str = "{}" # 接单资格条件(JSON) + settle_mode: str = "operator_escrow" # 资金托管方式 class TaskUpdateRequest(BaseModel): @@ -38,6 +51,18 @@ class TaskUpdateRequest(BaseModel): display_priority: int | None = None publisher_id: str | None = None publisher_name: str | None = None + publisher_role: str | None = None + visibility: str | None = None + c_visible: bool | None = None + park_public: bool | None = None + assign_type: str | None = None + assign_park_id: str | None = None + assign_opc_id: str | None = None + park_id: str | None = None + bid_quota: int | None = None + win_quota: int | None = None + eligibility: str | None = None + settle_mode: str | None = None class TaskStatusRequest(BaseModel): @@ -86,7 +111,8 @@ class ContentCreateRequest(BaseModel): title: str summary: str = "" body: str = "" - cover: str = "" # 封面图 + cover: str = "" # 加宽封面图(3.35:1) + cover_small: str = "" # 小封面图(1:1,可选) images: list[str] = [] # 图集 video: str = "" # 视频 URL video_cover: str = "" # 视频封面 @@ -95,11 +121,17 @@ class ContentCreateRequest(BaseModel): publisher_avatar: str = "" # 发布人头像 card_mode: str = "big" # big 大图 | small 小图(运营端设) is_public: bool = True # 是否公开 + priority: int = 0 # 优先级(越大越靠前) status: str = "draft" class ContentStatusRequest(BaseModel): - status: str # published/offline/draft + status: str # published/offline/draft/pending + + +class ContentReviewRequest(BaseModel): + """资讯审核:approve 通过上线 | offline 下架。""" + decision: str = "approve" class ContentUpdateRequest(BaseModel): @@ -109,6 +141,7 @@ class ContentUpdateRequest(BaseModel): summary: str | None = None body: str | None = None cover: str | None = None + cover_small: str | None = None images: list[str] | None = None video: str | None = None video_cover: str | None = None @@ -119,6 +152,7 @@ class ContentUpdateRequest(BaseModel): is_public: bool | None = None source: str | None = None tenant_id: str | None = None + priority: int | None = None status: str | None = None