forum.bitel.ru
http://forum.bitel.ru/

Тестирование плагина "Бонусы"
http://forum.bitel.ru/viewtopic.php?f=56&t=7301
Страница 1 из 2

Автор:  Jimm [ 12 окт 2012, 06:22 ]
Заголовок сообщения:  Тестирование плагина "Бонусы"

Добрый день!
Установил на сервер Плагин "Бонусы", настроил все как в мануале.
Протестировал вроде все что только можно, однако: захожу во вкладку "Bonus" (там же, где вкладки "Параметры", "Отчет", и т.д.),
нажимаю "Добавить новый элемент", и мне выводится сообщение "Не заведены бонусные программы!".
Это нормально, т.е. так и должно быть, или установка прошла некорректно?
Если все о'к, тогда как здесь создать-таки новую бонусную программу?
Спасибо заранее

Автор:  skn [ 12 окт 2012, 18:45 ]
Заголовок сообщения:  Re: Тестирование плагина "Бонусы"

В последнем билде добавили несколько "стандартных" бонусных программ (к сожалению пока их не описали в доке).
Программы предназначены для начисления бонусов:
1) по приходу
2) за приходы в течение некого периода, например за месяц
3) за наработку за период

Программы настраиваются через меню ПЛАГИНЫ => БОНУСЫ, после настройки программы можно добавлять в договора

Автор:  Jimm [ 15 окт 2012, 06:31 ]
Заголовок сообщения:  Re: Тестирование плагина "Бонусы"

Когда сей билд можно будет скачать?
Как я понимаю, в нынешнем, 5.2_81, бонусные программы все еще недоступны?

и еще вопрос:
как через скрипт добавить расход, оплаченный бонусами?

Автор:  skn [ 15 окт 2012, 17:48 ]
Заголовок сообщения:  Re: Тестирование плагина "Бонусы"

а разве не доступны?

Автор:  skn [ 15 окт 2012, 18:07 ]
Заголовок сообщения:  Re: Тестирование плагина "Бонусы"

Код:
 bonusDao.updatePayment( userId, cid, payment );

см. http://bgbilling.ru/v5.2/javadoc/ru/bit ... Payment%29

Автор:  Jimm [ 15 окт 2012, 18:50 ]
Заголовок сообщения:  Re: Тестирование плагина "Бонусы"

skn писал(а):
а разве не доступны?

ну нажимаю плагины - Бонусы, и вообще ничего не происходит, как не было) Хотя при этом могу работать с бонусами - добавлять новые в справочнике, тратить бонусы на расходы, etc. Только у меня такое или общая проблема? отпишитесь, пожалуйста, кто-нибудь..

за ссылочку спасибо :wink:
еще пару багов обнаружил у вас в "бонусах", завтра сообщу подробнее

Автор:  vkulakov [ 15 окт 2012, 20:07 ]
Заголовок сообщения:  Re: Тестирование плагина "Бонусы"

Аналогичная хрень:
Плагины -> Бонусы... и тишина.
Ошибок нигде не увидел...

Автор:  skn [ 16 окт 2012, 03:06 ]
Заголовок сообщения:  Re: Тестирование плагина "Бонусы"

пофиксили

Автор:  Jimm [ 16 окт 2012, 10:29 ]
Заголовок сообщения:  Re: Тестирование плагина "Бонусы"

Спасибо, теперь "Бонусы" открываются и можно настраивать программы, однако при нажатии далее во вкладке договора "Бонусы" на одну из бонусных программ возникает некая ошибка, связанная с "Period".
Если в Пагины-Бонусы нажать далее на одну из бонусных программ, та же ошибка вылазит..

Насколько я понимаю updatePayment() служит для добавления бонусного прихода. Добавить расход с оплатой бонусами с помощью addCharge() получилось. Как далее (естественно, с помощью кода) распределить расход между соответствующими приходами? Т.е. чтобы при нажатии на нужный мне расход во вкладке Бонус-Расход отображались все соответствующие бонусу приходы?

Насчет багов:
При задании параметров плагина "Бонусы", конкретно параметра "charge", клиент не видит первого id из списка.
Например, у меня:
Код:
charge=2,6,10,11
charge.percent.2=25
charge.percent.6=50
charge.percent.10=75
charge.percent.11=100
charge.percentDefault=20

И при этом, используя расход с id = 2, все равно получаем стандартные 20%,вместо положенных 25..
Решается выставлением первого id =0 в списке charge, т.е.
Код:
charge=0,2,6,10,11

Автор:  skn [ 16 окт 2012, 15:13 ]
Заголовок сообщения:  Re: Тестирование плагина "Бонусы"

Jimm писал(а):
Спасибо, теперь "Бонусы" открываются и можно настраивать программы, однако при нажатии далее во вкладке договора "Бонусы" на одну из бонусных программ возникает некая ошибка, связанная с "Period".
Если в Пагины-Бонусы нажать далее на одну из бонусных программ, та же ошибка вылазит..

не понятно, о чем это вы, можно скриншот, что за "нажатии далее"

Jimm писал(а):
Насколько я понимаю updatePayment() служит для добавления бонусного прихода. Добавить расход с оплатой бонусами с помощью addCharge() получилось. Как далее (естественно, с помощью кода) распределить расход между соответствующими приходами? Т.е. чтобы при нажатии на нужный мне расход во вкладке Бонус-Расход отображались все соответствующие бонусу приходы?

bonusDao.addDetailsItem() - это занесение конкретной связки расход-приход, но при этом с каких приходов какие суммы спишутся придеться считать самостоятельно, поэтому лучшее вызывать сервис - BonusService.chargeAdd() - он и расход занесет и по приходам раскидает

Jimm писал(а):
Насчет багов:
При задании параметров плагина "Бонусы", конкретно параметра "charge", клиент не видит первого id из списка.
.....

пофиксили

Автор:  Jimm [ 16 окт 2012, 17:48 ]
Заголовок сообщения:  Re: Тестирование плагина "Бонусы"

без "далее", слово лишнее)
Т.е. при выборе одной из бонусных программ вылазит ошибка связанная с периодом.
Правильно еще я понимаю, что пока обработка плагина "Бонусы" неполностью отображается в логе?

Автор:  skn [ 16 окт 2012, 19:30 ]
Заголовок сообщения:  Re: Тестирование плагина "Бонусы"

Jimm писал(а):
без "далее", слово лишнее)
Т.е. при выборе одной из бонусных программ вылазит ошибка связанная с периодом.
Правильно еще я понимаю, что пока обработка плагина "Бонусы" неполностью отображается в логе?


1) про период не понятно... возможно вы не полностью обновили, там немного поменялся контрол с периодом, а он обновляется при обновление ядра.
2) что и где не логируется?

Автор:  Jimm [ 16 окт 2012, 19:38 ]
Заголовок сообщения:  Re: Тестирование плагина "Бонусы"

Насколько я понимаю, отображаются не все Action'ы, связанные с плагином. По крайней мере, мне вроде не удалось обнаружить в логах инфы про bonusDao.addDetailsItem(), или их и не должно быть там видно.. Но здесь я не уверен.
за bonusDao.addDetailsItem() - спасибо, быстро разобрался.

Автор:  skn [ 16 окт 2012, 19:44 ]
Заголовок сообщения:  Re: Тестирование плагина "Бонусы"

Jimm писал(а):
Насколько я понимаю, отображаются не все Action'ы, связанные с плагином. По крайней мере, мне вроде не удалось обнаружить в логах инфы про bonusDao.addDetailsItem(), или их и не должно быть там видно.. Но здесь я не уверен.
за bonusDao.addDetailsItem() - спасибо.

bonusDao.addDetailsItem() - это не акшен, это один из методов акшена, а методы не логируются.

Автор:  Jimm [ 16 окт 2012, 19:52 ]
Заголовок сообщения:  Re: Тестирование плагина "Бонусы"

ну это понятно, я имел ввиду, логируется ли тогда action, которому принадлежит этот метод?

Автор:  skn [ 16 окт 2012, 20:32 ]
Заголовок сообщения:  Re: Тестирование плагина "Бонусы"

Акшен - BonusService.chargeAdd()

Список бонусных акшенов в работе

Автор:  Jimm [ 17 окт 2012, 08:39 ]
Заголовок сообщения:  Re: Тестирование плагина "Бонусы"

Сначала юзал bonusDao.addDetailsItem() вместо BonusService.chargeAdd(), при этом написал свой цикл распределения расходов между приходами.
кому интересно:
Код:
BigDecimal i = getBalance(cid, date1, con);
int bonusBalance = i.intValue();

//bcharge - создаваемый вручную бонусный расход
BigDecimal j = bcharge.getSum();
int bonusChargeSum = j.intValue();

try
       {
         StringBuilder query = new StringBuilder();
         query.append("SELECT c.id,c.cid,c.typeId,c.date,c.sum,c.dateFrom,c.dateTo,t.name FROM (SELECT * FROM bonus_contract_payment c WHERE c.cid=" + cid);
         query.append(" AND DATE(c.date) >= ? AND DATE(c.date) <= ?) c LEFT JOIN bonus_payment_type t ON t.id=c.typeId");
         PreparedStatement ps = con.prepareStatement(query.toString());
         ps.setDate(1, TimeUtils.convertDateToSqlDate(date1));
         ps.setTimestamp(2, TimeUtils.convertDateToTimestamp(date2));
         ResultSet rs = ps.executeQuery();
         while (rs.next())
         {
            if (bonusBalance > bonusChargeSum)
            {
              BigDecimal k = rs.getBigDecimal("sum");
              int currentPaymentSum = k.intValue();
              if (currentPaymentSum >= bonusChargeSum)
              {
                 addDetailsItem(bcharge.getId(), rs.getInt("id"), BigDecimal.valueOf(bonusChargeSum), con);
                 break;
              }
              else
              {
                 addDetailsItem(bcharge.getId(), rs.getInt("id"), BigDecimal.valueOf(bonusChargeSum - currentPaymentSum), con);
                 bonusChargeSum = bonusChargeSum - currentPaymentSum;
              }
            }
            else
            {
               print("Невозможно оплатить, баланс бонуса меньше бонусного значения расхода");
            }
         }
         ps.close();
         rs.close();

       }

Работает только если приходы не имеют бонусных расходов, т.е. по сути надо только добавить условие на проверку, есть ли на балансе прихода еще баллы. В итоге воспользовался все-таки BonusService.chargeAdd().
Логика распределения, конечно, скорее всего, другая (я беру все доступные приходы и вешаю на них по очереди остаток бонусного расхода), хотя вариантов-то тут не много :)
Зато в сути разобрался когда писал. Спасибо за помощь.

Автор:  skn [ 17 окт 2012, 12:46 ]
Заголовок сообщения:  Re: Тестирование плагина "Бонусы"

Jimm писал(а):
Работает только если приходы не имеют бонусных расходов, т.е. по сути надо только добавить условие на проверку, есть ли на балансе прихода еще баллы. В итоге воспользовался все-таки BonusService.chargeAdd().
Логика распределения, конечно, скорее всего, другая (я беру все доступные приходы и вешаю на них по очереди остаток бонусного расхода), хотя вариантов-то тут не много :)


Логика такая:
Сначала получаем текущий бонусный баланс, если он больше или равен бонусному расходу, то берется дата расхода, на эту дату выбираются все приходы с активным периодом, они сортируются по дате окончания активного периода и с них списывает в порядке этой сортировки.

Автор:  Jimm [ 17 окт 2012, 13:07 ]
Заголовок сообщения:  Re: Тестирование плагина "Бонусы"

Спасибо, теперь все вроде работает.
Только одно но: то, что нельзя удалить бонусную программу, которую привязали к договору, это нормально (http://s2.ipicture.ru/uploads/20121017/MIhMjiDe.jpg)?

Автор:  skn [ 17 окт 2012, 13:11 ]
Заголовок сообщения:  Re: Тестирование плагина "Бонусы"

Jimm писал(а):
Только одно но: то, что нельзя удалить бонусную программу, которую привязали к договору, это нормально (http://s2.ipicture.ru/uploads/20121017/MIhMjiDe.jpg)?


да, в принципе так история программ для договора видна, а закрыть программу можно с помощью периода.

Автор:  focus [ 17 окт 2012, 13:17 ]
Заголовок сообщения:  Re: Тестирование плагина "Бонусы"

Jimm писал(а):
Только одно но: то, что нельзя удалить бонусную программу, которую привязали к договору, это нормально (http://s2.ipicture.ru/uploads/20121017/MIhMjiDe.jpg)?

Думаю, что это нормально.
Иначе если клиенту, когда либо по какой-то программе давали бонус, то эту историю нужно хранить, чтобы не было в будущем ошибок, связанных с изменением балансов.

Для бонусов действует закрытый период?

Автор:  Jimm [ 17 окт 2012, 13:19 ]
Заголовок сообщения:  Re: Тестирование плагина "Бонусы"

Цитата:
да, в принципе так история программ для договора видна, а закрыть программу можно с помощью периода.


Согласен, благодарю.
Постараюсь и дальше отписываться в этой теме в случае возникновения каких-либо вопросов и/или нахождения багов.

Автор:  skn [ 17 окт 2012, 14:33 ]
Заголовок сообщения:  Re: Тестирование плагина "Бонусы"

focus писал(а):
Для бонусов действует закрытый период?


в данный момент нет, но в данный момент и функции перерасчета нету, чак что изменения только историю попортят.

Автор:  Jimm [ 18 окт 2012, 13:28 ]
Заголовок сообщения:  Re: Тестирование плагина "Бонусы"

1. А для каких, в первую очередь, целей делался плагин?
Какие цели преследовались при его разработке изначально, и достигнуты ли все запланированные в его[плагниа] отношении результаты?
Есть ли реальные примеры использования плагина в работе биллинга?

2.Планируется ли в дальнейшем добавление возможности оплачивать бонусами наработку за периодические услуги и вообще тарифные опции, добавление взаимодействия "Бонусов" с тарифными планами?
Хотим тратить бонусы автоматически (опять же чтоб был выбор, автоматически или нет) на расходы, которые добавляются на договор при активации тарифной опции.

3.Можно (имеет ли на ваш взгляд смысл) сделать так, чтобы для разных типов бонусов можно было задавать конкретные id расходов, на которые они могут быть потрачены?

Автор:  skyb [ 18 окт 2012, 13:50 ]
Заголовок сообщения:  Re: Тестирование плагина "Бонусы"

насколько я знаю, плагин в разработке, так что тут кто пишет - одни из первых кто его юзает

Автор:  skn [ 18 окт 2012, 15:25 ]
Заголовок сообщения:  Re: Тестирование плагина "Бонусы"

Jimm писал(а):
1. А для каких, в первую очередь, целей делался плагин? Какие цели преследовались при его разработке изначально, и достигнуты ли все запланированные в его[плагниа] отношении результаты? Есть ли реальные примеры использования плагина в работе биллинга?

2.Планируется ли в дальнейшем добавление возможности оплачивать бонусами наработку за периодические услуги и вообще тарифные опции, добавление взаимодействия "Бонусов" с тарифными планами?
Хотим тратить бонусы автоматически (опять же чтоб был выбор, автоматически или нет) на расходы, которые добавляются на договор при активации тарифной опции.

3.Можно (имеет ли на ваш взгляд смысл) сделать так, чтобы для разных типов бонусов можно было задавать конкретные id расходов, на которые они могут быть потрачены?


1) Бонусы являются одним из методов повышения лояльности клиентов, а лояльность влияет на доходы компании. Вот это основная цель. На данный момент реализован минимально необходимый функционал. Из планов еще многое не реализовано. Примеры реального использования плагина нам не известны.
2) Основной планируемый способ использование бонусов, активация тарифных опций. Автоматическое списание бонусов считаем ВРЕДНЫМ способом использования бонусов, противоречивающим первому пункту, т.е. цели создания плагина, поэтому реализовывать данный функционал не будем.
3) Бонусы не имеют типов и смысла вводить их не видим, это только запутает клиентов да и провайдера.

Автор:  Jimm [ 19 окт 2012, 10:34 ]
Заголовок сообщения:  Re: Тестирование плагина "Бонусы"

Обобщая все изученное и вышенаписанное, решил опубликовать краткую документацию по плагину "Бонусы".
Скорее всего, будет обновляться с развитием плагина.
Кому интересно:

- Внедрение механизма использования бонусов является одним из методов повышения лояльности клиентов, а лояльность влияет на доходы компании

- Вообще, единица измерения бонуса – балл, то есть количество бонусов определяется соответствующим количеством баллов

- В настройках плагина (Плагины – Настройка плагинов – Bonus) указывается курс (параметр «rate»), отражающий количество баллов, приходящихся на один рубль

- Чтобы активировать данный плагин для конкретного договора, необходимо в графе «Бонус» дерева вкладок договора поставить галочку напротив пункта «Включен»

- Для того, чтобы стало возможным начисление бонусов, необходимо задать название бонуса (возможно несколько): Справочники – Другие – Бонус-приходы

- Начисляются Бонусы с помощью бонусных программ, которые можно создать/редактировать в меню Плагины – Бонусы путем задания множественных параметров, либо вручную (Бонус – Приход – Новый элемент). Возможно также начисление с помощью скриптов

- Чтобы подключить к договору определенную бонусную программу, необходимо графе «Бонус» дерева вкладок договора нажать «Новый элемент», и задать период и тип бонусной программы

- В настоящий момент, тратить бонусы можно только на оплату расходов договора (для этого добавляется новый расход, указывается сумма расхода, и ставится галочка рядом с «Оплатить бонусами»), но не больше указанного максимального количества от размера расхода (точная величина задается в процентах, в параметре «charge.percentDefault» настроек плагина, по умолчанию – не более 20% от общей суммы расхода).

- В настройках плагина (Плагины – Настройка плагинов – Bonus) возможно задание списка id расходов договора, для которых установлен максимальный процент от суммы расхода, который можно оплатить бонусами:
Код:
charge=2,6,10,11

и непосредственно сами значения (в процентах) для конкретных расходов:
Код:
charge.percent.2=25
charge.percent.6=50
charge.percent.10=75
charge.percent.11=100

Также есть возможность задать значение максимального процента по умолчанию
Код:
charge.percentDefault=20


- Баланс бонусов отражает совокупную статистику по всем приходам и расходам бонусов. В отдельном окне постоянно отображается оставшееся на данный момент количество бонусов — «Текущий баланс», а также приходы, которые еще не активны (то есть они будут доступны для оплаты расходов в будущем) – «Ожидаемые баллы»

- Если в справочнике задано несколько бонусов, то в графе «Бонус» будет отображаться их суммарная величина. При оплате бонусы не различаются, а воспринимаются также как единая величина (тем не менее, с помощью скриптов есть возможность оплатить определенным бонусом конкретный расход)

- Логика распределения бонусных расходов между существующими бонусными приходами: получаем текущий бонусный баланс, если он больше или равен бонусному расходу, то берется дата расхода, на эту дату выбираются все приходы с активным периодом, они сортируются по дате окончания активного периода, и в порядке этой сортировки с них списывается определенное кол-во бонусов.

- Текущее состояние плагина (на 19.10.2012) – «в разработке», т.е. на данный момент реализован минимально необходимый функционал. По словам разработчиков, основной планируемый способ использования бонусов — активация тарифных опций, что пока недоступно.

добавьте в "Клиетны" :)

Автор:  skyb [ 19 окт 2012, 10:39 ]
Заголовок сообщения:  Re: Тестирование плагина "Бонусы"

Jimm писал(а):
Обобщая все изученное и вышенаписанное, решил опубликовать краткую документацию по плагину "Бонусы".
Скорее всего, будет обновляться с развитием плагина.
Кому интересно: http://wiki.dsi.ru/doku.php?id=bg:inet:summaryinf

добавьте в "Клиетны" :)

Цитата:
К сожалению, Google Chrome не может найти страницу wiki.dsi.ru.
Попробуйте:
Перейдите на страницу dsi.­ru
Искать в Google:

Автор:  Jimm [ 19 окт 2012, 10:49 ]
Заголовок сообщения:  Re: Тестирование плагина "Бонусы"

Не знаю с какой это стати я раскидался ссылками на внутренние сервисы организации, вам же не зайти на них :)
Редактировал: добавил инфу вместо ссылки.

Автор:  Cromeshnic [ 19 окт 2012, 11:08 ]
Заголовок сообщения:  Re: Тестирование плагина "Бонусы"

Нас много :)

Изображение

Страница 1 из 2 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/