Watch
1
0
Fork
You've already forked Seyyed_arc
0
forked from hesabix/arc
Seyyed_arc/docs/REPAIR_SHOP_QUICK_START.md
2026-04-14 19:34:55 +03:30

4.4 KiB
Executable file
Raw Permalink Blame History

🚀 راهنمای سریع شروع - افزونه مدیریت تعمیرگاه

مرحله 1: اجرای Migration

cd /var/www/ark/hesabixAPI

# فعال‌سازی محیط مجازی (اگر دارید)
source venv/bin/activate

# اجرای migration
alembic upgrade head

مرحله 2: ثبت افزونه در Marketplace

python scripts/add_repair_shop_plugin.py

خروجی مورد انتظار:

✅ افزونه ایجاد شد (ID: X)
   ✅ پلن اشتراک ماهانه ایجاد شد (500,000 تومان)
   ✅ پلن اشتراک سالانه ایجاد شد (5,000,000 تومان)

============================================================
✅ افزونه مدیریت تعمیرگاه با موفقیت ثبت شد!
============================================================

مرحله 3: تست API ها

3.1 بررسی وضعیت افزونه

curl -X GET "http://localhost:8000/api/v1/repair-shop/businesses/1/plugin-status" \
  -H "Authorization: Bearer YOUR_API_KEY"

3.2 دریافت تنظیمات

curl -X GET "http://localhost:8000/api/v1/repair-shop/businesses/1/settings" \
  -H "Authorization: Bearer YOUR_API_KEY"

3.3 ایجاد تعمیرکار

curl -X POST "http://localhost:8000/api/v1/repair-shop/businesses/1/technicians" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "person_id": 1,
    "commission_type": "percentage",
    "commission_value": 30
  }'

3.4 ایجاد سفارش تعمیر

curl -X POST "http://localhost:8000/api/v1/repair-shop/businesses/1/orders" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "customer_person_id": 1,
    "product_name": "لپتاپ ایسوس",
    "problem_description": "روشن نمی‌شود"
  }'

مرحله 4: سناریوی کامل

سناریو: تعمیر یک لپتاپ

# 1. ایجاد سفارش
ORDER_ID=$(curl -X POST "..." | jq -r '.data.id')

# 2. اختصاص تعمیرکار
curl -X POST ".../orders/$ORDER_ID/assign-technician" \
  -d '{"technician_id": 1}'

# 3. تغییر وضعیت به "در حال تعمیر"
curl -X POST ".../orders/$ORDER_ID/update-status" \
  -d '{"status": "in_progress"}'

# 4. افزودن قطعات
curl -X POST ".../orders/$ORDER_ID/add-parts" \
  -d '{
    "parts": [
      {
        "product_id": 10,
        "quantity": 1,
        "warehouse_id": 1
      }
    ]
  }'

# 5. محاسبه هزینه‌ها
curl -X POST ".../orders/$ORDER_ID/calculate-costs" \
  -d '{"labor_cost": 1000000}'

# 6. تکمیل تعمیر
curl -X POST ".../orders/$ORDER_ID/complete" \
  -d '{"is_fixed": true}'

# 7. صدور فاکتور
curl -X POST ".../orders/$ORDER_ID/create-invoice"

# 8. تحویل کالا
curl -X POST ".../orders/$ORDER_ID/deliver"

مرحله 5: بررسی در Swagger

مراجعه کنید به:

http://localhost:8000/docs

و بخش Repair Shop را مشاهده کنید.

نکات مهم

✅ افزونه باید فعال باشد

قبل از استفاده، کسب‌وکار باید افزونه را خریداری یا trial کند:

# شروع trial
curl -X POST "http://localhost:8000/api/v1/marketplace/business/1/plugins/PLUGIN_ID/start-trial" \
  -H "Authorization: Bearer YOUR_API_KEY"

✅ محصول خدمات تعمیر

برای صدور فاکتور، یک محصول با مشخصات زیر ایجاد کنید:

  • نوع: service
  • کد: SRV-REPAIR
  • نام: "خدمات تعمیر"

✅ انبار پیش‌فرض

در تنظیمات، انبار پیش‌فرض را مشخص کنید.

خطاهای رایج

خطا: PLUGIN_NOT_ACTIVE

حل: افزونه را فعال کنید (خرید یا trial)

خطا: INSUFFICIENT_STOCK

حل: موجودی قطعه را در انبار بررسی کنید

خطا: NO_ACTIVE_STORAGE_PLAN

حل: برای آپلود تصاویر، پلن ذخیره‌سازی فعال کنید

خطا: INVOICE_ALREADY_EXISTS

حل: هر سفارش فقط یک فاکتور دارد

پشتیبانی

در صورت بروز مشکل:

  1. لاگ‌های سرور را بررسی کنید
  2. وضعیت migration را چک کنید
  3. وضعیت افزونه را بررسی کنید

✅ موفق باشید!