Files
shaguabijia-app-server/docs/database/feedback.md
T
ouzhou 27f76918b2 feat(admin): 运营后台跟进——review 加固 + 反馈改版 + 列表页码分页 (#51)
本 PR 汇合三块运营后台改动(原 #50 仅含其中「加固」一块,已并入本 PR 并关闭)。

## 1. review 加固 (436b2a3)
- 超管防自锁:降级/禁用最后一个 active super_admin 前校验,杜绝零超管死局
- 时间筛选统一 tz-aware(列为 timestamptz),比较绝对时刻、不依赖 DB 会话时区
- 上报审核 / 调余额(set·扣减)加行锁,防并发/连点重复发钱
- ad_audit 复算排序补 id 次级键;health-check 限 finance;调账/拒绝 reason 去空白校验

## 2. 反馈改版 (5a18dbb)
- contact 可选、截图≤6;admin 反馈列表筛选/排序;admin·wallet 接口调整 + docs

## 3. 列表页码分页 (1a7a624)
- CursorPage 加 total;新增 offset_paginate(count 与分页同源)
- 上报/审计日志从 id 游标改 offset 分页(支持跳页)
- 用户 / 提现 / 上报 / 审计日志 四页接入页码分页

测试:admin 套件 47 passed。前端配套改动见 shaguabijia-admin-web。

---------

Co-authored-by: OuYingJun1024 <1034284404@qq.com>
Reviewed-on: #51
Co-authored-by: ouzhou <ouzhou@wonderable.ai>
Co-committed-by: ouzhou <ouzhou@wonderable.ai>
2026-06-14 22:54:07 +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 不同)。