126 lines
7.9 KiB
Python
126 lines
7.9 KiB
Python
from django.core.management.base import BaseCommand
|
|
from django.utils import timezone
|
|
from datetime import timedelta
|
|
from api.models import ContactUs, Composition, Campaign
|
|
|
|
|
|
class Command(BaseCommand):
|
|
help = 'Seed the database with Persian sample data'
|
|
|
|
def handle(self, *args, **options):
|
|
self.stdout.write(self.style.SUCCESS('Starting to seed database with Persian data...'))
|
|
|
|
# Seed ContactUs data
|
|
self.stdout.write('Creating ContactUs records...')
|
|
contact_data = [
|
|
{
|
|
'name': 'احمد محمدی',
|
|
'email_or_phone': 'ahmad.mohammadi@example.com',
|
|
'description': 'سلام، من علاقهمند به همکاری با شرکت شما هستم. لطفاً اطلاعات بیشتری در مورد فرصتهای شغلی ارسال کنید.',
|
|
'category': 'همکاری'
|
|
},
|
|
{
|
|
'name': 'فاطمه رضایی',
|
|
'email_or_phone': '09123456789',
|
|
'description': 'با سلام، میخواستم در مورد محصولات شما اطلاعات بیشتری دریافت کنم. آیا امکان بازدید از نمایشگاه وجود دارد؟',
|
|
'category': 'فروش'
|
|
},
|
|
{
|
|
'name': 'علی کریمی',
|
|
'email_or_phone': 'ali.karimi@example.com',
|
|
'description': 'سلام، من مشکلی در استفاده از سرویس شما دارم. لطفاً راهنمایی کنید.',
|
|
'category': 'پشتیبانی'
|
|
},
|
|
{
|
|
'name': 'زهرا احمدی',
|
|
'email_or_phone': '09187654321',
|
|
'description': 'با احترام، میخواستم در مورد پروژههای سرمایهگذاری شما مشاوره دریافت کنم. لطفاً با من تماس بگیرید.',
|
|
'category': 'درخواست مشاور'
|
|
},
|
|
{
|
|
'name': 'محمد حسینی',
|
|
'email_or_phone': 'mohammad.hosseini@example.com',
|
|
'description': 'سلام، سوالی در مورد خدمات شما دارم که در دستهبندیهای موجود نیست. لطفاً راهنمایی کنید.',
|
|
'category': 'سایر'
|
|
}
|
|
]
|
|
|
|
for i, data in enumerate(contact_data, 1):
|
|
ContactUs.objects.create(**data)
|
|
self.stdout.write(f' Created contact {i}/5')
|
|
|
|
# Seed Composition data
|
|
self.stdout.write('Creating Composition records...')
|
|
composition_data = [
|
|
{
|
|
'name': 'ترکیب استراتژیک زونکو',
|
|
'description': 'این ترکیب شامل بخشهای مختلف شرکت زونکو میباشد که شامل مدیریت، توسعه، بازاریابی و فروش است. این ترکیب به گونهای طراحی شده که بتواند حداکثر کارایی را در تمامی بخشها ایجاد کند.'
|
|
},
|
|
{
|
|
'name': 'ترکیب تکنولوژی و نوآوری',
|
|
'description': 'ترکیبی از تکنولوژیهای پیشرفته و نوآوریهای روز دنیا که در شرکت زونکو به کار گرفته میشود. این ترکیب شامل هوش مصنوعی، بلاک چین و سایر تکنولوژیهای نوین است.'
|
|
},
|
|
{
|
|
'name': 'ترکیب منابع انسانی',
|
|
'description': 'ترکیب بهینه از نیروی انسانی متخصص و با تجربه که در بخشهای مختلف شرکت فعالیت میکنند. این ترکیب شامل مدیران ارشد، متخصصان فنی و کارشناسان بازاریابی است.'
|
|
},
|
|
{
|
|
'name': 'ترکیب مالی و سرمایهگذاری',
|
|
'description': 'ترکیب استراتژیک از منابع مالی و فرصتهای سرمایهگذاری که شرکت زونکو در اختیار دارد. این ترکیب شامل سرمایهگذاریهای داخلی و خارجی و مدیریت ریسک است.'
|
|
},
|
|
{
|
|
'name': 'ترکیب بازاریابی و فروش',
|
|
'description': 'ترکیب موثر از استراتژیهای بازاریابی و فروش که برای دستیابی به اهداف تجاری شرکت طراحی شده است. این ترکیب شامل بازاریابی دیجیتال، روابط عمومی و فروش مستقیم است.'
|
|
}
|
|
]
|
|
|
|
for i, data in enumerate(composition_data, 1):
|
|
Composition.objects.create(**data)
|
|
self.stdout.write(f' Created composition {i}/5')
|
|
|
|
# Seed Campaign data
|
|
self.stdout.write('Creating Campaign records...')
|
|
now = timezone.now()
|
|
|
|
campaign_data = [
|
|
{
|
|
'name': 'کمپین تابستانه زونکو ۱۴۰۳',
|
|
'description': 'کمپین ویژه تابستان ۱۴۰۳ با تخفیفهای ویژه و جوایز نقدی. این کمپین شامل تمامی محصولات و خدمات شرکت میباشد و فرصت مناسبی برای مشتریان است.',
|
|
'start_time': now - timedelta(days=30),
|
|
'end_time': now + timedelta(days=30)
|
|
},
|
|
{
|
|
'name': 'کمپین همکاری استراتژیک',
|
|
'description': 'کمپین جذب شرکای تجاری جدید برای همکاری در پروژههای بزرگ. این کمپین فرصت مناسبی برای شرکتهایی است که میخواهند با زونکو همکاری کنند.',
|
|
'start_time': now - timedelta(days=15),
|
|
'end_time': now + timedelta(days=45)
|
|
},
|
|
{
|
|
'name': 'کمپین نوآوری و تکنولوژی',
|
|
'description': 'کمپین معرفی آخرین نوآوریها و تکنولوژیهای شرکت زونکو. این کمپین شامل نمایشگاهها، سمینارها و رویدادهای تخصصی است.',
|
|
'start_time': now + timedelta(days=10),
|
|
'end_time': now + timedelta(days=70)
|
|
},
|
|
{
|
|
'name': 'کمپین سرمایهگذاری زونکو',
|
|
'description': 'کمپین جذب سرمایهگذاران برای پروژههای جدید شرکت. این کمپین شامل ارائه اطلاعات کامل در مورد فرصتهای سرمایهگذاری و بازدهی مورد انتظار است.',
|
|
'start_time': now - timedelta(days=60),
|
|
'end_time': now - timedelta(days=10)
|
|
},
|
|
{
|
|
'name': 'کمپین آموزش و توسعه',
|
|
'description': 'کمپین ارائه دورههای آموزشی و کارگاههای تخصصی برای توسعه مهارتهای حرفهای. این کمپین شامل دورههای آنلاین و حضوری است.',
|
|
'start_time': now + timedelta(days=5),
|
|
'end_time': now + timedelta(days=65)
|
|
}
|
|
]
|
|
|
|
for i, data in enumerate(campaign_data, 1):
|
|
Campaign.objects.create(**data)
|
|
self.stdout.write(f' Created campaign {i}/5')
|
|
|
|
self.stdout.write(self.style.SUCCESS('\nSuccessfully seeded database with Persian data!'))
|
|
self.stdout.write(f' - ContactUs: {ContactUs.objects.count()} records')
|
|
self.stdout.write(f' - Composition: {Composition.objects.count()} records')
|
|
self.stdout.write(f' - Campaign: {Campaign.objects.count()} records')
|