补齐相关日志日志
This commit is contained in:
@@ -40,6 +40,7 @@ func (s *CollectService) Collect(ctx context.Context, userID int64, request *dto
|
||||
if isNotFound(err) {
|
||||
return nil, errcode.TargetNotFound
|
||||
}
|
||||
slog.ErrorContext(ctx, "collect: query outfit failed", "outfit_uuid", request.TargetUUID, "user_id", userID, "error", err)
|
||||
return nil, errcode.DatabaseError
|
||||
}
|
||||
// 非本人仅可收藏公开可见的穿搭。
|
||||
@@ -54,6 +55,7 @@ func (s *CollectService) Collect(ctx context.Context, userID int64, request *dto
|
||||
if isNotFound(err) {
|
||||
notExist = true
|
||||
} else {
|
||||
slog.ErrorContext(ctx, "collect: query record failed", "target_id", targetID, "user_id", userID, "error", err)
|
||||
return nil, errcode.DatabaseError
|
||||
}
|
||||
}
|
||||
@@ -66,16 +68,24 @@ func (s *CollectService) Collect(ctx context.Context, userID int64, request *dto
|
||||
UserID: userID,
|
||||
Status: InteractStatusOn,
|
||||
}); cerr != nil {
|
||||
slog.ErrorContext(ctx, "collect: upsert record failed", "target_id", targetID, "user_id", userID, "error", cerr)
|
||||
return nil, errcode.CollectFailed
|
||||
}
|
||||
_ = redisdao.CollectAdd(ctx, CollectTypeOutfit, targetID, userID)
|
||||
if rerr := redisdao.CollectAdd(ctx, CollectTypeOutfit, targetID, userID); rerr != nil {
|
||||
slog.WarnContext(ctx, "collect: redis add failed, counter may undercount",
|
||||
"target_id", targetID, "user_id", userID, "error", rerr)
|
||||
}
|
||||
|
||||
case ActionCancel: // 取消收藏
|
||||
if !notExist && existing.Status == InteractStatusOn {
|
||||
if uerr := s.collectDao.CollectUpdateStatus(ctx, existing.ID, InteractStatusOff); uerr != nil {
|
||||
slog.ErrorContext(ctx, "collect: update status failed", "target_id", targetID, "user_id", userID, "error", uerr)
|
||||
return nil, errcode.CollectFailed
|
||||
}
|
||||
_ = redisdao.CollectRemove(ctx, CollectTypeOutfit, targetID, userID)
|
||||
if rerr := redisdao.CollectRemove(ctx, CollectTypeOutfit, targetID, userID); rerr != nil {
|
||||
slog.WarnContext(ctx, "collect: redis remove failed, counter may overcount",
|
||||
"target_id", targetID, "user_id", userID, "error", rerr)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -131,6 +141,7 @@ func (s *CollectService) GetByTarget(ctx context.Context, userID int64, request
|
||||
if isNotFound(err) {
|
||||
return nil, errcode.TargetNotFound
|
||||
}
|
||||
slog.ErrorContext(ctx, "collect: query outfit for status failed", "outfit_uuid", request.TargetUUID, "user_id", userID, "error", err)
|
||||
return nil, errcode.DatabaseError
|
||||
}
|
||||
// 非本人仅可查询公开可见穿搭的收藏状态。
|
||||
@@ -150,6 +161,9 @@ func (s *CollectService) GetByTarget(ctx context.Context, userID int64, request
|
||||
"target_id", targetID, "user_id", userID, "error", derr)
|
||||
if v, rerr := redisdao.CollectIsMember(ctx, CollectTypeOutfit, targetID, userID); rerr == nil {
|
||||
isCollected = v
|
||||
} else {
|
||||
slog.DebugContext(ctx, "collect: redis fallback read failed",
|
||||
"target_id", targetID, "user_id", userID, "error", rerr)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -160,6 +174,8 @@ func (s *CollectService) GetByTarget(ctx context.Context, userID int64, request
|
||||
"target_id", targetID, "error", derr)
|
||||
if rcnt, rerr := redisdao.CollectCount(ctx, CollectTypeOutfit, targetID); rerr == nil {
|
||||
count = rcnt
|
||||
} else {
|
||||
slog.DebugContext(ctx, "collect: redis fallback count failed", "target_id", targetID, "error", rerr)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user