package templategen import ( "github.com/Pena-Co-Ltd/amocrm_templategen_back/amo" "strings" ) func AmoLeadFieldsToRuMap(data *amo.Lead) map[string]interface{} { result := map[string]interface{}{ "ID": data.Id, "Название": data.Name, "Бюджет": data.Price, "Создатель": data.CreatedBy, } for k, v := range AmoCustomFieldsToMap(data.CustomFieldsValues) { result[k] = v } return result } func AmoContactsFieldsToRuMap(data []amo.Contact) []interface{} { result := []interface{}{} for _, contact := range data { contactMap := map[string]interface{}{ "ФИО": contact.Name, "Имя": contact.FirstName, "Фамилия": contact.LastName, } for k, v := range AmoCustomFieldsToMap(contact.CustomFieldsValues) { contactMap[k] = v } result = append(result, contactMap) } return result } func AmoCustomFieldsToMap(data []amo.CustomField) map[string]interface{} { result := map[string]interface{}{} for _, field := range data { field.FieldName = strings.Replace(field.FieldName, " ", "_", -1) switch len(field.Values) { case 0: result[field.FieldName] = "" case 1: result[field.FieldName] = field.Values[0].Value default: result[field.FieldName] = field.Values } } return result } func AmoCompaniesFieldsToRuMap(data []amo.Company) []interface{} { result := []interface{}{} for _, company := range data { companyMap := map[string]interface{}{ "Название": company.Name, } for k, v := range AmoCustomFieldsToMap(company.CustomFieldsValues) { companyMap[k] = v } result = append(result, companyMap) } return result }