From ebc99a097d9758285525af24b586e40cc033f636 Mon Sep 17 00:00:00 2001 From: zhx Date: Tue, 23 Jun 2026 19:23:10 +0800 Subject: [PATCH] log room pin list repository failures --- .../internal/room/service/admin_config_pin.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/services/room-service/internal/room/service/admin_config_pin.go b/services/room-service/internal/room/service/admin_config_pin.go index 4aa5bef5..da906db1 100644 --- a/services/room-service/internal/room/service/admin_config_pin.go +++ b/services/room-service/internal/room/service/admin_config_pin.go @@ -3,10 +3,12 @@ package service import ( "context" "errors" + "log/slog" "strings" roomv1 "hyapp.local/api/proto/room/v1" "hyapp/pkg/appcode" + "hyapp/pkg/logx" "hyapp/pkg/xerr" ) @@ -58,6 +60,16 @@ func (s *Service) AdminListRoomPins(ctx context.Context, req *roomv1.AdminListRo NowMS: nowMS, }) if err != nil { + // gRPC 传输层会把普通 repository error 统一隐藏成 INTERNAL_ERROR;这里保留原始错误和筛选边界, + // 让线上排障能直接区分 SQL/schema 问题、上下文租户问题和输入条件问题。 + logx.Error(ctx, "admin_list_room_pins_failed", err, + slog.Int("page", int(req.GetPage())), + slog.Int("page_size", int(req.GetPageSize())), + slog.String("status", strings.TrimSpace(req.GetStatus())), + slog.Int64("visible_region_id", req.GetVisibleRegionId()), + slog.String("pin_type", normalizeRoomPinType(req.GetPinType())), + slog.Bool("has_keyword", strings.TrimSpace(req.GetKeyword()) != ""), + ) return nil, err } out := make([]*roomv1.AdminRoomPin, 0, len(pins))