Импорт начислений из UTM4 в другую БД

Вопросы по UTM 3.0 и UTM 4.0 (поддержка прекращена)
Закрыто
amd
Сообщения: 9
Зарегистрирован: Вс июл 10, 2005 08:04

Импорт начислений из UTM4 в другую БД

Сообщение amd »

В орг-ции возникла задачка вести всю информацию (билинг и прочие услуги централизовано, т.е. в одной Б.Д.). Заточить под это биллинг не актуально, поскольку существует другое не менее глобальное приложение для осуществления начислений, платежей, логирования и пр.

Поэтому необходимо производить экспорт начислений и платежей как из UTM в др базу так и импорт из др базы в UTM.
Ну и собсно как это делать:

1) Экспорт начислений за услуги из UTM, делаем запрос (за некоторый месяц) для каждого пользователя

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

SELECT SUM(qnt),prod_code,number FROM prod_discount_history
WHERE uid=$uid AND discount_date>=UNIX_TIMESTAMP&#40;'2005-06-01'&#41; AND discount_date<UNIX_TIMESTAMP&#40;'2005-07-01'&#41;
GROUP BY prod_code

2) Импорт платежа в UTM

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

// внесение платежа
SELECT * FROM users WHERE id='$uid'

INSERT INTO balance_history&#40;id,balance_in,balance_out,gm_in,gm_out,date,uid,gm_type,comment,gm_target&#41;
VALUES &#40;NULL,'0','$pay','$pay','0',UNIX_TIMESTAMP&#40;'2005-07-01'&#41;,'$uid','1','',''&#41;

UPDATE users SET bill=bill+'$pay' WHERE id="$uid"

UPDATE users SET bill_abs=bill_abs+'$pay' WHERE id="$uid"

// если нада снимаем блок
UPDATE users SET block='0' WHERE id='$uid'

UPDATE blocks SET end='UNIX_TIMESTAMP&#40;'2005-07-01'&#41;' WHERE uid=$uid AND b_type='3' AND b_target='2' AND b_target_id='0'

// пишем лог
INSERT INTO bills_history&#40;login,date,qnt,who,what,comments,currency_id,qnt_currency,real_pay_date,uid&#41;
VALUES &#40;'логин $uid', '1123576437', '$pay','$operator_name','payment','Платеж из др. бд','$operator_uid','$pay','UNIX_TIMESTAMP&#40;'2005-07-01'&#41;','$uid'&#41;
Все ли я верно представляю себе?[/code]

Закрыто