Merge branch 'chTypes' into 'staging'

fix clickhousr types

See merge request backend/quiz/answerer!5
This commit is contained in:
Mikhail 2024-06-30 12:32:32 +00:00 committed by skeris
commit 44d1a2c643
2 changed files with 54 additions and 28 deletions

@ -11,48 +11,60 @@ type AllFields struct {
KeyBrowser string KeyBrowser string
CtxQuiz string CtxQuiz string
CtxReferrer string CtxReferrer string
CtxIDInt int64 CtxIDInt int64
CtxSession string CtxSession string
CtxQuizID int64 CtxQuizID int64
CtxQuestionID int64 CtxQuestionID int64
} }
type InfoQuizOpen struct { // при получении настроек квиза type InfoQuizOpen struct { // при получении настроек квиза
KeyOS, KeyDevice, KeyDeviceType, KeyBrowser string // то самое, что получается из заголовков и складывается в модель ответа. на самом деле, ему место тут KeyOS string
CtxQuiz string // айдишник квиза, который qid KeyDevice string
CtxQuizID int64 // айдишник квиза KeyDeviceType string
CtxReferrer string // тоже из заголовков KeyBrowser string // то самое, что получается из заголовков и складывается в модель ответа. на самом деле, ему место тут
CtxIDInt int64 // айдишник ответа CtxQuiz string // айдишник квиза, который qid
CtxSession string // сессия CtxQuizID int64 // айдишник квиза
CtxReferrer string // тоже из заголовков
CtxIDInt int64 // айдишник ответа
CtxSession string // сессия
} }
type InfoAnswer struct { // при любом ответе на вопрос type InfoAnswer struct { // при любом ответе на вопрос
KeyOS, KeyDevice, KeyDeviceType, KeyBrowser string // то самое, что получается из заголовков и складывается в модель ответа. на самом деле, ему место тут KeyOS string
CtxQuiz string // айдишник квиза, который qid KeyDevice string
CtxQuizID int64 // айдишник квиза KeyDeviceType string
CtxReferrer string // тоже из заголовков KeyBrowser string // то самое, что получается из заголовков и складывается в модель ответа. на самом деле, ему место тут
CtxQuestionID int64 // айдишник вопроса, на который отвечено CtxQuiz string // айдишник квиза, который qid
CtxIDInt int64 // айдишник ответа CtxQuizID int64 // айдишник квиза
CtxSession string // сессия CtxReferrer string // тоже из заголовков
CtxQuestionID int64 // айдишник вопроса, на который отвечено
CtxIDInt int64 // айдишник ответа
CtxSession string // сессия
} }
type InfoResult struct { // если ответ на вопрос с типом result type InfoResult struct { // если ответ на вопрос с типом result
KeyOS, KeyDevice, KeyDeviceType, KeyBrowser string // то самое, что получается из заголовков и складывается в модель ответа. на самом деле, ему место тут KeyOS string
CtxQuiz string // айдишник квиза, который qid KeyDevice string
CtxQuizID int64 // айдишник квиза KeyDeviceType string
CtxReferrer string // тоже из заголовков KeyBrowser string // то самое, что получается из заголовков и складывается в модель ответа. на самом деле, ему место тут
CtxQuestionID int64 // айдишник вопроса, на который отвечено CtxQuiz string // айдишник квиза, который qid
CtxIDInt int64 // айдишник ответа CtxQuizID int64 // айдишник квиза
CtxSession string // сессия CtxReferrer string // тоже из заголовков
CtxQuestionID int64 // айдишник вопроса, на который отвечено
CtxIDInt int64 // айдишник ответа
CtxSession string // сессия
} }
// todo понять для чего это событие вроде как контакты приходят в ответахс с result = true там парситься контент с контактной информацией // todo понять для чего это событие вроде как контакты приходят в ответахс с result = true там парситься контент с контактной информацией
type InfoContactForm struct { // если ответ на вопрос с типом result, без result == true (возможно перепутал с предыдущим. в этом ответе приходят контактные данные респондента) type InfoContactForm struct { // если ответ на вопрос с типом result, без result == true (возможно перепутал с предыдущим. в этом ответе приходят контактные данные респондента)
KeyOS, KeyDevice, KeyDeviceType, KeyBrowser string // то самое, что получается из заголовков и складывается в модель ответа. на самом деле, ему место тут KeyOS string
CtxQuiz string // айдишник квиза, который qid KeyDevice string
CtxQuizID int64 // айдишник квиза KeyDeviceType string
CtxReferrer string // тоже из заголовков KeyBrowser string // то самое, что получается из заголовков и складывается в модель ответа. на самом деле, ему место тут
CtxQuestionID int64 // айдишник вопроса, на который отвечено CtxQuiz string // айдишник квиза, который qid
CtxIDInt int64 // айдишник ответа CtxQuizID int64 // айдишник квиза
CtxSession string // сессия CtxReferrer string // тоже из заголовков
CtxQuestionID int64 // айдишник вопроса, на который отвечено
CtxIDInt int64 // айдишник ответа
CtxSession string // сессия
} }

@ -394,6 +394,20 @@ func (s *Service) PutAnswersOnePiece(c *fiber.Ctx) error {
} }
ans.Email = content.Email ans.Email = content.Email
hlogger.Emit(models.InfoContactForm{
KeyOS: os,
KeyDevice: device,
KeyDeviceType: deviceType,
KeyBrowser: browser,
CtxQuiz: quizID[0],
CtxQuizID: int64(quiz.Id),
CtxReferrer: referrer,
CtxQuestionID: int64(ans.QuestionId),
CtxIDInt: int64(ans.Id),
CtxSession: cs,
})
s.workerSendClientCh <- ans s.workerSendClientCh <- ans
trueRes = append(trueRes, ans) trueRes = append(trueRes, ans)
} }