some update

This commit is contained in:
Pavel 2024-03-13 19:36:23 +03:00
parent 751c74a087
commit a25661d895
5 changed files with 15 additions and 17 deletions

@ -6,14 +6,15 @@ import (
"encoding/json"
"fmt"
"github.com/themakers/hlog"
"penahub.gitlab.yandexcloud.net/backend/quiz/common.git/dal"
"penahub.gitlab.yandexcloud.net/backend/quiz/common.git/model"
"penahub.gitlab.yandexcloud.net/backend/quiz/worker.git/clients/customer"
"penahub.gitlab.yandexcloud.net/backend/quiz/worker.git/clients/mailclient"
"penahub.gitlab.yandexcloud.net/backend/quiz/worker.git/wctools"
"time"
"github.com/go-redis/redis/v8"
"penahub.gitlab.yandexcloud.net/backend/quiz/common.git/dal"
"penahub.gitlab.yandexcloud.net/backend/quiz/common.git/model"
)
type DepsSendToClient struct {

@ -17,6 +17,7 @@ import (
"penahub.gitlab.yandexcloud.net/backend/quiz/worker.git/privilegewc"
"penahub.gitlab.yandexcloud.net/backend/quiz/worker.git/workers/shortstat"
"penahub.gitlab.yandexcloud.net/backend/quiz/worker.git/workers/timeout"
"time"
)

2
go.mod

@ -12,7 +12,7 @@ require (
go.uber.org/zap v1.26.0
google.golang.org/grpc v1.61.1
google.golang.org/protobuf v1.32.0
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240219175507-7f8de986a6dc
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240313162137-d59eb04dc606
)
require (

4
go.sum

@ -168,7 +168,7 @@ gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg=
penahub.gitlab.yandexcloud.net/backend/penahub_common v0.0.0-20240202120244-c4ef330cfe5d h1:gbaDt35HMDqOK84WYmDIlXMI7rstUcRqNttaT6Kx1do=
penahub.gitlab.yandexcloud.net/backend/penahub_common v0.0.0-20240202120244-c4ef330cfe5d/go.mod h1:lTmpjry+8evVkXWbEC+WMOELcFkRD1lFMc7J09mOndM=
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240219175507-7f8de986a6dc h1:jIN9XyfL/FJ/eSsYopE1olHboituwmisC1Sf1d4nhWE=
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240219175507-7f8de986a6dc/go.mod h1:OXYvMlc+3qfcllPTywUB3QDiPK1kwsMNdZMTlPXFIdo=
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240313162137-d59eb04dc606 h1:kQhIfeeBk57O6+2sdiGXidQHAP+wp3fa9Cys7TqXRzs=
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240313162137-d59eb04dc606/go.mod h1:evOyhZpozEtHTVluVYelgSTBUwfO5MBSxr02c3IsGic=
penahub.gitlab.yandexcloud.net/backend/quiz/core.git v0.0.0-20240219174804-d78fd38511af h1:jQ7HaXSutDX5iepU7VRImxhikK7lV/lBKkiloOZ4Emo=
penahub.gitlab.yandexcloud.net/backend/quiz/core.git v0.0.0-20240219174804-d78fd38511af/go.mod h1:5S5YwjSXWmnEKjBjG6MtyGtFmljjukDRS8CwHk/CF/I=

@ -61,7 +61,7 @@ func (w *KafkaConsumerWorker) Start(ctx context.Context) {
case <-ticker.C:
w.fetchMessages(ctx)
case <-ctx.Done():
w.config.Logger.Module("Kafka worker terminated")
fmt.Println("Kafka worker terminated")
return
}
}
@ -79,34 +79,30 @@ func (w *KafkaConsumerWorker) fetchMessages(ctx context.Context) {
privilege, userID, err := wctools.IsValidMessage(record.Value, w.config.ServiceKey)
fmt.Println("KONSUMER2", err, userID)
if err != nil {
w.config.Logger.Module("Error validating Kafka message")
fmt.Println("Error validating Kafka message", err)
}
err = w.processValidMessage(ctx, privilege, userID)
if err != nil {
w.config.Logger.Module("Error processing valid message")
fmt.Println("Error processing valid message", err)
}
}
}
// processValidMessage обрабатывает валидное сообщение.
func (w *KafkaConsumerWorker) processValidMessage(ctx context.Context, privilege []model.PrivilegeMessage, userID string) error {
currentPrivileges, err := w.privilegeDAL.AccountRepo.GetPrivilegesByAccountID(ctx, userID)
if err != nil {
return err
}
// TODO: refactor getting accountId
accountId, err := w.privilegeDAL.AccountRepo.GetAccountByID(ctx, userID)
fmt.Println("KONSUMEROOO", userID, accountId, err, privilege)
if err != nil {
return err
}
currentPrivilegeMap := make(map[string]*model.ShortPrivilege)
for i := range currentPrivileges {
currentPrivilegeMap[currentPrivileges[i].PrivilegeName] = &currentPrivileges[i]
currentPrivilegeMap := make(map[string]model.ShortPrivilege)
for i := range accountId.Privileges {
currentPrivilegeMap[accountId.Privileges[i].PrivilegeName] = accountId.Privileges[i]
}
for _, receivedPrivilege := range privilege {
@ -115,7 +111,7 @@ func (w *KafkaConsumerWorker) processValidMessage(ctx context.Context, privilege
matchingCurrentPrivilege.Amount += receivedPrivilege.Amount
matchingCurrentPrivilege.CreatedAt = time.Now()
err := w.privilegeDAL.AccountRepo.UpdatePrivilege(ctx, matchingCurrentPrivilege, accountId.ID)
err := w.privilegeDAL.AccountRepo.UpdatePrivilege(ctx, &matchingCurrentPrivilege, accountId.ID)
if err != nil {
return err
}