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 d161ecac88
3 changed files with 66 additions and 35 deletions

@ -1,7 +1,8 @@
version: "3"
services: services:
answerer: answererv1.0.0:
hostname: squiz-answerer hostname: squiz-answererv1.0.0
container_name: squiz-answerer container_name: squiz-answererv1.0.0
image: $CI_REGISTRY_IMAGE/main-answerer:$CI_COMMIT_REF_SLUG.$CI_PIPELINE_ID image: $CI_REGISTRY_IMAGE/main-answerer:$CI_COMMIT_REF_SLUG.$CI_PIPELINE_ID
tty: true tty: true
environment: environment:
@ -9,12 +10,16 @@ services:
IS_PROD: 'false' IS_PROD: 'false'
PUBLIC_ACCESS_SECRET_KEY: $JWT_PUBLIC_KEY PUBLIC_ACCESS_SECRET_KEY: $JWT_PUBLIC_KEY
PORT: 1490 PORT: 1490
MINIO_EP: 'storage.yandexcloud.net' MINIO_EP: s3.timeweb.cloud
MINIO_AK: 'YCAJEOcqqTHpiwL4qFwLfHPNA' MINIO_AK: 5CV77KVDUU9H0II9R24M
MINIO_SK: 'YCNIAIat0XqdDzycWsYKX3OU7mPor6S0WmMoG4Ry' MINIO_SK: '0W0m8DyvdAKRJnsAy6mB5zndQ7RouJBLhqhtThcu'
PG_CRED: 'host=10.8.0.9 port=5433 user=squiz password=Redalert2 dbname=squiz sslmode=disable' PG_CRED: 'host=10.8.0.9 port=5433 user=squiz password=Redalert2 dbname=squiz sslmode=disable'
REDIS_HOST: '10.8.0.9:6379' REDIS_HOST: '10.8.0.9:6379'
REDIS_PASSWORD: 'Redalert2' REDIS_PASSWORD: 'Redalert2'
REDIS_DB: 2 REDIS_DB: 2
PUBLIC_KEY: $PUBLIC_KEY
PRIVATE_KEY: $PRIVATE_KEY
TRASH_LOG_HOST: "10.8.0.15:7113"
MODULE_LOGGER: "quiz-answerer-main"
ports: ports:
- 10.8.0.9:1490:1490 - 10.8.0.9:1491:1490

@ -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)
} }