<?php namespace App\Console\Commands; use App\Models\Blacklists; use App\Models\Campaigns; use App\Models\CampaignsList; use App\Models\CampaignsSenderid; use App\Models\CampaignsSendingServer; use App\Models\ChatBox; use App\Models\ChatBoxMessage; use App\Models\ContactGroups; use App\Models\Contacts; use App\Models\Currency; use App\Models\Customer; use App\Models\Invoices; use App\Models\Keywords; use App\Models\Language; use App\Models\PhoneNumbers; use App\Models\Plan; use App\Models\PlansSendingServer; use App\Models\Reports; use App\Models\Role; use App\Models\Senderid; use App\Models\SenderidPlan; use App\Models\SendingServer; use App\Models\SpamWord; use App\Models\Subscription; use App\Models\SubscriptionLog; use App\Models\SubscriptionTransaction; use App\Models\Templates; use App\Models\TemplateTags; use App\Models\User; use Carbon\Carbon; use Faker\Factory; use Illuminate\Console\Command; use Illuminate\Support\Facades\DB; class UpdateDemo extends Command { /** * The name and signature of the console command. * * @var string */ protected $signature = 'demo:update'; /** * The console command description. * * @var string */ protected $description = 'Update Demo Database in every day'; /** * Create a new command instance. * * @return void */ public function __construct() { parent::__construct(); } /** * Execute the console command. * * @return int */ public function handle(): int { DB::statement('SET FOREIGN_KEY_CHECKS=0;'); DB::table('languages')->truncate(); DB::statement('SET FOREIGN_KEY_CHECKS=1;'); $languages = [ [ 'name' => 'English', 'code' => 'en', 'iso_code' => 'us', 'status' => true, ], [ 'name' => 'French', 'code' => 'fr', 'iso_code' => 'fr', 'status' => true, ], [ 'name' => 'Chinese', 'code' => 'zh', 'iso_code' => 'cn', 'status' => true, ], [ 'name' => 'Spanish', 'code' => 'es', 'iso_code' => 'es', 'status' => true, ], [ 'name' => 'Portuguese', 'code' => 'pt', 'iso_code' => 'br', 'status' => true, ], [ 'name' => 'Arabic', 'code' => 'ar', 'iso_code' => 'sa', 'status' => true, ], [ 'name' => 'Italian', 'code' => 'it', 'iso_code' => 'it', 'status' => true, ], [ 'name' => 'Korean', 'code' => 'ko', 'iso_code' => 'kr', 'status' => true, ], [ 'name' => 'Slovenian', 'code' => 'sl', 'iso_code' => 'sk', 'status' => true, ], ]; foreach ($languages as $language) { Language::create($language); } $defaultPassword = '12345678'; // Create super admin user $user = new User(); $role = new Role(); $customer = new Customer(); DB::statement('SET FOREIGN_KEY_CHECKS=0;'); $user->truncate(); $role->truncate(); $customer->truncate(); DB::table('role_user')->truncate(); DB::statement('SET FOREIGN_KEY_CHECKS=1;'); /* * Create roles */ $superAdminRole = $role->create([ 'name' => 'administrator', 'status' => true, ]); foreach ( [ 'access backend', 'view customer', 'create customer', 'edit customer', 'delete customer', 'view subscription', 'new subscription', 'manage subscription', 'delete subscription', 'manage plans', 'create plans', 'edit plans', 'delete plans', 'manage currencies', 'create currencies', 'edit currencies', 'delete currencies', 'view sending_servers', 'create sending_servers', 'edit sending_servers', 'delete sending_servers', 'view keywords', 'create keywords', 'edit keywords', 'delete keywords', 'view sender_id', 'create sender_id', 'edit sender_id', 'delete sender_id', 'view blacklist', 'create blacklist', 'edit blacklist', 'delete blacklist', 'view spam_word', 'create spam_word', 'edit spam_word', 'delete spam_word', 'view administrator', 'create administrator', 'edit administrator', 'delete administrator', 'view roles', 'create roles', 'edit roles', 'delete roles', 'general settings', 'system_email settings', 'authentication settings', 'notifications settings', 'localization settings', 'pusher settings', 'view languages', 'new languages', 'manage languages', 'delete languages', 'view payment_gateways', 'update payment_gateways', 'view email_templates', 'update email_templates', 'view background_jobs', 'view purchase_code', 'manage update_application', 'manage maintenance_mode', 'view invoices', 'create invoices', 'edit invoices', 'delete invoices', 'view sms_history', 'view block_message', 'manage coverage_rates', ] as $name) { $superAdminRole->permissions()->create(['name' => $name]); } $authorRole = $role->create([ 'name' => 'author', 'status' => true, ]); foreach ( [ 'access backend', 'view customer', 'create customer', 'edit customer', 'delete customer', 'view subscription', 'new subscription', 'manage subscription', 'delete subscription', 'manage plans', 'create plans', 'edit plans', 'delete plans', 'manage currencies', 'create currencies', 'edit currencies', 'delete currencies', 'view sending_servers', 'create sending_servers', 'edit sending_servers', 'delete sending_servers', 'view keywords', 'create keywords', 'edit keywords', 'delete keywords', 'view sender_id', 'create sender_id', 'edit sender_id', 'delete sender_id', 'view blacklist', 'create blacklist', 'edit blacklist', 'delete blacklist', 'view spam_word', 'create spam_word', 'edit spam_word', 'delete spam_word', 'view invoices', 'create invoices', 'edit invoices', 'delete invoices', 'view sms_history', 'view block_message', 'manage coverage_rates', ] as $name) { $authorRole->permissions()->create(['name' => $name]); } $superAdmin = $user->create([ 'first_name' => 'Super', 'last_name' => 'Admin', 'image' => 'app/profile/avatar-1.jpg', 'email' => 'admin@codeglen.com', 'password' => bcrypt($defaultPassword), 'status' => true, 'is_admin' => true, 'active_portal' => 'admin', 'locale' => app()->getLocale(), 'timezone' => config('app.timezone'), 'email_verified_at' => now(), ]); $superAdmin->api_token = $superAdmin->createToken('admin@codeglen.com')->plainTextToken; $superAdmin->save(); $superAdmin->roles()->save($superAdminRole); $supervisor = $user->create([ 'first_name' => 'Shamim', 'last_name' => 'Rahman', 'image' => 'app/profile/avatar-4.jpg', 'email' => 'shamim97@gmail.com', 'password' => bcrypt($defaultPassword), 'status' => true, 'is_admin' => true, 'active_portal' => 'admin', 'locale' => app()->getLocale(), 'timezone' => config('app.timezone'), 'email_verified_at' => now(), ]); $supervisor->api_token = $supervisor->createToken('shamim97@gmail.com')->plainTextToken; $supervisor->save(); $supervisor->roles()->save($authorRole); $customers = $user->create([ 'first_name' => 'Codeglen', 'last_name' => null, 'image' => 'app/profile/avatar-5.png', 'email' => 'client@codeglen.com', 'password' => bcrypt($defaultPassword), 'status' => true, 'sms_unit' => 10000, 'is_admin' => false, 'is_customer' => true, 'active_portal' => 'customer', 'locale' => app()->getLocale(), 'timezone' => config('app.timezone'), 'email_verified_at' => now(), ]); $customers->api_token = $customers->createToken('client@codeglen.com')->plainTextToken; $customers->save(); $customer->create([ 'user_id' => $customers->id, 'company' => 'Codeglen', 'website' => 'https://codeglen.com', 'address' => 'Banasree, Rampura', 'city' => 'Dhaka', 'postcode' => '1219', 'financial_address' => 'Banasree, Rampura', 'financial_city' => 'Dhaka', 'financial_postcode' => '1219', 'tax_number' => '21-4330267', 'state' => 'Dhaka', 'country' => 'Bangladesh', 'phone' => '8801700000000', 'permissions' => json_encode([ "view_reports", "create_sending_servers", "view_contact_group", "create_contact_group", "update_contact_group", "delete_contact_group", "view_contact", "create_contact", "update_contact", "delete_contact", "view_numbers", "buy_numbers", "release_numbers", "view_keywords", "buy_keywords", "update_keywords", "release_keywords", "view_sender_id", "create_sender_id", "delete_sender_id", "view_blacklist", "create_blacklist", "delete_blacklist", "sms_campaign_builder", "sms_quick_send", "sms_bulk_messages", "voice_campaign_builder", "voice_quick_send", "voice_bulk_messages", "mms_campaign_builder", "mms_quick_send", "mms_bulk_messages", "whatsapp_campaign_builder", "whatsapp_quick_send", "whatsapp_bulk_messages", "sms_template", "chat_box", "developers", "access_backend", ]), 'notifications' => json_encode([ 'login' => 'no', 'sender_id' => 'yes', 'keyword' => 'yes', 'subscription' => 'yes', 'promotion' => 'yes', 'profile' => 'yes', ]), ]); $customer_two = $user->create([ 'first_name' => 'Afeef Mohammed', 'last_name' => "Sa'd", 'image' => 'app/profile/avatar-3.jpg', 'email' => 'itssaad@gmail.com', 'password' => bcrypt($defaultPassword), 'status' => true, 'is_admin' => false, 'is_customer' => true, 'active_portal' => 'customer', 'locale' => app()->getLocale(), 'timezone' => config('app.timezone'), 'email_verified_at' => now(), 'created_at' => Carbon::now()->subMonths(3), 'updated_at' => Carbon::now()->subMonths(3), ]); $customer->create([ 'user_id' => $customer_two->id, 'company' => 'Codeglen', 'website' => 'https://codeglen.com', 'address' => 'Banasree, Rampura', 'city' => 'Dhaka', 'postcode' => '1219', 'financial_address' => 'Banasree, Rampura', 'financial_city' => 'Dhaka', 'financial_postcode' => '1219', 'tax_number' => '21-4330267', 'state' => 'Dhaka', 'country' => 'Bangladesh', 'phone' => '8801700000000', 'created_at' => Carbon::now()->subMonths(3), 'updated_at' => Carbon::now()->subMonths(3), 'permissions' => json_encode([ "view_reports", "create_sending_servers", "view_contact_group", "create_contact_group", "update_contact_group", "delete_contact_group", "view_contact", "create_contact", "update_contact", "delete_contact", "view_numbers", "buy_numbers", "release_numbers", "view_keywords", "buy_keywords", "update_keywords", "release_keywords", "view_sender_id", "create_sender_id", "delete_sender_id", "view_blacklist", "create_blacklist", "delete_blacklist", "sms_campaign_builder", "sms_quick_send", "sms_bulk_messages", "voice_campaign_builder", "voice_quick_send", "voice_bulk_messages", "mms_campaign_builder", "mms_quick_send", "mms_bulk_messages", "whatsapp_campaign_builder", "whatsapp_quick_send", "whatsapp_bulk_messages", "sms_template", "chat_box", "developers", "access_backend", ]), 'notifications' => json_encode([ 'login' => 'no', 'sender_id' => 'no', 'keyword' => 'yes', 'subscription' => 'yes', 'promotion' => 'no', 'profile' => 'yes', ]), ]); $customer_three = $user->create([ 'first_name' => 'Abul Kashem', 'last_name' => 'Shamim', 'image' => 'app/profile/avatar-1.jpg', 'email' => 'kashem97@gmail.com', 'password' => bcrypt($defaultPassword), 'status' => true, 'is_admin' => false, 'is_customer' => true, 'active_portal' => 'customer', 'locale' => app()->getLocale(), 'timezone' => config('app.timezone'), 'email_verified_at' => now(), 'created_at' => Carbon::now()->subMonths(2), 'updated_at' => Carbon::now()->subMonths(2), ]); $customer->create([ 'user_id' => $customer_three->id, 'company' => 'Codeglen', 'website' => 'https://codeglen.com', 'address' => 'Banasree, Rampura', 'city' => 'Dhaka', 'postcode' => '1219', 'financial_address' => 'Banasree, Rampura', 'financial_city' => 'Dhaka', 'financial_postcode' => '1219', 'tax_number' => '21-4330267', 'state' => 'Dhaka', 'country' => 'Bangladesh', 'phone' => '8801700000000', 'created_at' => Carbon::now()->subMonths(2), 'updated_at' => Carbon::now()->subMonths(2), 'permissions' => json_encode([ "view_reports", "view_contact_group", "create_contact_group", "update_contact_group", "delete_contact_group", "view_contact", "create_contact", "update_contact", "delete_contact", "view_numbers", "buy_numbers", "release_numbers", "view_keywords", "buy_keywords", "update_keywords", "release_keywords", "view_sender_id", "create_sender_id", "view_blacklist", "create_blacklist", "delete_blacklist", "sms_campaign_builder", "sms_quick_send", "sms_bulk_messages", "access_backend", ]), 'notifications' => json_encode([ 'login' => 'no', 'sender_id' => 'no', 'keyword' => 'yes', 'subscription' => 'yes', 'promotion' => 'no', 'profile' => 'yes', ]), ]); $customer_four = $user->create([ 'first_name' => 'Jhon', 'last_name' => 'Doe', 'image' => 'app/profile/avatar-4.jpg', 'email' => 'jhon@gmail.com', 'password' => bcrypt($defaultPassword), 'status' => true, 'is_admin' => false, 'is_customer' => true, 'active_portal' => 'customer', 'locale' => app()->getLocale(), 'timezone' => config('app.timezone'), 'email_verified_at' => now(), 'created_at' => Carbon::now()->subMonth(), 'updated_at' => Carbon::now()->subMonth(), ]); $customer->create([ 'user_id' => $customer_four->id, 'company' => 'Codeglen', 'website' => 'https://codeglen.com', 'address' => 'Banasree, Rampura', 'city' => 'Dhaka', 'postcode' => '1219', 'financial_address' => 'Banasree, Rampura', 'financial_city' => 'Dhaka', 'financial_postcode' => '1219', 'tax_number' => '21-4330267', 'state' => 'Dhaka', 'country' => 'Bangladesh', 'phone' => '8801700000000', 'created_at' => Carbon::now()->subMonth(), 'updated_at' => Carbon::now()->subMonth(), 'permissions' => json_encode([ "view_reports", "view_contact_group", "create_contact_group", "update_contact_group", "delete_contact_group", "view_contact", "create_contact", "update_contact", "delete_contact", "view_numbers", "buy_numbers", "release_numbers", "view_keywords", "buy_keywords", "update_keywords", "release_keywords", "view_sender_id", "create_sender_id", "view_blacklist", "create_blacklist", "delete_blacklist", "sms_campaign_builder", "sms_quick_send", "sms_bulk_messages", "access_backend", ]), 'notifications' => json_encode([ 'login' => 'no', 'sender_id' => 'no', 'keyword' => 'yes', 'subscription' => 'yes', 'promotion' => 'no', 'profile' => 'yes', ]), ]); $customer_five = $user->create([ 'first_name' => 'Sara', 'last_name' => 'Doe', 'image' => null, 'email' => 'sara@gmail.com', 'password' => bcrypt($defaultPassword), 'status' => true, 'is_admin' => false, 'is_customer' => true, 'active_portal' => 'customer', 'locale' => app()->getLocale(), 'timezone' => config('app.timezone'), 'email_verified_at' => now(), 'created_at' => Carbon::now()->subMonth(), 'updated_at' => Carbon::now()->subMonth(), ]); $customer->create([ 'user_id' => $customer_five->id, 'company' => 'Codeglen', 'website' => 'https://codeglen.com', 'address' => 'Banasree, Rampura', 'city' => 'Dhaka', 'postcode' => '1219', 'financial_address' => 'Banasree, Rampura', 'financial_city' => 'Dhaka', 'financial_postcode' => '1219', 'tax_number' => '21-4330267', 'state' => 'Dhaka', 'country' => 'Bangladesh', 'phone' => '8801700000000', 'created_at' => Carbon::now()->subMonth(), 'updated_at' => Carbon::now()->subMonth(), 'permissions' => json_encode([ "view_reports", "view_contact_group", "create_contact_group", "update_contact_group", "delete_contact_group", "view_contact", "create_contact", "update_contact", "delete_contact", "view_numbers", "buy_numbers", "release_numbers", "view_keywords", "buy_keywords", "update_keywords", "release_keywords", "view_sender_id", "create_sender_id", "view_blacklist", "create_blacklist", "delete_blacklist", "sms_campaign_builder", "sms_quick_send", "sms_bulk_messages", "access_backend", ]), 'notifications' => json_encode([ 'login' => 'no', 'sender_id' => 'no', 'keyword' => 'yes', 'subscription' => 'yes', 'promotion' => 'no', 'profile' => 'yes', ]), ]); DB::statement('SET FOREIGN_KEY_CHECKS=0;'); DB::table('blacklists')->truncate(); DB::statement('SET FOREIGN_KEY_CHECKS=1;'); $blacklists = [ [ 'user_id' => 1, 'number' => '8801721970156', 'reason' => null, ], [ 'user_id' => 1, 'number' => '8801921970156', 'reason' => strtoupper('stop promotion'), ], [ 'user_id' => 1, 'number' => '8801520970156', 'reason' => strtoupper('stop promotion'), ], [ 'user_id' => 1, 'number' => '8801781970156', 'reason' => strtoupper('stop promotion'), ], [ 'user_id' => 3, 'number' => '8801621970156', 'reason' => 'SPAMMING', ], [ 'user_id' => 3, 'number' => '8801721970156', 'reason' => null, ], [ 'user_id' => 3, 'number' => '8801821970156', 'reason' => strtoupper('stop promotion'), ], [ 'user_id' => 3, 'number' => '8801741970156', 'reason' => null, ], [ 'user_id' => 3, 'number' => '8801851970156', 'reason' => strtoupper('stop promotion'), ], ]; foreach ($blacklists as $blacklist) { Blacklists::create($blacklist); } DB::statement('SET FOREIGN_KEY_CHECKS=0;'); DB::table('currencies')->truncate(); DB::statement('SET FOREIGN_KEY_CHECKS=1;'); $currency_data = [ [ 'uid' => uniqid(), 'user_id' => 1, 'name' => 'US Dollar', 'code' => 'USD', 'format' => '${PRICE}', 'status' => true, ], [ 'uid' => uniqid(), 'user_id' => 1, 'name' => 'EURO', 'code' => 'EUR', 'format' => '€{PRICE}', 'status' => true, ], [ 'uid' => uniqid(), 'user_id' => 1, 'name' => 'British Pound', 'code' => 'GBP', 'format' => '£{PRICE}', 'status' => true, ], [ 'uid' => uniqid(), 'user_id' => 1, 'name' => 'Japanese Yen', 'code' => 'JPY', 'format' => '¥{PRICE}', 'status' => true, ], [ 'uid' => uniqid(), 'user_id' => 1, 'name' => 'Russian Ruble', 'code' => 'RUB', 'format' => '₽{PRICE}', 'status' => true, ], [ 'uid' => uniqid(), 'user_id' => 1, 'name' => 'Vietnam Dong', 'code' => 'VND', 'format' => '{PRICE}₫', 'status' => true, ], [ 'uid' => uniqid(), 'user_id' => 1, 'name' => 'Brazilian Real', 'code' => 'BRL', 'format' => 'R${PRICE}', 'status' => true, ], [ 'uid' => uniqid(), 'user_id' => 1, 'name' => 'Bangladeshi Taka', 'code' => 'BDT', 'format' => '৳{PRICE}', 'status' => true, ], [ 'uid' => uniqid(), 'user_id' => 1, 'name' => 'Canadian Dollar', 'code' => 'CAD', 'format' => 'C${PRICE}', 'status' => true, ], [ 'uid' => uniqid(), 'user_id' => 1, 'name' => 'Indian rupee', 'code' => 'INR', 'format' => '₹{PRICE}', 'status' => true, ], [ 'uid' => uniqid(), 'user_id' => 1, 'name' => 'Nigerian Naira', 'code' => 'CBN', 'format' => '₦{PRICE}', 'status' => true, ], ]; foreach ($currency_data as $data) { Currency::create($data); } DB::statement('SET FOREIGN_KEY_CHECKS=0;'); DB::table('keywords')->truncate(); DB::statement('SET FOREIGN_KEY_CHECKS=1;'); $keywords = [ [ 'user_id' => 1, 'currency_id' => 1, 'title' => '50% OFF', 'keyword_name' => '50OFF', 'sender_id' => 'Codeglen', 'reply_text' => 'you will get 50% from our next promotion.', 'reply_voice' => 'you will get 50% from our next promotion.', 'price' => 10, 'billing_cycle' => 'yearly', 'frequency_amount' => '1', 'frequency_unit' => 'year', 'status' => 'available', ], [ 'user_id' => 3, 'currency_id' => 2, 'title' => 'CR7', 'keyword_name' => 'CR7', 'sender_id' => 'Codeglen', 'reply_text' => 'Thank you for voting Cristiano Ronaldo.', 'reply_voice' => 'Thank you for voting Cristiano Ronaldo.', 'price' => 10, 'billing_cycle' => 'yearly', 'frequency_amount' => '1', 'frequency_unit' => 'year', 'validity_date' => Carbon::now()->add(1, 'year'), 'status' => 'assigned', ], [ 'user_id' => 3, 'currency_id' => 3, 'title' => 'MESSI10', 'keyword_name' => 'MESSI10', 'sender_id' => 'Codeglen', 'reply_text' => 'Thank you for voting Leonel Messi.', 'reply_voice' => 'Thank you for voting Leonel Messi.', 'price' => 10, 'billing_cycle' => 'yearly', 'frequency_amount' => '1', 'frequency_unit' => 'year', 'validity_date' => Carbon::yesterday(), 'status' => 'expired', ], [ 'user_id' => 1, 'currency_id' => 1, 'title' => '999', 'keyword_name' => '999', 'sender_id' => 'Codeglen', 'reply_text' => 'You will receive all govt facilities from now.', 'reply_voice' => 'You will receive all govt facilities from now.', 'price' => 10, 'billing_cycle' => 'yearly', 'frequency_amount' => '1', 'frequency_unit' => 'year', 'status' => 'available', ], ]; foreach ($keywords as $keyword) { Keywords::create($keyword); } DB::statement('SET FOREIGN_KEY_CHECKS=0;'); DB::table('phone_numbers')->truncate(); DB::statement('SET FOREIGN_KEY_CHECKS=1;'); $phone_numbers = [ [ 'user_id' => 1, 'number' => '8801721970168', 'status' => 'available', 'capabilities' => json_encode(['sms', 'voice', 'mms', 'whatsapp']), 'price' => 5, 'billing_cycle' => 'monthly', 'frequency_amount' => 1, 'frequency_unit' => 'month', 'currency_id' => 1, ], [ 'user_id' => 3, 'number' => '8801921970168', 'status' => 'assigned', 'capabilities' => json_encode(['voice', 'mms', 'whatsapp']), 'price' => 5, 'billing_cycle' => 'monthly', 'frequency_amount' => 1, 'frequency_unit' => 'month', 'currency_id' => 2, 'validity_date' => Carbon::now()->addMonth(), ], [ 'user_id' => 3, 'number' => '8801621970168', 'status' => 'expired', 'price' => 5, 'capabilities' => json_encode(['sms', 'mms', 'whatsapp']), 'billing_cycle' => 'custom', 'frequency_amount' => 6, 'frequency_unit' => 'month', 'currency_id' => 3, ], [ 'user_id' => 1, 'number' => '8801521970168', 'status' => 'available', 'price' => 5, 'capabilities' => json_encode(['sms', 'voice', 'whatsapp']), 'billing_cycle' => 'yearly', 'frequency_amount' => 1, 'frequency_unit' => 'year', 'currency_id' => 1, ], [ 'user_id' => 3, 'number' => '8801821970168', 'status' => 'assigned', 'price' => 5, 'capabilities' => json_encode(['sms', 'voice', 'mms']), 'billing_cycle' => 'monthly', 'frequency_amount' => 6, 'frequency_unit' => 'month', 'currency_id' => 3, 'validity_date' => Carbon::now()->add('month', 6), ], ]; foreach ($phone_numbers as $number) { PhoneNumbers::create($number); } DB::statement('SET FOREIGN_KEY_CHECKS=0;'); DB::table('senderid')->truncate(); DB::table('senderid_plans')->truncate(); DB::statement('SET FOREIGN_KEY_CHECKS=1;'); $sender_ids = [ [ 'user_id' => 3, 'sender_id' => 'USMS', 'status' => 'active', 'price' => 5, 'billing_cycle' => 'yearly', 'frequency_amount' => '1', 'frequency_unit' => 'year', 'currency_id' => 1, ], [ 'user_id' => 3, 'sender_id' => 'Apple', 'status' => 'payment_required', 'price' => 5, 'billing_cycle' => 'yearly', 'frequency_amount' => '1', 'frequency_unit' => 'year', 'currency_id' => 1, ], [ 'user_id' => 3, 'sender_id' => 'Info', 'status' => 'expired', 'price' => 5, 'billing_cycle' => 'yearly', 'frequency_amount' => '1', 'frequency_unit' => 'year', 'currency_id' => 1, ], [ 'user_id' => 3, 'sender_id' => 'Police', 'status' => 'block', 'price' => 5, 'billing_cycle' => 'monthly', 'frequency_amount' => 1, 'frequency_unit' => 'month', 'currency_id' => 1, ], [ 'user_id' => 3, 'sender_id' => 'SHAMIM', 'status' => 'pending', 'price' => 5, 'billing_cycle' => 'custom', 'frequency_amount' => 6, 'frequency_unit' => 'month', 'currency_id' => 1, ], [ 'user_id' => 3, 'sender_id' => 'Codeglen', 'status' => 'active', 'price' => 5, 'billing_cycle' => 'monthly', 'frequency_amount' => 1, 'frequency_unit' => 'month', 'currency_id' => 1, ], ]; foreach ($sender_ids as $senderId) { Senderid::create($senderId); } $sender_ids_plan = [ [ 'price' => 5, 'billing_cycle' => 'monthly', 'frequency_amount' => '1', 'frequency_unit' => 'month', 'currency_id' => 1, ], [ 'price' => 12, 'billing_cycle' => 'custom', 'frequency_amount' => '3', 'frequency_unit' => 'month', 'currency_id' => 1, ], [ 'price' => 20, 'billing_cycle' => 'custom', 'frequency_amount' => '6', 'frequency_unit' => 'month', 'currency_id' => 1, ], [ 'price' => 35, 'billing_cycle' => 'yearly', 'frequency_amount' => '1', 'frequency_unit' => 'year', 'currency_id' => 1, ], [ 'price' => 65, 'billing_cycle' => 'custom', 'frequency_amount' => '2', 'frequency_unit' => 'year', 'currency_id' => 1, ], [ 'price' => 115, 'billing_cycle' => 'custom', 'frequency_amount' => '3', 'frequency_unit' => 'year', 'currency_id' => 1, ], ]; foreach ($sender_ids_plan as $plan) { SenderidPlan::create($plan); } DB::statement('SET FOREIGN_KEY_CHECKS=0;'); DB::table('sending_servers')->truncate(); DB::statement('SET FOREIGN_KEY_CHECKS=1;'); $sending_servers = [ [ 'name' => 'Twilio', 'user_id' => 1, 'settings' => 'Twilio', 'account_sid' => 'account_sid', 'auth_token' => 'auth_token', 'schedule' => true, 'type' => 'http', 'status' => true, 'two_way' => true, 'plain' => true, 'mms' => true, 'voice' => true, 'whatsapp' => true, 'sms_per_request' => 1, 'quota_value' => 60, 'quota_base' => 1, 'quota_unit' => 'minute', ], [ 'name' => 'Twilio Copilot', 'user_id' => 1, 'settings' => 'TwilioCopilot', 'account_sid' => 'account_sid', 'auth_token' => 'auth_token', 'schedule' => true, 'type' => 'http', 'status' => true, 'two_way' => true, 'plain' => true, 'mms' => false, 'voice' => false, 'whatsapp' => false, 'sms_per_request' => 100, 'quota_value' => 100, 'quota_base' => 1, 'quota_unit' => 'minute', ], [ 'name' => 'Route Mobile', 'user_id' => 1, 'settings' => 'RouteMobile', 'api_link' => 'http://api.clickatell.com/http/sendmsg', 'username' => 'user_name', 'password' => 'password', 'schedule' => true, 'type' => 'http', 'status' => true, 'two_way' => false, 'plain' => true, 'mms' => false, 'voice' => false, 'whatsapp' => false, 'sms_per_request' => 1, 'quota_value' => 60, 'quota_base' => 1, 'quota_unit' => 'minute', ], [ 'name' => 'Plivo', 'user_id' => 1, 'settings' => 'Plivo', 'auth_id' => 'auth_id', 'auth_token' => 'auth_token', 'schedule' => true, 'type' => 'http', 'status' => true, 'two_way' => true, 'plain' => true, 'mms' => true, 'voice' => true, 'whatsapp' => false, 'sms_per_request' => 4, 'quota_value' => 200, 'quota_base' => 1, 'quota_unit' => 'minute', ], [ 'name' => 'Plivo Powerpack', 'user_id' => 1, 'settings' => 'PlivoPowerpack', 'auth_id' => 'auth_id', 'auth_token' => 'auth_token', 'schedule' => true, 'type' => 'http', 'status' => true, 'two_way' => true, 'plain' => true, 'mms' => false, 'voice' => false, 'whatsapp' => false, 'sms_per_request' => 4, 'quota_value' => 200, 'quota_base' => 1, 'quota_unit' => 'minute', ], [ 'name' => 'Nexmo is now Vonage', 'user_id' => 1, 'settings' => 'Vonage', 'api_link' => 'https://rest.nexmo.com/sms/json', 'api_key' => 'api_key', 'api_secret' => 'api_secret', 'schedule' => true, 'type' => 'http', 'status' => true, 'two_way' => true, 'plain' => true, 'mms' => false, 'voice' => true, 'whatsapp' => false, 'sms_per_request' => 1, 'quota_value' => 1, 'quota_base' => 1, 'quota_unit' => 'minute', ], [ 'name' => 'Infobip', 'user_id' => 1, 'settings' => 'Infobip', 'api_link' => 'https://api.infobip.com/sms/1/text/advanced', 'username' => 'user_name', 'password' => 'password', 'schedule' => true, 'type' => 'http', 'status' => true, 'two_way' => true, 'plain' => true, 'mms' => false, 'voice' => true, 'whatsapp' => false, 'sms_per_request' => 1, 'quota_value' => 1, 'quota_base' => 1, 'quota_unit' => 'minute', ], [ 'name' => 'SignalWire', 'user_id' => 1, 'settings' => 'SignalWire', 'api_link' => 'https://example.signalwire.com', 'api_token' => 'api_token', 'project_id' => 'project_id', 'schedule' => true, 'type' => 'http', 'status' => true, 'two_way' => true, 'plain' => true, 'mms' => true, 'voice' => false, 'whatsapp' => false, 'sms_per_request' => 1, 'quota_value' => 1, 'quota_base' => 1, 'quota_unit' => 'minute', ], [ 'name' => 'Telnyx', 'user_id' => 1, 'settings' => 'Telnyx', 'api_link' => 'https://api.telnyx.com/v2/messages', 'api_key' => 'api_key', 'schedule' => true, 'type' => 'http', 'status' => true, 'two_way' => true, 'plain' => true, 'mms' => true, 'voice' => false, 'whatsapp' => false, 'sms_per_request' => 1, 'quota_value' => 1, 'quota_base' => 1, 'quota_unit' => 'minute', ], [ 'name' => 'SMPP', 'user_id' => 1, 'settings' => 'SMPP', 'api_link' => 'IP/DOMAIN', 'port' => 'PORT', 'username' => 'SYSTEM ID/Username', 'password' => 'Password', 'source_addr_ton' => '5', 'source_addr_npi' => '0', 'dest_addr_ton' => '1', 'dest_addr_npi' => '0', 'schedule' => true, 'type' => 'smpp', 'status' => true, 'two_way' => false, 'plain' => true, 'mms' => false, 'voice' => false, 'whatsapp' => false, 'sms_per_request' => 1, 'quota_value' => 1, 'quota_base' => 1, 'quota_unit' => 'minute', ], ]; foreach ($sending_servers as $server) { SendingServer::create($server); } SpamWord::truncate(); $spam_words = [ [ 'word' => 'POLICE', ], [ 'word' => 'RAB', ], [ 'word' => 'GOVT', ], [ 'word' => 'NYPD', ], [ 'word' => 'CIA', ], [ 'word' => 'NDP', ], [ 'word' => 'FBI', ], ]; foreach ($spam_words as $word) { SpamWord::create($word); } DB::statement('SET FOREIGN_KEY_CHECKS=0;'); DB::table('plans')->truncate(); DB::statement('SET FOREIGN_KEY_CHECKS=1;'); $plans = [ [ 'user_id' => 1, 'currency_id' => 1, 'name' => 'Free', 'description' => 'A simple start for everyone', 'price' => '0', 'billing_cycle' => 'monthly', 'frequency_amount' => 1, 'frequency_unit' => 'month', 'options' => '{"sms_max":"100","whatsapp_max":"100","list_max":"5","subscriber_max":"500","subscriber_per_list_max":"100","segment_per_list_max":"3","billing_cycle":"monthly","sending_limit":"50000_per_hour","sending_quota":"100","sending_quota_time":"1","sending_quota_time_unit":"hour","max_process":"1","unsubscribe_url_required":"yes","create_sending_server":"no","sending_servers_max":"5","list_import":"yes","list_export":"yes","api_access":"no","create_sub_account":"no","delete_sms_history":"no","add_previous_balance":"no","sender_id_verification":"yes","send_spam_message":"no","plain_sms":"1","receive_plain_sms":"0","voice_sms":"2","receive_voice_sms":"0","mms_sms":"3","receive_mms_sms":"0","whatsapp_sms":"1","receive_whatsapp_sms":"0","cutting_system":"no","cutting_value":"5","cutting_unit":"percentage","cutting_logic":"random","per_unit_price":"0.3"}', 'status' => true, 'tax_billing_required' => false, ], [ 'user_id' => 1, 'currency_id' => 1, 'name' => 'Standard', 'description' => 'For small to medium businesses', 'price' => '49', 'billing_cycle' => 'custom', 'frequency_amount' => 6, 'frequency_unit' => 'month', 'is_popular' => true, 'options' => '{"sms_max":"10000","whatsapp_max":"10000","list_max":"-1","subscriber_max":"-1","subscriber_per_list_max":"-1","segment_per_list_max":"-1","billing_cycle":"monthly","sending_limit":"10000_per_hour","sending_quota":"1000","sending_quota_time":"1","sending_quota_time_unit":"hour","max_process":"2","unsubscribe_url_required":"yes","create_sending_server":"yes","sending_servers_max":"5","list_import":"yes","list_export":"yes","api_access":"yes","create_sub_account":"yes","delete_sms_history":"yes","add_previous_balance":"yes","sender_id_verification":"yes","send_spam_message":"yes","plain_sms":"1","receive_plain_sms":"0","voice_sms":"2","receive_voice_sms":"0","mms_sms":"3","receive_mms_sms":"0","whatsapp_sms":"1","receive_whatsapp_sms":"0","quota_value":10000,"quota_base":1,"quota_unit":"hour","cutting_system":"yes","cutting_value":"5","cutting_unit":"percentage","cutting_logic":"random","per_unit_price":"0.3"}', 'status' => true, 'tax_billing_required' => true, ], [ 'user_id' => 1, 'currency_id' => 1, 'name' => 'Enterprise', 'description' => 'Solution for big organizations', 'price' => '99', 'billing_cycle' => 'monthly', 'frequency_amount' => 1, 'frequency_unit' => 'month', 'options' => '{"sms_max":"-1","whatsapp_max":"-1","list_max":"-1","subscriber_max":"-1","subscriber_per_list_max":"-1","segment_per_list_max":"-1","billing_cycle":"monthly","sending_limit":"50000_per_hour","sending_quota":"1000","sending_quota_time":"1","sending_quota_time_unit":"hour","max_process":"3","unsubscribe_url_required":"yes","create_sending_server":"yes","sending_servers_max":"5","list_import":"yes","list_export":"yes","api_access":"yes","create_sub_account":"yes","delete_sms_history":"yes","add_previous_balance":"yes","sender_id_verification":"yes","send_spam_message":"yes","plain_sms":"1","receive_plain_sms":"0","voice_sms":"1","receive_voice_sms":"0","mms_sms":"2","receive_mms_sms":"0","whatsapp_sms":"1","receive_whatsapp_sms":"0","quota_value":50000,"quota_base":1,"quota_unit":"hour","cutting_system":"yes","cutting_value":"5","cutting_unit":"percentage","cutting_logic":"random","per_unit_price":"0.3"}', 'status' => true, 'tax_billing_required' => true, ], ]; foreach ($plans as $plan) { Plan::create($plan); } $plan_sending_server = [ [ 'sending_server_id' => 1, 'plan_id' => 1, 'fitness' => 100, 'is_primary' => 1, 'created_at' => now(), 'updated_at' => now(), ], [ 'sending_server_id' => 1, 'plan_id' => 2, 'fitness' => 30, 'is_primary' => 0, 'created_at' => now(), 'updated_at' => now(), ], [ 'sending_server_id' => 2, 'plan_id' => 2, 'fitness' => 30, 'is_primary' => 0, 'created_at' => now(), 'updated_at' => now(), ], [ 'sending_server_id' => 3, 'plan_id' => 2, 'fitness' => 40, 'is_primary' => 1, 'created_at' => now(), 'updated_at' => now(), ], [ 'sending_server_id' => 1, 'plan_id' => 3, 'fitness' => 20, 'is_primary' => 0, 'created_at' => now(), 'updated_at' => now(), ], [ 'sending_server_id' => 2, 'plan_id' => 3, 'fitness' => 20, 'is_primary' => 0, 'created_at' => now(), 'updated_at' => now(), ], [ 'sending_server_id' => 3, 'plan_id' => 3, 'fitness' => 30, 'is_primary' => 1, 'created_at' => now(), 'updated_at' => now(), ], [ 'sending_server_id' => 4, 'plan_id' => 3, 'fitness' => 15, 'is_primary' => 0, 'created_at' => now(), 'updated_at' => now(), ], [ 'sending_server_id' => 5, 'plan_id' => 3, 'fitness' => 15, 'is_primary' => 0, 'created_at' => now(), 'updated_at' => now(), ], ]; DB::statement('SET FOREIGN_KEY_CHECKS=0;'); DB::table('plans_sending_servers')->truncate(); DB::statement('SET FOREIGN_KEY_CHECKS=1;'); PlansSendingServer::insert($plan_sending_server); DB::statement('SET FOREIGN_KEY_CHECKS=0;'); DB::table('subscriptions')->truncate(); DB::table('subscription_logs')->truncate(); DB::table('subscription_transactions')->truncate(); DB::statement('SET FOREIGN_KEY_CHECKS=1;'); $subscriptions = [ [ 'uid' => uniqid(), 'user_id' => 3, 'plan_id' => 2, 'options' => '{"credit_warning":true,"credit":"100","credit_notify":"both","subscription_warning":true,"subscription_notify":"both"}', 'start_at' => now(), 'status' => 'active', 'end_period_last_days' => 10, 'current_period_ends_at' => Carbon::now()->addMonths(6), 'end_at' => null, 'end_by' => null, 'created_at' => now(), 'updated_at' => now(), ], [ 'uid' => uniqid(), 'user_id' => 4, 'plan_id' => 3, 'start_at' => now(), 'status' => 'active', 'options' => '{"credit_warning":true,"credit":"100","credit_notify":"both","subscription_warning":true,"subscription_notify":"both"}', 'end_period_last_days' => 10, 'current_period_ends_at' => Carbon::now()->addYear(), 'end_at' => null, 'end_by' => null, 'created_at' => now(), 'updated_at' => now(), ], ]; Subscription::insert($subscriptions); $subscriptionLogs = [ [ 'subscription_id' => 1, 'type' => 'admin_plan_assigned', 'data' => '{"plan":"Standard","price":"\u00a3500"}', 'created_at' => now(), 'updated_at' => now(), ], [ 'subscription_id' => 2, 'type' => 'admin_plan_assigned', 'data' => '{"plan":"Premium","price":"$5,000"}', 'created_at' => now(), 'updated_at' => now(), ], ]; SubscriptionLog::insert($subscriptionLogs); $subscriptionTransaction = [ [ 'subscription_id' => 1, 'title' => 'Subscribed to Standard plan', 'type' => 'subscribe', 'status' => 'success', 'amount' => '£500', 'created_at' => now(), 'updated_at' => now(), ], [ 'subscription_id' => 2, 'title' => 'Subscribed to Premium plan', 'type' => 'subscribe', 'status' => 'success', 'amount' => '$5,000', 'created_at' => now(), 'updated_at' => now(), ], ]; SubscriptionTransaction::insert($subscriptionTransaction); //create template tag DB::table('template_tags')->truncate(); $template_tags = [ [ 'name' => 'State', 'tag' => 'state', 'type' => 'text', 'required' => 0, ], [ 'name' => 'Event Date', 'tag' => 'event_date', 'type' => 'date', 'required' => 0, ], [ 'name' => 'Website', 'tag' => 'website', 'type' => 'url', 'required' => 0, ], ]; foreach ($template_tags as $tags) { TemplateTags::create($tags); } //invoice DB::statement('SET FOREIGN_KEY_CHECKS=0;'); DB::table('invoices')->truncate(); DB::statement('SET FOREIGN_KEY_CHECKS=1;'); $invoices = [ [ 'uid' => uniqid(), 'user_id' => 3, 'currency_id' => 1, 'payment_method' => 3, 'amount' => 50, 'type' => 'senderid', 'description' => 'Payment for Sender ID Apple', 'transaction_id' => 'pi_1Id6n9JerTkfRDz2sMhOqnNS', 'status' => 'paid', 'created_at' => Carbon::now()->subDays(3), 'updated_at' => Carbon::now()->subDays(3), ], [ 'uid' => uniqid(), 'user_id' => 3, 'currency_id' => 1, 'payment_method' => 3, 'amount' => 50, 'type' => 'keyword', 'description' => 'Payment for keyword CR7', 'transaction_id' => 'pi_1Id6n9Jer'.uniqid(), 'status' => 'paid', 'created_at' => Carbon::now()->subDays(3), 'updated_at' => Carbon::now()->subDays(3), ], [ 'uid' => uniqid(), 'user_id' => 3, 'currency_id' => 1, 'payment_method' => 3, 'amount' => 50, 'type' => 'keyword', 'description' => 'Payment for keyword MESSI10', 'transaction_id' => 'pi_1Id6n9Jer'.uniqid(), 'status' => 'paid', 'created_at' => Carbon::now()->subDays(2), 'updated_at' => Carbon::now()->subDays(2), ], [ 'uid' => uniqid(), 'user_id' => 3, 'currency_id' => 1, 'payment_method' => 3, 'amount' => 500, 'type' => 'subscription', 'description' => 'Payment for subscription Premium', 'transaction_id' => 'pi_1Id6n9JerTkfRDz2sMhOqnNS', 'status' => 'paid', 'created_at' => Carbon::now()->subDays(2), 'updated_at' => Carbon::now()->subDays(2), ], [ 'uid' => uniqid(), 'user_id' => 3, 'currency_id' => 1, 'payment_method' => 3, 'amount' => 500, 'type' => 'subscription', 'description' => 'Payment for subscription Standard', 'transaction_id' => 'pi_1Id6n9JerTkfRDz2sMhOqnNS', 'status' => 'paid', 'created_at' => Carbon::now()->subDays(2), 'updated_at' => Carbon::now()->subDays(2), ], [ 'uid' => uniqid(), 'user_id' => 3, 'currency_id' => 1, 'payment_method' => 3, 'amount' => 50, 'type' => 'number', 'description' => 'Payment for number', 'transaction_id' => 'pi_1Id6n9JerTkfRDz2sMhOqnNS', 'status' => 'paid', 'created_at' => Carbon::now()->subDays(2), 'updated_at' => Carbon::now()->subDays(2), ], [ 'uid' => uniqid(), 'user_id' => 3, 'currency_id' => 1, 'payment_method' => 3, 'amount' => 50, 'type' => 'senderid', 'description' => 'Payment for Sender ID Info', 'transaction_id' => 'pi_1Id6n9JerTkfRDz2sMhOqnNS', 'status' => 'paid', 'created_at' => Carbon::now()->subDays(2), 'updated_at' => Carbon::now()->subDays(2), ], [ 'uid' => uniqid(), 'user_id' => 3, 'currency_id' => 1, 'payment_method' => 3, 'amount' => 50, 'type' => 'keyword', 'description' => 'Payment for Keyword Apple', 'transaction_id' => 'pi_1Id6n9JerTkfRDz2sMhOqnNS', 'status' => 'paid', 'created_at' => Carbon::now()->subDay(), 'updated_at' => Carbon::now()->subDay(), ], [ 'uid' => uniqid(), 'user_id' => 3, 'currency_id' => 1, 'payment_method' => 3, 'amount' => 50, 'type' => 'senderid', 'description' => 'Payment for Sender ID Codeglen', 'transaction_id' => 'pi_1Id6n9JerTkfRDz2sMhOqnNS', 'status' => 'paid', 'created_at' => Carbon::now()->subDay(), 'updated_at' => Carbon::now()->subDay(), ], [ 'uid' => uniqid(), 'user_id' => 3, 'currency_id' => 1, 'payment_method' => 3, 'amount' => 50, 'type' => 'senderid', 'description' => 'Payment for Sender ID USMS', 'transaction_id' => 'pi_1Id6n9JerTkfRDz2sMhOqnNS', 'status' => 'paid', 'created_at' => Carbon::now()->subDay(), 'updated_at' => Carbon::now()->subDay(), ], [ 'uid' => uniqid(), 'user_id' => 3, 'currency_id' => 1, 'payment_method' => 3, 'amount' => 50, 'type' => 'senderid', 'description' => 'Payment for Sender ID SHAMIM', 'transaction_id' => 'pi_1Id6n9JerTkfRDz2sMhOqnNS', 'status' => 'paid', 'created_at' => Carbon::now()->subDay(), 'updated_at' => Carbon::now()->subDay(), ], [ 'uid' => uniqid(), 'user_id' => 3, 'currency_id' => 1, 'payment_method' => 3, 'amount' => 50, 'type' => 'number', 'description' => 'Payment for Number 88014754789', 'transaction_id' => 'pi_1Id6n9JerTkfRDz2sMhOqnNS', 'status' => 'paid', 'created_at' => Carbon::now(), 'updated_at' => Carbon::now(), ], ]; Invoices::insert($invoices); DB::statement('SET FOREIGN_KEY_CHECKS=0;'); DB::table('contact_groups')->truncate(); DB::table('contacts')->truncate(); DB::statement('SET FOREIGN_KEY_CHECKS=1;'); //contact groups $contact_groups = [ [ 'customer_id' => 3, 'name' => 'Codeglen', 'sender_id' => 'codeglen', 'send_welcome_sms' => true, 'unsubscribe_notification' => true, 'send_keyword_message' => true, 'status' => true, 'cache' => json_encode([ 'SubscribersCount' => 100, ]), ], [ 'customer_id' => 3, 'name' => 'USMS', 'sender_id' => null, 'send_welcome_sms' => true, 'unsubscribe_notification' => true, 'send_keyword_message' => false, 'status' => true, 'cache' => json_encode([ 'SubscribersCount' => 100, ]), ], ]; foreach ($contact_groups as $group) { (new ContactGroups)->create($group); } $factory = Factory::create(); $data = []; $limit = 100; for ($i = 0; $i < $limit; $i++) { $number = '88017'.$i.time(); $number = substr($number, 0, 13); $data[] = [ 'uid' => uniqid(), 'customer_id' => 3, 'group_id' => 1, 'phone' => $number, 'status' => 'subscribe', 'first_name' => $factory->firstName, 'last_name' => $factory->lastName, 'email' => $factory->email, 'company' => $factory->company, 'created_at' => Carbon::now(), 'updated_at' => Carbon::now(), ]; } for ($i = 0; $i < $limit; $i++) { $number = '88016'.$i.time(); $number = substr($number, 0, 13); $data[] = [ 'uid' => uniqid(), 'customer_id' => 3, 'group_id' => 2, 'phone' => $number, 'status' => 'subscribe', 'first_name' => $factory->firstName, 'last_name' => $factory->lastName, 'email' => $factory->email, 'company' => $factory->company, 'created_at' => Carbon::now(), 'updated_at' => Carbon::now(), ]; } Contacts::insert($data); //sms template DB::statement('SET FOREIGN_KEY_CHECKS=0;'); DB::table('templates')->truncate(); DB::statement('SET FOREIGN_KEY_CHECKS=1;'); $sms_templates = [ [ 'user_id' => 3, 'name' => "Promotion", 'message' => 'You will get 50 Percent off from next {event_date}', ], [ 'user_id' => 3, 'name' => "Greeting", 'message' => 'Hi {first_name}, welcome to {company}', ], ]; foreach ($sms_templates as $template) { Templates::create($template); } //campaigns DB::statement('SET FOREIGN_KEY_CHECKS=0;'); DB::table('campaigns_sending_servers')->truncate(); DB::table('campaigns_senderids')->truncate(); DB::table('campaigns_recipients')->truncate(); DB::table('campaigns_lists')->truncate(); DB::table('campaigns')->truncate(); DB::statement('SET FOREIGN_KEY_CHECKS=1;'); $campaigns = [ [ 'user_id' => 3, 'campaign_name' => 'SMS Campaign', 'message' => 'You will get 50 Percent off from next {event_date}', 'sms_type' => 'plain', 'upload_type' => 'normal', 'status' => 'delivered', 'cache' => '{"ContactCount":100,"DeliveredCount":94,"FailedDeliveredCount":6,"NotDeliveredCount":0}', 'run_at' => Carbon::now()->subMinutes(5), 'delivery_at' => Carbon::now()->subMinutes(2), ], [ 'user_id' => 3, 'campaign_name' => 'Voice Campaign', 'message' => 'You will get 50 Percent off from next {event_date}', 'sms_type' => 'voice', 'language' => 'en-GB', 'gender' => 'male', 'upload_type' => 'normal', 'status' => 'queued', 'cache' => '{"ContactCount":100,"DeliveredCount":0,"FailedDeliveredCount":0,"NotDeliveredCount":0}', ], [ 'user_id' => 3, 'campaign_name' => 'MMS Campaign', 'message' => 'Hi {first_name}, welcome to {company}', 'media_url' => 'https://ultimatesms.codeglen.com/demo/mms/mms_1617527278.png', 'sms_type' => 'mms', 'upload_type' => 'normal', 'status' => 'queued', 'cache' => '{"ContactCount":100,"DeliveredCount":0,"FailedDeliveredCount":0,"NotDeliveredCount":0}', ], [ 'user_id' => 3, 'campaign_name' => 'WhatsApp Campaign', 'message' => 'You will get 50 Percent off from next {event_date}', 'sms_type' => 'whatsapp', 'upload_type' => 'normal', 'status' => 'queued', 'cache' => '{"ContactCount":100,"DeliveredCount":0,"FailedDeliveredCount":0,"NotDeliveredCount":0}', ], [ 'user_id' => 3, 'campaign_name' => 'Schedule Campaign', 'message' => 'You will get 50 Percent off from next {event_date}', 'sms_type' => 'plain', 'upload_type' => 'normal', 'status' => 'scheduled', 'cache' => '{"ContactCount":100,"DeliveredCount":0,"FailedDeliveredCount":0,"NotDeliveredCount":0}', 'schedule_time' => Carbon::now()->addDays(3), 'schedule_type' => 'onetime', ], [ 'user_id' => 3, 'campaign_name' => 'Recurring Campaign', 'message' => 'You will get 50 Percent off from next {event_date}', 'sms_type' => 'plain', 'upload_type' => 'normal', 'status' => 'scheduled', 'cache' => '{"ContactCount":100,"DeliveredCount":0,"FailedDeliveredCount":0,"NotDeliveredCount":0}', 'schedule_time' => Carbon::now()->addDays(2), 'schedule_type' => 'recurring', 'frequency_cycle' => 'monthly', 'frequency_amount' => 1, 'frequency_unit' => 'month', 'recurring_end' => Carbon::now()->addMonth(), ], [ 'user_id' => 3, 'campaign_name' => 'Normal Campaign', 'message' => 'You will get 50 Percent off from next {event_date}', 'sms_type' => 'plain', 'upload_type' => 'normal', 'status' => 'queued', 'cache' => '{"ContactCount":100,"DeliveredCount":0,"FailedDeliveredCount":0,"NotDeliveredCount":0}', ], ]; foreach ($campaigns as $campaign) { Campaigns::create($campaign); } $campaign_lists = [ [ 'campaign_id' => 1, 'contact_list_id' => 1, ], [ 'campaign_id' => 2, 'contact_list_id' => 1, ], [ 'campaign_id' => 3, 'contact_list_id' => 1, ], [ 'campaign_id' => 4, 'contact_list_id' => 2, ], [ 'campaign_id' => 5, 'contact_list_id' => 2, ], [ 'campaign_id' => 6, 'contact_list_id' => 1, ], [ 'campaign_id' => 7, 'contact_list_id' => 1, ], ]; foreach ($campaign_lists as $list) { CampaignsList::create($list); } $campaign_sender_ids = [ [ 'campaign_id' => 1, 'sender_id' => 'USMS', 'originator' => 'sender_id', ], [ 'campaign_id' => 2, 'sender_id' => '8801821970168', 'originator' => 'phone_number', ], [ 'campaign_id' => 3, 'sender_id' => '8801821970168', 'originator' => 'phone_number', ], [ 'campaign_id' => 4, 'sender_id' => 'Codeglen', 'originator' => 'sender_id', ], [ 'campaign_id' => 5, 'sender_id' => 'Info', 'originator' => 'sender_id', ], [ 'campaign_id' => 6, 'sender_id' => '8801921970168', 'originator' => 'phone_number', ], [ 'campaign_id' => 7, 'sender_id' => '8801821970168', 'originator' => 'phone_number', ], ]; foreach ($campaign_sender_ids as $senderId) { CampaignsSenderid::create($senderId); } $campaign_sending_server = [ [ 'campaign_id' => 1, 'sending_server_id' => 1, 'fitness' => 30, ], [ 'campaign_id' => 1, 'sending_server_id' => 2, 'fitness' => 30, ], [ 'campaign_id' => 1, 'sending_server_id' => 3, 'fitness' => 40, ], [ 'campaign_id' => 2, 'sending_server_id' => 1, 'fitness' => 30, ], [ 'campaign_id' => 2, 'sending_server_id' => 2, 'fitness' => 30, ], [ 'campaign_id' => 2, 'sending_server_id' => 3, 'fitness' => 40, ], [ 'campaign_id' => 3, 'sending_server_id' => 1, 'fitness' => 30, ], [ 'campaign_id' => 3, 'sending_server_id' => 2, 'fitness' => 30, ], [ 'campaign_id' => 3, 'sending_server_id' => 3, 'fitness' => 40, ], [ 'campaign_id' => 4, 'sending_server_id' => 1, 'fitness' => 30, ], [ 'campaign_id' => 4, 'sending_server_id' => 2, 'fitness' => 30, ], [ 'campaign_id' => 4, 'sending_server_id' => 3, 'fitness' => 40, ], [ 'campaign_id' => 5, 'sending_server_id' => 1, 'fitness' => 30, ], [ 'campaign_id' => 5, 'sending_server_id' => 2, 'fitness' => 30, ], [ 'campaign_id' => 5, 'sending_server_id' => 3, 'fitness' => 40, ], [ 'campaign_id' => 6, 'sending_server_id' => 1, 'fitness' => 30, ], [ 'campaign_id' => 6, 'sending_server_id' => 2, 'fitness' => 30, ], [ 'campaign_id' => 6, 'sending_server_id' => 3, 'fitness' => 40, ], [ 'campaign_id' => 7, 'sending_server_id' => 1, 'fitness' => 30, ], [ 'campaign_id' => 7, 'sending_server_id' => 2, 'fitness' => 30, ], [ 'campaign_id' => 7, 'sending_server_id' => 3, 'fitness' => 40, ], ]; foreach ($campaign_sending_server as $sending_server) { CampaignsSendingServer::create($sending_server); } //reports DB::statement('SET FOREIGN_KEY_CHECKS=0;'); DB::table('reports')->truncate(); DB::statement('SET FOREIGN_KEY_CHECKS=1;'); $campaign_data = []; $limit = 91; for ($i = 0; $i < $limit; $i++) { $message = $factory->text(120); $number = '88017'.$i.time(); $number = substr($number, 0, 13); $campaign_data[] = [ 'user_id' => 3, 'from' => 'USMS', 'to' => $number, 'message' => $message, 'sms_type' => 'plain', 'status' => 'Delivered', 'send_by' => 'to', 'campaign_id' => 1, 'cost' => '1', 'sending_server_id' => 3, ]; } $limit = 3; for ($i = 0; $i < $limit; $i++) { $message = $factory->text(120); $number = '88017'.$i.time(); $number = substr($number, 0, 13); $campaign_data[] = [ 'user_id' => 3, 'from' => 'USMS', 'to' => $number, 'message' => $message, 'sms_type' => 'plain', 'status' => 'Failed', 'send_by' => 'to', 'campaign_id' => 1, 'cost' => '1', 'sending_server_id' => 3, ]; } for ($i = 0; $i < $limit; $i++) { $message = $factory->text(120); $number = '88017'.$i.time(); $number = substr($number, 0, 13); $campaign_data[] = [ 'user_id' => 3, 'from' => 'USMS', 'to' => $number, 'message' => $message, 'sms_type' => 'plain', 'status' => 'Insufficient balance', 'send_by' => 'to', 'campaign_id' => 1, 'cost' => '1', 'sending_server_id' => 3, ]; } for ($i = 0; $i < $limit; $i++) { $message = $factory->text(120); $number = '88017'.$i.time(); $number = substr($number, 0, 13); $campaign_data[] = [ 'user_id' => 3, 'from' => 'USMS', 'to' => $number, 'message' => $message, 'sms_type' => 'plain', 'status' => 'Delivered', 'send_by' => 'to', 'campaign_id' => 1, 'cost' => '1', 'sending_server_id' => 3, ]; } foreach ($campaign_data as $campaignDatum) { Reports::create($campaignDatum); } $data = []; $limit = 100; for ($i = 0; $i < $limit; $i++) { $message = $factory->text(120); $number = '88017'.$i.time(); $number = substr($number, 0, 13); $created_at = $factory->dateTimeBetween('-30 days'); $data[] = [ 'uid' => uniqid(), 'user_id' => 3, 'from' => 'Codeglen', 'to' => $number, 'message' => $message, 'sms_type' => 'plain', 'status' => 'Delivered', 'send_by' => 'to', 'cost' => '1', 'sending_server_id' => 3, 'created_at' => $created_at, 'updated_at' => $created_at, ]; } for ($i = 0; $i < $limit; $i++) { $message = $factory->text(120); $number = '88017'.$i.time(); $number = substr($number, 0, 13); $created_at = $factory->dateTimeBetween('-30 days'); $data[] = [ 'uid' => uniqid(), 'user_id' => 3, 'from' => 'Codeglen', 'to' => $number, 'message' => $message, 'sms_type' => 'plain', 'status' => 'Delivered', 'send_by' => 'from', 'cost' => '1', 'sending_server_id' => 3, 'created_at' => $created_at, 'updated_at' => $created_at, ]; } for ($i = 0; $i < $limit; $i++) { $message = $factory->text(120); $number = '88017'.$i.time(); $number = substr($number, 0, 13); $created_at = $factory->dateTimeBetween('-30 days'); $data[] = [ 'uid' => uniqid(), 'user_id' => 3, 'from' => 'Codeglen', 'to' => $number, 'message' => $message, 'sms_type' => 'voice', 'status' => 'Delivered', 'send_by' => 'from', 'cost' => '1', 'sending_server_id' => 3, 'created_at' => $created_at, 'updated_at' => $created_at, ]; } for ($i = 0; $i < $limit; $i++) { $message = $factory->text(120); $number = '88017'.$i.time(); $number = substr($number, 0, 13); $created_at = $factory->dateTimeBetween('-30 days'); $data[] = [ 'uid' => uniqid(), 'user_id' => 3, 'from' => 'Codeglen', 'to' => $number, 'message' => $message, 'sms_type' => 'mms', 'status' => 'Delivered', 'send_by' => 'from', 'cost' => '1', 'sending_server_id' => 3, 'created_at' => $created_at, 'updated_at' => $created_at, ]; } for ($i = 0; $i < $limit; $i++) { $message = $factory->text(120); $number = '88017'.$i.time(); $number = substr($number, 0, 13); $created_at = $factory->dateTimeBetween('-30 days'); $data[] = [ 'uid' => uniqid(), 'user_id' => 3, 'from' => 'Codeglen', 'to' => $number, 'message' => $message, 'sms_type' => 'whatsapp', 'status' => 'Delivered', 'send_by' => 'from', 'cost' => '1', 'sending_server_id' => 3, 'created_at' => $created_at, 'updated_at' => $created_at, ]; } for ($i = 0; $i < $limit; $i++) { $message = $factory->text(120); $number = '88017'.$i.time(); $number = substr($number, 0, 13); $created_at = $factory->dateTimeBetween('-30 days'); $data[] = [ 'uid' => uniqid(), 'user_id' => 3, 'from' => 'Codeglen', 'to' => $number, 'message' => $message, 'sms_type' => 'plain', 'status' => 'Delivered', 'send_by' => 'api', 'cost' => '1', 'sending_server_id' => 3, 'created_at' => $created_at, 'updated_at' => $created_at, ]; } $limit = 10; for ($i = 0; $i < $limit; $i++) { $message = $factory->text(120); $number = '88017'.$i.time(); $number = substr($number, 0, 13); $created_at = $factory->dateTimeBetween('-30 days'); $data[] = [ 'uid' => uniqid(), 'user_id' => 3, 'from' => 'Codeglen', 'to' => $number, 'message' => $message, 'sms_type' => 'plain', 'status' => 'failed', 'send_by' => 'to', 'cost' => '1', 'sending_server_id' => 3, 'created_at' => $created_at, 'updated_at' => $created_at, ]; } for ($i = 0; $i < $limit; $i++) { $message = $factory->text(120); $number = '88017'.$i.time(); $number = substr($number, 0, 13); $created_at = $factory->dateTimeBetween('-30 days'); $data[] = [ 'uid' => uniqid(), 'user_id' => 3, 'from' => 'Codeglen', 'to' => $number, 'message' => $message, 'sms_type' => 'plain', 'status' => 'Delivered', 'send_by' => 'api', 'cost' => '1', 'sending_server_id' => 3, 'created_at' => $created_at, 'updated_at' => $created_at, ]; } for ($i = 0; $i < $limit; $i++) { $message = $factory->text(120); $number = '88017'.$i.time(); $number = substr($number, 0, 13); $created_at = $factory->dateTimeBetween('-30 days'); $data[] = [ 'uid' => uniqid(), 'user_id' => 3, 'from' => 'Codeglen', 'to' => $number, 'message' => $message, 'sms_type' => 'plain', 'status' => 'failed', 'send_by' => 'from', 'cost' => '1', 'sending_server_id' => 3, 'created_at' => $created_at, 'updated_at' => $created_at, ]; } for ($i = 0; $i < $limit; $i++) { $message = $factory->text(120); $number = '88017'.$i.time(); $number = substr($number, 0, 13); $created_at = $factory->dateTimeBetween('-30 days'); $data[] = [ 'uid' => uniqid(), 'user_id' => 3, 'from' => 'Codeglen', 'to' => $number, 'message' => $message, 'sms_type' => 'voice', 'status' => 'failed', 'send_by' => 'from', 'cost' => '1', 'sending_server_id' => 3, 'created_at' => $created_at, 'updated_at' => $created_at, ]; } for ($i = 0; $i < $limit; $i++) { $message = $factory->text(120); $number = '88017'.$i.time(); $number = substr($number, 0, 13); $created_at = $factory->dateTimeBetween('-30 days'); $data[] = [ 'uid' => uniqid(), 'user_id' => 3, 'from' => 'Codeglen', 'to' => $number, 'message' => $message, 'sms_type' => 'mms', 'status' => 'failed', 'send_by' => 'from', 'cost' => '1', 'sending_server_id' => 3, 'created_at' => $created_at, 'updated_at' => $created_at, ]; } for ($i = 0; $i < $limit; $i++) { $message = $factory->text(120); $number = '88017'.$i.time(); $number = substr($number, 0, 13); $created_at = $factory->dateTimeBetween('-30 days'); $data[] = [ 'uid' => uniqid(), 'user_id' => 3, 'from' => 'Codeglen', 'to' => $number, 'message' => $message, 'sms_type' => 'whatsapp', 'status' => 'failed', 'send_by' => 'from', 'cost' => '1', 'sending_server_id' => 3, 'created_at' => $created_at, 'updated_at' => $created_at, ]; } $limit = 1; for ($i = 0; $i < $limit; $i++) { $message = $factory->text(120); $number = '88017'.$i.time(); $number = substr($number, 0, 13); $created_at = $factory->dateTimeBetween('-30 days'); $data[] = [ 'uid' => uniqid(), 'user_id' => 3, 'from' => 'Codeglen', 'to' => $number, 'message' => $message, 'sms_type' => 'plain', 'status' => 'Delivered', 'send_by' => 'from', 'cost' => '1', 'sending_server_id' => 3, 'created_at' => $created_at, 'updated_at' => $created_at, ]; } for ($i = 0; $i < $limit; $i++) { $message = $factory->text(120); $number = '88017'.$i.time(); $number = substr($number, 0, 13); $created_at = $factory->dateTimeBetween('-30 days'); $data[] = [ 'uid' => uniqid(), 'user_id' => 3, 'from' => 'Codeglen', 'to' => $number, 'message' => $message, 'sms_type' => 'plain', 'status' => 'Delivered', 'send_by' => 'to', 'cost' => '1', 'sending_server_id' => 3, 'created_at' => $created_at, 'updated_at' => $created_at, ]; } for ($i = 0; $i < $limit; $i++) { $message = $factory->text(120); $number = '88017'.$i.time(); $number = substr($number, 0, 13); $created_at = $factory->dateTimeBetween('-30 days'); $data[] = [ 'uid' => uniqid(), 'user_id' => 3, 'from' => 'Codeglen', 'to' => $number, 'message' => $message, 'sms_type' => 'plain', 'status' => 'Delivered', 'send_by' => 'api', 'cost' => '1', 'sending_server_id' => 3, 'created_at' => $created_at, 'updated_at' => $created_at, ]; } for ($i = 0; $i < $limit; $i++) { $message = $factory->text(120); $number = '88017'.$i.time(); $number = substr($number, 0, 13); $created_at = $factory->dateTimeBetween('-30 days'); $data[] = [ 'uid' => uniqid(), 'user_id' => 3, 'from' => 'Codeglen', 'to' => $number, 'message' => $message, 'sms_type' => 'voice', 'status' => 'Delivered', 'send_by' => 'from', 'cost' => '1', 'sending_server_id' => 3, 'created_at' => $created_at, 'updated_at' => $created_at, ]; } for ($i = 0; $i < $limit; $i++) { $message = $factory->text(120); $number = '88017'.$i.time(); $number = substr($number, 0, 13); $created_at = $factory->dateTimeBetween('-30 days'); $data[] = [ 'uid' => uniqid(), 'user_id' => 3, 'from' => 'Codeglen', 'to' => $number, 'message' => $message, 'sms_type' => 'mms', 'status' => 'Delivered', 'send_by' => 'from', 'cost' => '1', 'sending_server_id' => 3, 'created_at' => $created_at, 'updated_at' => $created_at, ]; } for ($i = 0; $i < $limit; $i++) { $message = $factory->text(120); $number = '88017'.$i.time(); $number = substr($number, 0, 13); $created_at = $factory->dateTimeBetween('-30 days'); $data[] = [ 'uid' => uniqid(), 'user_id' => 3, 'from' => 'Codeglen', 'to' => $number, 'message' => $message, 'sms_type' => 'whatsapp', 'status' => 'Delivered', 'send_by' => 'from', 'cost' => '1', 'sending_server_id' => 3, 'created_at' => $created_at, 'updated_at' => $created_at, ]; } Reports::insert($data); //chat box DB::statement('SET FOREIGN_KEY_CHECKS=0;'); DB::table('chat_box_messages')->truncate(); DB::table('chat_boxes')->truncate(); DB::statement('SET FOREIGN_KEY_CHECKS=1;'); $chat_box = [ [ 'user_id' => 3, 'from' => '8801921970168', 'to' => '8801721970168', 'notification' => '1', ], [ 'user_id' => 3, 'from' => '8801821970168', 'to' => '8801621970168', 'notification' => '0', ], ]; foreach ($chat_box as $chat) { ChatBox::create($chat); } $chat_messages = [ [ 'box_id' => 1, 'message' => 'test message', 'sms_type' => 'sms', 'send_by' => 'from', 'sending_server_id' => 1, ], [ 'box_id' => 2, 'message' => 'another test message', 'sms_type' => 'sms', 'send_by' => 'from', 'sending_server_id' => 1, ], [ 'box_id' => 2, 'message' => 'another test message reply', 'sms_type' => 'sms', 'send_by' => 'to', 'sending_server_id' => 1, ], [ 'box_id' => 1, 'message' => 'test message', 'sms_type' => 'sms', 'send_by' => 'from', 'sending_server_id' => 1, ], [ 'box_id' => 1, 'message' => $factory->text(120), 'sms_type' => 'sms', 'send_by' => 'to', 'sending_server_id' => 1, ], [ 'box_id' => 2, 'message' => $factory->text(120), 'sms_type' => 'sms', 'send_by' => 'to', 'sending_server_id' => 1, ], [ 'box_id' => 2, 'message' => $factory->text(120), 'sms_type' => 'sms', 'send_by' => 'from', 'sending_server_id' => 1, ], [ 'box_id' => 2, 'message' => $factory->text(120), 'sms_type' => 'sms', 'send_by' => 'to', 'sending_server_id' => 1, ], [ 'box_id' => 2, 'message' => $factory->text(120), 'sms_type' => 'sms', 'send_by' => 'from', 'sending_server_id' => 1, ], [ 'box_id' => 2, 'message' => $factory->text(120), 'sms_type' => 'sms', 'send_by' => 'from', 'sending_server_id' => 1, ], [ 'box_id' => 2, 'message' => $factory->text(120), 'sms_type' => 'sms', 'send_by' => 'to', 'sending_server_id' => 1, ], [ 'box_id' => 2, 'message' => $factory->text(120), 'sms_type' => 'sms', 'send_by' => 'from', 'sending_server_id' => 1, ], ]; foreach ($chat_messages as $message) { ChatBoxMessage::create($message); } return 0; } }