|
|
@ -1,9 +1,9 @@
|
|
|
|
Спецификация протокола взаимной продажи билетов на транзиные рейсы
|
|
|
|
Спецификация протокола взаимной продажи билетов на транзиные рейсы
|
|
|
|
===========================================================================
|
|
|
|
===========================================================================
|
|
|
|
|
|
|
|
|
|
|
|
**Версия документа: 1.0**
|
|
|
|
**Версия документа: 1.1**
|
|
|
|
|
|
|
|
|
|
|
|
**Дата изменения: 06.09.2017**
|
|
|
|
**Дата изменения: 13.09.2018**
|
|
|
|
|
|
|
|
|
|
|
|
Введение
|
|
|
|
Введение
|
|
|
|
========
|
|
|
|
========
|
|
|
@ -326,7 +326,30 @@ XML-ответ в обязательном порядке имеет корне
|
|
|
|
### getTripInfo
|
|
|
|
### getTripInfo
|
|
|
|
|
|
|
|
|
|
|
|
Возвращет информацию билетах на указанном рейсе.
|
|
|
|
Возвращет информацию билетах на указанном рейсе.
|
|
|
|
В выборку должны попасть билеты у которых станции отправлени или назначения(не включительно) находятся между запрашиваемы станциями.
|
|
|
|
В выборку должны попасть билеты по следующему алгоритму.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
from_st_uid = request.dispatchStationUid
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
to_st_uid = request.arrivalStationUid
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
indexs = словарь (UID станции) -> (Индекс станции в маршруте)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
from_st_index = indexs(from_st_uid)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
to_st_index = indexs(to_st_uid)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
select *
|
|
|
|
|
|
|
|
from tickets t
|
|
|
|
|
|
|
|
where max(indexs(t.from_st_uid), from_st_index) <= min(indexs(t.to_st_uid), to_st_index)
|
|
|
|
|
|
|
|
and t.to_st_uid <> from_st_uid
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
В выборки первое условие находит пересечения отрезков:
|
|
|
|
|
|
|
|
1. первый отрезок получен из индексов станций отправления и назначения билета
|
|
|
|
|
|
|
|
2. второй отрезок получен из индексов станций параметров запроса
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Второе условие отсекает билеты у которых станция назначения совпадает с станцией отправления из парамеров.
|
|
|
|
|
|
|
|
|
|
|
|
**URL: \[BASE\_URL\]/transit/getTripInfo**
|
|
|
|
**URL: \[BASE\_URL\]/transit/getTripInfo**
|
|
|
|
|
|
|
|
|
|
|
|