Сортировка (через API)

PartizaneN

I speak PHP
Сортировка (через API)

Задачка крайне ацкая.

Существует аукцион, а также существует калькулятор пошлин.

Через API нужно прикрутить к аукциону этот калькулятор пошлин (т.е. приблизительную конечную стоимость зарубежного товара для человека, находящегося в другой стране).

Всё бы ничего, если бы не одно но - при поиске по товарам - необходима сортировка по этой конечной стоимости (которая получается из АПИ).

Как это сделать? :) Нужно учесть, что количество товаров которые нужно отсортировать больше 150 тысяч.

Как возможно организовать такое АПИ и что туда нужно передать, чтобы всё это дело отсортировать, и понятно - за небольшое время (аукцион должен запросить АПИ, получить шустренько ответ и всё вывести)

Просто сортировка по стране и стоимости не получится - у каждой категории товара - разная пошлина и ряд правил для разных стран.
 

varan

Б̈́̈̽ͮͣ̈Л̩̲̮̻̤̹͓ДͦЖ̯̙̭̥̑͆А͇̠̱͓͇̾ͨД͙͈̰̳͈͛ͅ
то ли я с утра туплю, то ли напиано непонятно. Что за API? О чем вообще речь? Если вы писали его сами, то почему не можете добавить туда сортировку?
 

Xeon303

Новичок
Вряд ли тут какой-то API непонятный нужен, просто надо грамотно спроектировать структуру БД аукциона, в которой будет вся информация о надбавках, пошлинах, скидках, стоимости доставки и т.д.

И уже, исходя из имеющихся данных, производить вычисление итоговой стоимости и производить сортировку.
 

PartizaneN

I speak PHP
Автор оригинала: Xeon303
Вряд ли тут какой-то API непонятный нужен, просто надо грамотно спроектировать структуру БД аукциона, в которой будет вся информация о надбавках, пошлинах, скидках, стоимости доставки и т.д.

И уже, исходя из имеющихся данных, производить вычисление итоговой стоимости и производить сортировку.
Врят ли не врят ли - а проблема была описана достаточно чётко :)

Аукцион - это одна компания, Калькулирование пошлин - это другая компания.
 

Xeon303

Новичок
PartizaneN
формула засекречена, конечно?

Проблему-то все поняли, но способ, если честно, немного диковат. Из SQL делать вызов чужой функции - это именно дико. Не уверен, поддерживают ли подобные вызовы современные СУБД, как-то в этот вопрос не вникал.
 

PartizaneN

I speak PHP
Если бы товаров было по-меньше - можно было передать их цены, категории и айдишники - и вернуть айдишники с требуемой страницы.
 

Adelf

Administrator
Команда форума
Я так понял сложность основная, что 150к товаров и дофигища стран? изза этого нельзя все к себе закешировать, да?

З.Ы. Только что прочитал последнюю строчку первого поста, вопрос снимается. :)

Наугад - способов два
1) Пытаться предугадывать(пусть и неточно - по барабану, обычно этого хватает) ответ калькулятора и сортировать по своему.
2) Отказаться от сортировки.
 

korchasa

LIMB infected
В связь товар-страна добавляется поле "конечная цена". По нему и сортируется. В чем проблема то?
 

PartizaneN

I speak PHP
Ещё, конечно, специфика аукционная портит немного картину.

Если сразу после обычного поиска с сортировкой по релевантности - отсылать все данные о ценах через апишку. А если запросят уже с нашей сортировкой - отсортировать и вернуть айдишники с запрошенной страницы. А если подумать, что товары всё время меняют свою цену и аукционы заканчиваются. Впринципе, можно закончившиеся аукционы не возвращать. Вобщем этот вариант не сильно подходит :(

-~{}~ 20.10.09 14:05:

Кароче решили делать так - просто предложено было аукциону проапдэйтить свою базу новыми полями и вызывать наши калькуляции через API, когда, например, цена поменяется и хранить результаты у них, ну и соответственно все сортировки будут делать они сами.
 

korchasa

LIMB infected
Автор оригинала: PartizaneN
Кароче решили делать так - просто предложено было аукциону проапдэйтить свою базу новыми полями и вызывать наши калькуляции через API, когда, например, цена поменяется и хранить результаты у них, ну и соответственно все сортировки будут делать они сами.
В общем то это я и имел ввиду :)
 
Сверху