This commit is contained in:
Pavel 2024-09-26 13:52:30 +03:00
parent c824f10dc0
commit 00fa7f10af
3 changed files with 129 additions and 162 deletions

@ -13,7 +13,7 @@ func (c *WebhookController) WebhookCreate(ctx *fiber.Ctx) error {
domain := ctx.Query("domain") // домен портала, на котором происходит авторизация
state := ctx.Query("state") // значение, переданное в первом запросе
scope := ctx.Query("scope") // список прав доступа к REST API
memberID := ctx.Query("member_id") // уникальный идентификатор портала
memberID := ctx.Query("member_id") // уникальный идентификатор портала - id битрикса главного
serverDomain := ctx.Query("server_domain") // домен сервера авторизации
if code == "" || domain == "" || memberID == "" || serverDomain == "" {

@ -1,48 +1,19 @@
package models
import "time"
type ResponseGetListUsers struct {
Result []User `json:"result"`
Total int `json:"total"`
}
type User struct {
ID string `json:"ID"`
Active bool `json:"ACTIVE"`
Email string `json:"EMAIL"`
Name string `json:"NAME"`
LastName string `json:"LAST_NAME"`
SecondName string `json:"SECOND_NAME"`
PersonalGender string `json:"PERSONAL_GENDER"`
PersonalProfession string `json:"PERSONAL_PROFESSION"`
PersonalWWW string `json:"PERSONAL_WWW"`
PersonalBirthday string `json:"PERSONAL_BIRTHDAY"`
PersonalPhoto string `json:"PERSONAL_PHOTO"`
PersonalICQ string `json:"PERSONAL_ICQ"`
PersonalPhone string `json:"PERSONAL_PHONE"`
PersonalFax string `json:"PERSONAL_FAX"`
PersonalMobile string `json:"PERSONAL_MOBILE"`
PersonalPager string `json:"PERSONAL_PAGER"`
PersonalStreet string `json:"PERSONAL_STREET"`
PersonalCity string `json:"PERSONAL_CITY"`
PersonalState string `json:"PERSONAL_STATE"`
PersonalZip string `json:"PERSONAL_ZIP"`
PersonalCountry string `json:"PERSONAL_COUNTRY"`
WorkCompany string `json:"WORK_COMPANY"`
WorkPosition string `json:"WORK_POSITION"`
WorkPhone string `json:"WORK_PHONE"`
UFDepartment []int `json:"UF_DEPARTMENT"`
UFInterests *string `json:"UF_INTERESTS"`
UFSkills *string `json:"UF_SKILLS"`
UFWebSites *string `json:"UF_WEB_SITES"`
UFXing *string `json:"UF_XING"`
UFLinkedIn *string `json:"UF_LINKEDIN"`
UFFacebook *string `json:"UF_FACEBOOK"`
UFTwitter *string `json:"UF_TWITTER"`
UFSkype *string `json:"UF_SKYPE"`
UFDistrict *string `json:"UF_DISTRICT"`
UFPhoneInner string `json:"UF_PHONE_INNER"`
ID string `json:"ID"`
Name string `json:"NAME"`
LastName string `json:"LAST_NAME"`
SecondName string `json:"SECOND_NAME"`
Title string `json:"TITLE"`
Email string `json:"EMAIL"`
UFDepartment []int `json:"UF_DEPARTMENT"`
WorkPosition string `json:"WORK_POSITION"`
}
type ResponseGetCurrentUser struct {
@ -50,19 +21,12 @@ type ResponseGetCurrentUser struct {
}
type CurrentUser struct {
ID string `json:"ID"`
XMLID string `json:"XML_ID"`
Active bool `json:"ACTIVE"`
Name string `json:"NAME"`
LastName string `json:"LAST_NAME"`
Email string `json:"EMAIL"`
LastLogin time.Time `json:"LAST_LOGIN"`
DateRegister time.Time `json:"DATE_REGISTER"`
IsOnline string `json:"IS_ONLINE"`
TimestampX string `json:"TIMESTAMP_X"`
LastActivityDate string `json:"LAST_ACTIVITY_DATE"`
PersonalGender string `json:"PERSONAL_GENDER"`
PersonalBirthday string `json:"PERSONAL_BIRTHDAY"`
UFEmploymentDate string `json:"UF_EMPLOYMENT_DATE"`
UFDepartment []int `json:"UF_DEPARTMENT"`
ID string `json:"ID"`
Name string `json:"NAME"`
LastName string `json:"LAST_NAME"`
SecondName string `json:"SECOND_NAME"`
Title string `json:"TITLE"`
Email string `json:"EMAIL"`
UFDepartment []int `json:"UF_DEPARTMENT"`
WorkPosition string `json:"WORK_POSITION"`
}

@ -5,9 +5,7 @@ import (
"encoding/json"
"fmt"
"go.uber.org/zap"
"penahub.gitlab.yandexcloud.net/backend/quiz/bitrix/internal/models"
"penahub.gitlab.yandexcloud.net/backend/quiz/bitrix/internal/workers/limiter"
"penahub.gitlab.yandexcloud.net/backend/quiz/common.git/model"
"testing"
"time"
)
@ -24,118 +22,123 @@ func TestGetListFields(t *testing.T) {
RateLimiter: lim,
})
arr := []model.FieldsType{model.FieldTypeLead, model.FieldTypeCompany, model.FieldTypeContact, model.FieldTypeDeal}
//arr := []model.FieldsType{model.FieldTypeLead, model.FieldTypeCompany, model.FieldTypeContact, model.FieldTypeDeal}
//
//for i, tipe := range arr {
// req := models.AddFields{
// EditFormLabel: fmt.Sprintf("EditFormLabel %d", i),
// ListColumnLabel: fmt.Sprintf("ListColumnLabel %d", i),
// UserTypeID: "string",
// Settings: map[string]interface{}{
// "DEFAULT_VALUE": "GOGOGOGOGOGOGO!",
// }}
// req.GenFieldName()
// result, err := b.AddFields(req, tipe, "9c7cf1660000071b00717f9200000001000007b3c27dd12d61d2e90dd1e630638b8346", "b24-ld76ub.bitrix24.ru")
// if err != nil {
// fmt.Println(err)
// }
// fmt.Println(result)
//}
//
//fieldAnswer := make(map[string]string)
//fieldAnswer["UF_CRM_1727099993"] = "field1"
//fieldAnswer["UF_CRM_1727099994"] = "field2"
//fieldAnswer["UF_CRM_1727099994"] = "field3"
//fieldAnswer["UF_CRM_1726835607006"] = "field4"
//
//createContactReq := models.CreateContactReq{
// Fields: models.ContactFields{
// Name: "Контакт фром апи",
// SecondName: "SecondName",
// LastName: "LastName",
// Opened: "Y",
// LeadID: 1,
// UtmSource: "UtmSource",
// UtmMedium: "UtmMedium",
// UtmCampaign: "UtmCampaign",
// UtmContent: "UtmContent",
// UtmTerm: "UtmTerm",
// },
//}
//
//reqMap := models.FormattingToMap(&createContactReq, fieldAnswer)
//
//contactResult, err := b.CreateContact(reqMap, "eb19f5660000071b00717f9200000001000007f6c1795b0c3c995cf4cbbae1a9d0394c", "b24-ld76ub.bitrix24.ru")
//if err != nil {
// fmt.Println(err)
//}
//
//createCompanyReq := models.CompanyReq{
// Fields: models.CompanyFields{
// Title: "TEST FORMATTER",
// Opened: "Y",
// LeadID: 1,
// UtmSource: "UtmSource",
// UtmMedium: "UtmMedium",
// UtmCampaign: "UtmCampaign",
// UtmContent: "UtmContent",
// UtmTerm: "UtmTerm",
// ContactID: contactResult,
// },
//}
//
//reqMap = models.FormattingToMap(&createCompanyReq, fieldAnswer)
//companyResult, err := b.CreateCompany(reqMap, "eb19f5660000071b00717f9200000001000007f6c1795b0c3c995cf4cbbae1a9d0394c", "b24-ld76ub.bitrix24.ru")
//if err != nil {
// fmt.Println(err)
//}
//
//createDealReq := models.CreatingDealReq{
// Fields: models.CreateDealFields{
// Title: "ТЕСТ ОТ ГОУ АПИ 10/10",
// TypeID: "SALE",
// StageID: "NEW",
// CompanyID: companyResult,
// ContactIDs: []int32{contactResult},
// Opened: "Y",
// AssignedByID: 1,
// CategoryID: 5,
// SourceID: "CALL",
// UtmSource: "UtmSource",
// UtmMedium: "UtmMedium",
// UtmCampaign: "UtmCampaign",
// UtmContent: "UtmContent",
// UtmTerm: "UtmTerm",
// },
//}
//
//reqMap = models.FormattingToMap(&createDealReq, fieldAnswer)
//result, err := b.CreatingDeal(reqMap, "eb19f5660000071b00717f9200000001000007f6c1795b0c3c995cf4cbbae1a9d0394c", "b24-ld76ub.bitrix24.ru")
//if err != nil {
// fmt.Println(err)
//}
//
//for _, tipe := range model.CategoryArr {
// result, err := b.GetListPipelines(tipe, "eb19f5660000071b00717f9200000001000007f6c1795b0c3c995cf4cbbae1a9d0394c", "b24-ld76ub.bitrix24.ru")
// if err != nil {
// fmt.Println(err)
// }
//
// r, _ := json.Marshal(result)
// fmt.Println(string(r))
//}
//
//for _, tipe := range arr {
// result, err := b.GetListFields(tipe, "eb19f5660000071b00717f9200000001000007f6c1795b0c3c995cf4cbbae1a9d0394c", "b24-ld76ub.bitrix24.ru")
// if err != nil {
// fmt.Println(err)
// }
//
// r, _ := json.Marshal(result)
// fmt.Println(string(r))
// fmt.Println(tipe)
//}
for i, tipe := range arr {
req := models.AddFields{
EditFormLabel: fmt.Sprintf("EditFormLabel %d", i),
ListColumnLabel: fmt.Sprintf("ListColumnLabel %d", i),
UserTypeID: "string",
Settings: map[string]interface{}{
"DEFAULT_VALUE": "GOGOGOGOGOGOGO!",
}}
req.GenFieldName()
result, err := b.AddFields(req, tipe, "9c7cf1660000071b00717f9200000001000007b3c27dd12d61d2e90dd1e630638b8346", "b24-ld76ub.bitrix24.ru")
if err != nil {
fmt.Println(err)
}
fmt.Println(result)
}
fieldAnswer := make(map[string]string)
fieldAnswer["UF_CRM_1727099993"] = "field1"
fieldAnswer["UF_CRM_1727099994"] = "field2"
fieldAnswer["UF_CRM_1727099994"] = "field3"
fieldAnswer["UF_CRM_1726835607006"] = "field4"
createContactReq := models.CreateContactReq{
Fields: models.ContactFields{
Name: "Контакт фром апи",
SecondName: "SecondName",
LastName: "LastName",
Opened: "Y",
LeadID: 1,
UtmSource: "UtmSource",
UtmMedium: "UtmMedium",
UtmCampaign: "UtmCampaign",
UtmContent: "UtmContent",
UtmTerm: "UtmTerm",
},
}
reqMap := models.FormattingToMap(&createContactReq, fieldAnswer)
contactResult, err := b.CreateContact(reqMap, "eb19f5660000071b00717f9200000001000007f6c1795b0c3c995cf4cbbae1a9d0394c", "b24-ld76ub.bitrix24.ru")
result, err := b.GetUserList("f72df5660000071b00717f9200000001000007f76aef6d167ba810e1f10b38ccfef91b", "b24-ld76ub.bitrix24.ru")
if err != nil {
fmt.Println(err)
}
createCompanyReq := models.CompanyReq{
Fields: models.CompanyFields{
Title: "TEST FORMATTER",
Opened: "Y",
LeadID: 1,
UtmSource: "UtmSource",
UtmMedium: "UtmMedium",
UtmCampaign: "UtmCampaign",
UtmContent: "UtmContent",
UtmTerm: "UtmTerm",
ContactID: contactResult,
},
}
reqMap = models.FormattingToMap(&createCompanyReq, fieldAnswer)
companyResult, err := b.CreateCompany(reqMap, "eb19f5660000071b00717f9200000001000007f6c1795b0c3c995cf4cbbae1a9d0394c", "b24-ld76ub.bitrix24.ru")
if err != nil {
fmt.Println(err)
}
createDealReq := models.CreatingDealReq{
Fields: models.CreateDealFields{
Title: "ТЕСТ ОТ ГОУ АПИ 10/10",
TypeID: "SALE",
StageID: "NEW",
CompanyID: companyResult,
ContactIDs: []int32{contactResult},
Opened: "Y",
AssignedByID: 1,
CategoryID: 5,
SourceID: "CALL",
UtmSource: "UtmSource",
UtmMedium: "UtmMedium",
UtmCampaign: "UtmCampaign",
UtmContent: "UtmContent",
UtmTerm: "UtmTerm",
},
}
reqMap = models.FormattingToMap(&createDealReq, fieldAnswer)
result, err := b.CreatingDeal(reqMap, "eb19f5660000071b00717f9200000001000007f6c1795b0c3c995cf4cbbae1a9d0394c", "b24-ld76ub.bitrix24.ru")
if err != nil {
fmt.Println(err)
}
for _, tipe := range model.CategoryArr {
result, err := b.GetListPipelines(tipe, "eb19f5660000071b00717f9200000001000007f6c1795b0c3c995cf4cbbae1a9d0394c", "b24-ld76ub.bitrix24.ru")
if err != nil {
fmt.Println(err)
}
r, _ := json.Marshal(result)
fmt.Println(string(r))
}
for _, tipe := range arr {
result, err := b.GetListFields(tipe, "eb19f5660000071b00717f9200000001000007f6c1795b0c3c995cf4cbbae1a9d0394c", "b24-ld76ub.bitrix24.ru")
if err != nil {
fmt.Println(err)
}
r, _ := json.Marshal(result)
fmt.Println(string(r))
fmt.Println(tipe)
}
r, _ := json.Marshal(result)
fmt.Println(string(r))