From 8d1df0a3425c2aa7e384db831aa1bc698c7c25d7 Mon Sep 17 00:00:00 2001 From: fomichev Date: Wed, 11 Dec 2024 14:28:05 +0300 Subject: [PATCH] =?utf8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD?= =?utf8?q?=D0=B8=D0=B5=20=D1=84=D1=83=D0=BD=D0=BA=D1=86=D0=B8=D0=B8=20?= =?utf8?q?=D0=B8=D0=B7=20=D0=B7=D0=B0=D0=B4=D0=B0=D1=87=D0=B8=20252?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- erp24/records/Users.php | 86 ++++++++++++++++++++++++++++++++++++++--- 1 file changed, 80 insertions(+), 6 deletions(-) diff --git a/erp24/records/Users.php b/erp24/records/Users.php index 9ba3ca5d..2493466b 100755 --- a/erp24/records/Users.php +++ b/erp24/records/Users.php @@ -71,6 +71,7 @@ class Users extends \yii\db\ActiveRecord const NIGHT_FLORIST_ID = 35; const DAY_FLORIST_ID = 40; + /** * {@inheritdoc} */ @@ -132,11 +133,50 @@ class Users extends \yii\db\ActiveRecord ], 'required' ], - [['date', 'name', 'name_name', 'name_last', 'name_family', 'comment', 'email', 'email_old', 'phone_old', 'card', - 'password', 'keycode', 'check_id', 'check_id_forgot', 'sid_forgot', 'forgot_time', 'kod', 'created_id', 'created_name', - 'created_store_id', 'balans_datetime', 'bonus_minus', 'bdate', 'date_last', 'date_last_sale', 'date_first_sale', 'sale_cnt', - 'sale_avg_price', 'sale_price', 'reklama_info', 'alerts_balans', 'alerts_date', 'alerts_reklama', 'ref_code', 'referral_id', - 'seller_id', 'store_id', 'first_minus_balance', 'telegram_unsubscribed_at'], 'safe'], + [ + [ + 'date', + 'name', + 'name_name', + 'name_last', + 'name_family', + 'comment', + 'email', + 'email_old', + 'phone_old', + 'card', + 'password', + 'keycode', + 'check_id', + 'check_id_forgot', + 'sid_forgot', + 'forgot_time', + 'kod', + 'created_id', + 'created_name', + 'created_store_id', + 'balans_datetime', + 'bonus_minus', + 'bdate', + 'date_last', + 'date_last_sale', + 'date_first_sale', + 'sale_cnt', + 'sale_avg_price', + 'sale_price', + 'reklama_info', + 'alerts_balans', + 'alerts_date', + 'alerts_reklama', + 'ref_code', + 'referral_id', + 'seller_id', + 'store_id', + 'first_minus_balance', + 'telegram_unsubscribed_at' + ], + 'safe' + ], [['pol', 'info', 'telegram_created_at'], 'string'], [ [ @@ -240,7 +280,41 @@ class Users extends \yii\db\ActiveRecord ]; } - public function getReferral() { + public function getReferral() + { return $this->hasOne(Users::class, ['id' => 'referral_id']); } + + /** + * https://tracker.yandex.ru/ERP-252 + * @return array + */ + public function getUsersListForKogort() + { + $startDate = date('Y-m-d'); + $endDate = date('Y-m-d', strtotime($startDate . ' +7 days')); + + $salesPhone = Sales::find() + ->where(['>=', 'date', "$startDate 00:00:00"]) + ->andWhere(['<=', 'date', "$endDate 23:59:59"]) + ->distinct('phone') + ->select('phone') + ->column(); + + $memorableDate = UsersEvents::find() + ->where(['>=', 'date', "$startDate 00:00:00"]) + ->andWhere(['<=', 'date', "$endDate 23:59:59"]) + ->distinct('phone') + ->select('phone') + ->column(); + + $usersArray = array_unique(array_merge($salesPhone, $memorableDate)); + + $users = Users::find() + ->andWhere(['phone' => $usersArray]) +// ->andWhere() //заглушка на проверку что он уже участвовал в + ->all(); + return $users; + } + } \ No newline at end of file -- 2.39.5