Страница 1 из 1
Бонус - определенная сумма на счет каждый месяц
Добавлено: Пт фев 22, 2013 7:19 am
kaktatak
можно ли реализовать такое? если да то как?
хотелось бы определенным пользователям делать бонусный платеж автоматически каждый месяц.
Re: Бонус - определенная сумма на счет каждый месяц
Добавлено: Чт мар 28, 2013 8:18 am
kaktatak
если кому нужно сделал вот такую схему( по другому не понял как сделать. через Extfin сумма депозита не менялась)
1. добавляем информационное поле bonus
2. пишем скрипт
Код: Выделить всё
#!/usr/bin/perl -w
#Bonus payments
use Env;
use DBI;
use Time::Local;
use vars qw( %conf $db $DATE $TIME $users $Y $M $D );
use FindBin '$Bin';
my $db_db = 0;
require $Bin . '/config.pl';
if (!($db_db = DBI->connect("DBI:mysql:$conf{dbname}:$conf{dbhost}",$conf{dbuser},$conf{dbpasswd})))
{die "Could not connect to database!!!";}
my $db_query = $db_db->prepare("
SELECT dv_main.uid,bills.id,bills.deposit,_bonus FROM users_pi
LEFT OUTER JOIN dv_main ON (users_pi.uid = dv_main.uid)
INNER JOIN bills ON (users_pi.uid = bills.uid)
WHERE _bonus!=0");
$db_query->execute;
while(my @db_result = $db_query->fetchrow_array){
my $userid=$db_result[0];
my $billid=$db_result[1];
my $deposit=$db_result[2];
my $paysum=$db_result[3];
my $ipadd='127.0.0.1';
my $desctext='Bonus';
my $oldsum=$db_result[2];
my $admid=2;
my $metod=4;
$db_db->do("INSERT INTO payments (uid, bill_id, date, sum, dsc, ip, last_deposit, aid, method, ext_id)
values ('$userid', '$billid', now(), '$paysum', '$desctext', INET_ATON ('$ipadd'), '$oldsum', '$admid', '$metod', '')");
$db_db->do("UPDATE bills SET deposit=deposit+$paysum WHERE id='$billid'");
}
ложим его в удобное место и запускаем по крону раз в месяц.
3. у нужных абонов в поле бонус пишем сумму бонуса.
4. наслаждаемся)
P.S. за основу взят первоначальная версия бонусной системы от Asmodeus.