Constants

DIR_CSV

DIR_CSV

Каталог хранения файлов формата csv. По умолчанию пуст, значит создается и находится в одной папке со скриптом.

FILE_ZONE

FILE_ZONE

файл зон "zone.csv"

FILE_ZONE_CORRECT

FILE_ZONE_CORRECT

Файл коррекитровки данных "emspostindex.csv" после парсинга файла zone.csv

FILE_ZONE_POST_INDEX_CORRECT

FILE_ZONE_POST_INDEX_CORRECT

Файл корректировки почтовых индексов "emspostindex.csv"

FILE_ZONE_NO_EMSAPI

FILE_ZONE_NO_EMSAPI

Файл зон "ems_zone_no_api.csv", которые есть в emsapi, но нет в файле zone.csv

EMS_GET_LOCATION_CITIES

EMS_GET_LOCATION_CITIES

Ссылка на сайт emspost.ru, на api которое дает список городов в формате json

EMS_GET_LOCATION_REGIONS

EMS_GET_LOCATION_REGIONS

Ссылка на сайт emspost.ru, на api которое дает список регионов в формате json

EMS_GET_LOCATION_RUSSIA

EMS_GET_LOCATION_RUSSIA

Ссылка на сайт emspost.ru, на api которое дает список городов и регионов в формате json

FILE_ZONE_0

FILE_ZONE_0

файл зоны 0 - "zone0.csv"

FILE_ZONE_INTERSITY

FILE_ZONE_INTERSITY

файл зоны внутри городов - "otprav_gorod_zone.csv"

FILE_ZONE_INTERREGION

FILE_ZONE_INTERREGION

файл зоны внутри регионов - "vnutr_oblast_zone.csv"

FILE_ZONE_NO_FILE_INTERREGION

FILE_ZONE_NO_FILE_INTERREGION

Корректировочный файл регионов "file_zone_no_file_interregion.csv", который создается для добавления информации которой нет в таблице zone в поле inrate

FILE_ZONE_INTERSITY_RATE

FILE_ZONE_INTERSITY_RATE

файл тарифов зон для добавления в таблицу ratecity - "otprav_gorod_tarif.csv"

FILE_ZONE_INTERREGION_RATE

FILE_ZONE_INTERREGION_RATE

Файл тарифов зон для добавления в таблицу rateregion - "vnutr_oblast_tarif.csv"

FILE_PARSE_TIMES_FROM_FILE

FILE_PARSE_TIMES_FROM_FILE

Файл SQL запросов для добавления в таблицу times - "times.sql"

UTF8

UTF8

Кодировка UTF-8

Properties

$_db

$_db : object

База данных. Свойство $_db для хранения объекта соединения с базой данных.

Type

object

$_instance

$_instance : string

Обект класса EmsDB

Type

string

Methods

__construct()

__construct()

Метод создает экземпляр класса EmsDB, присваевает свойству $_db.

parseZone()

parseZone(string $zone) : true

Метод портирования зон из файла zone.csv

Parameters

string $zone

Файл зон zone.csv, который нужно парсить.

Throws

\Exception

Файла нет или портирование не получилось

Returns

true —

если все удачно иначе Exception.

parseZoneValue()

parseZoneValue(string $ems_get_location_cities, string $ems_get_location_regions) : true

Метод портирования Занчений типа city--rostov-na-donu в колонку values в таблицу zone с сайта http://emspost.ru нужно чтобы была заполнена колонка nameupper

Parameters

string $ems_get_location_cities

Cсылка на сайт http://emspost.ru/api/rest/?method=ems.get.locations&type=cities&plain=true, т.е. на api, которое дает список городов в формате json.

string $ems_get_location_regions

Cсылка на сайт http://emspost.ru/api/rest/?method=ems.get.locations&type=regions&plain=true, т.е. на api, которое дает список городов в формате json.

Throws

\Exception

корректировка не получилась.

Returns

true —

если все удачно иначе Exception.

parseZoneNoFileIsEmsApi()

parseZoneNoFileIsEmsApi(boolean $issetZone, string $ems_get_location_russia, string $emsZoneNoApi) : true

Метод который создает файл ems_zone_no_api.csv - файл зон которые есть в emsapi, но нет в файле zone.csv

Метод предшественник метода parseZoneIsFileToEmsApiBase(). После создания файла "ems_zone_no_api.csv", данный файл нужно корректировать в ручную (1;city--anapa;АНАПА;cities;;) -> (1;city--anapa;АНАПА;cities;2;). Используя калькулятор на сайте http://emspost.ru и смотреть в файл зон "zone_0.csv, zone_1.csv-zone_5.csv".

Parameters

boolean $issetZone

Если false - которых нет, true - которые есть.

string $ems_get_location_russia

Cсылка на сайт http://emspost.ru/api/rest/?method=ems.get.locations&type=russia&plain=true, на api которое дает список городов и регионов в формате json

string $emsZoneNoApi

Файл зон "ems_zone_no_api.csv", который получается на выходе.

Throws

\Exception

корректировка не получилась.

Returns

true —

если все удачно иначе Exception.

parseZoneCorrect()

parseZoneCorrect(string $zone) : true

Метод коррекитровки таблицы после парсинга из файла zone.csv

Например Орел и Орёл, РЕСПУБЛИКА АДЫГЕЯ;АДЫГЕЯ РЕСПУБЛИКА

Parameters

string $zone

Файл зон zone.csv, который нужно корректировать.

Throws

\Exception

Файла нет или корректировка не получилась.

Returns

true —

если все удачно иначе Exception.

parseZoneIsFileToEmsApiBase()

parseZoneIsFileToEmsApiBase(string $emsZoneNoApi) : true

Метод добавления в таблицу zone городов и регионов, из созданного файла ems_zone_no_api.csv методом parseZoneNoFileIsEmsApi.

Так как данных нет по зонам(файл "ems_zone_no_api.csv"), то зоны подставлялись в ручную :( проверка поля $emsRate, которое добавляется согласно калькулятору сайта http://emspost.ru При повторном добавлении происходит обновление данных. Файл "ems_zone_no_api.csv", нужно корректировать в ручную (1;city--anapa;АНАПА;cities;;) -> (1;city--anapa;АНАПА;cities;2;). Используя калькулятор на сайте http://emspost.ru и смотреть в файл зон "zone_0.csv, zone_1.csv-zone_5.csv".

Parameters

string $emsZoneNoApi

Файл "ems_zone_no_api.csv", который откорректирован вручную для добавления в базу.

Throws

\Exception

Файла нет или корректировка не получилась.

Returns

true —

если все удачно, иначе Exception.

parseZonePostIndexCorrect()

parseZonePostIndexCorrect(string $zone) : true

Метод добавления почтовых индексов взят из файла emspostindex.csv, который был составлен в ручную из страницы сайта http://emspost.ru

Parameters

string $zone

Файл "ems_post_index.csv", который откорректирован вручную для добавления в базу.

Throws

\Exception

Файла нет или корректировка не получилась.

Returns

true —

если все удачно, иначе Exception.

parseZoneN()

parseZoneN(string $zone) : true

Метод парсинга в таблицу rate из файлов тарифов "zone0.csv" - "zone5.csv"

Файлы взяты с сайта http://emspost.ru/ru/tarifi_sroki/internal/

Parameters

string $zone

Файл "zone0.csv - zone5.csv".

Throws

\Exception

Файла нет или добавление не получилась.

Returns

true —

если все удачно, иначе

parseTableRateCity()

parseTableRateCity(string $emsZoneInterSityRate) : true

Метод парсинга в таблицу ratesity из файла тарифов otprav_gorod_tarif.csv

Parameters

string $emsZoneInterSityRate

файл тарифов зон "otprav_gorod_tarif.csv", для добавления в таблицу ratesity.

Throws

\Exception

Файла нет или добавление не получилась.

Returns

true —

если все удачно, иначе Exception.

parseTableRateRegion()

parseTableRateRegion(string $emsZoneInterRegionRate) : true

Метод парсинга в таблицу rateregion из файла тарифов vnutr_oblast_tarif.csv

Parameters

string $emsZoneInterRegionRate

файл тарифов зон "vnutr_oblast_tarif.csv" для добавления в таблицу rateregion.

Throws

\Exception

Файла нет или добавление не получилась.

Returns

true —

если все удачно, иначе Exception

parseZoneInterSity()

parseZoneInterSity(string $zoneInside) : true

Метод портирования данных в таблицу zone внутригородских зон из файла otprav_gorod_zone.csv

Parameters

string $zoneInside

файл тарифов зон "otprav_gorod_zone.csv" для добавления в таблицу zone в поле inrate.

Throws

\Exception

Файла нет или добавление не получилась.

Returns

true —

если все удачно, иначе Exception.

parseZoneInterRegion()

parseZoneInterRegion(string $zoneInside) : true

Метод портирования данных в таблицу zone внутрирегиональных зон из файла vnutr_oblast_zone.csv

Parameters

string $zoneInside

файл тарифов зон "vnutr_oblast_zone.csv" для добавления в таблицу zone в поле inrate

Throws

\Exception

Файла нет или добавление не получилась.

Returns

true —

если все удачно, иначе Exception.

parseZoneNoFileInterRegion()

parseZoneNoFileInterRegion(string $emsZoneNoFileInterRegion) : true

Метод cоздания файла "file_zone_no_file_interregion.csv" - файл зон которые есть в таблице zone, но нет в файле "vnutr_oblast_zone.csv".

Таблица "zone", поле inrate равно 0. Предшественник метода parseZoneIsFileInterRegion(). Созает файл со строками (1;ЕВРЕЙСКАЯ АВТОНОМНАЯ ОБЛАСТЬ;;) -> (1;ЕВРЕЙСКАЯ АВТОНОМНАЯ ОБЛАСТЬ;3;). Корректируется в ручную из файла "vnutr_oblast_zone.csv", используя калькулятор на сайте http://emspost.ru

Parameters

string $emsZoneNoFileInterRegion

корректировочный файл регионов "file_zone_no_file_interregion.csv"

Throws

\Exception

добавление не получилась.

Returns

true —

если все удачно, иначе Exception.

parseZoneIsFileInterRegion()

parseZoneIsFileInterRegion(string $emsZoneNoFileInterRegion) : true

Метод добавления в таблицу zone регионов, из созданного файла file_zone_no_file_interregion.csv методом parseZoneNoFileInterRegion.

Так как поле name таблицы zone указано некорректно портирование не произошло поле inrate=0, то приходиться проставлять зоны в ручную.

Parameters

string $emsZoneNoFileInterRegion

корректировочный файл тарифов зон "vnutr_oblast_zone.csv" для добавления в таблицу zone в поле inrate.

Throws

\Exception

Файла нет или добавление не получилась.

Returns

true —

если все удачно, иначе Exception.

parseTableTimes()

parseTableTimes() : true

Метод добавления в таблицу time значений времени доставки - min и max, для каждого региона из emsapi сайт http://emspost.ru.

Throws

\Exception

Файла нет или добавление не получилась.

Returns

true —

если все удачно, иначе Exception.

parseTableTimesFromFile()

parseTableTimesFromFile(string $emsParseTimesFromFile) : true

Метод добавления в таблицу time значений времени доставки - min и max, для каждого региона из файла.

Parameters

string $emsParseTimesFromFile
  • файл SQL запросов для добавления в таблицу times - "times.sql

Throws

\Exception

Файла нет или добавление не получилась.

Returns

true —

если все удачно, иначе Exception.