From 6f77fb08b33097a71bcc37301f8cef48209b4cc7 Mon Sep 17 00:00:00 2001 From: valitovgaziz Date: Sun, 19 Oct 2025 11:11:29 +0500 Subject: [PATCH] modified: serv_nginx/api_bb/internal/service/personal_best_service.go add update stats --- .../internal/service/personal_best_service.go | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/serv_nginx/api_bb/internal/service/personal_best_service.go b/serv_nginx/api_bb/internal/service/personal_best_service.go index 93300ca..f7c1797 100644 --- a/serv_nginx/api_bb/internal/service/personal_best_service.go +++ b/serv_nginx/api_bb/internal/service/personal_best_service.go @@ -4,17 +4,20 @@ package service import ( "api_bb/internal/models" "api_bb/internal/repository" + "fmt" "gorm.io/gorm" ) type PersonalBestService struct { - pbRepo repository.PersonalBestRepository + pbRepo repository.PersonalBestRepository + userStatsService UserStatsService } -func NewPersonalBestService(pbRepo repository.PersonalBestRepository) *PersonalBestService { +func NewPersonalBestService(pbRepo repository.PersonalBestRepository, userStatsService UserStatsService) *PersonalBestService { return &PersonalBestService{ - pbRepo: pbRepo, + pbRepo: pbRepo, + userStatsService: userStatsService, } } @@ -51,9 +54,11 @@ func (s *PersonalBestService) CreatePersonalBest(userID uint, req models.Persona return nil, err } - // Если это лучший результат, можно обновить статистику пользователя if !isBest { - // Здесь можно вызвать метод для обновления UserStats + if err := s.userStatsService.UpdatePersonalBest(userID, string(req.DistanceType), req.Time); err != nil { + // Логируем ошибку, но не прерываем выполнение + fmt.Printf("Failed to update user stats: %v\n", err) + } } return personalBest, nil @@ -83,4 +88,4 @@ func (s *PersonalBestService) VerifyPersonalBest(id uint, userID uint) error { pb.Verified = true return s.pbRepo.Update(pb) -} \ No newline at end of file +}