Web-сервисы: Сервис для получения минимальных цен по отелям в туре — различия между версиями

Материал из Megatec
Перейти к: навигация, поиск
[непроверенная версия][досмотренная версия]
(Новая страница: «==Введение== Данный модуль предназначен для отображения в формате таблицы отелей и минимал...»)
 
 
(не показано 9 промежуточных версий 4 участников)
Строка 1: Строка 1:
 
==Введение==
 
==Введение==
Данный модуль предназначен для отображения в формате таблицы отелей и минимальных цен по ним в рамках определенного тура.
+
Данный модуль предназначен для отображения в формате таблицы отелей и минимальных цен по ним в рамках определенного тура.<br />
 +
Модуль состоит из [[Web-сервисы: Сервис для получения минимальных цен по отелям в туре#Установка web-сервиса|серверной]] (web-сервис) и [[Web-сервисы: Сервис для получения минимальных цен по отелям в туре#Установка экрана|клиентской]] (экран) частей.
  
 
==Установка==
 
==Установка==
Строка 9: Строка 10:
 
====Создание виртуального каталога====
 
====Создание виртуального каталога====
 
По умолчанию корневым каталогом IIS является C:/inetpub/wwwroot. Для создания виртуального каталога для приложения находящегося в этом каталоге нужно выполнить следующие действия:
 
По умолчанию корневым каталогом IIS является C:/inetpub/wwwroot. Для создания виртуального каталога для приложения находящегося в этом каталоге нужно выполнить следующие действия:
*1. Зайти в Пуск (Start) – Панель управления (Control Panel) – Администрирование (Administrative Tools)
+
* Зайти в Пуск (Start) – Панель управления (Control Panel) – Администрирование (Administrative Tools)
 
<BR>
 
<BR>
 
[[Файл:857.PNG]]<BR>
 
[[Файл:857.PNG]]<BR>
  
*2. Запустить Internet Information Services (IIS) Manager
+
* Запустить Internet Information Services (IIS) Manager
 
<BR>
 
<BR>
 
[[Файл:858.PNG]]<BR>
 
[[Файл:858.PNG]]<BR>
*3. В открывшемся дереве каталогов выбрать сайты (Web Sites) – Default Web Site (либо другой сайт, на который планируется установить приложение). В открывшемся списке найти папку, для которой нужно создать виртуальный каталог, кликнуть по ней правой кнопкой мыши и выбрать пункт «Преобразовать в приложение».
+
* В открывшемся дереве каталогов выбрать сайты (Web Sites) – Default Web Site (либо другой сайт, на который планируется установить приложение). В открывшемся списке найти папку, для которой нужно создать виртуальный каталог, кликнуть по ней правой кнопкой мыши и выбрать пункт «Преобразовать в приложение».
 
<BR>
 
<BR>
 
[[Файл:859.PNG]]<BR>
 
[[Файл:859.PNG]]<BR>
Строка 25: Строка 26:
 
  <add key = "connectionString" value = "Data Source=''ip-адрес сервера базы данных ПК Мастер-тур'';Initial Catalog=''название базы данных ПК Мастер-тур'';User ID=''логин пользователя ПК Мастер-тур'';Password=''пароль пользователя ПК Мастер-тур''"/><br>
 
  <add key = "connectionString" value = "Data Source=''ip-адрес сервера базы данных ПК Мастер-тур'';Initial Catalog=''название базы данных ПК Мастер-тур'';User ID=''логин пользователя ПК Мастер-тур'';Password=''пароль пользователя ПК Мастер-тур''"/><br>
 
После установки web-сервис доступен по адресу: http://''ip-адрес сервера Мастер-Веб''/TourMinPrices/TourMinPricesService.svc
 
После установки web-сервис доступен по адресу: http://''ip-адрес сервера Мастер-Веб''/TourMinPrices/TourMinPricesService.svc
 +
 +
====Дополнительные настройки====
 +
Данные настройки прописываются в файле web.config для web-сервиса «Сервис для получения минимальных цен по отелям в туре».
 +
 +
{| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse"
 +
 +
|- style="background-color:#F2F2F2"
 +
 +
! width="2%" | №
 +
! width="28%" | Описание
 +
! width="35%" | Значение
 +
! width="35%" | Настройка
 +
 +
|- style="vertical-align:text-top"
 +
|1
 +
| Настройка, позволяющая разделять цену по разрядам.
 +
|
 +
* '''true''' — разделять цену по разрядам
 +
* '''false''' или '''отсутствие настройки''' — не разделять цену по разрядам
 +
| <syntaxhighlight lang="xml" enclose="div">
 +
<add key="EnableDecimalSeparator" value="true" />
 +
</syntaxhighlight>
 +
 +
 +
|}
 +
  
 
===Установка экрана===
 
===Установка экрана===
Строка 34: Строка 61:
 
* var serviceUrl = "''http://ip-адрес сервера Мастер-Веб/TourMinPrices/TourMinPricesService.svc''", где ''http://ip-адрес сервера Мастер-Веб/TourMinPrices/TourMinPricesService.svc'' - адрес web-сервиса.
 
* var serviceUrl = "''http://ip-адрес сервера Мастер-Веб/TourMinPrices/TourMinPricesService.svc''", где ''http://ip-адрес сервера Мастер-Веб/TourMinPrices/TourMinPricesService.svc'' - адрес web-сервиса.
 
* var tourKeyQueryStringParameter = "''tourListKey''", где ''tourListKey'' - имя параметра строки запроса страницы (URL), который содержит ключ тура из таблицы Turlist базы данных.
 
* var tourKeyQueryStringParameter = "''tourListKey''", где ''tourListKey'' - имя параметра строки запроса страницы (URL), который содержит ключ тура из таблицы Turlist базы данных.
* var roomTypeKey = ''2'', где 2 - ключ типа номера из таблицы, для которого отображаются минимальные цены по туру.
+
* var roomTypeKey = ''2'', где 2 - ключ типа номера из таблицы Rooms, для которого отображаются минимальные цены по туру.
 
* Ссылка на экран "Ценовой лист"
 
* Ссылка на экран "Ценовой лист"
 
  <nowiki><div id="tourPricesLinkPattern" style="display: none;">
 
  <nowiki><div id="tourPricesLinkPattern" style="display: none;">
Строка 54: Строка 81:
 
====Передача параметров в экран "Минимальные цены по отелям в туре"====
 
====Передача параметров в экран "Минимальные цены по отелям в туре"====
 
Для работы с экраном необходимо через URL страницы передать обязательный параметр с ключом тура из таблицы Turlist. Имя параметра задается в настройке tourKeyQueryStringParameter страницы TourMinPricesPage.htm.<br/>
 
Для работы с экраном необходимо через URL страницы передать обязательный параметр с ключом тура из таблицы Turlist. Имя параметра задается в настройке tourKeyQueryStringParameter страницы TourMinPricesPage.htm.<br/>
Пример: http://localhost/TourMinPrices/TourMinPricesPage.htm?tourListKey=20
+
Пример: ''<nowiki>http://ip-адрес сервера Мастер-Веб/TourMinPrices/TourMinPricesPage.htm?tourListKey=20</nowiki>''
  
 
==Подготовка данных==
 
==Подготовка данных==
Строка 63: Строка 90:
 
[[Файл:ST7.png]]<BR>
 
[[Файл:ST7.png]]<BR>
 
В таблице выводятся следующие поля:
 
В таблице выводятся следующие поля:
<table class=MsoNormalTable border=0 cellspacing=0 cellpadding=0
+
{| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse" width="800px"
style='margin-left:-.25pt;border-collapse:collapse'>
+
 
<tr>
+
|- style="background-color:#F2F2F2"
  <td width=319 valign=top style='width:239.25pt;border:solid black 1.0pt;
+
 
  border-right:none;padding:0cm 5.4pt 0cm 5.4pt'>
+
! width="35%" | Название поля в таблице
  <p class=TitleTable style='layout-grid-mode:char'>Название поля в таблице</p>
+
! width="65%" | Описание
  </td>
+
 
  <td width=320 valign=top style='width:239.75pt;border:solid black 1.0pt;
+
|- style="vertical-align:text-top"
  padding:0cm 5.4pt 0cm 5.4pt'>
+
| №
  <p class=TitleTable style='layout-grid-mode:char'>Описание</p>
+
| Порядковый номер.
  </td>
+
 
</tr>
+
|- style="vertical-align:text-top"
<tr>
+
| Название отеля
  <td width=319 valign=top style='width:239.25pt;border-top:none;border-left:
+
| Название отеля (поле "Название" в справочнике "Отели/Круизы"). Здесь же выводится ссылка на страницу с описанием отеля.
  solid black 1.0pt;border-bottom:solid black 1.0pt;border-right:none;
+
 
  padding:0cm 5.4pt 0cm 5.4pt'>
+
|- style="vertical-align:text-top"
  <p class=Button style='layout-grid-mode:char'>№</p>
+
| *
  </td>
+
| Категория отеля (поле "Название" из справочника "Категории отелей").
  <td width=320 valign=top style='width:239.75pt;border:solid black 1.0pt;
+
 
  border-top:none;padding:0cm 5.4pt 0cm 5.4pt'>
+
|- style="vertical-align:text-top"
  <p class=Tabletext style='layout-grid-mode:char'>Порядковый номер</p>
+
| Питание
  </td>
+
| Тип питания (поле "Код" из справочника "Типы питания").
</tr>
+
 
<tr>
+
|- style="vertical-align:text-top"
  <td width=319 valign=top style='width:239.25pt;border-top:none;border-left:
+
| Дни/Ночи
  solid black 1.0pt;border-bottom:solid black 1.0pt;border-right:none;
+
| Количество дней/ночей (количество дней по туру, количество ночей по услуге проживания в отеле).
  padding:0cm 5.4pt 0cm 5.4pt'>
+
 
  <p class=Button style='layout-grid-mode:char'>Название отеля</p>
+
|- style="vertical-align:text-top"
  </td>
+
| Стоимость от
  <td width=320 valign=top style='width:239.75pt;border:solid black 1.0pt;
+
| Минимальная стоимость за номер, тип которого указан в настройке roomTypeKey, деленный на количество человек в нем. Например, за 1/2 двухместного номера (DBL), если задан тип номера Double. Цена отображается в валюте тура. При нажатии на цену происходит переход в корзину.
  border-top:none;padding:0cm 5.4pt 0cm 5.4pt'>
+
 
  <p class=Tabletext style='layout-grid-mode:char'>Название отеля (поле "Название" в справочнике "Отели/Круизы"). Здесь же выводится ссылка на страницу с описанием отеля.</p>
+
|- style="vertical-align:text-top"
  </td>
+
| Все цены
</tr>
+
| Ссылка на экран "Ценовой лист" со всеми ценами по данному отелю.
<tr>
+
|}
  <td width=319 valign=top style='width:239.25pt;border-top:none;border-left:
+
 
  solid black 1.0pt;border-bottom:solid black 1.0pt;border-right:none;
+
[[Category:Web-сервисы]]
  padding:0cm 5.4pt 0cm 5.4pt'>
 
  <p class=Button style='layout-grid-mode:char'><u>*</u></p>
 
  </td>
 
  <td width=320 valign=top style='width:239.75pt;border:solid black 1.0pt;
 
  border-top:none;padding:0cm 5.4pt 0cm 5.4pt'>
 
  <p class=Tabletext style='layout-grid-mode:char'>Категория отеля (поле "Название" из справочника "Категории отелей")</p>
 
  </td>
 
</tr>
 
<tr>
 
  <td width=319 valign=top style='width:239.25pt;border-top:none;border-left:
 
  solid black 1.0pt;border-bottom:solid black 1.0pt;border-right:none;
 
  padding:0cm 5.4pt 0cm 5.4pt'>
 
  <p class=Button style='layout-grid-mode:char'>Питание</p>
 
  </td>
 
  <td width=320 valign=top style='width:239.75pt;border:solid black 1.0pt;
 
  border-top:none;padding:0cm 5.4pt 0cm 5.4pt'>
 
  <p class=Tabletext style='layout-grid-mode:char'>Тип питания (поле "Код" из справочника "Типы питания")</p>
 
  </td>
 
</tr>
 
<tr>
 
  <td width=319 valign=top style='width:239.25pt;border-top:none;border-left:
 
  solid black 1.0pt;border-bottom:solid black 1.0pt;border-right:none;
 
  padding:0cm 5.4pt 0cm 5.4pt'>
 
  <p class=Button style='layout-grid-mode:char'>Дни/Ночи</p>
 
  </td>
 
  <td width=320 valign=top style='width:239.75pt;border:solid black 1.0pt;
 
  border-top:none;padding:0cm 5.4pt 0cm 5.4pt'>
 
  <p class=Tabletext style='layout-grid-mode:char'>Количество дней/ночей (количество дней по туру, количество ночей по услуге проживания в отеле)</p>
 
  </td>
 
</tr>
 
<tr>
 
  <td width=319 valign=top style='width:239.25pt;border-top:none;border-left:
 
  solid black 1.0pt;border-bottom:solid black 1.0pt;border-right:none;
 
  padding:0cm 5.4pt 0cm 5.4pt'>
 
  <p class=Button style='layout-grid-mode:char'>Стоимость от</p>
 
  </td>
 
  <td width=320 valign=top style='width:239.75pt;border:solid black 1.0pt;
 
  border-top:none;padding:0cm 5.4pt 0cm 5.4pt'>
 
  <p class=Tabletext style='layout-grid-mode:char'>Минимальная стоимость за номер, тип которого указан в настройке roomTypeKey, деленный на количество человек в нем. Например, за 1/2 двухместного номера (DBL), если задан тип номера Double. Цена отображается в валюте тура. При нажатии на цену происходит переход в корзину.</p>
 
  </td>
 
</tr>
 
<tr>
 
  <td width=319 valign=top style='width:239.25pt;border-top:none;border-left:
 
  solid black 1.0pt;border-bottom:solid black 1.0pt;border-right:none;
 
  padding:0cm 5.4pt 0cm 5.4pt'>
 
  <p class=Button style='layout-grid-mode:char'>Все цены</p>
 
  </td>
 
  <td width=320 valign=top style='width:239.75pt;border:solid black 1.0pt;
 
  border-top:none;padding:0cm 5.4pt 0cm 5.4pt'>
 
  <p class=Tabletext style='layout-grid-mode:char'>Ссылка на экран "Ценовой лист" со всеми ценами по данному отелю.</p>
 
  </td>
 
</tr>
 
</table>
 
[[Category:Мастер-Web_Дополнительные_модули]]
 

Текущая версия на 11:40, 18 августа 2016

Введение

Данный модуль предназначен для отображения в формате таблицы отелей и минимальных цен по ним в рамках определенного тура.
Модуль состоит из серверной (web-сервис) и клиентской (экран) частей.

Установка

Установка web-сервиса

Чтобы установить cервис для получения информации по минимальным ценам тура, нужно создать отдельную директорию, например, TourMinPrices (далее в примерах будет использоваться данное название каталога) в корневом каталоге IIS (по умолчанию c:/inetpub/wwwroot) и выложить туда распакованные файлы из архива ws-tourminprices-9.2.XX.XXXXX.zip. В управлении IIS необходимо создать виртуальный каталог для папки TourMinPrices.

Создание виртуального каталога

По умолчанию корневым каталогом IIS является C:/inetpub/wwwroot. Для создания виртуального каталога для приложения находящегося в этом каталоге нужно выполнить следующие действия:

  • Зайти в Пуск (Start) – Панель управления (Control Panel) – Администрирование (Administrative Tools)


857.PNG

  • Запустить Internet Information Services (IIS) Manager


858.PNG

  • В открывшемся дереве каталогов выбрать сайты (Web Sites) – Default Web Site (либо другой сайт, на который планируется установить приложение). В открывшемся списке найти папку, для которой нужно создать виртуальный каталог, кликнуть по ней правой кнопкой мыши и выбрать пункт «Преобразовать в приложение».


859.PNG

Подключение к базе данных ПК «Мастер-Тур»

В файле web.config, расположенном в папке TourMinPrices, в которую установлен web-сервис «Сервис для получения минимальных цен по туру», пропишите необходимые параметры подключения (курсивом выделены значения, которые необходимо ввести).
Строка подключения к базе данных ПК «Мастер-Тур»:

<add key = "connectionString" value = "Data Source=ip-адрес сервера базы данных ПК Мастер-тур;Initial Catalog=название базы данных ПК Мастер-тур;User ID=логин пользователя ПК Мастер-тур;Password=пароль пользователя ПК Мастер-тур"/>

После установки web-сервис доступен по адресу: http://ip-адрес сервера Мастер-Веб/TourMinPrices/TourMinPricesService.svc

Дополнительные настройки

Данные настройки прописываются в файле web.config для web-сервиса «Сервис для получения минимальных цен по отелям в туре».

Описание Значение Настройка
1 Настройка, позволяющая разделять цену по разрядам.
  • true — разделять цену по разрядам
  • false или отсутствие настройки — не разделять цену по разрядам
<add key="EnableDecimalSeparator" value="true" />



Установка экрана

Для установки экрана "Минимальные цены по отелям в туре" нужно создать виртуальный каталог в IIS и распаковать в него файлы из архива mw-tourMinPricesControl-9.2.XX.XXXXX.zip.
Возможно встраивание экрана в существующую страницу на сайте туроператора. Для этого нужно скопировать содержимое тега <head> и <body> файла TourMinPricesPage.htm в соответствующие теги страницы на сайте туроператора. А также распаковать в папку со страницей, в которую встраивается экран, папки css, js и js-noncompiled из архива mw-tourMinPricesControl-9.2.XX.XXXXX.zip.

Настройки на странице "Минимальные цены по отелям в туре"

Откройте файл TourMinPricesPage.htm и пропишите в нем следующие параметры (курсивом выделены значения, которые необходимо ввести):

  • var serviceUrl = "http://ip-адрес сервера Мастер-Веб/TourMinPrices/TourMinPricesService.svc", где http://ip-адрес сервера Мастер-Веб/TourMinPrices/TourMinPricesService.svc - адрес web-сервиса.
  • var tourKeyQueryStringParameter = "tourListKey", где tourListKey - имя параметра строки запроса страницы (URL), который содержит ключ тура из таблицы Turlist базы данных.
  • var roomTypeKey = 2, где 2 - ключ типа номера из таблицы Rooms, для которого отображаются минимальные цены по туру.
  • Ссылка на экран "Ценовой лист"
<div id="tourPricesLinkPattern" style="display: none;">
    http://ip-адрес сервера Мастер-Веб/PriceList/Complex.aspx?departFrom=[DepartCityCode]&country=[CountryCode]&tour=[TourKey]&hotel=[HotelKey]
 </div>
  • Ссылка на экран "Корзина"
<div id="BasketLinkPattern" style="display: none;">
    http://ip-адрес сервера Мастер-Веб/Basket.aspx?priceKey=[PriceKey]&date=[TourDate]
 </div>
  • Сортировка данных в таблице
<div id="SortPattern" style="display: none;">
    HotelCategory:Desc
 </div>

В строке HotelCategory:Desc указывается вариант сортировки полей в таблице, в формате "поле:направление сортировки;поле:направление сортировки;...". Существует два направления сортировки: Desc - по убыванию, Asc - по возрастанию. Поля, по которым возможна сортировка:

  1. HotelName - по названию отеля;
  2. Price - по цене;
  3. HotelCategory - по категории отеля (выбрана по умолчанию).

Передача параметров в экран "Минимальные цены по отелям в туре"

Для работы с экраном необходимо через URL страницы передать обязательный параметр с ключом тура из таблицы Turlist. Имя параметра задается в настройке tourKeyQueryStringParameter страницы TourMinPricesPage.htm.
Пример: http://ip-адрес сервера Мастер-Веб/TourMinPrices/TourMinPricesPage.htm?tourListKey=20

Подготовка данных

Экран «Минимальные цены по отелям в туре» показывает минимальные цены по рассчитанным и выставленным в онлайн турам.

Работа в системе

Пример таблицы с минимальными ценами по каждому отелю в туре показан на рисунке ниже.
ST7.png
В таблице выводятся следующие поля:

Название поля в таблице Описание
Порядковый номер.
Название отеля Название отеля (поле "Название" в справочнике "Отели/Круизы"). Здесь же выводится ссылка на страницу с описанием отеля.
* Категория отеля (поле "Название" из справочника "Категории отелей").
Питание Тип питания (поле "Код" из справочника "Типы питания").
Дни/Ночи Количество дней/ночей (количество дней по туру, количество ночей по услуге проживания в отеле).
Стоимость от Минимальная стоимость за номер, тип которого указан в настройке roomTypeKey, деленный на количество человек в нем. Например, за 1/2 двухместного номера (DBL), если задан тип номера Double. Цена отображается в валюте тура. При нажатии на цену происходит переход в корзину.
Все цены Ссылка на экран "Ценовой лист" со всеми ценами по данному отелю.