docs:修改文档

This commit is contained in:
zheng020 2026-05-14 22:20:51 +08:00
parent 6bc0ac71ee
commit bd7badf3b5

View File

@ -47,16 +47,10 @@
│ nickname │
│ avatar_url │
└─────────────────┘
│ LEFT JOIN
┌─────────────────┐
│ activity_items │
│─────────────────│
│ id │
│ item_name │
│ icon_url │
└─────────────────┘
```
> 注:`activity_contributions.item_id` 已存储道具 ID查询时无需 JOIN activity_items 表。
> 前端传递 item_id后端根据 item_id 单独查询 activity_items 获取 item_name、item_icon。
```
### 2.2 表结构
@ -194,15 +188,16 @@ Gateway 调用 ActivityService直接查 Repository
查询 activity_contributions 表,并联表查询用户信息和道具信息
SELECT c.id, c.activity_id, c.user_id,
u.nickname as user_nickname, u.avatar_url as user_avatar,
i.item_type, i.item_name, i.icon_url as item_icon,
c.item_type, c.item_id,
c.quantity, c.contribution_points, c.created_at
FROM activity_contributions c
LEFT JOIN users u ON c.user_id = u.id
LEFT JOIN activity_items i ON c.item_id = i.id
WHERE c.activity_id = ?
AND (c.created_at > ? OR (c.created_at = ? AND c.id > ?))
ORDER BY c.created_at DESC, c.id DESC
LIMIT limit
-- 再根据返回的 item_id 列表,单独查询 activity_items 获取 item_name、item_icon
组装响应
@ -651,7 +646,8 @@ onHide(() => {
## 9. 实施步骤
### 9.1 后端实现
1. [x] 在 `activity_contributions` 表联表查询用户信息和道具信息LEFT JOIN users, LEFT JOIN activity_items
1. [x] 在 `activity_contributions` 表查询用户信息(仅 LEFT JOIN users
2. [ ] 根据 item_id 单独查询 activity_items 获取 item_name、item_icon
2. [ ] 在 Redis 中实现连击计数器 `combo:{user_id}:{item_type}`TTL 3秒
3. [ ] 在 `activity_repository.go` 添加 `GetLatestContributions` 方法
4. [ ] 在 Gateway 层添加 `contribution_controller.go`