Мастер-Тур(15):PaymentService — различия между версиями
[досмотренная версия] | [досмотренная версия] |
Biryukov (обсуждение | вклад) (→Информация по туристу, выводимая по ключу туриста (SelectTouristInfoByKey)) |
Biryukov (обсуждение | вклад) |
||
Строка 481: | Строка 481: | ||
"dogovorPartnerKey": 505 | "dogovorPartnerKey": 505 | ||
} | } | ||
+ | ] | ||
+ | </syntaxhighlight> | ||
+ | </TD></TR></TABLE> | ||
+ | </div></div><br /> | ||
+ | |||
+ | ====Информация по партнеру по ключу партнера (SelectPartnerInfoByKey)==== | ||
+ | Метод возвращает детальную информацию по партнеру по ключу партнера. | ||
+ | * Формат запроса: | ||
+ | ** POST .../PaymentService/SelectPartnerInfoByKey? | ||
+ | |||
+ | * Принимаемые параметры ('''*''' – обязательный): | ||
+ | ** '''key *''' – ключ партнера | ||
+ | |||
+ | * Возвращаемый результат: | ||
+ | ** '''partnerKey''' – ключ партнера | ||
+ | ** '''partnerCode''' – код партнера | ||
+ | ** '''name''' – название партнера | ||
+ | ** '''fullName''' – полное название партнера | ||
+ | ** '''phones''' – телефоны | ||
+ | ** '''email''' – e-mail | ||
+ | ** '''physicalAddress''' – физический адрес | ||
+ | ** '''legalAddress''' – юридический адрес | ||
+ | ** '''inn''' – ИНН | ||
+ | ** '''kpp''' – КПП | ||
+ | ** '''okpo''' – код по ОКПО | ||
+ | ** '''okonh''' – код по ОКОНХ | ||
+ | ** '''cityKey''' – ключ города | ||
+ | ** '''cityName''' – название города | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="width:900px">Пример | ||
+ | <div class="mw-collapsible-content"> | ||
+ | <TABLE STYLE="border: 0.1em dashed #2F6FAB; margin: 8px; padding: 8px" WIDTH="99%"><TR><TD> | ||
+ | Вызов метода SelectPartnerInfoByKey | ||
+ | <syntaxhighlight lang="java" enclose="div"> | ||
+ | POST http://localhost:5010/PaymentService/SelectPartnerInfoByKey?key=12667 | ||
+ | </syntaxhighlight> | ||
+ | Возвращаемый результат метода SelectPartnerInfoByKey | ||
+ | <syntaxhighlight lang="java" enclose="div"> | ||
+ | [{ | ||
+ | "partnerKey": 12667, | ||
+ | "partnerCode": "DOV", | ||
+ | "name": "Megatec", | ||
+ | "fullName": "ООО Megatec", | ||
+ | "phones": [ | ||
+ | "+7(495)111-22-33" | ||
+ | ], | ||
+ | "email": "info@megatec.ru", | ||
+ | "physicalAddress": "Москва, ул. Ленина, д. 1", | ||
+ | "legalAddress": "Москва, ул. Ленина, д. 1", | ||
+ | "inn": "123456789012", | ||
+ | "kpp": "1231231231", | ||
+ | "okpo": "54846546546584", | ||
+ | "okonh": "65468465165466", | ||
+ | "cityKey": 5458, | ||
+ | "cityName": "Москва" | ||
+ | } | ||
] | ] | ||
</syntaxhighlight> | </syntaxhighlight> |
Версия 10:55, 21 июля 2022
Содержание
[убрать]- 1 Введение
- 2 Установка службы сервиса оплат
- 3 Работа службы сервиса оплат
- 3.1 Добавить оплату (AddPayment)
- 3.2 Список прошедших заездов по турам (TourList)
- 3.3 Финансовая информация по турам (TourFinInfo)
- 3.4 Информация по туристу, выводимая по ключу туриста (SelectTouristInfoByKey)
- 3.5 Информация по туристам, выводимая по номеру путевки (SelectTouristsByDogovorKey)
- 3.6 Информация по путевкам за период (SelectDogovorsInPeriod)
- 3.7 Информация по партнеру по ключу партнера (SelectPartnerInfoByKey)
Введение
Начиная с релиза 15.8 разработан сервис оплат (PaymentService), который нужен для проведения оплаты в ПК Мастер-Тур.
В этот сервис постепенно будут добавляться новые методы из Мастер-Центр оплат. На текущий момент реализован метод ДобавитьОплатуРассчитывать
Установка службы сервиса оплат
- Скопировать папку PaymentService из дистрибутива на сервер. Служба PaymentService должна устанавливаться на компьютере, имеющем доступ к серверу баз данных, или на компьютере, который сам является сервером баз данных (установлен MS SQL Server).
- Перед установкой службы сервиса оплат необходимо настроить конфигурационный файл appsettings.json.
№ | Название | Описание | Настройка |
---|---|---|---|
1 | Строка подключения | Строка подключения к базе данных ПК «Мастер-Тур» указывается в секции ConnectionStrings.
Внимание!
|
"MtDatabase": "Server=Server; Database=Database; User Id=User; Password=Password;"
|
2 | Путь к службе сервиса оплат | По умолчанию служба сервиса оплат использует порт 5010 и название PaymentService. Рекомендуется использование значений по умолчанию. Внимание! |
"applicationUrl": "http://*:5010",
"ApplicationName": "PaymentService",
|
3 | Путь к службе MTS | Необходимо указать адрес и порт к установленной службе MTS (для подписи проводимых платежей) |
"SoapServiceAddress": "http://localhost:80/MTS",
|
- Установка осуществляется запуском скрипта _Install.cmd от имени администратора.
- При установке в Брандмауэре Windows создаются правила для входящих подключений для открытия порта PaymentService.
- В Службах Windows добавляется служба PaymentService.
- Для удаления службы необходимо запустить скрипт _UnInstall.cmd от имени администратора. При этом будут удалены правила для входящих подключений.
Работа службы сервиса оплат
Добавить оплату (AddPayment)
Метод производит внесение оплаты в базу данных Мастер-Тур.
- Формат запроса:
- POST .../PaymentService/AddPayment?
- Принимаемые параметры (* – обязательный):
- PaymentOperation * – ключ типа операции (PO_Id из таблицы PaymentOperations)
- PaymentSum * – сумма платежа в валюте платежа
- CurrencyISOCode * – ISO код валюты (RA_ISOCode из таблицы Rates)
- DogovorKey * – ключ путевки
- DogovorCode – код путевки (отрабатывает, если не указан DogovorKey)
- PaymentDate * – дата платежа (в формате yyyy-mm-dd
- CourseDate – курс (если не указан, берется на дату платежа)
- DocNumber – номер документа
- ReceivedFrom – от кого получен платеж
- PaymentFor – за что произведен платеж
- PartnerKey – если платеж производиться партнеру, то этот ключ определяет конкретного партнера
- NoDetails – детализация платежа (по умолчанию - false, детализация платежа будет создана)
- Возвращаемый результат:
- ключ платежа
Список прошедших заездов по турам (TourList)
Метод возвращает список туров, по которым в заданные даты были совершены заезды (то есть, есть оформленные путевки).
- Формат запроса:
- GET .../PaymentService/TourList?
- Принимаемые параметры (* – обязательный):
- dateFrom * – дата заезда с в формате yyyy.mm.dd
- dateTo * – дата заезда по в формате yyyy.mm.dd
- Возвращаемый результат:
- tourProgramsId – ключ программы тура
- tourName – название программы тура
- dateBegin – массив дат заездов по указанному туру в заданный период
Финансовая информация по турам (TourFinInfo)
Метод возвращает детальную информацию по услугам и оплатам по туру.
- Формат запроса:
- GET .../PaymentService/TourFinInfo?
- Принимаемые параметры (* – обязательный):
- tourProgramsId * – ключ программы тура
- tourDate * – дата заезда по туру в формате yyyy.mm.dd
- Возвращаемый результат:
- tourName – название программы тура
- arrivalDate – дата заезда по туру
- touristCount – общее количество туристов по путевкам
- payed – сумма оплат от покупателей по всем путевкам в национальной валюте
- services – массив услуг (группировка по классу услуг)
- serviceType – название класса услуги
- serviceName – название услуги
- serviceTouristCount – количество туристов, пользующихся услугой по всем путевкам
- partner – поставщик по услуге
- netto – стоимость нетто по всем путевкам по каждой услуге
- brutto – стоимость брутто по всем путевкам по каждой услуге
Информация по туристу, выводимая по ключу туриста (SelectTouristInfoByKey)
Метод возвращает детальную информацию по туристу, выводимую по ключу туриста.
- Формат запроса:
- POST .../PaymentService/SelectTouristInfoByKey?
- Принимаемые параметры (* – обязательный):
- key * – ключ туриста
- Возвращаемый результат:
- key – ключ туриста
- isMain – признак главного туриста
- ageType – тип туриста (0 – взрослый, 1 – ребенок, 2 – инфант)
- sex – пол туриста (0 – мужской, 1 – женский)
- firstName – имя (лат)
- lastName – фамилия (лат)
- patronymic – отчество (лат)
- firstNameRus – имя (рус)
- lastNameRus – фамилия (рус)
- patronymicRus – отчество (рус)
- phone – телефон
- email – e-mael
- birthDay – дата рождения
- birthPlace – место рождения
- citizen – гражданство
- internationalPassportSer – серия загранпаспорта
- internationalPassportNum – номер загранпаспорта
- internationalPassportDate – дата выдачи загранпаспорта
- internationalPassportDateEnd – дата окончания загранпаспорта
- internationalPassportByWhom – кем выдан загранпаспорт
- nationalPassportSer – серия паспорта
- nationalPassportNum – номер паспорта
- nationalPassportDate – дата выдачи паспорта
- nationalPassportByWhom – кем выдан паспорт
- postIndex – индекс
- city – город
- street – улица
- build – дом
- flat – квартира
- citizenID – ID туриста
Информация по туристам, выводимая по номеру путевки (SelectTouristsByDogovorKey)
Метод возвращает детальную информацию по туристам, выводимая по номеру путевки.
- Формат запроса:
- POST .../PaymentService/SelectTouristsByDogovorKey?
- Принимаемые параметры (* – обязательный):
- dgCode * – номер путевки
- Возвращаемый результат:
- key – ключ туриста
- isMain – признак главного туриста
- ageType – тип туриста (0 – взрослый, 1 – ребенок, 2 – инфант)
- sex – пол туриста (0 – мужской, 1 – женский)
- firstName – имя (лат)
- lastName – фамилия (лат)
- patronymic – отчество (лат)
- firstNameRus – имя (рус)
- lastNameRus – фамилия (рус)
- patronymicRus – отчество (рус)
- phone – телефон
- email – e-mael
- birthDay – дата рождения
- birthPlace – место рождения
- citizen – гражданство
- internationalPassportSer – серия загранпаспорта
- internationalPassportNum – номер загранпаспорта
- internationalPassportDate – дата выдачи загранпаспорта
- internationalPassportDateEnd – дата окончания загранпаспорта
- internationalPassportByWhom – кем выдан загранпаспорт
- nationalPassportSer – серия паспорта
- nationalPassportNum – номер паспорта
- nationalPassportDate – дата выдачи паспорта
- nationalPassportByWhom – кем выдан паспорт
- postIndex – индекс
- city – город
- street – улица
- build – дом
- flat – квартира
- citizenID – ID туриста
Информация по путевкам за период (SelectDogovorsInPeriod)
Метод возвращает детальную информацию по путевкам за период.
- Формат запроса:
- GET .../PaymentService/SelectDogovorsInPeriod?
- Принимаемые параметры (* – обязательный):
- beginDate * – дата начала отбора
- endDate * – дата окончания отбора
- selectionType – тип дополнительного отбора
- additionalSelection – значение дополнительного отбора
В качестве параметров нужно передать две даты: дата начала и даты окончания. В отбор попадут путевки, у которых дата создания попадает в указанный период. Можно усилить отбор. Для этого нужно передать в качестве третьего параметра число, определяющее тип отбора:
- 1 – поиск по коду путевки. В качестве четвертого параметра передается код путевки (или его часть). Поиск производится методом LIKE. В отбор попадут все путевки с датой создания в заданном периоду, у которых код путевки содержит строку, указанную в четвертом параметре
- 2 – поиск производится по ФИО главного туриста. При этом используется следующий алгоритм: берется строка: (Фамилия + " " + Имя + " " + Отчество) и в этой строке ищется строка, переданная в четвертом параметре
- 3 – поиск по названию партнера. Поиск производится методом LIKE
- 4 – поиск по ИНН партнера. Поиск производится методом LIKE
- 5 – поиск по ключу статуса путевки
- 6 – поиск по ключу путевки
- 7 – отбор путевок, по которым были сделаны детализации платежей за указанный период (без удаленных платежей). В качестве четвертого параметра можно указать список ключей типов платежей, разделенных знаком ";". Тогда в отборе будут участвовать платежи только с указанным типом. Отбор производится по датам СОЗДАНИЯ платежа.
- 8 – отбор путевок по ключу тура (tourProgramsId)
- 9 – отбор путевок по диапазону дат тура (заезда), в этом случае четвертый параметр не заполняется
- 10 – аналогично варианту 7, только отбор производится по датам ПЛАТЕЖА.
Во всех вариантах кроме 7, 9, 10 в качестве дат используются даты СОЗДАНИЯ ПУТЕВКИ.
- Возвращаемый результат:
- dogovorKey – ключ путевки
- dogovorCode – номер путевки
- createDate – дата создания путевки
- createTime – время создания путевки
- externalNumberPartnerDogovor – номер путевки партнера (поле из Работы менеджеров)
- price – стоимость путевки
- payed – оплачено
- isoCode – ISO-код валюты путевки
- touristId – ключ главного туриста по путевке
- lastName – фамилия главного туриста (лат)
- firstName – имя главного туриста (лат)
- patronymic – отчество главного туриста (лат)
- lastNameRus – фамилия главного туриста (рус)
- firstNameRus – имя главного туриста (рус)
- patronymicRus – отчество главного туриста (рус)
- sex – пол туриста (0 – муж, 1 – жен)
- partnerKey – ключ партнера покупателя путевки
- partnerCode – код партнера
- partnerName – название партнера
- discountSum – сумма скидки по путевке
- priceNationalRate – стоимость путевки в национальной валюте
- payedNationalRate – оплачено по путевке в национальной валюте
- discountNationalRate – сумма скидки по путевке в национальной валюте
- filialKey – ключ филиала
- orderStatusCode – ключ статуса путевки
- orderStatusName – название статуса путевки
- tourDate – дата заезда
- daysCount – количество дней по путевке
- touristCount – количество туристов по путевке
- countryId – ключ страны
- countryName – название страны
- cityId – ключ города
- cityName – название города
- tourProgramsId – ключ тура
- dogovorPartnerKey – ключ договора партнера по путевке
Информация по партнеру по ключу партнера (SelectPartnerInfoByKey)
Метод возвращает детальную информацию по партнеру по ключу партнера.
- Формат запроса:
- POST .../PaymentService/SelectPartnerInfoByKey?
- Принимаемые параметры (* – обязательный):
- key * – ключ партнера
- Возвращаемый результат:
- partnerKey – ключ партнера
- partnerCode – код партнера
- name – название партнера
- fullName – полное название партнера
- phones – телефоны
- email – e-mail
- physicalAddress – физический адрес
- legalAddress – юридический адрес
- inn – ИНН
- kpp – КПП
- okpo – код по ОКПО
- okonh – код по ОКОНХ
- cityKey – ключ города
- cityName – название города