package repo import ( "ai_scheduler/internal/data/impl" "context" "errors" ) // SessionAdapter 适配 impl.SessionImpl 到 SessionRepo 接口 type SessionAdapter struct { impl *impl.SessionImpl } func NewSessionAdapter(impl *impl.SessionImpl) *SessionAdapter { return &SessionAdapter{impl: impl} } func (s *SessionAdapter) GetUserName(ctx context.Context, sessionID string) (string, error) { // 复用 SessionImpl 的查询能力 // 这里假设 sessionID 是唯一的,直接用 FindOne session, has, err := s.impl.FindOne(s.impl.WithSessionId(sessionID)) if err != nil { return "", err } if !has { return "", errors.New("session not found") } return session.UserName, nil }