Utils (скрипты) и прочие прибомбасины

Технические вопросы по UTM 5.0
Ответить
mazay
Сообщения: 162
Зарегистрирован: Вс ноя 13, 2005 13:23
Откуда: Коломна
Контактная информация:

Сообщение mazay »

Mad Dogg писал(а):Вот и RC1.
Просьба отписать о возникших трудностях при работе с системой, и о пожеланиях, возникших во время использования.
PS. For MySQL DB, NOT PostgreSQL
Запросик надо поправить, а то если юзер входит в несколько групп(например в три), то он отобразжается на странице соответственно три раза.
А так задумка класная..

Аватара пользователя
Magnum72
Сообщения: 1947
Зарегистрирован: Чт сен 22, 2005 06:54
Контактная информация:

Сообщение Magnum72 »

mixa писал(а):Круто!
Почти web-админка по платежам! 8)
Еще каменты к платежам для пользователя и админа можно прикрутить аналогично методу платежа.
Прикол с авторизацией связанный с нововведением по ip
Кидает назад с аксесом денидом, хотя в прошлой версии все ок!
Да, и на странице по вводу платежей предупреждение ничего лишнего не нажимать, а вдруг кассир нажмет рефреш?? :D
И.. повторный платеж!
Вот наш вариант админки, скажу сразу пока распостранять не планируем, но помочь обойти трудности с которыми мы столкнулись смогу...

Пояснения
0) Последний платеж показывает последний проведенный именно этим кассиром платеж, потому как постоянно отвлекаеют кассира а потом кассир вспоминает: провел он этот платеж уже или нет.
1) Поиск. При вводе логина или фамилии после первых 3 букв через AJAX ищутся и выводятся подсказка по первым 10 подходящим абонентам. Все подошедшие под результаты поиска учетки выводятся в списке, если в результате выборки одна учетка то она сразу переносится в форму, далее при клике данные абонента переносятся в форму, в поле комментария подставляется баланс на момент платежа и складывается с тем комментарием что вел кассир, в момент поиска также генерится случайное число которое потом учавствует в хеше платежа
1а) Кликнув на ID переходим на информацию о пользователе
1б) Кликнув на баланс появляется приведенное окно со всеми транзакциями пользователя, сделано затем что кассира постоянно спрашивают а когда я платил последний раз и прочую фигню.
2) Хеш платежа. Формируется по логину, сумме, дате, через кого и рандомного полученного числа, это обеспечивает уникальность на всех стадиях проведения платежа
3) все платежи заносятся в таблицу с уникальным столбцом хеша,
3а) Пока не заполнены нужные поля кнопка не активна
3б) После нажатия на кнопку идет внос в предварительную таблицу, далее идет очищение переменных и редирект на этуже страницу чтобы нельзя было отправить дубль по рефрешу, но даже если рефреш бы срабатывал то это бы ничего не дало так как данные в предварительную таблицу бы не вставились с одинаковым хешем.
4) Потом платежи из предварительной таблицы считывает скрипт по крону раз в минуту и заносит в биллинг. Почему не сразу в биллинг? Чтобы дать возможность проводить платежи когда база недоступна или биллинг нагружен какой либо фигней, так же это позволяет не ждать проведения платежа а сразу перреходить к другому
4а) Перед заносом в биллинг скрип проверяет отсутствие такого хеша после заноса проверяет наличие хеша. только потом ставится признак в предварительной таблице что платеж обработан.
4б) Скрипт при запуске проверяет наличие другой запущенной копии если есть дубль кончает себя.
5) Платежи в очереди на внос отображаются зеленым, если платеж в очереди стоит более 10 минут он становится красным и посылается уведомление админу. это значит что скрипт минимум раз 10 не смог внести его в базу.
6) Доступны отчеты которые берутся из базы реального биллинга
6а) Период отчета по умолчанию текущий день, ну и экспорт пока в эксель, но потом и в 1с будет.

Изображение

Аватара пользователя
Mad Dogg
Сообщения: 197
Зарегистрирован: Чт мар 30, 2006 15:19

Сообщение Mad Dogg »

Magnum72
У меня возник вопрос - сколько людей эту админко делало и сколько времени на это ушло ?

Аватара пользователя
Magnum72
Сообщения: 1947
Зарегистрирован: Чт сен 22, 2005 06:54
Контактная информация:

Сообщение Magnum72 »

Mad Dogg писал(а):Magnum72
У меня возник вопрос - сколько людей эту админко делало и сколько времени на это ушло ?

саму систему мы собираем из модулей, делают 2 чела уже 4 месяц, именно этот модуль он простой достаточно, на него ушло около 3 дней + облизывание 2 дня и баги всплывали еще два дня.

Аватара пользователя
Mad Dogg
Сообщения: 197
Зарегистрирован: Чт мар 30, 2006 15:19

Сообщение Mad Dogg »

Magnum72
Будет ли свободное распространение ?

Аватара пользователя
Mad Dogg
Сообщения: 197
Зарегистрирован: Чт мар 30, 2006 15:19

Сообщение Mad Dogg »

Поздравьте меня! Я довел таки дело до конца!
Платежная система готова к работе как никогда.
Нет никаких супер наворотов.
Есть только самое необходимое:
1. Список всех пользователей, выводимый постранично;
2. Поиск по логину, номеру группы и полному и номеру пользователя;
3. Удобный ввод платежа. При вводе суммы с копейками не нужно задумываться что поставить - точку или запятую )))
4. И т.д. и т.п...

Скрины тут

Spar
Сообщения: 350
Зарегистрирован: Пн янв 31, 2005 12:09

Сообщение Spar »

можно вопрос ?
а для чего это ? есть же ява-админка ..

или я чего-то недопонимаю :) ?

Аватара пользователя
Magnum72
Сообщения: 1947
Зарегистрирован: Чт сен 22, 2005 06:54
Контактная информация:

Сообщение Magnum72 »

Поздравьте меня! Я довел таки дело до конца!
Платежная система готова к работе как никогда.
Нет никаких супер наворотов.
Есть только самое необходимое:
1. Список всех пользователей, выводимый постранично;
2. Поиск по логину, номеру группы и полному и номеру пользователя;
3. Удобный ввод платежа. При вводе суммы с копейками не нужно задумываться что поставить - точку или запятую )))
4. И т.д. и т.п...

порнография :)

Аватара пользователя
Magnum72
Сообщения: 1947
Зарегистрирован: Чт сен 22, 2005 06:54
Контактная информация:

Сообщение Magnum72 »

Spar писал(а):можно вопрос ?
а для чего это ? есть же ява-админка ..

или я чего-то недопонимаю :) ?
У нас 10000 пользователей. При вводе платежа сначала надо найти пользователя, предварительно выбрав из списка по какому параметру искать, указать сумму, написать в комментарий сколько у него был баланс на текущий момент, отправить платеж, подождать пока админка подумает, и не дай бог кто-то запустил тяжелый отчет. Вообщем стандартно для ввода 10 платежей уходит минут 15, через свою админку это зависит от скорости кассира :) ну минуты 2 наверное, причем кассир всегда видит что он только что провел и кому :)

Аватара пользователя
Mad Dogg
Сообщения: 197
Зарегистрирован: Чт мар 30, 2006 15:19

Сообщение Mad Dogg »

Magnum72
1. Либо выложи свою, либо нефиг обсерать чужое творчество.
2. Делалось все именно для нужд кассира, а не для нужд админа.
3. Делалось одним человеком.
4. Делалось максимум сутки общего времени (может меньше).
5. Все платежи проходят через utm5_payment_tool, а не напрямую через базу.
6. Плюс я проверял базу на количестве записей более 3 тысяч.
7. Выводится совершенно спокойно и поиск тоже не долго делается.
8. Так что не надо!
ЗЫ. Если еще сутки посидеть, то и у меня все это видно будет.
ЗЗЫ. см. пункт 1.

Аватара пользователя
Mad Dogg
Сообщения: 197
Зарегистрирован: Чт мар 30, 2006 15:19

Сообщение Mad Dogg »

Может ктонибудь подсказать запрос для получения суммы денег на счету абонента ? что то я уже запутался в этой БД )))

Mikhail
Сообщения: 223
Зарегистрирован: Ср июл 27, 2005 06:25

Сообщение Mikhail »

utm5_debug.log писал(а):SELECT id, payment_incurrency, currency_id, currency_rate, payment_absolute,actual_date, payment_enter_date, method, who_receive, comments_for_user,comments_for_admins, account_id, payment_ext_number FROM payment_transactions WHERE payment_enter_date>='1136037600' AND payment_enter_date<='1167573599' AND account_id='109' ORDER BY actual_date DESC

kirush
Сообщения: 699
Зарегистрирован: Пт фев 04, 2005 13:58

Сообщение kirush »

# wget http://kamper.byethost10.com/upload/utm ... ts_RC1.tgz
--01:25:22-- http://kamper.byethost10.com/upload/utm ... ts_RC1.tgz
=> `web_utm_payments_RC1.tgz'
Resolving kamper.byethost10.com... 209.190.27.114
Connecting to kamper.byethost10.com|209.190.27.114|:80... connected.
HTTP request sent, awaiting response... 500 Internal Server Error
01:25:23 ERROR 500: Internal Server Error.

sir
Сообщения: 6
Зарегистрирован: Пт ноя 03, 2006 08:48

Сообщение sir »

Mikhail писал(а):
utm5_debug.log писал(а):SELECT id, payment_incurrency, currency_id, currency_rate, payment_absolute,actual_date, payment_enter_date, method, who_receive, comments_for_user,comments_for_admins, account_id, payment_ext_number FROM payment_transactions WHERE payment_enter_date>='1136037600' AND payment_enter_date<='1167573599' AND account_id='109' ORDER BY actual_date DESC
этот запрос выдаст историю платежей за определенный период, а ему, насколько я понял, нужен баланс.
дык вот - есть такая табличка accounts и там есть магическое поле balance

Аватара пользователя
Mad Dogg
Сообщения: 197
Зарегистрирован: Чт мар 30, 2006 15:19

Сообщение Mad Dogg »

kirush
Глянь сюда
туда я финалку не сбрасывал. если нужна кидай мыло. я подправлю и отправлю ))
sir
Что то я не догнал краями. где в этой таблице указание на id аккаунта абонента ??? :?:

Ответить