feat(clothes): 支持通过社区公开穿搭只读查看衣物

新增 outfit_uuid 查询参数,非属主可通过社区公开穿搭查看衣物详情。
同时调整点赞通知逻辑,仅在首次点赞时发送通知。
This commit is contained in:
2026-09-16 02:28:59 +08:00
parent e9b9754b57
commit c2519c4b6d
5 changed files with 64 additions and 9 deletions
+4 -3
View File
@@ -64,9 +64,10 @@ func (s *LikeService) LikeCreate(ctx context.Context, userID int64, request *dto
"target_id", targetID, "user_id", userID, "error", rerr)
}
// 仅在「从取消/无记录变为点赞」时发通知,避免并发/重复点赞重复通知。
wasLiked := !notExist && existing.Status == InteractStatusOn
if !wasLiked && outfit.UserID != userID {
// 仅在「首次点赞」时发通知(likes 表此前无记录)。
// 取消点赞只把 status 置为已取消、不删行,因此 notExist 可稳定表达
// 「此前从未赞过该穿搭」;取消后再点赞不再重复通知,避免频繁点赞/取消把拥有者刷屏。
if notExist && outfit.UserID != userID {
sendNotification(ctx, outfit.UserID, userID, NotificationTypeLike, "收到新的点赞", "你的穿搭「"+outfit.OutfitName+"」收到了一个赞")
}