From: Vladimir Fomichev Date: Mon, 25 Aug 2025 06:51:57 +0000 (+0300) Subject: Правки генерации когорт звонка и возможность отключения вотсапа X-Git-Url: https://gitweb.erp-flowers.ru/?a=commitdiff_plain;h=4d7445bae9912fbc0dc641da45f030fe4cdb2a1f;p=erp24_rep%2Fyii-erp24%2F.git Правки генерации когорт звонка и возможность отключения вотсапа --- diff --git a/erp24/records/Users.php b/erp24/records/Users.php index 2f529602..4c557a76 100755 --- a/erp24/records/Users.php +++ b/erp24/records/Users.php @@ -476,7 +476,7 @@ class Users extends \yii\db\ActiveRecord } if ($type === 'call' && !empty($existingWhatsappKogort)) { - return self::processCallKogort($existingWhatsappKogort, $targetDate); + return self::processCallKogort($existingTargetKogort, $targetDate); } $monthDay = date('m-d', strtotime($targetDate)); @@ -544,7 +544,7 @@ class Users extends \yii\db\ActiveRecord $whatsappResult = self::processWhatsappKogort($targetKogortData, $targetDate); return $type === 'whatsapp' ? $whatsappResult - : self::processCallKogort($whatsappResult['whatsapp'], $targetDate); + : self::processCallKogort($targetKogortData, $targetDate); } /** @@ -597,18 +597,18 @@ class Users extends \yii\db\ActiveRecord /** * Обработка выборки для Call когорты */ - private static function processCallKogort(array $whatsappPhones, string $targetDate): array + private static function processCallKogort(array $targetPhones, string $targetDate): array { $messagesSettings = UsersMessageManagement::find()->one(); - $step2 = $messagesSettings ? $messagesSettings->day_before_step2 : 4; + $step1 = $messagesSettings ? $messagesSettings->day_before_step1 : 10; $step3 = $messagesSettings ? $messagesSettings->day_before_step3 : 2; - // Исключаем телефоны с продажами в период от 4 до 2 дней до даты + // Исключаем телефоны с продажами в период от 10 до 2 дней до даты $excludeSalesPhone = Sales::find() - ->where(['>=', 'date', date('Y-m-d', strtotime("$targetDate -$step2 days"))]) + ->where(['>=', 'date', date('Y-m-d', strtotime("$targetDate -$step1 days"))]) ->andWhere(['<=', 'date', date('Y-m-d', strtotime("$targetDate -$step3 days"))]) - ->andWhere(['phone' => $whatsappPhones]) + ->andWhere(['phone' => $targetPhones]) ->andWhere(['not', ['phone' => 0]]) ->distinct('phone') ->select('phone') @@ -625,7 +625,7 @@ class Users extends \yii\db\ActiveRecord ); } - return array_diff($whatsappPhones, $excludeSalesPhone); + return array_diff($targetPhones, $excludeSalesPhone); } public static function saveKogort(array $phones, string $kogortDate, string $targetDate, int $kogort_number, bool $delete = false): array diff --git a/erp24/records/UsersMessageManagement.php b/erp24/records/UsersMessageManagement.php index 6ffad82e..eadcabe6 100644 --- a/erp24/records/UsersMessageManagement.php +++ b/erp24/records/UsersMessageManagement.php @@ -32,15 +32,15 @@ use Yii; * @property string|null $date_end Дата и время завершения события * @property string $test_phones_list Список тестовых телефонов * @property string $test_phones_active Активность тестового списка - * @property string $channel_name Имя канала - * @property string $channel_id Идентификатор канала - подпись - * @property string $channel_limit Суточный лимит сообщений - * @property string $cascade_name Имя каскада - * @property string $cascade_id ID каскада - * @property string $subject_id Идентификатор подписи - * @property string $template_name Имя шаблона - * @property string $template_id Идентификатор шаблона - * @property string $callback_status_url URL приема колбеков статусов сообщений + * @property string|null $channel_name Имя канала + * @property string|null $channel_id Идентификатор канала - подпись + * @property int|null $channel_limit Суточный лимит сообщений + * @property string|null $cascade_name Имя каскада + * @property int|null $cascade_id ID каскада + * @property int|null $subject_id Идентификатор подписи + * @property string|null $template_name Имя шаблона + * @property int|null $template_id Идентификатор шаблона + * @property string|null $callback_status_url URL приема колбеков статусов сообщений */ class UsersMessageManagement extends \yii\db\ActiveRecord { diff --git a/erp24/views/users-message-management/index.php b/erp24/views/users-message-management/index.php index 9919fff3..2ae1da1d 100644 --- a/erp24/views/users-message-management/index.php +++ b/erp24/views/users-message-management/index.php @@ -284,13 +284,13 @@ $this->registerCss('
- field($model, 'channel_name')->textInput(['required' => true])->label('Имя канала *') ?> + field($model, 'channel_name')->textInput(['required' => false])->label('Имя канала *') ?> field($model, 'channel_id')->textInput()->label('Идентификатор канала - подпись') ?> field($model, 'channel_limit')->textInput(['type' => 'number', 'readonly' => true])->label('Суточный лимит сообщений') ?> - field($model, 'cascade_name')->textInput(['required' => true])->label('Имя каскада *') ?> + field($model, 'cascade_name')->textInput(['required' => false])->label('Имя каскада *') ?> field($model, 'cascade_id')->textInput(['type' => 'number', 'readonly' => true])->label('ID каскада') ?> field($model, 'subject_id')->textInput(['type' => 'number', 'readonly' => true])->label('Идентификатор подписи') ?> - field($model, 'template_name')->textInput(['required' => true])->label('Имя шаблона *') ?> + field($model, 'template_name')->textInput(['required' => false])->label('Имя шаблона *') ?> field($model, 'template_id')->textInput(['type' => 'number', 'readonly' => true])->label('Идентификатор шаблона') ?> field($model, 'callback_status_url')->textInput()->label('URL приема колбеков статусов сообщений') ?>