<?php
/**
 * داده دمو کاتالوگ تأمین‌کننده + سفارش نمونه
 * php run-service-supplier-seed.php
 */
declare(strict_types=1);

if ( ! defined( 'ACC_BASE_PATH' ) ) {
    define( 'ACC_BASE_PATH', __DIR__ );
    require __DIR__ . '/standalone/bootstrap.php';
}

require_once ACC_PATH . 'includes/helpers/svc-supplier.php';
require_once ACC_PATH . 'includes/helpers/svc-rewards.php';

header( 'Content-Type: application/json; charset=utf-8' );
global $wpdb;
$pre = $wpdb->prefix;

function sup_seed_role( int $uid ): void {
    global $wpdb;
    $role_id = (int) $wpdb->get_var( $wpdb->prepare(
        "SELECT id FROM {$wpdb->prefix}acl_roles WHERE slug=%s", 'service_supplier'
    ) );
    if ( ! $role_id ) return;
    $exists = $wpdb->get_var( $wpdb->prepare(
        "SELECT id FROM {$wpdb->prefix}acl_user_roles WHERE user_id=%d AND role_id=%d",
        $uid, $role_id
    ) );
    if ( ! $exists ) {
        $wpdb->insert( "{$wpdb->prefix}acl_user_roles", [
            'user_id' => $uid, 'role_id' => $role_id, 'scope_type' => 'global', 'scope_id' => null,
        ] );
    }
}

$sup_uid = (int) $wpdb->get_var( $wpdb->prepare(
    "SELECT ID FROM {$wpdb->users} WHERE user_login=%s", 'svc_supplier_demo'
) );
if ( ! $sup_uid ) {
    echo json_encode( [ 'success' => false, 'message' => 'ابتدا run-service-reward-seed.php را اجرا کنید' ], JSON_UNESCAPED_UNICODE );
    exit( 1 );
}

sup_seed_role( $sup_uid );
Svc_Supplier::ensure_profile( $sup_uid );
$wpdb->update( Svc_Supplier::profile_table(), [
    'company_name' => 'شرکت قطعات سردخانه آریا',
    'contact_name' => 'مهندس کریمی',
    'phone'        => '02188776655',
    'city'         => 'تهران',
    'description'  => 'تأمین قطعات اصلی Carrier، Turbo و گازهای مبرد',
], [ 'user_id' => $sup_uid ] );

$catalog = [
    [ 'part', 'فیلتر کمپرسور Carrier', 'CR-FIL-001', 'Carrier', '38A', 1850000, 12, 1, 2 ],
    [ 'part', 'کنترلر دیجیتال Carrier', 'CR-CTL-220', 'Carrier', '220V', 4200000, 5, 1, 3 ],
    [ 'part', 'گاز R410A — سیلندر ۱۱.۳kg', 'R410A-11', '', '', 8900000, 8, 1, 1 ],
    [ 'part', 'فن کندانسور Turbo', 'TB-FAN-55', 'Turbo', '55cm', 2650000, 6, 1, 4 ],
    [ 'part', 'ترموستات دیجیتال', 'TH-DIG-01', 'Generic', '', 980000, 20, 1, 2 ],
    [ 'part', 'کنتاکتور ۳ فاز ۲۵A', 'CT-25A', '', '', 450000, 15, 1, 1 ],
    [ 'service', 'شارژ گاز و تست نشتی', 'SVC-GAS', '', '', 3500000, 0, 0, 2 ],
    [ 'equipment', 'چیلر ۵ تن اقتصادی', 'CH-5T-ECO', 'Turbo', '5TR', 185000000, 2, 1, 14 ],
];

$ct = Svc_Supplier::catalog_table();
$inserted = 0;
foreach ( $catalog as [ $type, $name, $sku, $brand, $model, $price, $stock, $in_stock, $lead ] ) {
    $exists = (int) $wpdb->get_var( $wpdb->prepare(
        "SELECT id FROM {$ct} WHERE supplier_user_id=%d AND sku=%s", $sup_uid, $sku
    ) );
    if ( $exists ) continue;
    $wpdb->insert( $ct, [
        'supplier_user_id' => $sup_uid,
        'item_type'        => $type,
        'name'             => $name,
        'sku'              => $sku,
        'brand'            => $brand,
        'model'            => $model,
        'price'            => $price,
        'stock_qty'        => $stock,
        'in_stock'         => $in_stock,
        'lead_days'        => $lead,
        'is_active'        => 1,
    ] );
    $inserted++;
}

$demo_order = 0;
$ot = "{$pre}svc_parts_orders";
if ( $wpdb->get_var( $wpdb->prepare( 'SHOW TABLES LIKE %s', $ot ) ) === $ot ) {
    $exists_order = (int) $wpdb->get_var( $wpdb->prepare(
        "SELECT id FROM {$ot} WHERE part_number=%s AND status='supplier_pending' LIMIT 1", 'CR-FIL-001'
    ) );
    if ( ! $exists_order ) {
        $wpdb->insert( $ot, [
            'request_id'    => null,
            'tracking_code' => 'DEMO01',
            'customer_name' => 'علی رضایی — مشتری دمو',
            'phone'         => '09121234567',
            'part_number'   => 'CR-FIL-001',
            'part_qty'      => 2,
            'status'        => 'supplier_pending',
            'quote_price'   => 0,
            'eta_days'      => 5,
            'notes'         => '[دمو] سفارش باز برای تست پورتال تأمین‌کننده',
            'created_at'    => current_time( 'mysql' ),
        ] );
        $demo_order = (int) $wpdb->insert_id;
    }
}

echo json_encode( [
    'success'        => true,
    'supplier_user'  => $sup_uid,
    'catalog_added'  => $inserted,
    'demo_order_id'  => $demo_order,
    'login'          => 'svc_supplier_demo / SvcReward@1404',
], JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT );
