как округлить баланс до рублей, без копеек?

Технические вопросы по UTM 5.0
Ответить
brost
Сообщения: 10
Зарегистрирован: Пт окт 02, 2009 12:36

как округлить баланс до рублей, без копеек?

Сообщение brost »

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

Аватара пользователя
Chrst
Сообщения: 370
Зарегистрирован: Пт май 11, 2007 09:28
Откуда: Медиахолдинг "ЛеККС"
Контактная информация:

Re: как округлить баланс до рублей, без копеек?

Сообщение Chrst »

brost писал(а):Здравствуйте! подскажите пожалуйста как можно округлить баланс абонента до рублей, копейки не нужны. можно реализовать средствами биллинга, или придется через костыль.
Буду рад любой идее.
Через костыль и знания математики ;)
1. Читаем баланс.
2. Вычисляем дробную часть.
3. Вносим дробную часть со знаком минус.

Вариант 2.
Напрямую в базу округленную сумму, HUP ядру.

brost
Сообщения: 10
Зарегистрирован: Пт окт 02, 2009 12:36

Сообщение brost »

спасибо, значит стандартными средствами нельзя, придется по-извращаться :twisted:

brost
Сообщения: 10
Зарегистрирован: Пт окт 02, 2009 12:36

Сообщение brost »

вот решили вопрос следующим способом:
в таблице accounts поля balance изменили на double(11,0).
теперь дробной части нет. Но в биллинге балланс применяется после перезапуска.
Даже если добавить нового пользователя, система спишет с него сумму с копейками, но если перезапустить ядро копейки пропадают.

Теперь ждем побочных эффектов :D . Только вот пока их не замечено :lol: .

У кого есть какие идеи по этому поводу?

Аватара пользователя
Chrst
Сообщения: 370
Зарегистрирован: Пт май 11, 2007 09:28
Откуда: Медиахолдинг "ЛеККС"
Контактная информация:

Сообщение Chrst »

brost писал(а):Теперь ждем побочных эффектов :D . Только вот пока их не замечено :lol: .

У кого есть какие идеи по этому поводу?
Побочные эффекты будут вероятно позднее, когда расчетная сумма не сойдется с фактической.

brost
Сообщения: 10
Зарегистрирован: Пт окт 02, 2009 12:36

Сообщение brost »

Каким образом? поподробнее можно?

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

mikkey finn
Сообщения: 1612
Зарегистрирован: Пт ноя 10, 2006 15:23

Сообщение mikkey finn »

когда отчеты не сойдутся - тогда и увидите.
Баланс это же еще не все. Есть еще и списания.

gil
Сообщения: 355
Зарегистрирован: Вт ноя 11, 2008 14:28

Сообщение gil »

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

brost
Сообщения: 10
Зарегистрирован: Пт окт 02, 2009 12:36

Сообщение brost »

Расчеты с клиентом ведутся только рублями, без копеек.
Абонентская плата 150 рублей,списываемая раз в начале месяца. Если подключение или переподключение происходит в течение месяца, производится перерасчет. Вот отсюда и появляются копейки.
А хотелось бы в отчете чтоб не было копеек.

brost
Сообщения: 10
Зарегистрирован: Пт окт 02, 2009 12:36

Сообщение brost »

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

mikkey finn
Сообщения: 1612
Зарегистрирован: Пт ноя 10, 2006 15:23

Сообщение mikkey finn »

и то и то одновременно. discount_transactions_all обновляется по таймеру/сумме списания(оба параметра описаны в доках). Баланс закеширован ядром.

Ответить