BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 22 июн 2025, 15:28

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




Начать новую тему Ответить на тему  [ Сообщений: 10 ] 
Автор Сообщение
СообщениеДобавлено: 01 апр 2010, 14:07 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 24 июн 2009, 17:49
Сообщения: 640
Карма: 10
Доброго времени суток!

Нужно было в марте посадить всем определенную сумму как подарок, я сделал так:
цикл по всем контрактам
{
insert into contract_payment(dt, cid, pt, uid, summa) values('2010-03-19', ".$id.", 31, 1, 1.00)
}
где $id - id договора.

Деньги сели, но обнаружилась такая проблема - они как-то странно добавились в общий баланс, я даже пока точно не могу описать проблему, пошли разные глюки с исходящими остатками, особенно в новом месяце...
Плюс пришло письмо в котором биллинг ругается "Обнаружены расхождения суммы платежей/расходов/наработки за месяц 2010.03 для следующих кодов договоров:" и дальше следуют все существующие договоры.

В моем методе выставления оплаты есть какая-то ошибка? Так делать нельзя? И если так - то, можно все как-то поправить? И как - правильно делать такие вещи?

Спасибо всем заранее и очень надеюсь на скорый ответ!!!


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 01 апр 2010, 14:24 
Не в сети

Зарегистрирован: 16 ноя 2007, 16:11
Сообщения: 829
Карма: 49
А вот такого у вас нет?
viewtopic.php?f=7&t=3792


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 01 апр 2010, 14:28 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 24 июн 2009, 17:49
Сообщения: 640
Карма: 10
vdd писал(а):
А вот такого у вас нет?
viewtopic.php?f=7&t=3792


к счастью, такого нет :)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 01 апр 2010, 14:43 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 24 июн 2009, 17:49
Сообщения: 640
Карма: 10
обнаружилась интересная штука:
смотрю "баланс" за март - вижу "приход за месяц" 20у.е.,
смотрю "Приход" за март - вижу 20у.е (оплата от клиента) и 1у.е (подарок)

Получается, что положенные мной подарочные деньги хоть и сели в приход, но не сели в баланс? можно это как-то поправить, учитывая, что уже начался новый месяц?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 01 апр 2010, 15:10 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 24 июн 2009, 17:49
Сообщения: 640
Карма: 10
еще новости:

подарочные деньги успешно сели не только в приход, но и в итоговый баланс тем пользователям, у которых были обычные оплаты в марте, ПОСЛЕ подарочного платежа!


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 01 апр 2010, 15:21 
Не в сети
Разработчик

Зарегистрирован: 07 апр 2007, 23:51
Сообщения: 4494
Откуда: Уфа, Россия
Карма: 187
так как вы добавляли через sql то таблица баланса не пересчитывалась, поэтому такие глюки...
по мере пересчета баланса у клиентов ваш платеж будет всплывать...


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 01 апр 2010, 15:28 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 24 июн 2009, 17:49
Сообщения: 640
Карма: 10
skn писал(а):
так как вы добавляли через sql то таблица баланса не пересчитывалась, поэтому такие глюки...
по мере пересчета баланса у клиентов ваш платеж будет всплывать...


Спасибо за ответ.

А можно как-то ускорить процесс пересчета? И будет ли он в этом месяце? Потому как есть случай когда уже в апреле клиент себе посадил деньги, а мартовский подарок ему не сел...

И еще вопрос - как ПРАВИЛЬНО нужно делать такие вещи?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 01 апр 2010, 15:34 
Не в сети
Аватара пользователя

Зарегистрирован: 19 мар 2009, 16:15
Сообщения: 210
Откуда: Уфа
Карма: 27
survivor писал(а):
И еще вопрос - как ПРАВИЛЬНО нужно делать такие вещи?

Глобальным скриптом поведения, а там через API биллинга (PaymentManager). И вызывать updateBalance для каждого договора после этого в BalanceUtils.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 01 апр 2010, 15:39 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 24 июн 2009, 17:49
Сообщения: 640
Карма: 10
Дорогой коммунити! Помогите, пожалуйста, с соответствующим скриптом поведения!
Нужно поставить оплату N всем пользователям группы X...


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 01 апр 2010, 18:48 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 24 июн 2009, 17:49
Сообщения: 640
Карма: 10
сделал так:

import bitel.billing.server.util.*;
import bitel.billing.server.contract.bean.*;
import java.sql.*;
import java.math.*;


public void main( setup, con, conSlave )
{
BalanceUtils balanceManager = new BalanceUtils( con );

Calendar curMonthBegin = new GregorianCalendar();
curMonthBegin.set( Calendar.DATE, curMonthBegin.getActualMinimum( Calendar.DATE ) );

Calendar prevMonthEnd = curMonthBegin.clone();
prevMonthEnd.add( Calendar.DATE, -1 );

String query = "SELECT `title`, `id` FROM `contract`";
PreparedStatement ps = con.prepareStatement( query );
ResultSet rs = ps.executeQuery();
while( rs.next() )
{
String title=rs.getString("title");
int cid=rs.getInt("id");

balanceManager.updateBalance(curMonthBegin.getTime(), cid);
balanceManager.updateBalance(prevMonthEnd.getTime(), cid);

}
rs.close();
ps.close();
}

все пересчиталось! :-)


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

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


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

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


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

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