]> gitweb.erp-flowers.ru Git - yii-erp24/.git/commitdiff
add cron/bonus-users-sale-update during moving api1 to yii
authorAlexander Smirnov <fredeom@mail.ru>
Thu, 28 Dec 2023 08:44:19 +0000 (11:44 +0300)
committerAlexander Smirnov <fredeom@mail.ru>
Thu, 28 Dec 2023 08:44:19 +0000 (11:44 +0300)
erp24/api1/actions/cron/BonusUsersSaleUpdateAction.php [new file with mode: 0644]
erp24/api1/controllers/CronController.php
erp24/api1/views/cron/bonus-users-sale-update.php [new file with mode: 0644]

diff --git a/erp24/api1/actions/cron/BonusUsersSaleUpdateAction.php b/erp24/api1/actions/cron/BonusUsersSaleUpdateAction.php
new file mode 100644 (file)
index 0000000..ac7ef49
--- /dev/null
@@ -0,0 +1,12 @@
+<?php
+
+namespace app\actions\cron;
+
+use yii\base\Action;
+
+class BonusUsersSaleUpdateAction extends Action
+{
+    public function run() {
+        return $this->controller->renderPartial('bonus-users-sale-update');
+    }
+}
\ No newline at end of file
index 488f97e19f33783fb3a07e6ddf65234f29a154ea..09880cc79bb65e0b3d246df47102a9af13990f5c 100644 (file)
@@ -18,6 +18,7 @@ class CronController extends BaseController
             'balances-history' => \app\actions\cron\BalanceHistoryAction::class,
             'export-catalog' => \app\actions\cron\ExportCatalogAction::class,
             'cloudpayments-region' => \app\actions\cron\CloudpaymentsRegionAction::class,
+            'bonus-users-sale-update' => \app\actions\cron\BonusUsersSaleUpdateAction::class,
         ];
     }
 }
diff --git a/erp24/api1/views/cron/bonus-users-sale-update.php b/erp24/api1/views/cron/bonus-users-sale-update.php
new file mode 100644 (file)
index 0000000..9e01c16
--- /dev/null
@@ -0,0 +1,129 @@
+<?php
+
+include_once(dirname(__DIR__, 3) . "/startup.php");
+include_once(dirname(__DIR__, 3) . "/inc/db.php");
+
+function get_export_id($export_val, $entity="admin", $export_id=1) {
+    global $db,$arr__export;
+    if(empty($arr__export["$entity$export_id"])) {
+        $data=$db::getRows("SELECT entity_id,export_val FROM export_import_table WHERE entity=? AND export_id=?",[ $entity,$export_id]);
+        foreach($data as $row) {
+            $arr__export["$entity$export_id"][$row["export_val"]]=$row["entity_id"];
+        }
+    }
+    if(isset($arr__export["$entity$export_id"][$export_val])) $value=$arr__export["$entity$export_id"][$export_val];
+    return $value;
+}
+
+// https://api.bazacvetov24.ru/cron/bonus_users_sale_update.php?token_cloud=iC04295J9HyD2H3GJF3btky
+$token="iC04295J9HyD2H3GJF3btky";
+if($_REQUEST["token_cloud"]!=$token) exit();
+
+
+$days=1;
+$days2=$days+1;
+$data = $db::getRows("SELECT phone, price, bonus, name, check_id, store_id_1c FROM users_bonus 
+WHERE date>NOW() - INTERVAL $days2 day AND check_id!='' AND tip='plus' AND tip_sale='sale'");
+foreach($data as $row) {
+    $users_bonus[$row["check_id"]]=$row["bonus"];
+
+
+
+}
+
+
+
+
+//AND  date<NOW() -INTERVAL 30 day
+$data = $db::getRows("SELECT date, id, phone, summ, store_id_1c, seller_id FROM sales WHERE phone!=''
+AND date>NOW() -INTERVAL $days day    AND operation='Продажа'");
+
+echo" <table class=\"table\"><tbody>  ";
+$i = $back_all = 0;
+foreach($data as $row) {
+
+    $ph = $db::getValue("SELECT phone FROM users WHERE phone=?",[$row["phone"]]);
+    if(empty($ph)) {echo"<tr><td><span class=\"btn btn-danger\">".$row["phone"]."</span></td></tr>";
+
+        $seller_id=get_export_id($row["seller_id"], "admin",1);
+        $store_id=get_export_id($row["store_id_1c"], "city_store",1);
+        $pass=rand(1000,9999) ;
+        $setka_id=1;
+        $db::sql("INSERT IGNORE INTO users ( card, kod, pol, keycode, phone, name, name_name, name_last, password, phone_true, bdate, referal_id,
+comment, created_id, created_name, seller_id, created_store_id, created_store, date, sale_store_id,sms_info, reklama_info,  sale_cnt, sale_avg_price, sale_price, store_id, date_last_sale )
+VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, 1, ?, ?, ? , ?, ?, ?, ?, ?, NOW(), ?, 1, 1,  1, '".$row["summ"]."' , '".$row["summ"]."', '".$row["store_id_1c"]."', '".$row["date"]."'   )",
+
+            [ $row["phone"]*2 + 1608 + $setka_id  ,rand(1000,9999), 'none', rand(1000,9999) , $row["phone"], $name, $first_name, $second_name,  $pass, $birth_day, $referral_phone , 'внесен автоматически',
+                $seller_id, $created_name, $seller_id , $store_id, $created_store, $store_id ]);
+
+
+
+
+    }
+
+
+
+    $i++;
+    if(empty($users_bonus[$row["id"]])) {
+        echo"<tr><td>".$row["date"]." </td><td>   ".$row["phone"]."</td><td>  ".$row["name"]."</td><td> + ".$row["summ"]."</td>
+<td>".$row["id"]."   Магазин  ".$row["store_id_1c"]."</td>";
+
+
+//начисляем кэшбек клиенту 10% от покупки - с базы за вычитом бонусов которые он списывает
+        $back=round($row["summ"]*0.1);
+        $back_all +=$back;
+        $nm="Возврат с покупки 10% ".$row["name"]." сумма чека ".$row["summ"]."";
+        $get_arr=$db::getRow("SELECT bonus FROM users_bonus WHERE phone=? AND check_id=?
+  AND tip='plus'  LIMIT 1",[$row["phone"], $row["id"]]);
+
+        if(empty($get_arr)) {
+
+// получаем внутренний ID продаца - сотрудника из таблицы admin
+            $admin_id=get_export_id($row["seller_id"], "admin",1);
+// получаем внутренний ID продаца - сотрудника из таблицы admin
+            $store_id=get_export_id($row["store_id_1c"], "city_store",1);
+
+
+
+            $z2="INSERT IGNORE INTO users_bonus 
+(tip, tip_sale, date, date_start, date_end, phone, 
+name, check_id, store_id, bonus, ip,   site_id, referal_id, admin_id,
+price, store_id_1c, seller_id_1c) 
+ VALUES ('plus', 'sale',  '".$row["date"]."', NOW() + INTERVAL 1 day, NOW() + INTERVAL 365 DAY,
+ '".$row["phone"]."' 
+ ,'$nm'
+ , '".$row["id"]."'
+  , '".$store_id."'   , '".$back."' , '127.0.0.1', 1 , '',  '".$admin_id."' 
+  ,  '".$row["summ"]."'  ,  '".$row["store_id_1c"]."' ,  '".$row["seller_id"]."' 
+)";
+            $db::sql($z2);
+
+//$db::sql($z2,[$phone, $nm , $check_id, $store_id,  $back, $ip,  $site_id, $referal_id,$admin_id,$summa_chek,$store_id_1c,$seller_id ]);
+
+//  $back руб.$nm $check_id=".$row["id"]." date=".$row["date"]." store_id=$store_id store_id_1c=".$row["store_id_1c"]."phone=".$row["phone"]." seller_id=".$row["seller_id"]."
+            echo"<td> $z2</td> ";
+        }
+
+
+
+        echo"</tr>";
+
+    }
+
+
+
+
+}
+echo"</tbody></table>$i. Всего баллов недоначислено $back_all";
+
+
+
+
+$data = $db::getRows("SELECT id, phone FROM sales WHERE phone!='' AND date>NOW() - INTERVAL $days day AND operation='Возврат'");
+foreach($data as $row) {
+    $db::sql("DELETE FROM users_bonus WHERE check_id=? AND check_id!='' AND phone=? AND phone!=''",[$row["id"],$row["phone"]]);
+
+}
+
+
+