From 19c093f9419ece273c21716a33b8d2d68bac6a84 Mon Sep 17 00:00:00 2001 From: Alexander Smirnov Date: Thu, 28 Dec 2023 11:44:19 +0300 Subject: [PATCH] add cron/bonus-users-sale-update during moving api1 to yii --- .../cron/BonusUsersSaleUpdateAction.php | 12 ++ erp24/api1/controllers/CronController.php | 1 + .../views/cron/bonus-users-sale-update.php | 129 ++++++++++++++++++ 3 files changed, 142 insertions(+) create mode 100644 erp24/api1/actions/cron/BonusUsersSaleUpdateAction.php create mode 100644 erp24/api1/views/cron/bonus-users-sale-update.php diff --git a/erp24/api1/actions/cron/BonusUsersSaleUpdateAction.php b/erp24/api1/actions/cron/BonusUsersSaleUpdateAction.php new file mode 100644 index 0000000..ac7ef49 --- /dev/null +++ b/erp24/api1/actions/cron/BonusUsersSaleUpdateAction.php @@ -0,0 +1,12 @@ +controller->renderPartial('bonus-users-sale-update'); + } +} \ No newline at end of file diff --git a/erp24/api1/controllers/CronController.php b/erp24/api1/controllers/CronController.php index 488f97e..09880cc 100644 --- a/erp24/api1/controllers/CronController.php +++ b/erp24/api1/controllers/CronController.php @@ -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 index 0000000..9e01c16 --- /dev/null +++ b/erp24/api1/views/cron/bonus-users-sale-update.php @@ -0,0 +1,129 @@ +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 dateNOW() -INTERVAL $days day AND operation='Продажа'"); + +echo" "; +$i = $back_all = 0; +foreach($data as $row) { + + $ph = $db::getValue("SELECT phone FROM users WHERE phone=?",[$row["phone"]]); + if(empty($ph)) {echo""; + + $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" +"; + + +//начисляем кэшбек клиенту 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" "; + } + + + + echo""; + + } + + + + +} +echo"
".$row["phone"]."
".$row["date"]." ".$row["phone"]." ".$row["name"]." + ".$row["summ"]."".$row["id"]." Магазин ".$row["store_id_1c"]." $z2
$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"]]); + +} + + + -- 2.39.5