Merge branch 'space' into 'staging'
Space See merge request backend/quiz/amocrm!13
This commit is contained in:
commit
7a50532b9d
@ -4,6 +4,7 @@ import (
|
|||||||
"amocrm/internal/models"
|
"amocrm/internal/models"
|
||||||
"fmt"
|
"fmt"
|
||||||
"penahub.gitlab.yandexcloud.net/backend/quiz/common.git/model"
|
"penahub.gitlab.yandexcloud.net/backend/quiz/common.git/model"
|
||||||
|
"strings"
|
||||||
)
|
)
|
||||||
|
|
||||||
//func ToCreatedUpdate(utms []model.UTM, fields []model.Field) ([]models.AddLeadsFields, []int32) {
|
//func ToCreatedUpdate(utms []model.UTM, fields []model.Field) ([]models.AddLeadsFields, []int32) {
|
||||||
@ -56,7 +57,8 @@ func ToCreatedUpdateQuestionRules(questionsTypeMap map[model.EntityType][]model.
|
|||||||
for entity, questions := range questionsTypeMap {
|
for entity, questions := range questionsTypeMap {
|
||||||
for _, question := range questions {
|
for _, question := range questions {
|
||||||
// если заголоввок пустой у вопроса делаем ему заголовок чтоб в амо легли филды нормально
|
// если заголоввок пустой у вопроса делаем ему заголовок чтоб в амо легли филды нормально
|
||||||
if question.Title == "" {
|
title := strings.ReplaceAll(question.Title, " ", "")
|
||||||
|
if title == "" {
|
||||||
question.Title = fmt.Sprintf("Вопрос №%d", question.Page)
|
question.Title = fmt.Sprintf("Вопрос №%d", question.Page)
|
||||||
}
|
}
|
||||||
matched := false
|
matched := false
|
||||||
@ -116,7 +118,7 @@ func ForContactRules(quizConfig model.QuizContact, currentFields []model.Field)
|
|||||||
for _, contactField := range contactFieldsArr {
|
for _, contactField := range contactFieldsArr {
|
||||||
matched := false
|
matched := false
|
||||||
for _, field := range currentFields {
|
for _, field := range currentFields {
|
||||||
if field.Name == string(contactField) {
|
if field.Name == string(contactField) && field.Entity == model.ContactsType {
|
||||||
matched = true
|
matched = true
|
||||||
forAdding[string(contactField)] = int(field.Amoid)
|
forAdding[string(contactField)] = int(field.Amoid)
|
||||||
break
|
break
|
||||||
|
@ -139,6 +139,8 @@ func (wc *PostDeals) startFetching(ctx context.Context) {
|
|||||||
deal.Embed.Company = companyData
|
deal.Embed.Company = companyData
|
||||||
deal.CustomFieldsValues = utmFields
|
deal.CustomFieldsValues = utmFields
|
||||||
|
|
||||||
|
wc.logger.Info("NOW DEAL CONSTRUCTED IS:", zap.Any("DEAL", deal))
|
||||||
|
|
||||||
if len(mapDealReq[result.AccessToken]) >= 49 {
|
if len(mapDealReq[result.AccessToken]) >= 49 {
|
||||||
wc.logger.Info("reached maximum number of deals for access token", zap.String("access_token", result.AccessToken))
|
wc.logger.Info("reached maximum number of deals for access token", zap.String("access_token", result.AccessToken))
|
||||||
err = wc.sendingDealsReq(ctx, mapDealReq, mapTokenDomain)
|
err = wc.sendingDealsReq(ctx, mapDealReq, mapTokenDomain)
|
||||||
@ -234,7 +236,8 @@ func (wc *PostDeals) constructField(ctx context.Context, allAnswers []model.Resu
|
|||||||
|
|
||||||
if fieldData.Type == model.TypeAmoText {
|
if fieldData.Type == model.TypeAmoText {
|
||||||
values := entityFieldsMap[entityType][fieldID]
|
values := entityFieldsMap[entityType][fieldID]
|
||||||
if data.Content == "" {
|
content := strings.ReplaceAll(data.Content, " ", "")
|
||||||
|
if content == "" {
|
||||||
data.Content = "Пустая строка"
|
data.Content = "Пустая строка"
|
||||||
}
|
}
|
||||||
values = append(values, models.Values{Value: tools.EmojiUnicode(data.Content)})
|
values = append(values, models.Values{Value: tools.EmojiUnicode(data.Content)})
|
||||||
|
@ -10,6 +10,7 @@ import (
|
|||||||
"go.uber.org/zap"
|
"go.uber.org/zap"
|
||||||
"penahub.gitlab.yandexcloud.net/backend/quiz/common.git/dal"
|
"penahub.gitlab.yandexcloud.net/backend/quiz/common.git/dal"
|
||||||
"penahub.gitlab.yandexcloud.net/backend/quiz/common.git/model"
|
"penahub.gitlab.yandexcloud.net/backend/quiz/common.git/model"
|
||||||
|
"strings"
|
||||||
"sync"
|
"sync"
|
||||||
"time"
|
"time"
|
||||||
)
|
)
|
||||||
@ -678,7 +679,8 @@ func (m *Methods) CheckFieldRule(ctx context.Context, token string, msg models.K
|
|||||||
}
|
}
|
||||||
if questionID == int(question.Id) {
|
if questionID == int(question.Id) {
|
||||||
// тут также делаем чтобы сверить филд с вопросом
|
// тут также делаем чтобы сверить филд с вопросом
|
||||||
if question.Title == "" {
|
title := strings.ReplaceAll(question.Title, " ", "")
|
||||||
|
if title == "" {
|
||||||
question.Title = fmt.Sprintf("Вопрос №%d", question.Page)
|
question.Title = fmt.Sprintf("Вопрос №%d", question.Page)
|
||||||
}
|
}
|
||||||
for _, field := range newFields {
|
for _, field := range newFields {
|
||||||
|
@ -105,12 +105,12 @@ func Test_GetUserInfo(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func Test_DealGet(t *testing.T) {
|
func Test_DealGet(t *testing.T) {
|
||||||
url := "https://penadigitaltech.amocrm.ru/api/v4/leads/44599925"
|
url := "https://penadigitaltech.amocrm.ru/api/v4/leads/44690375"
|
||||||
|
|
||||||
client := fiber.AcquireClient()
|
client := fiber.AcquireClient()
|
||||||
|
|
||||||
agent := client.Get(url)
|
agent := client.Get(url)
|
||||||
agent.Set("Authorization", "Bearer "+"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6IjdjYjVlZDEwNzE1MDAyOWQ3ZjkyN2VjZGQ1YzZhN2ZjODQ2MmIyOTk3NTczZjU1YTRjMmYyYmEwZjI5M2FmZTRhYWE2YzA0ODliOWY3NzRjIn0.eyJhdWQiOiIyZGJkNjMyOS05YmU2LTQxZjItYWE1Zi05NjRiOWU3MjNlNDkiLCJqdGkiOiI3Y2I1ZWQxMDcxNTAwMjlkN2Y5MjdlY2RkNWM2YTdmYzg0NjJiMjk5NzU3M2Y1NWE0YzJmMmJhMGYyOTNhZmU0YWFhNmMwNDg5YjlmNzc0YyIsImlhdCI6MTcxODE5NTA0MiwibmJmIjoxNzE4MTk1MDQyLCJleHAiOjE3MTgyODE0NDIsInN1YiI6IjgxMTA3MjYiLCJncmFudF90eXBlIjoiIiwiYWNjb3VudF9pZCI6MzAyMjg5OTcsImJhc2VfZG9tYWluIjoiYW1vY3JtLnJ1IiwidmVyc2lvbiI6Miwic2NvcGVzIjpbInB1c2hfbm90aWZpY2F0aW9ucyIsImZpbGVzIiwiY3JtIiwibm90aWZpY2F0aW9ucyJdLCJoYXNoX3V1aWQiOiJhMjk4YzEyMC1hZDViLTRlYTMtOGI0My04ODhlNTMwZDA5OTMifQ.FUb-GD_6bQ1YHUtqeUIGe3ONmKdq7fLpDCOKreXXu2rKdgQD5ZZlXnqr9MHzKDddk2crZaKkPalsv4XMfvKN6Z9zvyBab61xTn3vQ4whjbRCjqbmVJ2Is3yMHeLJ_tp_qT3Ta2Xe-qOoNBTTqY8yR3T2SaRfLf-5lijZ5yU2lYQ8s68Q2qRrISVxrptH8jt3u1spS5W48P1lD9LdJ9FfxubTH8h1SiHf_1i51Sg5Y6Kpmu9ojHW6MwJRcE4BYTa4lMneTz7ogHMD2Bc7pWJE_lxbAfr6OTPbV7tjfv8IHM0v4qiGgYzC9unusTipvu50HF-YT3ZwyohmMR-CrXDq_g")
|
agent.Set("Authorization", "Bearer "+"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6IjkxNjQxYzdiMGEzYTRjZGUzZmUxYmNiZDZiZmNhMDYxNDcyOTczMGIwZDMxNWIyYWFlYWJhYTRmNDAyMzlhYjZhYWNlZjQzMGQwNGIxMmY1In0.eyJhdWQiOiIyZGJkNjMyOS05YmU2LTQxZjItYWE1Zi05NjRiOWU3MjNlNDkiLCJqdGkiOiI5MTY0MWM3YjBhM2E0Y2RlM2ZlMWJjYmQ2YmZjYTA2MTQ3Mjk3MzBiMGQzMTViMmFhZWFiYWE0ZjQwMjM5YWI2YWFjZWY0MzBkMDRiMTJmNSIsImlhdCI6MTcxODY4MzIwMCwibmJmIjoxNzE4NjgzMjAwLCJleHAiOjE3MTg3Njk2MDAsInN1YiI6Ijg0MTM5NjkiLCJncmFudF90eXBlIjoiIiwiYWNjb3VudF9pZCI6MzAyMjg5OTcsImJhc2VfZG9tYWluIjoiYW1vY3JtLnJ1IiwidmVyc2lvbiI6Miwic2NvcGVzIjpbInB1c2hfbm90aWZpY2F0aW9ucyIsImZpbGVzIiwiY3JtIiwibm90aWZpY2F0aW9ucyJdLCJoYXNoX3V1aWQiOiJhMzBjOWQ1MS1hYTM4LTRlMDYtYWNlMy1iYTQ5MmE3NjE1ZmUifQ.mclcK1MHEIYG9nDSO6NdXIyvIKzd-2h7OrmE-7JjWpIj4WO9W6jUsIEwuJs8glbRT1wvf-SBV9p1Di1QSZE2-9k6exi7W6xgzoK1xLeukdcFd3yTEpDXfamBaMIvlAOyJQ8ZjyqE3Y3f983jUiabe_gGAEk8JxgQzkVNtmvjgeaf8qbHyAwPZ98DddrL91airQooEaT3kmqmXo9R1X0TCfMOh_23xqGH7TDrlQ0AuDo-VjUh5Merc_z6atAocSc1HwHpnjHgMj9Ib3KIenDqbeiUk4evtsOpDO2VdLrKQTPicQUDQGxShaiexF0oGVnoclFh2Cymqon_FuQDnnuyvg")
|
||||||
|
|
||||||
statusCode, resBody, errs := agent.Bytes()
|
statusCode, resBody, errs := agent.Bytes()
|
||||||
if len(errs) > 0 {
|
if len(errs) > 0 {
|
||||||
|
@ -2,9 +2,13 @@ package json
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"amocrm/internal/models"
|
"amocrm/internal/models"
|
||||||
|
"amocrm/internal/tools"
|
||||||
|
"context"
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"fmt"
|
"fmt"
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
|
"penahub.gitlab.yandexcloud.net/backend/quiz/common.git/dal"
|
||||||
|
"penahub.gitlab.yandexcloud.net/backend/quiz/common.git/model"
|
||||||
"testing"
|
"testing"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -50,3 +54,26 @@ func TestUnmarshalJSON(t *testing.T) {
|
|||||||
|
|
||||||
fmt.Println(string(jsonAgain))
|
fmt.Println(string(jsonAgain))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func Test_ContactRule(t *testing.T) {
|
||||||
|
ctx := context.Background()
|
||||||
|
repo, err := dal.NewAmoDal(ctx, "host=localhost port=35432 user=squiz password=Redalert2 dbname=squiz sslmode=disable")
|
||||||
|
assert.NoError(t, err)
|
||||||
|
|
||||||
|
accountID := "64f2cd7a7047f28fdabf6d9e"
|
||||||
|
|
||||||
|
quiz, err := repo.QuizRepo.GetQuizById(ctx, accountID, 26166)
|
||||||
|
assert.NoError(t, err)
|
||||||
|
|
||||||
|
var quizConfig model.QuizContact
|
||||||
|
err = json.Unmarshal([]byte(quiz.Config), &quizConfig)
|
||||||
|
assert.NoError(t, err)
|
||||||
|
|
||||||
|
currentFields, err := repo.AmoRepo.GetUserFieldsByID(ctx, 30228997)
|
||||||
|
assert.NoError(t, err)
|
||||||
|
|
||||||
|
contactFieldsToCreate, forAdding := tools.ForContactRules(quizConfig, currentFields)
|
||||||
|
|
||||||
|
fmt.Println("contactFieldsToCreate", contactFieldsToCreate)
|
||||||
|
fmt.Println("forAdding", forAdding)
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user