From 100c36a075f7ce35f6e982e3f7432bac9573683e Mon Sep 17 00:00:00 2001 From: Pavel Date: Sat, 8 Jun 2024 21:48:13 +0300 Subject: [PATCH] now tag success --- go.mod | 2 +- go.sum | 4 +- internal/repository/redis_repo.go | 7 --- internal/tools/construct.go | 7 ++- .../workers/post_deals_worker/deals_worker.go | 3 +- .../post_fields_worker/fields_worker.go | 2 + pkg/amoClient/amo.go | 1 - pkg/amoClient/amo_test.go | 51 ++++++++++++++++++- 8 files changed, 58 insertions(+), 19 deletions(-) diff --git a/go.mod b/go.mod index 44f1ac9..6251893 100644 --- a/go.mod +++ b/go.mod @@ -13,7 +13,7 @@ require ( github.com/twmb/franz-go v1.16.1 go.uber.org/zap v1.27.0 google.golang.org/protobuf v1.33.0 - penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240608150318-7e16f4547ed5 + penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240608175833-b161daea2841 ) require ( diff --git a/go.sum b/go.sum index 99ed76e..2ab4a81 100644 --- a/go.sum +++ b/go.sum @@ -134,5 +134,5 @@ gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= penahub.gitlab.yandexcloud.net/backend/penahub_common v0.0.0-20240223054633-6cb3d5ce45b6 h1:oV+/HNX+JPoQ3/GUx08hio7d45WpY0AMGrFs7j70QlA= penahub.gitlab.yandexcloud.net/backend/penahub_common v0.0.0-20240223054633-6cb3d5ce45b6/go.mod h1:lTmpjry+8evVkXWbEC+WMOELcFkRD1lFMc7J09mOndM= -penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240608150318-7e16f4547ed5 h1:Sn/XyY0Kf2sH/3nViSlsi7EzfGqhW9luNkiUyi8Tick= -penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240608150318-7e16f4547ed5/go.mod h1:n66zm88Dh12+idyfqh0vU5nd9BZYxM6Pv0XYnmy0398= +penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240608175833-b161daea2841 h1:3T79OtrS85P8FnCnL/upxhugNL89TOXyw3kOcnXjMFw= +penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240608175833-b161daea2841/go.mod h1:n66zm88Dh12+idyfqh0vU5nd9BZYxM6Pv0XYnmy0398= diff --git a/internal/repository/redis_repo.go b/internal/repository/redis_repo.go index 2461b6e..c2223cf 100644 --- a/internal/repository/redis_repo.go +++ b/internal/repository/redis_repo.go @@ -50,7 +50,6 @@ func (r *Repository) CachingLeadFieldsToRedis(ctx context.Context, answerID int6 return err } - fmt.Println(string(leadFieldsJson), "CHECK CACHING LEAD FIELDS") err = r.redisClient.Set(ctx, key, leadFieldsJson, 0).Err() if err != nil { return err @@ -108,12 +107,6 @@ func (r *Repository) FetchingDeals(ctx context.Context) (map[string][]models.Map fmt.Println("CUSTOM ENCODER", leadFields) - for _, f := range leadFields { - fmt.Println(f.FieldID) - fmt.Println(f.Values[0]) - fmt.Println(f.Values[1]) - } - mu.Lock() defer mu.Unlock() diff --git a/internal/tools/construct.go b/internal/tools/construct.go index 7cca9e0..86bb8aa 100644 --- a/internal/tools/construct.go +++ b/internal/tools/construct.go @@ -164,12 +164,11 @@ func ConstructAmoTags(currentTags []model.Tag, ruleTags model.TagsToAdd) []model for _, tag := range currentTags { if _, ok := ruleTagMap[tag.ID]; ok { tagsToAmo = append(tagsToAmo, models.Tag{ - ID: int(tag.Amoid), - Name: tag.Name, - Color: tag.Color, + ID: int(tag.Amoid), + Name: tag.Name, + //Color: tag.Color, }) } } - return tagsToAmo } diff --git a/internal/workers/post_deals_worker/deals_worker.go b/internal/workers/post_deals_worker/deals_worker.go index 77aaeb4..fa45288 100644 --- a/internal/workers/post_deals_worker/deals_worker.go +++ b/internal/workers/post_deals_worker/deals_worker.go @@ -83,7 +83,6 @@ func (wc *PostDeals) startFetching(ctx context.Context) { wc.logger.Error("error getting all user answers by result session", zap.Error(err)) return } - userTags, err := wc.amoRepo.AmoRepo.GetUserTagsByID(ctx, result.AmoAccountID) if err != nil { wc.logger.Error("error getting user tags by ano account id", zap.Error(err)) @@ -104,10 +103,10 @@ func (wc *PostDeals) startFetching(ctx context.Context) { Source: models.Source{ Type: "widget", }, + Tags: tools.ConstructAmoTags(userTags, result.TagsToAdd), }, // строка которая будет возвращенна в респонсе чтоб понимать кто есть что RequestID: strconv.Itoa(int(result.AnswerID)), - TagsToAdd: tools.ConstructAmoTags(userTags, result.TagsToAdd), } leadFields, contactData, companyData, customerToCreate, err := wc.constructField(ctx, allAnswers, result) diff --git a/internal/workers/post_fields_worker/fields_worker.go b/internal/workers/post_fields_worker/fields_worker.go index c2d6cbc..e391f0a 100644 --- a/internal/workers/post_fields_worker/fields_worker.go +++ b/internal/workers/post_fields_worker/fields_worker.go @@ -5,6 +5,7 @@ import ( "amocrm/internal/repository" "amocrm/pkg/amoClient" "context" + "fmt" "go.uber.org/zap" "penahub.gitlab.yandexcloud.net/backend/quiz/common.git/dal" "penahub.gitlab.yandexcloud.net/backend/quiz/common.git/repository/amo" @@ -88,6 +89,7 @@ func (wc *PostFields) sendForUpdate(ctx context.Context, token string, dealsData DealID: data.DealID, CustomFieldsValues: data.LeadFields, } + fmt.Println("AAAA", data.LeadFields) reqToUpdate = append(reqToUpdate, req) } diff --git a/pkg/amoClient/amo.go b/pkg/amoClient/amo.go index 8d0fb6f..6b3941e 100644 --- a/pkg/amoClient/amo.go +++ b/pkg/amoClient/amo.go @@ -468,7 +468,6 @@ func (a *Amo) UpdatingDeal(req []models.UpdateDealReq, accessToken string, domai a.logger.Error("error marshal req in Updating Deal:", zap.Error(err)) return nil, err } - agent := a.fiberClient.Patch(uri) agent.Set("Content-Type", "application/json").Body(bodyBytes) agent.Set("Authorization", "Bearer "+accessToken) diff --git a/pkg/amoClient/amo_test.go b/pkg/amoClient/amo_test.go index f3672d7..d852478 100644 --- a/pkg/amoClient/amo_test.go +++ b/pkg/amoClient/amo_test.go @@ -7,6 +7,7 @@ import ( "encoding/json" "fmt" "github.com/gofiber/fiber/v2" + "github.com/stretchr/testify/assert" "go.uber.org/zap" "go.uber.org/zap/zapcore" "testing" @@ -27,7 +28,6 @@ func Test_CreateWebhook(t *testing.T) { rateLimiter := limiter.NewRateLimiter(ctx, 6, 1500*time.Millisecond) amoclient := NewAmoClient(AmoDeps{ - BaseApiURL: "https://penadigitaltech.amocrm.ru", Logger: logger, RedirectionURL: "https://squiz.pena.digital/squiz/amocrm/oauth", IntegrationID: "2dbd6329-9be6-41f2-aa5f-964b9e723e49", @@ -39,7 +39,7 @@ func Test_CreateWebhook(t *testing.T) { GrantType: "authorization_code", Code: "def502003378c2a850f6f3b9618ee811a371e0552692060dd206e166244d8508f1df34e4870e12d183777d29e275fc2e1a5680f27f3999715be63a429a40bef4980ed28f03989b2acc90ac4f8a7a11b514a246a564170d0349ea1ec6584ba8f636ad0d856d6e9ed75e472d461ceee40052513335b9738d5782570a75ec7b4cb3c9bfcf564d93a30e548cff96c789b6097f5c4e254139dc829083ccc5395c276e1b29cd001b8f0efa5579b9e989caeaeb895a6602d70254715b969aa5ce8cd91fc379b406877f3d3258702c4f1f8ca6c8b52eed492aec209418801626e50a1b9b04f4346de452f20e7b4d9611a58e8742342481234a161662e35340aba3aedcb1616fac4be6a125fc6d2aa25ab04eed394ed3ee8f9749ed32048ce69a932f83cdd1fe4d8788ac28683698b729b7d4c36ba6a045d3dc488f5da968ddc4837bdb6a26d4e3f5abcb58c8175c3ab20c6c3bad13c613c77ef23484c2a1ebd4a2152168b15f8d21feafa3178cececdbd47f91863d715f5905b0385efa0744692d863a768aa431b07ea667fef134d3c3a749efdc064d74887a889219e68fd34ab435eb761fea6415f4c4760dd8887b8978d62a35e745826edac41019539012592f737ed5ca690b72ce06c7a2486847b95d47a157f0965eaad4839fd7d1927c03c6152f438dd92a465f58e753523965ac127abd7354", } - resp, err := amoclient.CreateWebHook(&req2) + resp, err := amoclient.CreateWebHook(&req2, "penadigitaltech.amocrm.ru") if err != nil { fmt.Println(err) } @@ -76,3 +76,50 @@ func Test_CustomersMode(t *testing.T) { fmt.Println(string(resBody)) } + +func Test_GetUserInfo(t *testing.T) { + ctx := context.Background() + cfgLogger := zap.NewDevelopmentConfig() + cfgLogger.EncoderConfig.EncodeLevel = zapcore.CapitalColorLevelEncoder + cfgLogger.EncoderConfig.ConsoleSeparator = " " + + logger, err := cfgLogger.Build() + if err != nil { + fmt.Println(err) + } + + rateLimiter := limiter.NewRateLimiter(ctx, 6, 1500*time.Millisecond) + + amoclient := NewAmoClient(AmoDeps{ + Logger: logger, + RedirectionURL: "https://squiz.pena.digital/squiz/amocrm/oauth", + IntegrationID: "2dbd6329-9be6-41f2-aa5f-964b9e723e49", + IntegrationSecret: "tNK3LwL4ovP0OBK4jKDHJ3646PqRJDOKQYgY6P2t6DCuV8LEzDzszTDY0Fhwmzc8", + RateLimiter: rateLimiter, + }) + + resp, err := amoclient.GetUserInfo("eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6IjQxNjM4YTA3YjJkMzI5ZmJlMGJjNTlkMjlhZDFiYmJkZmQ5NDdlYTczYjc2YzkwYjliNDRiN2Q4YzdiOTZjMWE3Mjk1ZWJhNmQ2MjM3MzJjIn0.eyJhdWQiOiIyZGJkNjMyOS05YmU2LTQxZjItYWE1Zi05NjRiOWU3MjNlNDkiLCJqdGkiOiI0MTYzOGEwN2IyZDMyOWZiZTBiYzU5ZDI5YWQxYmJiZGZkOTQ3ZWE3M2I3NmM5MGI5YjQ0YjdkOGM3Yjk2YzFhNzI5NWViYTZkNjIzNzMyYyIsImlhdCI6MTcxNzgxOTIwMiwibmJmIjoxNzE3ODE5MjAyLCJleHAiOjE3MTc5MDU2MDIsInN1YiI6Ijg0MTM5NjkiLCJncmFudF90eXBlIjoiIiwiYWNjb3VudF9pZCI6MzAyMjg5OTcsImJhc2VfZG9tYWluIjoiYW1vY3JtLnJ1IiwidmVyc2lvbiI6Miwic2NvcGVzIjpbInB1c2hfbm90aWZpY2F0aW9ucyIsImZpbGVzIiwiY3JtIiwibm90aWZpY2F0aW9ucyJdLCJoYXNoX3V1aWQiOiI2NTAwNzFmNi04YzhhLTRlMzgtYWQyOC04YmEzMTgyN2Q2ZmQifQ.aXKe3crb56NIj9RBCrzb40jHxfE6e04kMnCZNnYmhjo2WPeStYBeb4meuIDFpskS6bGG_LRmExVmKOR4OnqWvV0wBXpOUrH0nvD_-NPkAiZbNh3viJFCqBJVfao5BEwC8SfcV2u235kgWcTcvk-nvrPUDuCcldF0bOrszACI3d5nDXxoiwgu9jTpuRq88CvxGHvAEECDrRWSsD6WTPMJmR6iIevn79zkC9nh_JC3Ph4_-waRSL3CbVNXFCXoAnD8Py8A1LCFlt9pRW6SXOopIOe25VgklTUkbDG1sPlFZneXqKpcJ72qPvLE7AKWaWkCSydvtAcNTnBLP7sgLUA4tA", "penadigitaltech.amocrm.ru") + assert.NoError(t, err) + + fmt.Println(resp) +} + +func Test_DealGet(t *testing.T) { + url := "https://penadigitaltech.amocrm.ru/api/v4/leads/44545733" + + client := fiber.AcquireClient() + + agent := client.Get(url) + agent.Set("Authorization", "Bearer "+"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6IjQxNjM4YTA3YjJkMzI5ZmJlMGJjNTlkMjlhZDFiYmJkZmQ5NDdlYTczYjc2YzkwYjliNDRiN2Q4YzdiOTZjMWE3Mjk1ZWJhNmQ2MjM3MzJjIn0.eyJhdWQiOiIyZGJkNjMyOS05YmU2LTQxZjItYWE1Zi05NjRiOWU3MjNlNDkiLCJqdGkiOiI0MTYzOGEwN2IyZDMyOWZiZTBiYzU5ZDI5YWQxYmJiZGZkOTQ3ZWE3M2I3NmM5MGI5YjQ0YjdkOGM3Yjk2YzFhNzI5NWViYTZkNjIzNzMyYyIsImlhdCI6MTcxNzgxOTIwMiwibmJmIjoxNzE3ODE5MjAyLCJleHAiOjE3MTc5MDU2MDIsInN1YiI6Ijg0MTM5NjkiLCJncmFudF90eXBlIjoiIiwiYWNjb3VudF9pZCI6MzAyMjg5OTcsImJhc2VfZG9tYWluIjoiYW1vY3JtLnJ1IiwidmVyc2lvbiI6Miwic2NvcGVzIjpbInB1c2hfbm90aWZpY2F0aW9ucyIsImZpbGVzIiwiY3JtIiwibm90aWZpY2F0aW9ucyJdLCJoYXNoX3V1aWQiOiI2NTAwNzFmNi04YzhhLTRlMzgtYWQyOC04YmEzMTgyN2Q2ZmQifQ.aXKe3crb56NIj9RBCrzb40jHxfE6e04kMnCZNnYmhjo2WPeStYBeb4meuIDFpskS6bGG_LRmExVmKOR4OnqWvV0wBXpOUrH0nvD_-NPkAiZbNh3viJFCqBJVfao5BEwC8SfcV2u235kgWcTcvk-nvrPUDuCcldF0bOrszACI3d5nDXxoiwgu9jTpuRq88CvxGHvAEECDrRWSsD6WTPMJmR6iIevn79zkC9nh_JC3Ph4_-waRSL3CbVNXFCXoAnD8Py8A1LCFlt9pRW6SXOopIOe25VgklTUkbDG1sPlFZneXqKpcJ72qPvLE7AKWaWkCSydvtAcNTnBLP7sgLUA4tA") + + statusCode, resBody, errs := agent.Bytes() + if len(errs) > 0 { + fmt.Println(errs) + } + + if statusCode != fiber.StatusOK { + fmt.Println(statusCode) + } + + fmt.Println(string(resBody)) +}