35 lines
821 B
Python
35 lines
821 B
Python
"""
|
||
小程序任务相关 Pydantic 模型。
|
||
|
||
覆盖:任务列表项、放弃请求等场景。
|
||
"""
|
||
|
||
from __future__ import annotations
|
||
|
||
from pydantic import BaseModel, Field
|
||
|
||
|
||
class TaskListItem(BaseModel):
|
||
"""任务列表项(含客户信息 + RS 指数 + 爱心 icon)。"""
|
||
|
||
id: int
|
||
task_type: str
|
||
status: str
|
||
priority_score: float | None
|
||
is_pinned: bool
|
||
expires_at: str | None
|
||
created_at: str
|
||
# 客户信息(FDW 读取)
|
||
member_id: int
|
||
member_name: str | None
|
||
member_phone: str | None
|
||
# RS 指数 + 爱心 icon
|
||
rs_score: float | None
|
||
heart_icon: str # 💖 / 🧡 / 💛 / 💙
|
||
|
||
|
||
class AbandonRequest(BaseModel):
|
||
"""放弃任务请求(reason 必填)。"""
|
||
|
||
reason: str = Field(..., min_length=1, description="放弃原因(必填)")
|