можно ли реализовать такое? если да то как?
хотелось бы определенным пользователям делать бонусный платеж автоматически каждый месяц.
Бонус - определенная сумма на счет каждый месяц
Re: Бонус - определенная сумма на счет каждый месяц
если кому нужно сделал вот такую схему( по другому не понял как сделать. через Extfin сумма депозита не менялась)
1. добавляем информационное поле bonus
2. пишем скрипт
ложим его в удобное место и запускаем по крону раз в месяц.
3. у нужных абонов в поле бонус пишем сумму бонуса.
4. наслаждаемся)
P.S. за основу взят первоначальная версия бонусной системы от Asmodeus.
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.