Usm abills

Материал из WiKi - UserSide

Эта функция является одной из возможностью
обновления даты активности у объекта

usm_abills - модуль для организации импорта данных из биллинговой системы ABillS в ERP "UserSide"

Данный модуль является заменой устаревшему модулю us_abills

Язык модуля: PHP

Текущая версия: см. на странице: Модули

Статус модуля: Платный

Дополнительную информацию и перечень импортируемых данных см. на странице: ABillS

Информация по установке модуля

Архив usm_abills.zip содержит файлы

usm_abills.php
usm_abills.conf.php-example

1. Выделить отдельный (произвольный) каталог для модуля и поместить в него эти файлы

2. Выделить отдельный каталог для логов работы модуля. Дайте права на запись в этот каталог.

3. Пример файла конфигурации usm_abills.conf.php-example следует переименовать в usm_abills.conf.php и внести в нём требуемые изменения (перечень параметров указан ниже)

4. Запустите несколько раз (*) вручную модуль командой

php usm_abills.php

Он должен отработать без ошибок и вернуть данные:

usm_abills
====================================
 Start module at 2015-11-22 17:32:03
Finish module at 2015-11-22 17:32:14
====================================

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

5. Проверьте визуально полноту импортируемых данных в ERP "UserSide"

6. Когда станет понятно, что модуль работает стабильно - добавляем его в системный cron на периодическую работу (укажите нужные пути)

*/10 * * * * php usm_abills.php

Параметры конфигурации

Настройка модуля осуществляется в файле usm_abills.conf.php

$usersideUrl         - URL к ERP "UserSide"
$usersideApiKey      - API-ключ ERP "UserSide" (Указывается в файле "userside/main/config/config.php")
$billingId           - Номер биллинга в ERP "UserSide" ("Настройка - Биллинги")
$logPath             - Путь для записи логов
$isSilence           - Флаг "Режим тишины" (скрыть вывод информационных сообщений от модуля в консоль)

$billingDBHost       - адрес сервера биллинга
$billingDBUser       - имя пользователя для доступа к базе биллинга
$billingDBPassword   - пароль для доступа к базе биллинга
$billingDBName       - имя базы данных биллинга

$confAdrDistrictMode                    - (1 - добавлять к названию улицы название района (только при $zadress = 1), 2 - то переносить название района в название города, 3 - использовать название города из districts.city)
$confDateConnectSrc                     - откуда брать дату подключения абонента к сети (1 - users.registration, 2 - dv_log.start)
$confUserImportExpr                     - факультативное условие для импорта абонентов
$confAddFieldPhone                      - users_pi. - название поля в таблице users_pi с номером телефона (по-умолчанию: phone)
$confAddFieldCellPhone                  - users_pi. - название поля в таблице users_pi с номером мобильного телефона
$confAddFieldEntrance                   - users_pi. - название поля в таблице users_pi с номером подъезда
$confAddFieldFloor                      - users_pi. - название поля в таблице users_pi с номером этажа
$confIsSavePasswordToComment            = 0; //Flag - Is Save User Password To Comment (old: $zpass_give)
$confIsCidIp                            = 0; //Flag - Is User IP-adr In dvlog.CID  (old: $zcidip)
$confIsIpAdrOnlyFromDhcpHosts           = 0; //Flag - Is Use IP-adr Only From dhcphosts_hosts (old: $z_only_dhcphosts)
$confIsIpAdrSkipFromDhcpHosts           = 0; //Flag - Is Skip IP-adr From dhcphosts_hosts (old: $zIsSkipDhcphosts)
$confUserStateSrc                       = ; //User State Source [dm.disable|u.disable] (default: dm.disable) (old: $zworkstatus)
$confWorkState2                         = 0; //State "Не активизирован" Transfer To [0|1|2] (0 - Stop, 1 - Pause, 2 - Active) (default: 0) (old: $billingWorkState2)
$confWorkState5                         = 1; //State "Слишком маленький депозит" Transfer To [0|1|2] (0 - Stop, 1 - Pause, 2 - Active) (default: 1) (old: $billingWorkState5)
$confIsHideDvLogData                    = 0; //Flag - Disable Import Data From table "dv_log" (old: $znot_dvlog)
$confIsHideIpAdrFromDvCalls             = 0; //Flag - Disable Import IP-adr From table "dv_calls" (old: $znot_dvcalls)
$confIsHideCidFromDvMain                = 0; //Flag - Disable Import CID From table "dv_main" (old: $isDisableDvmainCid)
$confUserAccountSrc                     = 'bill_id'; //User Account Source [uid|bill_id] (default: uid)
$confIsImportTags                       = 0; //Flag - Is Import User Tags

$znserver - адрес сервера биллинга
$znbase - имя базы данных биллинга
$znuser - имя пользователя для доступа к базе биллинга
$znpass - пароль для доступа к базе биллинга
$zncp - кодировка базы биллинга
$zuserver - адрес сервера с UserSide
$zubase - имя базы данных UserSide
$zuuser - имя пользователя для доступа к базе UserSide
$zupass - пароль для доступа к базе UserSide
$zucp - кодировка базы UserSide
$zusqlport - порт подключения к базе данных (по-умолчанию 3306)
$ps_logpath - путь к логам модуля
$zbillcode - номер биллинга по версии САП "UserSide"
$zsilence - не выводить уведомления о работе модуля в консоль

$zbill_id - дополнительный идентификатор копии биллинга (числовой - не меньше 1000 и кратное 1000 - позволяет импортировать данные из нескольких одинаковых биллингов одновременно)
$z_dateinnet - откуда брать дату подключения абонента к сети (1 - users.registration, 2 - dv_log.start)
$zadress - откуда брать адрес абонента (0 - users_pi.address_build, 1 - builds.id)
$zdistrictadd - (1 - добавлять к названию улицы название района (только при $zadress = 1), 2 - то переносить название района в название города, 3 - использовать название города из districts.city)
$zcidip - поле dvlog.CID содержит IP-адрес абонента
$pi_keytelmob - название поля в таблице users_pi с номером мобильного телефона
$zworkstatus - источник для состояния абонента в биллинге (если пусто - то dm.disable (либо u.disable))
$pi_keypodezd - users_pi. - название поля в таблице users_pi с номером подъезда
$pi_keyfloor - users_pi. - название поля в таблице users_pi с номером этажа
$pi_keytel - users_pi. - название поля в таблице users_pi с номером телефона (по-умолчанию: phone)
$znot_dvcalls - не импортировать IP-адрес из таблицы dvcalls
$znot_ip_dvmain - не импортировать IP-адреса из таблицы dv_main
$zdoppaid - импортировать данные о дополнительных услугах из биллинга
$zimport_all_house - импортировать все адреса из справочника биллинга (по-умолчанию импортируются только адреса с абонентами)
$znasip_id - импортировать NAS IP-адрес абонента в UserSide в поле доп.данных (указать идентификатор поля tbl_conf_basedopdata.CODE). Если 0 - не импортировать
$znasport_id - импортировать NAS Port абонента в UserSide в поле доп.данных (указать идентификатор поля tbl_conf_basedopdata.CODE). Если 0 - не импортировать
$znasname_id - импортировать NAS Name по абоненту в UserSide в поле доп.данных (указать идентификатор поля tbl_conf_basedopdata.CODE). Если 0 - не импортировать
$zidgroup - импортировать название группы абонента из биллинга (поле groups.name) в UserSide в поле доп.данных (указать идентификатор поля tbl_conf_basedopdata.CODE). Если 0 - не импортировать
$znot_dvlog - не импортировать данные из таблицы dv_log
$zemail_upd - обновлять адрес электронной почты