Files
shaguabijia-app-server/docs/database/feedback.md
T
OuYingJun1024 5a18dbb8a2 反馈改版(contact 可选/图≤6)+ admin 反馈列表筛选排序 + admin/wallet 接口调整 + docs
- feedback:contact 由必填改可选(客户端原型改版已不再采集,保留字段兼容旧端);
  上传图片上限 4→6;admin 反馈列表新增 内容/创建时间 筛选 + id/created_at 排序
- admin:admins/users/withdraw/price_report/ad_audit 路由及 schemas 配套调整
- wallet 仓储调整;docs(api/database)同步

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-14 12:12:25 +08:00

2.1 KiB

feedback — 用户帮助与反馈

模型 app/models/feedback.py · 仓库 app/repositories/feedback.py · 接口 feedback · admin admin-feedbacks-list / admin-feedback-handle · ← 索引 · 总览

App「帮助与反馈」每次提交写一行。content 必填;contact 原必填,原型改版后客户端不再采集,新数据存空串(列保持 NOT NULL、免迁移,历史数据仍有值);images 为可选截图(≤6 张)。后台人工处理后置 handled。与 price_report(结构化上报更低价)不同,本表是自由文本反馈。

用在哪 / 增删改查

  • C(插入):POST /api/v1/feedback(multipart:content + 可选 contact + 可选 images;create_feedback)。截图先经 core.media/media/feedback/ 拿相对路径,再随反馈写入,status='new'
  • U(更新):admin 处理反馈 update_feedback_statusstatus='handled'(同事务写 admin_audit_log)。
  • D:无。
  • R:admin 反馈列表(可按 status 筛)。C 端当前无"我的反馈列表"读接口。

字段

类型 约束 / 默认 说明(取值 / join)
id Integer PK, autoincrement
user_id Integer FK→user.id, index, NOT NULL 提交用户
content Text NOT NULL 反馈正文
contact String(128) NOT NULL 联系方式(微信/QQ/手机)。客户端改版后不再采集,新数据为空串;列仍 NOT NULL
images JSON nullable 截图相对 URL 列表 /media/feedback/...;无图为 NULL
status String(16) NOT NULL, default new 取值:new(待处理)/ handled(已处理)
created_at DateTime(tz) server_default now(), index 提交时间

关系 / Join Key

  • user_iduser.id(多对一)。
  • admin 处理时被 admin_audit_log 记录(target_type='feedback'target_id=本行 id)。

索引与约束

  • PK id;index user_idcreated_at

注意

  • images 用通用 JSON(本表用 JSONB variant,与 comparison/savings 不同)。