added comparison of phone number length if it is 4 elements it means empty

This commit is contained in:
Pavel 2024-06-24 11:49:53 +03:00
parent e19ac46db1
commit 4ca97c55b2

@ -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,