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

Некоторые договора статуне открываются после прихода платежа
http://forum.bitel.ru/viewtopic.php?f=16&t=11364
Страница 1 из 1

Автор:  Akhmat [ 19 фев 2016, 19:49 ]
Заголовок сообщения:  Некоторые договора статуне открываются после прихода платежа

Платеж заношу следующим кодом
Код:
               Payment p = new Payment() ;
               p.setComment("Оплата банковской картой." + OrderID);
               p.setSum(new BigDecimal(summakop/100.0)) ;
               Date dt = new SimpleDateFormat("dd/MM/yyyy").parse( answer.get("TranDateTime") ) ;
               p.setPaymentDate(dt) ;
               p.setContractId(cid) ;
               p.setUserId(0) ;
               p.setTypeId(paymentTypeId) ;
               p.setId(-1) ;
               BalanceUtils bu = new BalanceUtils(con) ;
               PaymentManager cpm = new PaymentManager(con) ;
               cpm.updatePayment(p);
               bu.updateBalance(new Date(), cid) ;
               PaymentEvent pe = new PaymentEvent(0, p) ;
               EventProcessor.getInstance().publish( pe );
               EventProcessor.getInstance().publish( new ContractBalanceChangedEvent(cid, p.getSum()) ) ;

На некоторых договорах. после прихода платежа статус не открывается. Исходящий остаток положительный, а модуле абонплат светится задолженность "0". Приходится выставлять лимит -1/1 тогда.
В основной массе нормально открываются по этой платежной системе.
В чем может быть дело?

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

Цитата:
Сервер: вер. 6.0 сборка 1777 от 21.08.2014 17:08:57
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.6.0_45

npay вер. 6.0 сборка 226 от 11.06.2014 17:27:01


Вложения:
2016-02-19 16-44-51 Скриншот экрана.png
2016-02-19 16-44-51 Скриншот экрана.png [ 9.79 КБ | Просмотров: 6946 ]

Автор:  Ildar [ 24 фев 2016, 06:10 ]
Заголовок сообщения:  Re: Некоторые договора статуне открываются после прихода пла

Лучше вам в HD, так как без деталей не понятно.
Но больше всего мне пока не нравиться, что дата платежа приходит из запроса. А эта дата бросается в событие( в платеже).
Потом, проблем с таймзонами нет? Они у вас обновлены?

Автор:  Akhmat [ 24 фев 2016, 14:42 ]
Заголовок сообщения:  Re: Некоторые договора статуне открываются после прихода пла

Таймзоны обновлены. Что сделать с датами чтобы нормально? может после занесения платежа, в платеже выставить дату текущую и так кинуть событие?

Автор:  Ildar [ 24 фев 2016, 14:57 ]
Заголовок сообщения:  Re: Некоторые договора статуне открываются после прихода пла

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

Автор:  Akhmat [ 24 фев 2016, 15:07 ]
Заголовок сообщения:  Re: Некоторые договора статуне открываются после прихода пла

скрин
Там же у даты платежа нет минут...

Вложения:
2016-02-24 12-06-24 Скриншот экрана.png
2016-02-24 12-06-24 Скриншот экрана.png [ 18.03 КБ | Просмотров: 6917 ]

Автор:  Akhmat [ 24 фев 2016, 15:11 ]
Заголовок сообщения:  Re: Некоторые договора статуне открываются после прихода пла

по логам, дата транзакции позже даты платежа на 6 секунд, у меня видимо на биллинге чуть время отстает. изза этого может быть?

Автор:  Ildar [ 24 фев 2016, 16:16 ]
Заголовок сообщения:  Re: Некоторые договора статуне открываются после прихода пла

Нет, думаю это уже не серьезно. Хотя для уверенности поставте тек. дату.
Данный договор имеет одну из груп перечисленных в debet.npay.status.manage.groups ?

Автор:  Ildar [ 24 фев 2016, 16:28 ]
Заголовок сообщения:  Re: Некоторые договора статуне открываются после прихода пла

И еще. Бросайте событие после коммита, или произведите коммит принудительно. Возможно что изменение не попадают в БД еще к тому моменту как на него реагирует npay.

Автор:  Akhmat [ 24 фев 2016, 16:31 ]
Заголовок сообщения:  Re: Некоторые договора статуне открываются после прихода пла

Да, договор в нужной группе, это в первую очередь проверил. Проверю все отпишу

Автор:  Ildar [ 24 фев 2016, 16:33 ]
Заголовок сообщения:  Re: Некоторые договора статуне открываются после прихода пла

То есть так.
......
cpm.updatePayment(p);
con.commit();
........
EventProcessor.getInstance().publishAfterCommit( pe )
EventProcessor.getInstance().publishAfterCommit( new ContractBalanceChangedEvent(cid, p.getSum()) )

Автор:  Akhmat [ 24 фев 2016, 19:27 ]
Заголовок сообщения:  Re: Некоторые договора статуне открываются после прихода пла

открывается вроде договор. видимо изза коммита. пару раз прогнал платеж. если повторится отпишу.
Спасибо

Автор:  stark [ 11 мар 2016, 13:34 ]
Заголовок сообщения:  Re: Некоторые договора статуне открываются после прихода пла

Akhmat писал(а):
открывается вроде договор. видимо изза коммита. пару раз прогнал платеж. если повторится отпишу.
Спасибо


commit вызывать не обязательно. Достаточно вызывать publishAfterCommit.

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