Merge branch 'fixPhone' into 'staging'
Fix phone See merge request backend/quiz/amocrm!18
This commit is contained in:
commit
13de58e8c8
@ -293,7 +293,9 @@ func (wc *PostDeals) constructField(ctx context.Context, allAnswers []model.Resu
|
|||||||
contactRuleMap := result.FieldsRule.Contact.ContactRuleMap
|
contactRuleMap := result.FieldsRule.Contact.ContactRuleMap
|
||||||
|
|
||||||
contactFields = tools.AddContactFields(contactFields, resultInfo.Name, model.TypeContactName, contactRuleMap)
|
contactFields = tools.AddContactFields(contactFields, resultInfo.Name, model.TypeContactName, contactRuleMap)
|
||||||
contactFields = tools.AddContactFields(contactFields, resultInfo.Phone, model.TypeContactPhone, contactRuleMap)
|
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)
|
contactFields = tools.AddContactFields(contactFields, resultInfo.Text, model.TypeContactText, contactRuleMap)
|
||||||
contactFields = tools.AddContactFields(contactFields, resultInfo.Email, model.TypeContactEmail, contactRuleMap)
|
contactFields = tools.AddContactFields(contactFields, resultInfo.Email, model.TypeContactEmail, contactRuleMap)
|
||||||
contactFields = tools.AddContactFields(contactFields, resultInfo.Address, model.TypeContactAddress, contactRuleMap)
|
contactFields = tools.AddContactFields(contactFields, resultInfo.Address, model.TypeContactAddress, contactRuleMap)
|
||||||
@ -304,7 +306,7 @@ func (wc *PostDeals) constructField(ctx context.Context, allAnswers []model.Resu
|
|||||||
}
|
}
|
||||||
|
|
||||||
var fields []string
|
var fields []string
|
||||||
if resultInfo.Phone != "" {
|
if len(resultInfo.Phone) > 4 || resultInfo.Phone != "" {
|
||||||
fields = append(fields, resultInfo.Phone)
|
fields = append(fields, resultInfo.Phone)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -335,7 +337,7 @@ func (wc *PostDeals) constructField(ctx context.Context, allAnswers []model.Resu
|
|||||||
contactID = c.ID
|
contactID = c.ID
|
||||||
}
|
}
|
||||||
|
|
||||||
if resultInfo.Phone != "" {
|
if len(resultInfo.Phone) > 4 || resultInfo.Phone != "" {
|
||||||
_, err = wc.amoRepo.AmoRepo.InsertContactAmo(ctx, model.ContactAmo{
|
_, err = wc.amoRepo.AmoRepo.InsertContactAmo(ctx, model.ContactAmo{
|
||||||
AccountID: result.AmoAccountID,
|
AccountID: result.AmoAccountID,
|
||||||
AmoID: contactID,
|
AmoID: contactID,
|
||||||
@ -398,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) {
|
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 ищем контакт в котором совпадает и телефон и емайл
|
// 1 ищем контакт в котором совпадает и телефон и емайл
|
||||||
if resultInfo.Phone != "" && resultInfo.Email != "" {
|
if (len(resultInfo.Phone) > 4 || resultInfo.Phone != "") && resultInfo.Email != "" {
|
||||||
phoneMatchedContacts := make(map[int32]bool)
|
phoneMatchedContacts := make(map[int32]bool)
|
||||||
for _, contactVariants := range existingContacts {
|
for _, contactVariants := range existingContacts {
|
||||||
for _, contact := range contactVariants {
|
for _, contact := range contactVariants {
|
||||||
@ -486,7 +488,7 @@ func (wc *PostDeals) chooseAndCreateContact(ctx context.Context, result model.Am
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 2 ищем контакт только по телефону
|
// 2 ищем контакт только по телефону
|
||||||
if resultInfo.Phone != "" {
|
if len(resultInfo.Phone) > 4 || resultInfo.Phone != "" {
|
||||||
for _, contactVariants := range existingContacts {
|
for _, contactVariants := range existingContacts {
|
||||||
for _, contact := range contactVariants {
|
for _, contact := range contactVariants {
|
||||||
if contact.Field == resultInfo.Phone {
|
if contact.Field == resultInfo.Phone {
|
||||||
@ -595,7 +597,7 @@ func (wc *PostDeals) chooseAndCreateContact(ctx context.Context, result model.Am
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if !phoneExists && resultInfo.Phone != "" {
|
if !phoneExists && (len(resultInfo.Phone) > 4 || resultInfo.Phone != "") {
|
||||||
// телефон пустой обновляем контакт добавляя телефон, если не пустой
|
// телефон пустой обновляем контакт добавляя телефон, если не пустой
|
||||||
fmt.Println("нашлось емайл, телефон не пустой, а в бд пустой. обновляем контакт", resultInfo.Name, resultInfo.Phone, resultInfo.Email)
|
fmt.Println("нашлось емайл, телефон не пустой, а в бд пустой. обновляем контакт", resultInfo.Name, resultInfo.Phone, resultInfo.Email)
|
||||||
var valuePhone []models.FieldsValues
|
var valuePhone []models.FieldsValues
|
||||||
@ -623,7 +625,7 @@ func (wc *PostDeals) chooseAndCreateContact(ctx context.Context, result model.Am
|
|||||||
}
|
}
|
||||||
return contact.AmoID, nil
|
return contact.AmoID, nil
|
||||||
}
|
}
|
||||||
if phoneExists && resultInfo.Phone != "" {
|
if phoneExists && (len(resultInfo.Phone) > 4 || resultInfo.Phone != "") {
|
||||||
// телефон не пустой значит это новый контакт создаем если наш телефон не пустой
|
// телефон не пустой значит это новый контакт создаем если наш телефон не пустой
|
||||||
fmt.Println("нашлось емайл, телефон не пустой и в бд не пустой. создаем новый контакт", resultInfo.Name, resultInfo.Phone, resultInfo.Email)
|
fmt.Println("нашлось емайл, телефон не пустой и в бд не пустой. создаем новый контакт", resultInfo.Name, resultInfo.Phone, resultInfo.Email)
|
||||||
name := resultInfo.Name
|
name := resultInfo.Name
|
||||||
@ -699,7 +701,7 @@ func (wc *PostDeals) chooseAndCreateContact(ctx context.Context, result model.Am
|
|||||||
for _, c := range resp.Embedded.Contacts {
|
for _, c := range resp.Embedded.Contacts {
|
||||||
contactID = c.ID
|
contactID = c.ID
|
||||||
}
|
}
|
||||||
if resultInfo.Phone != "" {
|
if len(resultInfo.Phone) > 4 || resultInfo.Phone != "" {
|
||||||
_, err = wc.amoRepo.AmoRepo.InsertContactAmo(ctx, model.ContactAmo{
|
_, err = wc.amoRepo.AmoRepo.InsertContactAmo(ctx, model.ContactAmo{
|
||||||
AccountID: result.AmoAccountID,
|
AccountID: result.AmoAccountID,
|
||||||
AmoID: contactID,
|
AmoID: contactID,
|
||||||
|
Loading…
Reference in New Issue
Block a user