e1bd0e3ef7
改了什么:新增新版大盘日期窗口聚合、广告收益拆分、比价耗时字段、美团 CPS 拉单入库与大盘展示,并同步反馈审核和邀请奖励下线口径。 验证:python -m pytest tests/test_admin_read.py tests/test_admin_write.py tests/test_compare_record.py tests/test_invite.py tests/test_feedback.py -q。
45 lines
1.1 KiB
Python
45 lines
1.1 KiB
Python
"""反馈相关响应 schema。请求是 multipart 表单(content/contact/images),在路由里直接校验。"""
|
|
from __future__ import annotations
|
|
|
|
from datetime import datetime
|
|
|
|
from pydantic import BaseModel, ConfigDict, Field
|
|
|
|
|
|
class FeedbackOut(BaseModel):
|
|
model_config = ConfigDict(from_attributes=True)
|
|
|
|
id: int
|
|
status: str
|
|
created_at: datetime
|
|
|
|
|
|
class FeedbackConfigOut(BaseModel):
|
|
enabled: bool = True
|
|
image_url: str | None = None
|
|
title: str = "长按图片保存二维码"
|
|
group_name: str = "傻瓜比价官方群"
|
|
subtitle: str = "一起唠嗑共创、解锁新玩法"
|
|
|
|
|
|
class FeedbackRecordOut(BaseModel):
|
|
id: int
|
|
content: str
|
|
images: list[str] = Field(default_factory=list)
|
|
status: str
|
|
reject_reason: str | None = None
|
|
reward_coins: int | None = None
|
|
created_at: datetime
|
|
|
|
|
|
class FeedbackRecordCountsOut(BaseModel):
|
|
all: int = 0
|
|
pending: int = 0
|
|
adopted: int = 0
|
|
rejected: int = 0
|
|
|
|
|
|
class FeedbackRecordsOut(BaseModel):
|
|
records: list[FeedbackRecordOut]
|
|
counts: FeedbackRecordCountsOut
|