showcase/wwwroot/api/showcase_comments_list.dspy
yumoqing 1cce05a119 feat: showcase模块 - 产品展示平台(MVP)
- 4张数据表: posts/comments/likes/downloads
- 5种媒体类型: music/mtv/short_video/long_video/ktv
- 社交功能: 点赞(toggle)、评论(嵌套回复)
- KTV付费下载: 购买记录、下载计数
- 11个dspy API端点
- 3个CRUD管理界面(posts/comments/downloads)
- Feed流(类型筛选+分页)、作品详情(浏览计数+点赞状态)
- load_path.py RBAC权限注册
- 符合module/db-table/crud三规范
2026-06-11 14:46:02 +08:00

17 lines
704 B
Plaintext

try:
db = DBPools()
post_id = params_kw.get('post_id', '')
async with db.sqlorContext('sage') as sor:
# 获取评论列表(含嵌套回复)
comments = await sor.sqlExe(
"""SELECT c.*,
(SELECT COUNT(*) FROM showcase_likes WHERE post_id = c.id) as c_like
FROM showcase_comments c
WHERE c.post_id = ${post_id}$ AND c.status = '1'
ORDER BY c.created_at ASC""",
{"post_id": post_id}
)
return json.dumps({"status": "ok", "data": list(comments)}, ensure_ascii=False)
except Exception as e:
return json.dumps({"status": "error", "data": [], "message": str(e)}, ensure_ascii=False)