}
if ($type === 'call' && !empty($existingWhatsappKogort)) {
- return self::processCallKogort($existingWhatsappKogort, $targetDate);
+ return self::processCallKogort($existingTargetKogort, $targetDate);
}
$monthDay = date('m-d', strtotime($targetDate));
$whatsappResult = self::processWhatsappKogort($targetKogortData, $targetDate);
return $type === 'whatsapp'
? $whatsappResult
- : self::processCallKogort($whatsappResult['whatsapp'], $targetDate);
+ : self::processCallKogort($targetKogortData, $targetDate);
}
/**
/**
* Обработка выборки для 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')
);
}
- 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
* @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
{
</div>
<div id="whatsAppSettings" class="collapse">
<div class="card-body">
- <?= $form->field($model, 'channel_name')->textInput(['required' => true])->label('Имя канала <span class="text-danger">*</span>') ?>
+ <?= $form->field($model, 'channel_name')->textInput(['required' => false])->label('Имя канала <span class="text-danger">*</span>') ?>
<?= $form->field($model, 'channel_id')->textInput()->label('Идентификатор канала - подпись') ?>
<?= $form->field($model, 'channel_limit')->textInput(['type' => 'number', 'readonly' => true])->label('Суточный лимит сообщений') ?>
- <?= $form->field($model, 'cascade_name')->textInput(['required' => true])->label('Имя каскада <span class="text-danger">*</span>') ?>
+ <?= $form->field($model, 'cascade_name')->textInput(['required' => false])->label('Имя каскада <span class="text-danger">*</span>') ?>
<?= $form->field($model, 'cascade_id')->textInput(['type' => 'number', 'readonly' => true])->label('ID каскада') ?>
<?= $form->field($model, 'subject_id')->textInput(['type' => 'number', 'readonly' => true])->label('Идентификатор подписи') ?>
- <?= $form->field($model, 'template_name')->textInput(['required' => true])->label('Имя шаблона <span class="text-danger">*</span>') ?>
+ <?= $form->field($model, 'template_name')->textInput(['required' => false])->label('Имя шаблона <span class="text-danger">*</span>') ?>
<?= $form->field($model, 'template_id')->textInput(['type' => 'number', 'readonly' => true])->label('Идентификатор шаблона') ?>
<?= $form->field($model, 'callback_status_url')->textInput()->label('URL приема колбеков статусов сообщений') ?>
</div>