Skip to content

量产接口: 完善问卷答案与音频目录查询 - #65

Merged
dwqnidq merged 1 commit into
devfrom
qlj/dev/0824-somni-audio-service
Aug 25, 2026
Merged

量产接口: 完善问卷答案与音频目录查询#65
dwqnidq merged 1 commit into
devfrom
qlj/dev/0824-somni-audio-service

Conversation

@dwqnidq

@dwqnidq dwqnidq commented Aug 25, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • 完善量产问卷 GetAnswer:按 uid + answer_id 查询答卷,移除 tags/values,并通过 google.protobuf.Value 保留 Mongo value 的对象、数组、字符串、数字和布尔值形态;沿用字段号 5 以降低协议兼容风险
  • 新增量产音频 GetAudioGetAudioTagGetHot RPC,支持分页、全量拉取、内容标签过滤与根标签向量文本匹配
  • 为量产音频使用独立的 Mongo/ES 查询链路;Mongo 与 ES 目录缓存按数据源隔离并设置 60 秒过期,ES 全量读取增加越界探测以避免静默截断
  • 注册量产 AudioService 和双端口 gRPC 反射,更新生成代码及 grpcio-reflection 依赖

Compatibility

  • AnswerItem.value 保留原字段号 5,已移除的 tags 字段号 4 被保留,不复用于其他字段
  • 调用方应使用 proto 生成代码或标准 protobuf JSON 转换读取动态 value;直接查看 protobuf 内部结构时可能显示 struct_value / list_value

Test plan

  • 全量自动化测试通过(212 passed)
  • 问卷对象、数组、字符串、数字、布尔值映射覆盖
  • 真实 Mongo 答卷 17 个 value 与 gRPC 标准 JSON 映射结果逐项一致
  • 量产 ES 索引隔离、Mongo/ES 缓存隔离、缓存过期及全量上限保护覆盖
  • 相关文件 Ruff 检查通过
  • git diff --check 通过

Notes

  • .worktrees/dump.rdb、本地日志及自测报告未包含在提交中

Made with Cursor

问卷 GetAnswer 移除 tags 并原样保留动态 value 结构,同时沿用原字段号以降低客户端兼容风险。新增量产音频目录、标签和热门 RPC,隔离量产 ES,补充带过期时间的数据源缓存、全量上限保护、gRPC 反射及完整回归测试。

Co-authored-by: Cursor <cursoragent@cursor.com>
@dwqnidq
dwqnidq merged commit d87ac58 into dev Aug 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant