Обнаружена ошибка в UTM5 5.3-002-update18 при отмене платежа

Технические вопросы по UTM 5.0
Ответить
hiv
Сообщения: 11
Зарегистрирован: Ср дек 10, 2014 12:08

Обнаружена ошибка в UTM5 5.3-002-update18 при отмене платежа

Сообщение hiv »

:shock: Ошибка связана с непонятным округлением отменяемой суммы. Отмены платежей производились только из java-клиента. У меня эта ситуация встречалось с суммами более 10000 руб имеющих копейки. Факт не стыковки сумм отменяемого платежа и отменяющего платежа (с типом платежа 8 ) можно увидеть с помощью SQL запроса:

Код: Выделить всё

select a.id, a.account_id, a.who_receive, FROM_UNIXTIME&#40;b.actual_date,'%Y-%m-%d'&#41;,a.payment_absolute, b.payment_absolute from &#40;select * from payment_transactions where method=8&#41; a left join payment_transactions b on &#40;a.cancel_id=b.id&#41; where a.payment_absolute<>-b.payment_absolute;
У меня следующий результат запроса:

Код: Выделить всё

+--------+------------+-------------+-----------------------------------------+------------------+------------------+
| id     | account_id | who_receive | FROM_UNIXTIME&#40;b.actual_date,'%Y-%m-%d'&#41; | payment_absolute | payment_absolute |
+--------+------------+-------------+-----------------------------------------+------------------+------------------+
| 191636 |       5294 |          -7 | 2016-01-27                              |         -1504.07 |         1504.073 |
| 207917 |       9108 |          -7 | 2016-03-24                              |         -1372.52 |         1372.522 |
| 249555 |       6945 |          -7 | 2016-08-10                              |          -1697.1 |         1697.102 |
| 311873 |       1959 |         -18 | 2017-02-08                              |         -34751.9 |         34751.88 |
| 320387 |       2475 |          -1 | 2017-02-28                              |          14419.7 |        -14419.72 |
| 336700 |       5116 |          -7 | 2017-04-13                              |         -47842.1 |         47842.06 |
| 341245 |       8363 |         -18 | 2017-04-24                              |         -10262.7 |         10262.73 |
| 347292 |       2475 |          -1 | 2017-04-30                              |            10667 |        -10667.01 |
| 347293 |       2475 |          -1 | 2017-04-30                              |          10621.5 |        -10621.49 |
| 369653 |       6311 |         -18 | 2017-06-23                              |         -15753.8 |         15753.75 |
+--------+------------+-------------+-----------------------------------------+------------------+------------------+
10 rows in set &#40;0.13 sec&#41;
При этом отменяемая сумма правильно вносится в таблицу discount_transactions_all и правильно отражается на балансе абонентов. Версии Java на клиентах у всех разные, но обычно openjdk-7.
У кого нибудь на более новых версиях это проявляется?


hiv
Сообщения: 11
Зарегистрирован: Ср дек 10, 2014 12:08

Сообщение hiv »

Где в моем SQL запросе операции с плавающей точкой? Только сравнение и никаких обработок!
Java-клиент биллинга показывает эту разницу в "Отчеты"->"Платежи".

Аватара пользователя
MaxDM
Сообщения: 313
Зарегистрирован: Пн апр 03, 2006 10:26
Контактная информация:

Сообщение MaxDM »

Не знаю как MySQL, а в PostgreSQL преобразование типов делается так:

Код: Выделить всё

... a.payment_absolute&#58;&#58;float, b.payment_absolute&#58;&#58;float ...
Попробуй что-нибудь подобное, чтобы вытащить данные в том формате, в котором они в БД лежат.

У тебя же столбцы равны, просто левый столбец - это округлённый правый.

hiv
Сообщения: 11
Зарегистрирован: Ср дек 10, 2014 12:08

Сообщение hiv »

MaxDM писал(а):У тебя же столбцы равны, просто левый столбец - это округлённый правый.
Во первых это не два столбца, а один и тот же. И сравниваются в этом столбце две суммы отменяемого и отменяющего платежа.
Во вторых в MySQL этот столбец и так типа float.
В третьих - В том то и проблема что биллинг округляет!!!

Аватара пользователя
MaxDM
Сообщения: 313
Зарегистрирован: Пн апр 03, 2006 10:26
Контактная информация:

Сообщение MaxDM »

hiv писал(а):Во первых это не два столбца, а один и тот же. И сравниваются в этом столбце две суммы отменяемого и отменяющего платежа.
Во вторых в MySQL этот столбец и так типа float.
В третьих - В том то и проблема что биллинг округляет!!!
В HotLine тогда обратитесь.

hiv
Сообщения: 11
Зарегистрирован: Ср дек 10, 2014 12:08

Сообщение hiv »

MaxDM писал(а):В HotLine тогда обратитесь.
У нас поддержка закончилась. Да и там первым делом посоветуют обновиться до последней версии. Мой вопрос звучал так: У кого нибудь на более новых версиях эта проблема встречается? Может и нет смыла в обновлении.

RuffiAn
Сообщения: 107
Зарегистрирован: Пн янв 24, 2011 16:11

Сообщение RuffiAn »

Добрый день!
Я у себя другую странную вещь заметил. Если на лицевом счете -0 и поставить кредит а потом снять его, то на лицевой счет зачисляется сумма равная значению "рекомендуемый платеж".
skype:stas_bobrikov

Ответить