diff --git a/internal/workers/post_deals_worker/deals_worker.go b/internal/workers/post_deals_worker/deals_worker.go index f4cc762..7774bcd 100644 --- a/internal/workers/post_deals_worker/deals_worker.go +++ b/internal/workers/post_deals_worker/deals_worker.go @@ -293,7 +293,7 @@ func (wc *PostDeals) constructField(ctx context.Context, allAnswers []model.Resu contactRuleMap := result.FieldsRule.Contact.ContactRuleMap contactFields = tools.AddContactFields(contactFields, resultInfo.Name, model.TypeContactName, contactRuleMap) - if len(resultInfo.Phone) > 4 { + if len(resultInfo.Phone) > 4 || resultInfo.Phone != "" { contactFields = tools.AddContactFields(contactFields, resultInfo.Phone, model.TypeContactPhone, contactRuleMap) } contactFields = tools.AddContactFields(contactFields, resultInfo.Text, model.TypeContactText, contactRuleMap) @@ -306,7 +306,7 @@ func (wc *PostDeals) constructField(ctx context.Context, allAnswers []model.Resu } var fields []string - if len(resultInfo.Phone) > 4 { + if len(resultInfo.Phone) > 4 || resultInfo.Phone != "" { fields = append(fields, resultInfo.Phone) } @@ -337,7 +337,7 @@ func (wc *PostDeals) constructField(ctx context.Context, allAnswers []model.Resu contactID = c.ID } - if len(resultInfo.Phone) > 4 { + if len(resultInfo.Phone) > 4 || resultInfo.Phone != "" { _, err = wc.amoRepo.AmoRepo.InsertContactAmo(ctx, model.ContactAmo{ AccountID: result.AmoAccountID, AmoID: contactID, @@ -400,7 +400,7 @@ func (wc *PostDeals) constructField(ctx context.Context, allAnswers []model.Resu func (wc *PostDeals) chooseAndCreateContact(ctx context.Context, result model.AmoUsersTrueResults, resultInfo model.ResultContent, existingContacts map[int32][]model.ContactAmo, dateCreating int64, contactFields []models.FieldsValues, contactRuleMap map[string]int) (int32, error) { // 1 ищем контакт в котором совпадает и телефон и емайл - if len(resultInfo.Phone) > 4 && resultInfo.Email != "" { + if (len(resultInfo.Phone) > 4 || resultInfo.Phone != "") && resultInfo.Email != "" { phoneMatchedContacts := make(map[int32]bool) for _, contactVariants := range existingContacts { for _, contact := range contactVariants { @@ -488,7 +488,7 @@ func (wc *PostDeals) chooseAndCreateContact(ctx context.Context, result model.Am } // 2 ищем контакт только по телефону - if len(resultInfo.Phone) > 4 { + if len(resultInfo.Phone) > 4 || resultInfo.Phone != "" { for _, contactVariants := range existingContacts { for _, contact := range contactVariants { if contact.Field == resultInfo.Phone { @@ -597,7 +597,7 @@ func (wc *PostDeals) chooseAndCreateContact(ctx context.Context, result model.Am } } } - if !phoneExists && len(resultInfo.Phone) > 4 { + if !phoneExists && (len(resultInfo.Phone) > 4 || resultInfo.Phone != "") { // телефон пустой обновляем контакт добавляя телефон, если не пустой fmt.Println("нашлось емайл, телефон не пустой, а в бд пустой. обновляем контакт", resultInfo.Name, resultInfo.Phone, resultInfo.Email) var valuePhone []models.FieldsValues @@ -625,7 +625,7 @@ func (wc *PostDeals) chooseAndCreateContact(ctx context.Context, result model.Am } return contact.AmoID, nil } - if phoneExists && len(resultInfo.Phone) > 4 { + if phoneExists && (len(resultInfo.Phone) > 4 || resultInfo.Phone != "") { // телефон не пустой значит это новый контакт создаем если наш телефон не пустой fmt.Println("нашлось емайл, телефон не пустой и в бд не пустой. создаем новый контакт", resultInfo.Name, resultInfo.Phone, resultInfo.Email) name := resultInfo.Name @@ -701,7 +701,7 @@ func (wc *PostDeals) chooseAndCreateContact(ctx context.Context, result model.Am for _, c := range resp.Embedded.Contacts { contactID = c.ID } - if len(resultInfo.Phone) > 4 { + if len(resultInfo.Phone) > 4 || resultInfo.Phone != "" { _, err = wc.amoRepo.AmoRepo.InsertContactAmo(ctx, model.ContactAmo{ AccountID: result.AmoAccountID, AmoID: contactID,