补齐相关日志日志
This commit is contained in:
@@ -43,6 +43,7 @@ func (s *LikeService) LikeCreate(ctx context.Context, userID int64, request *dto
|
||||
if isNotFound(err) {
|
||||
notExist = true
|
||||
} else {
|
||||
slog.ErrorContext(ctx, "like: query record failed", "target_id", targetID, "user_id", userID, "error", err)
|
||||
return nil, errcode.DatabaseError
|
||||
}
|
||||
}
|
||||
@@ -55,9 +56,13 @@ func (s *LikeService) LikeCreate(ctx context.Context, userID int64, request *dto
|
||||
UserID: userID,
|
||||
Status: InteractStatusOn,
|
||||
}); cerr != nil {
|
||||
slog.ErrorContext(ctx, "like: upsert record failed", "target_id", targetID, "user_id", userID, "error", cerr)
|
||||
return nil, errcode.LikeFailed
|
||||
}
|
||||
_ = redisdao.LikeAdd(ctx, LikeTypeOutfit, targetID, userID)
|
||||
if rerr := redisdao.LikeAdd(ctx, LikeTypeOutfit, targetID, userID); rerr != nil {
|
||||
slog.WarnContext(ctx, "like: redis add failed, counter may undercount",
|
||||
"target_id", targetID, "user_id", userID, "error", rerr)
|
||||
}
|
||||
|
||||
// 仅在「从取消/无记录变为点赞」时发通知,避免并发/重复点赞重复通知。
|
||||
wasLiked := !notExist && existing.Status == InteractStatusOn
|
||||
@@ -68,9 +73,13 @@ func (s *LikeService) LikeCreate(ctx context.Context, userID int64, request *dto
|
||||
case ActionCancel: // 取消点赞
|
||||
if !notExist && existing.Status == InteractStatusOn {
|
||||
if uerr := s.likeDao.LikeUpdateStatus(ctx, existing.ID, InteractStatusOff); uerr != nil {
|
||||
slog.ErrorContext(ctx, "like: update status failed", "target_id", targetID, "user_id", userID, "error", uerr)
|
||||
return nil, errcode.LikeFailed
|
||||
}
|
||||
_ = redisdao.LikeRemove(ctx, LikeTypeOutfit, targetID, userID)
|
||||
if rerr := redisdao.LikeRemove(ctx, LikeTypeOutfit, targetID, userID); rerr != nil {
|
||||
slog.WarnContext(ctx, "like: redis remove failed, counter may overcount",
|
||||
"target_id", targetID, "user_id", userID, "error", rerr)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -99,6 +108,9 @@ func (s *LikeService) GetByTargetID(ctx context.Context, userID int64, request *
|
||||
"target_id", targetID, "user_id", userID, "error", derr)
|
||||
if v, rerr := redisdao.LikeIsMember(ctx, LikeTypeOutfit, targetID, userID); rerr == nil {
|
||||
isLiked = v
|
||||
} else {
|
||||
slog.DebugContext(ctx, "like: redis fallback read failed",
|
||||
"target_id", targetID, "user_id", userID, "error", rerr)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -125,6 +137,7 @@ func (s *LikeService) getPublicOutfit(ctx context.Context, userID int64, outfitU
|
||||
if isNotFound(err) {
|
||||
return nil, errcode.TargetNotFound
|
||||
}
|
||||
slog.ErrorContext(ctx, "like: query outfit failed", "outfit_uuid", outfitUUID, "user_id", userID, "error", err)
|
||||
return nil, errcode.DatabaseError
|
||||
}
|
||||
if outfit.UserID != userID && !isOutfitPublicVisible(outfit) {
|
||||
|
||||
Reference in New Issue
Block a user