Advertisement
Guest User

Untitled

a guest
May 24th, 2016
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 6.10 KB | None | 0 0
  1. <?php
  2. // Переменные для коннекта к базе mysql.
  3. $hostname = "localhost";
  4. $username = "root";
  5. $password = "asdfasdfasdfasdf";
  6. $dbName = "UTM5";
  7.  
  8. // Соединенте с базой.
  9. mysql_connect($hostname,$username,$password) OR DIE("Не могу создать соединение ");
  10. mysql_select_db($dbName) or die(mysql_error());
  11.  
  12. $log_file = "/netup/utm5/log/bonuses/bonus_".date("Y_m_d").".log";
  13. $file_handle = fopen($log_file,"a+");
  14.  
  15. fwrite($file_handle, date("d.m.Y H:i:s")."\r\n");
  16.  
  17. //echo "Выбираем расчетные периоды которые закончался не ранее чем через сутки,
  18. //но! выбираем только расчетыне периоды длинной более 28 дней (високосный февраль).";
  19. $query0 = "SELECT `id` ,from_unixtime(`start_date`), from_unixtime(`end_date`),
  20.             `periodic_type`, `next_discount_period_id`, `discount_interval`,
  21.             `canonical_len`, `is_expired`, `custom_duration`, `static_id`
  22.            FROM `discount_periods`
  23.            WHERE `canonical_len` >= 2419200
  24.             AND `is_expired` = 0
  25.             AND `end_date` <= ( unix_timestamp( CURDATE( ) ) + 172799)";
  26. mysql_query("SET NAMES utf8");
  27. $res0 = mysql_query($query0) or die(mysql_error());
  28. $number = mysql_num_rows($res0);
  29.  
  30. if ($number=='0') {
  31.     $pr = "Нет таковых на сегодняшний день... \n";
  32.     fwrite($file_handle, date("d.m.Y H:i:s")."\r\n".print_r($pr ,true)."\r\n");
  33.     exit;
  34. }
  35.  
  36. while ($row0 = mysql_fetch_array($res0)) {
  37.     $i++;
  38.     $dpid = $row0[0];
  39.     $expdate = $row0[1];
  40.     $query1 = "SELECT `id`, `account_id`, `tariff_id`, `next_tariff_id`,
  41.                 `discount_period_id`, `is_deleted`, from_unixtime(`link_date`)
  42.                FROM `account_tariff_link`
  43.                WHERE `is_deleted` = 0 AND `discount_period_id` =".$dpid;
  44.     mysql_query("SET NAMES utf8");
  45.     $res1 = mysql_query($query1) or die(mysql_error());
  46.  
  47.     while ($row1 = mysql_fetch_array($res1)) {
  48.         $acid = $row1[1];
  49.         $tid = $row1[2];
  50.         $tnid = $row1[3];
  51.         $cost = 0;
  52.         $query2 = "SELECT `id`, `tariff_id`, `service_id`, `is_deleted`
  53.                    FROM `tariffs_services_link`
  54.                    WHERE `is_deleted` = 0 AND `tariff_id` =".$tnid;
  55.         mysql_query("SET NAMES utf8");
  56.         $res2 = mysql_query($query2) or die(mysql_error());
  57.         while ($row2 = mysql_fetch_array($res2)) {
  58.             $slid = $row2[2];
  59.             $query3 = "SELECT `id`, `cost`, `discount_method`, `start_date`,
  60.                         `expire_date`, `radius_sessions_limit`, `is_deleted`
  61.                        FROM `periodic_services_data`
  62.                        WHERE `is_deleted`= 0 and `id` =".$slid;
  63.             mysql_query("SET NAMES utf8");
  64.             $res3 = mysql_query($query3) or die(mysql_error());
  65.             while ($row3 = mysql_fetch_array($res3)) {
  66.                 $cost = $cost+$row3[1];
  67.             }
  68.         }
  69. #       $discont=$cost*0.1;
  70.         $query4 = "SELECT `id`, `account_id`, `block_type`, from_unixtime(`start_date`),
  71.                     from_unixtime(`expire_date`), `is_planning`, `is_deleted`, `unabon`,
  72.                     `unprepay`
  73.                    FROM `blocks_info`
  74.                    WHERE expire_date >= unix_timestamp(DATE_SUB(NOW(), INTERVAL 90 DAY))
  75.                     AND `account_id`=".$acid;
  76.         mysql_query("SET NAMES utf8");
  77.         $res4 = mysql_query($query4) or die(mysql_error());
  78.         $number4 = mysql_num_rows($res4);
  79.         if ($number4=='0') {
  80.             $query5 = "SELECT * FROM `users` WHERE `is_deleted`=0
  81.                         AND `is_juridical`=0
  82.                         AND `id`=".$acid;
  83.             mysql_query("SET NAMES utf8");
  84.             $res5 = mysql_query($query5) or die(mysql_error());
  85.             $row5 = mysql_fetch_array($res5);
  86.             $createdate = $row5[5];
  87.             $timestamp = time();
  88.             print "Create date     : ".$createdate." - ".date( 'H:i d-m-y', $createdate)."\n";
  89.             print "Now date        : ".$timestamp." - ".date( 'H:i d-m-y', $timestamp)."\n";
  90.             $oneyear = $timestamp-(60*60*24*30*12);
  91.             $twoyear = $timestamp-(60*60*24*30*24);
  92. #           print "12 month lather : ".$oneyear." - ".date( 'H:i d-m-y', $oneyear)."\n";
  93. #           print "24 month lather : ".$twoyear." - ".date( 'H:i d-m-y', $twoyear)."\n";
  94.             if ($createdate>$twoyear) { $discount = 3; }
  95.             if ($createdate<$oneyear) { $discount = 5; }
  96.             if ($createdate<$twoyear) { $discount = 10; }
  97.             print "Discaunt : ".$discount."\n";
  98.             $discont = $cost*$discount/100;
  99.             $a = "Можно начислить бонус этому абоненту... \n ";
  100.             $b = "Аккаунт абонента: ".$row1[1]." \n ID текущего тарифа: ".$row1[2]." \n ID Следующего тарифа: ".$row1[3]." \n ";
  101.             $c = "ID услуги: ".$slid." \n ";
  102.             $d = "Стоимость тарифа : ".$cost." рублей. \n ";
  103.             $e = "Возможный бонус : ".$discont." рублей  \n ";
  104.             $insert = "INSERT INTO my.bonus (id, name, description, date_start, date_stop,
  105.                         account, summa, active )
  106.                        VALUES (NULL , 'Бонус \"Точно в срок\"',
  107.                         'Уважаемый абонент ООО \"Интертелеком\". Вы в течении последних 90 суток в срок производили оплату услуг, в связи с этим вам начислен бонус, в размере ".$discount."% от стоимости вашего тарифного плана. Процент бонуса засисит от продолжительности обсуживания в нашей компании.',
  108.                         CURDATE( ) , (CURDATE( ) + INTERVAL 30 DAY), '".$row1[1]."', '".$discont."', '1')";
  109.             print $a.$b.$c.$d.$e."\n";
  110.             $f = $insert;
  111.             print $insert."\n";
  112.             mysql_query("SET NAMES utf8");
  113.             $result = mysql_query($insert) or die(mysql_error());
  114.             $g = $result;
  115.             $pr = $a.$b.$c.$d.$e.$f.$g." \n ";
  116.             fwrite($file_handle, print_r($pr,true)."\r\n");
  117.             $bonus = 1;
  118.             $summ_bonus = $summ_bonus + $discont;
  119.         }
  120.         if ($number4>'0') { $bonus = 0; }
  121.         $count_bonus = $count_bonus + $bonus;
  122.     }
  123. }
  124.  
  125. $a1 = "Всего записей найдено: ".$i." \n ";    
  126. $b1 = "Можно начислить бонусов: ".$count_bonus." \n ";    
  127. $c1 = "На сумму: ".$summ_bonus." рублей \n ";    
  128. $d1 = " \n ---------------------------------------------------------------- \n ";
  129. $pr = $a1.$b1.$c1.$d1;
  130. fwrite($file_handle, print_r($pr,true)."\r\n");
  131. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement