added time working

This commit is contained in:
2026-08-23 17:13:30 +03:30
parent 657c10d1cc
commit d3997cfc8f
5 changed files with 213 additions and 56 deletions
+36 -28
View File
@@ -17,7 +17,7 @@ class AutomationCatalog
public const CHANNEL_IN_APP = 'in_app';
public const EVENTS = [
['key' => 'customer.login', 'name' => 'ورود مشتری'],
['key' => 'customer.login', 'name' => 'ورود کاربر'],
['key' => 'order.buy_success', 'name' => 'خرید موفق'],
['key' => 'order.sell_success', 'name' => 'فروش موفق'],
['key' => 'wallet.rial_charge', 'name' => 'شارژ ریالی کیف'],
@@ -29,10 +29,18 @@ class AutomationCatalog
{
return [
'triggers' => [
['key' => self::TRIGGER_SCHEDULE, 'name' => 'زمان‌دار (اسکن ساعتی)'],
['key' => self::TRIGGER_EVENT, 'name' => 'بعد از رویداد'],
['key' => self::TRIGGER_SCHEDULE, 'name' => 'زمان‌دار (هر N روز)'],
['key' => self::TRIGGER_EVENT, 'name' => 'رویداد (سر ضرب / تأخیر)'],
['key' => self::TRIGGER_PRICE, 'name' => 'حرکت قیمت'],
],
'price_windows' => [
['key' => 'calendar_day', 'name' => 'در یک روز (از شروع امروز)'],
['key' => 'from_last', 'name' => 'از آخرین ارسال (پله‌ای)'],
],
'audience_modes' => [
['key' => 'all', 'name' => 'همه کاربران خانگی'],
['key' => 'filter', 'name' => 'با فیلتر شرط'],
],
'events' => self::EVENTS,
'channels' => [
['key' => self::CHANNEL_SMS, 'name' => 'پیامک'],
@@ -66,13 +74,13 @@ class AutomationCatalog
return [
[
'key' => 'never_login',
'group' => 'حضور',
'group' => 'ورود و بازدید',
'name' => 'هرگز وارد اپ نشده',
'inputs' => [],
],
[
'key' => 'last_seen_older_days',
'group' => 'حضور',
'group' => 'ورود و بازدید',
'name' => 'آخرین بازدید قدیمی‌تر از N روز',
'inputs' => [
['key' => 'value', 'type' => 'number', 'label' => 'تعداد روز'],
@@ -80,7 +88,7 @@ class AutomationCatalog
],
[
'key' => 'last_seen_within_days',
'group' => 'حضور',
'group' => 'ورود و بازدید',
'name' => 'آخرین بازدید در N روز اخیر',
'inputs' => [
['key' => 'value', 'type' => 'number', 'label' => 'تعداد روز'],
@@ -88,10 +96,10 @@ class AutomationCatalog
],
[
'key' => 'is_legal',
'group' => 'مشتری',
'name' => 'وضعیت احراز',
'group' => 'حساب کاربر',
'name' => 'وضعیت احراز هویت',
'inputs' => [
['key' => 'value', 'type' => 'select', 'label' => 'وضعیت', 'options' => [
['key' => 'value', 'type' => 'select', 'label' => 'وضعیت احراز', 'options' => [
['key' => 0, 'name' => 'احراز نشده'],
['key' => 1, 'name' => 'احراز خودکار'],
['key' => 2, 'name' => 'تأیید ادمین'],
@@ -100,10 +108,10 @@ class AutomationCatalog
],
[
'key' => 'active',
'group' => 'مشتری',
'name' => 'حساب فعال',
'group' => 'حساب کاربر',
'name' => 'حساب فعال / غیرفعال',
'inputs' => [
['key' => 'value', 'type' => 'select', 'label' => 'وضعیت', 'options' => [
['key' => 'value', 'type' => 'select', 'label' => 'وضعیت حساب', 'options' => [
['key' => 1, 'name' => 'فعال'],
['key' => 0, 'name' => 'غیرفعال'],
]],
@@ -111,7 +119,7 @@ class AutomationCatalog
],
[
'key' => 'registered_older_days',
'group' => 'مشتری',
'group' => 'حساب کاربر',
'name' => 'ثبت‌نام قدیمی‌تر از N روز',
'inputs' => [
['key' => 'value', 'type' => 'number', 'label' => 'تعداد روز'],
@@ -119,7 +127,7 @@ class AutomationCatalog
],
[
'key' => 'registered_within_days',
'group' => 'مشتری',
'group' => 'حساب کاربر',
'name' => 'ثبت‌نام در N روز اخیر',
'inputs' => [
['key' => 'value', 'type' => 'number', 'label' => 'تعداد روز'],
@@ -127,40 +135,40 @@ class AutomationCatalog
],
[
'key' => 'orders_count',
'group' => 'مشتری',
'group' => 'حساب کاربر',
'name' => 'تعداد سفارش',
'inputs' => [
['key' => 'op', 'type' => 'operator', 'label' => 'عملگر'],
['key' => 'value', 'type' => 'number', 'label' => 'عدد'],
['key' => 'op', 'type' => 'operator', 'label' => 'مقایسه'],
['key' => 'value', 'type' => 'number', 'label' => 'تعداد'],
],
],
[
'key' => 'wallet_cash',
'group' => 'کیف',
'group' => 'کیف پول',
'name' => 'موجودی ریال کیف اصلی',
'inputs' => [
['key' => 'op', 'type' => 'operator', 'label' => 'عملگر'],
['key' => 'value', 'type' => 'number', 'label' => 'ریال'],
['key' => 'op', 'type' => 'operator', 'label' => 'مقایسه'],
['key' => 'value', 'type' => 'number', 'label' => 'مبلغ (ریال)'],
],
],
[
'key' => 'wallet_gold',
'group' => 'کیف',
'group' => 'کیف پول',
'name' => 'موجودی طلا کیف اصلی',
'inputs' => [
['key' => 'op', 'type' => 'operator', 'label' => 'عملگر'],
['key' => 'value', 'type' => 'number', 'label' => 'گرم'],
['key' => 'op', 'type' => 'operator', 'label' => 'مقایسه'],
['key' => 'value', 'type' => 'number', 'label' => 'مقدار (گرم)'],
],
],
[
'key' => 'never_ordered',
'group' => 'معامله',
'group' => 'خرید و فروش',
'name' => 'هرگز معامله موفق نداشته',
'inputs' => [],
],
[
'key' => 'has_buy_within_days',
'group' => 'معامله',
'group' => 'خرید و فروش',
'name' => 'خرید موفق در N روز اخیر',
'inputs' => [
['key' => 'value', 'type' => 'number', 'label' => 'تعداد روز'],
@@ -168,7 +176,7 @@ class AutomationCatalog
],
[
'key' => 'has_sell_within_days',
'group' => 'معامله',
'group' => 'خرید و فروش',
'name' => 'فروش موفق در N روز اخیر',
'inputs' => [
['key' => 'value', 'type' => 'number', 'label' => 'تعداد روز'],
@@ -176,7 +184,7 @@ class AutomationCatalog
],
[
'key' => 'last_order_older_days',
'group' => 'معامله',
'group' => 'خرید و فروش',
'name' => 'آخرین معامله موفق قدیمی‌تر از N روز',
'inputs' => [
['key' => 'value', 'type' => 'number', 'label' => 'تعداد روز'],
@@ -184,7 +192,7 @@ class AutomationCatalog
],
[
'key' => 'has_deposit_within_days',
'group' => 'واریز',
'group' => 'شارژ کیف',
'name' => 'شارژ ریالی در N روز اخیر',
'inputs' => [
['key' => 'value', 'type' => 'number', 'label' => 'تعداد روز'],