вторник, 20 января 2009 г.

Программа проверки счета в биллинговой системе UTM. Год 2006.

Предисловие.

Данный пост и программа писалась еще в середине 2006 года. Так что все события и данные актуальны именно на 2006-2007 год. Начало развития программы положено в теме на одном из местечковых форумов. В следующем посте глянем на эту программу в текущий момент.
Главная цель  - получить опыт написания программ на C++ с использованием WinApi, а так же получить полезную программу.

Ну а теперь суть.

UTM - одна из самых распространненых биллинговых систем в России. До 5 версии был в ней один минус ( а может и больше, но говорим мы об одном) - нельзя было узнать состояние счета не зайдя через браузер на сайт статистики, введя логин и пароль. А учитывая то, что сессия работы с сайтом закрывалась раз в минут 5 (примерно), то чтобы посмотреть счет в уже открытом окне сайта, нужно было снова вводить логин/пароль. С появлением 5 версии этой билинговой системы ситуация улучшилась. Появилась утилита для контроля счета. Windows версия и Linux версия (ссылки на официальном сайте не нашел, видимо программа распростарняется в комплекте с билинговой системой).


Все бы хорошо, но вот у провайдера стоит UTM 4 версии. И эта программа просто не подходит. Вот тогда то и возникла идея написать свою программу для проверки счета. Проект получил название UtmCheck.

UtmCheck

Назначение.
Программа для проверки счета для клиентов сети компании "Интерра", а также других компанний использующих UTM.

Принцип работы.
Программа сидит в трее ( значок латинской буквы "U") и с заданным промежутком времени проверяет счет. При получении счета над значком появляется надпись с текущем балансом счета. Надпись закрывается через 10 секунд. При ошибке (например связи) значок в трее становится красным. Если вы используете тариф с предоплаченым трафиком ( на странице статистики есть строчка "Предоплаченный входящий внешний...") то будет появляться надпись, подобная этой "Остаток руб./Mb 15 руб./24,5 Mb" , т.е. на вашем счету 15 руб и 24,5 мб не использованных предоплаченых мб.

Запуск.
utmsetting

При первом запуске появится окно для ввода настроек. Пароль и логин - данные для доступа в биллинговую систему. Период автообновления - время в минутах от 5 до 120 через которое программа сама проверит баланс счета.

tray
При правом щелчке мышки на значке в трее появится меню.
  • Проверить - проверка баланса
  • Настройки - окно настроек программы
  • Журнал - показывает журнал работы программы, в котором описаны все ошибки возникшие в ходе работы, а так же все данные, которые программа получила из билинга
  • Выход - выход из программы

При двойном щелчке левой кнопкой мыши по значку программы в трее, происходит проверка счета.

Настройки в Utm.ini
[Settings]
AutoUpdate=0 ; если 1 то включено автообновление
UpdateTime=0 ; период обновления в минутах, если он <5 то программа сама выставляет его равным 5
TimeShow=10 ; время в секундах, в течении которого будет показана надпись с текущим балансом
server=172.16.0.1 ;сервер статистики, если не указан или закоментирован то проверка происходит на bill.interra.ru
;balans="Баланс (у.е.)</TD><TD width=50% bgcolor=#FFFFFF>"

В связи с тем, что в разных районах города билинг немного отличался внутренним оформлением, пришлось ввести параметр balans . В нем указывается html код страницы от слова "Баланс", до первой цифры этого баланса.

ВНИМАНИЕ.
Программа никуда не отсылает ваши данные кроме как на биллинговый сервер. В этом можно убедится посмотрев исходники программы, или собрав программу себе из исходников.


На текущий момент программа обладает примерно тем же функционалом что и официальная программа. В дальнейшем я планирую добавить различную функциональность. Например, для заядлых геймеров предусмотреть режим, когда сообщение с остаком денег на счете появлется поверх игры. Т.е. не простой MessageBox, выкидывающий из игры, а надпись на canvas игры (выражаясь языком delphi). Или пополнение счета через программу. Да и многое другое что предложат пользователи.

Ну и собственно файлы от программы.

UtmCheck0.9.2.zip - текущий рабочий комплект
UtmCheck_src.zip - исходники на Visual C++ 2005 текущей версии

Список изменений.

0.9.2.0
испарвлена ошибка с периодом обновления
добавлена возможность выбора сервера статистики
работает с биллингом 8 микрорайона
добавлена возможность показа оставшегося предоплаченого трафика
0.9.0.5
исправлена ошибка с посылкой не правильных учетных данных

5 комментариев:

  1. Мдя... Ничто не вечно под луной...


    Вопчем теперь перед суммой в биллинге следующий код:

    Баланс основного счета

    Есть подозрение, что форма входа тоже поменялась, потому что данных прога так и не получила

    ОтветитьУдалить
  2. Эмм, я же написал - все нижеперечисленное актуально для 2006-2007 года для 4 версии UTM. Сейчас уже выпущена 5 версия, и у нас как раз она. Для 5 версии надо кой чего менять, об этом планировал написать позже.

    ОтветитьУдалить
  3. [...] предыдущем посте я рассказал о программе UtmCheck. Сейчас хочу рассказать [...]

    ОтветитьУдалить