From 4f69dc302bc14d7b810705f11aa04285563848b6 Mon Sep 17 00:00:00 2001 From: richjohnrambo Date: Thu, 24 Sep 2026 17:21:33 +0800 Subject: [PATCH] fix: read meeting unread from tenant notification shard --- internal/store/mysql.go | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/internal/store/mysql.go b/internal/store/mysql.go index f9c873d..72ded44 100644 --- a/internal/store/mysql.go +++ b/internal/store/mysql.go @@ -148,14 +148,19 @@ func (s *Store) WorkbenchModules(ctx context.Context, userID int64) ([]Workbench func (s *Store) MeetingUnreadCount(ctx context.Context, userID int64) (int, error) { var count int - err := s.db.GetContext(ctx, &count, `SELECT COUNT(*) FROM im_system_notifications - WHERE tenant_id=? AND user_id=? AND read_at IS NULL AND event_type LIKE 'meeting.%'`, s.tenant(), userID) + query := fmt.Sprintf(`SELECT COUNT(*) FROM %s + WHERE tenant_id=? AND user_id=? AND read_at IS NULL AND event_type LIKE 'meeting.%%'`, tenantSystemNotificationsTable(s.tenant())) + err := s.db.GetContext(ctx, &count, query, s.tenant(), userID) if isMissingTable(err) { return 0, nil } return count, err } +func tenantSystemNotificationsTable(tenantID int64) string { + return fmt.Sprintf("im_%03d_system_notifications", tenantID) +} + func (s *Store) Departments(ctx context.Context, userID int64, parentID, cursor string, limit int) ([]OrganizationDepartment, string, error) { if parentID == "" { parentID = "root"