BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 27 апр 2024, 16:24

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
 Заголовок сообщения: [6.0] PaymentManager deletePayment
СообщениеДобавлено: 25 окт 2016, 11:20 
Не в сети

Зарегистрирован: 28 авг 2014, 09:26
Сообщения: 162
Карма: 0
Не смог найти достаточно информации по методу PaymentManager.deletePayment()

Как правильно удалить платеж?

Решение (спасибо barguzin2):
Код:
               // PID — ID платежа
               // CID — ID договора

               Date CURDATE = new Date();
               BalanceUtils bu = new BalanceUtils( con );
               PaymentManager pm = new PaymentManager( con );
               Payment payment = pm.getPaymentById( PID );

               pm.deletePayment( PID );
               bu.updateBalance( CURDATE, CID);

               // Кидаем оповещение
               EventProcessor eventProc = EventProcessor.getInstance();
               eventProc.publishAfterCommit( new PaymentDeletedEvent( 0, payment ) );
               eventProc.publishAfterCommit( new ContractBalanceChangedEvent( CID, payment.getSum().negate() ) );


Последний раз редактировалось oldb0y 25 окт 2016, 14:09, всего редактировалось 3 раз(а).

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [6.0] PaymentManager deletePayment
СообщениеДобавлено: 25 окт 2016, 12:40 
Не в сети
Клиент

Зарегистрирован: 09 фев 2011, 15:28
Сообщения: 1092
Карма: 135
Второй вариант более верный, только зачем кидать 2 события удаления платежа. И эти лишние телодвижения с отрицательным значением суммы платежа. примерно, так:

Код:
// Кидаем оповещение
EventProcessor eventProc = EventProcessor.getInstance();
eventProc.publishAfterCommit( new PaymentDeletedEvent( 0, payment ) );
eventProc.publishAfterCommit( new ContractBalanceChangedEvent( cid, payment.getSum().negate() ) );


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [6.0] PaymentManager deletePayment
СообщениеДобавлено: 25 окт 2016, 14:07 
Не в сети

Зарегистрирован: 28 авг 2014, 09:26
Сообщения: 162
Карма: 0
Спасибо! Акуратно и красиво.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [6.0] PaymentManager deletePayment
СообщениеДобавлено: 09 дек 2016, 13:26 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
Лучше делать через Web-сервис и не думать самим о балансах и событиях.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [6.0] PaymentManager deletePayment
СообщениеДобавлено: 15 дек 2016, 13:02 
Не в сети
Клиент

Зарегистрирован: 09 фев 2011, 15:28
Сообщения: 1092
Карма: 135
согласен. только в 6.0 его, вроде, нет.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 5 ] 

Часовой пояс: UTC + 5 часов [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
POWERED_BY
Русская поддержка phpBB
[ Time : 0.248s | 28 Queries | GZIP : On ]