From fb38eabeec360ac60ccc003dc6ae0312bcef1314 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=94=D0=BC=D0=B8=D1=82=D1=80=D0=B8=D0=B9?= Date: Mon, 26 Sep 2022 14:45:35 +0300 Subject: [PATCH] wip --- src/client_server/handlers.go | 17 ++++++++++++++--- src/requests_types/response_type.go | 1 + 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/src/client_server/handlers.go b/src/client_server/handlers.go index 5dabc76..2c5181e 100644 --- a/src/client_server/handlers.go +++ b/src/client_server/handlers.go @@ -41,8 +41,17 @@ func handleRequest(w http.ResponseWriter, r *http.Request) { return } - // TODO: fix url - // TODO: может что то получится сделать с p_body? + // TODO: fix url TODO: может что то получится сделать с p_body? + // Такие запросы надо разослать на список партнеров (-d). Из их + // ответов потом нужно выбрат + /* + Получив все ответы, ваш сервис должен для каждого элемента tiles из запроса + плейсмента выбрать среди imp с таким же id тот, у которого максимальная цена. + Одинаковых цен с одним id не будет + Если imp с каким-то id не получено, такого id не должно быть в ответе. Порядок imp в + ответе должен соответствовать порядку tiles в запросе плейсмента. Формат ответа: + */ + // Отпралять запросы как горутины! p_body := constructPartnersRequestBody(&inpReqBody) sendRequest("localhost:5059", &p_body) @@ -53,6 +62,7 @@ func constructPartnersRequestBody(ir *req_types.IncomingRequest) io.Reader { var imps []req_types.Imp + // WARN: не знаю как правильно перемножать uint и float for _, tile := range ir.Tiles { imps = append(imps, req_types.Imp{ Id: tile.Id, @@ -63,7 +73,8 @@ func constructPartnersRequestBody(ir *req_types.IncomingRequest) io.Reader { outReqBody.Id = *ir.Id outReqBody.Imp = imps outReqBody.Context = ir.Context - + log.Println(*ir) + log.Println(outReqBody) t, _ := json.Marshal(outReqBody) return bytes.NewReader(t) } diff --git a/src/requests_types/response_type.go b/src/requests_types/response_type.go index 73d4a09..2164814 100644 --- a/src/requests_types/response_type.go +++ b/src/requests_types/response_type.go @@ -8,6 +8,7 @@ type RespImp struct { Price float64 } +// Response from ad partners type SuccesResponse struct { Id string `json:"id"` Imp []RespImp `json:"imp"`