-- ============================================================
-- Phase 5 — Coming-soon services (DB-only, ไม่แก้ code)
-- ============================================================
-- Target: pnaall_db.service_categories + pnaall_db.services
-- Approach: เพิ่ม category 'marketing' + 3 services (seo, ads, content)
--           ทั้ง 3 fall ไป ServiceComingSoonView อัตโนมัติ (route_status='coming-soon')
--           SEO มาจาก DB ผ่าน pna_meta_from_service (SSR) + applySeoConfig (client)
--
-- !! ก่อนรัน: User ต้องตั้ง @admin_partner_id ด้านล่างให้ตรงกับ partner_id ของ admin/PNA
--    หา id ผ่าน: SELECT id, name FROM partners WHERE name LIKE '%PNA%' OR id=1 LIMIT 5;
--
-- HOW TO RUN:
--   1) phpMyAdmin: paste each block (set @admin_partner_id ก่อน)
--   2) CLI: mysql -h pnaserver.com -u da_admin -p pnaall_db < this_file
-- ============================================================


-- ─────────────────────────────────────────────────────────────
-- STEP 0: Set admin partner_id ที่จะถือ ownership
-- ─────────────────────────────────────────────────────────────
-- !! แก้บรรทัดด้านล่างก่อนรัน — ใช้ partner_id ของ PNA / admin partner
SET @admin_partner_id = 1;
-- หรือ auto-detect (ใช้ partner เก่าสุด):
-- SET @admin_partner_id = (SELECT MIN(id) FROM partners);


-- ─────────────────────────────────────────────────────────────
-- STEP 1: INSERT category 'marketing'
-- ─────────────────────────────────────────────────────────────
INSERT INTO service_categories (slug, name_th, description_th, sort_order, is_active, source_system, external_ref, metadata_json)
VALUES (
  'marketing',
  'บริการการตลาดดิจิทัล',
  'บริการการตลาดดิจิทัลครบวงจรของ PNA Digital ครอบคลุม SEO, ยิงโฆษณา, คอนเทนต์ และ social media marketing สำหรับ SME และองค์กรไทยที่อยากเติบโตอย่างยั่งยืน',
  10,
  1,
  'seo_plan',
  'phase5:marketing',
  JSON_OBJECT('seed_origin', 'PHASE5_MARKETING_SERVICES.sql', 'menu_label', 'บริการการตลาด', 'source_slug', 'marketing')
);

SET @marketing_cat_id = LAST_INSERT_ID();
SELECT @marketing_cat_id AS marketing_category_id;


-- ─────────────────────────────────────────────────────────────
-- STEP 2: INSERT service 1 — /services/marketing/seo
-- ─────────────────────────────────────────────────────────────
INSERT INTO services (
  uid, partner_id, category_id, slug, title, short_description, card_title, card_description,
  seo_title, seo_description, seo_keywords, seo_focus_keyword, seo_h1, seo_canonical_url,
  og_title, og_description, og_image, og_type,
  twitter_card, twitter_title, twitter_description, twitter_image,
  schema_json, breadcrumb_json,
  status, approval_status, visibility, seo_noindex, is_featured, published_at, approved_at, seo_updated_at
)
VALUES (
  UUID(), @admin_partner_id, @marketing_cat_id, 'seo',
  'รับทำ SEO ติดหน้าแรก Google',
  'บริการรับทำ SEO ครบวงจรโดยทีม PNA Digital วาง Technical SEO, Content และ Link building เน้นติดหน้าแรก Google ระยะยาว',
  'รับทำ SEO ติดหน้าแรก Google',
  'Technical SEO + Content + Link building เน้นผลระยะยาวในไทย',
  'รับทำ SEO ติดหน้าแรก Google ระยะยาว — บริการครบวงจร | PNA Digital',
  'บริการรับทำ SEO ครบวงจรในไทย ดูแลทั้ง Technical SEO, Content และ Link building เน้นผลลัพธ์ที่อยู่หน้าแรก Google ได้ระยะยาว ไม่ใช่แค่ติดชั่วคราว',
  'รับทำ SEO, บริษัทรับทำ SEO, ติดหน้าแรก Google, รับทำ SEO ราคา, SEO agency Bangkok, Local SEO Thailand, AI SEO agency',
  'รับทำ SEO',
  'รับทำ SEO ติดหน้าแรก Google ระยะยาว ด้วยทีมที่เข้าใจธุรกิจไทย',
  '/services/marketing/seo',
  'รับทำ SEO ติดหน้าแรก Google ระยะยาว | PNA Digital',
  'บริการ SEO ครบวงจร Technical + Content + Link building เน้นผลลัพธ์ระยะยาวสำหรับธุรกิจไทย',
  '/assets/img/og-seo-service.png',
  'website',
  'summary_large_image',
  'รับทำ SEO ติดหน้าแรก Google | PNA Digital',
  'SEO ครบวงจร Technical + Content + Link เน้นติดหน้าแรกระยะยาว ไม่ใช่แค่ชั่วคราว',
  '/assets/img/og-seo-service.png',
  JSON_OBJECT(
    '@context', 'https://schema.org',
    '@graph', JSON_ARRAY(
      JSON_OBJECT(
        '@type', 'Service',
        'name', 'บริการรับทำ SEO',
        'serviceType', 'Search Engine Optimization',
        'description', 'บริการ SEO ครบวงจร ครอบคลุม Technical SEO, Content SEO และ Link building เน้นผลลัพธ์ที่อยู่หน้าแรก Google ได้ระยะยาวสำหรับธุรกิจไทย',
        'areaServed', JSON_OBJECT('@type', 'Country', 'name', 'Thailand'),
        'provider', JSON_OBJECT('@type', 'Organization', 'name', 'PNA Digital', 'url', 'https://pna.co.th/')
      ),
      JSON_OBJECT(
        '@type', 'FAQPage',
        'mainEntity', JSON_ARRAY(
          JSON_OBJECT('@type', 'Question', 'name', 'บริการรับทำ SEO ของ PNA Digital ราคาเท่าไหร่?',
            'acceptedAnswer', JSON_OBJECT('@type', 'Answer', 'text', 'ราคาขึ้นอยู่กับขอบเขตงาน เช่น การทำ Technical audit, จำนวน content ที่ต้องผลิต และเป้าหมาย keyword ที่ต้องการ ทีมเรายินดีเข้าพูดคุยและส่งใบเสนอราคาที่เหมาะกับธุรกิจของคุณโดยเฉพาะ')),
          JSON_OBJECT('@type', 'Question', 'name', 'ทำ SEO ใช้เวลานานแค่ไหนกว่าจะเห็นผล?',
            'acceptedAnswer', JSON_OBJECT('@type', 'Answer', 'text', 'โดยทั่วไป keyword ที่ความยากระดับกลางใช้เวลา 3–6 เดือนถึงจะเห็นอันดับขยับชัด ส่วน keyword competition สูงอาจใช้ 6–12 เดือน เราจะส่งรายงานความคืบหน้าให้ทุกเดือนเพื่อให้คุณเห็นพัฒนาการต่อเนื่อง')),
          JSON_OBJECT('@type', 'Question', 'name', 'PNA Digital ทำ SEO สำหรับ AI Search (GEO/AEO) ได้หรือไม่?',
            'acceptedAnswer', JSON_OBJECT('@type', 'Answer', 'text', 'ทำได้ ทีมเรามี playbook GEO และ AEO ที่ออกแบบมาสำหรับ AI Search โดยเฉพาะ ครอบคลุมทั้ง Google SGE, ChatGPT และ Perplexity เพื่อให้แบรนด์ของคุณถูกอ้างอิงในคำตอบของ AI ด้วย'))
        )
      )
    )
  ),
  JSON_OBJECT(
    '@context', 'https://schema.org', '@type', 'BreadcrumbList',
    'itemListElement', JSON_ARRAY(
      JSON_OBJECT('@type','ListItem','position',1,'name','หน้าแรก','item','https://pna.co.th/'),
      JSON_OBJECT('@type','ListItem','position',2,'name','บริการทั้งหมด','item','https://pna.co.th/services/all'),
      JSON_OBJECT('@type','ListItem','position',3,'name','บริการการตลาดดิจิทัล','item','https://pna.co.th/services/marketing'),
      JSON_OBJECT('@type','ListItem','position',4,'name','รับทำ SEO','item','https://pna.co.th/services/marketing/seo')
    )
  ),
  'published', 'approved', 'public', 0, 1, NOW(), NOW(), NOW()
);


-- ─────────────────────────────────────────────────────────────
-- STEP 3: INSERT service 2 — /services/marketing/ads
-- ─────────────────────────────────────────────────────────────
INSERT INTO services (
  uid, partner_id, category_id, slug, title, short_description, card_title, card_description,
  seo_title, seo_description, seo_keywords, seo_focus_keyword, seo_h1, seo_canonical_url,
  og_title, og_description, og_image, og_type,
  twitter_card, twitter_title, twitter_description, twitter_image,
  schema_json, breadcrumb_json,
  status, approval_status, visibility, seo_noindex, is_featured, published_at, approved_at, seo_updated_at
)
VALUES (
  UUID(), @admin_partner_id, @marketing_cat_id, 'ads',
  'รับยิงโฆษณา Facebook + Google + TikTok',
  'บริการยิงโฆษณาออนไลน์ครบทุก platform — Facebook Ads, Google Ads, TikTok Ads ดูแลตั้งแต่กลยุทธ์ สร้าง creative ถึงรายงาน',
  'รับยิงโฆษณา Facebook + Google + TikTok',
  'Performance marketing ครบ platform — กลยุทธ์ + creative + รายงาน',
  'รับยิงโฆษณา Facebook, Google, TikTok ครบทุก platform | PNA Digital',
  'บริการยิงโฆษณาออนไลน์ครบทุก platform Facebook, Google และ TikTok ดูแลตั้งแต่วางกลยุทธ์ ผลิต creative ปรับ optimize ไปจนถึงรายงานผลรายสัปดาห์',
  'รับยิงโฆษณา Facebook, รับทำ Google Ads, รับทำ TikTok Ads, Google Ads agency Thailand, Facebook Ads agency Bangkok, performance marketing Thailand',
  'รับยิงโฆษณา Facebook',
  'รับยิงโฆษณา Facebook, Google และ TikTok วัดผลได้จริงทุกสัปดาห์',
  '/services/marketing/ads',
  'รับยิงโฆษณา Facebook + Google + TikTok | PNA Digital',
  'Performance marketing ครบ platform Facebook, Google, TikTok พร้อม creative และรายงานผลรายสัปดาห์',
  '/assets/img/og-ads-service.png',
  'website',
  'summary_large_image',
  'รับยิงโฆษณา Facebook + Google + TikTok | PNA Digital',
  'ยิงโฆษณาออนไลน์ครบ platform ดูแลตั้งแต่กลยุทธ์ ถึงรายงานผลรายสัปดาห์',
  '/assets/img/og-ads-service.png',
  JSON_OBJECT(
    '@context', 'https://schema.org',
    '@type', 'Service',
    'name', 'บริการยิงโฆษณาออนไลน์ Facebook, Google และ TikTok',
    'serviceType', 'Paid Media / Performance Marketing',
    'description', 'บริการยิงโฆษณาออนไลน์ครบทุก platform ทั้ง Facebook Ads, Google Ads และ TikTok Ads ดูแลตั้งแต่กลยุทธ์ ผลิต creative ปรับ optimize ถึงรายงานผลรายสัปดาห์',
    'areaServed', JSON_OBJECT('@type', 'Country', 'name', 'Thailand'),
    'provider', JSON_OBJECT('@type', 'Organization', 'name', 'PNA Digital', 'url', 'https://pna.co.th/')
  ),
  JSON_OBJECT(
    '@context', 'https://schema.org', '@type', 'BreadcrumbList',
    'itemListElement', JSON_ARRAY(
      JSON_OBJECT('@type','ListItem','position',1,'name','หน้าแรก','item','https://pna.co.th/'),
      JSON_OBJECT('@type','ListItem','position',2,'name','บริการทั้งหมด','item','https://pna.co.th/services/all'),
      JSON_OBJECT('@type','ListItem','position',3,'name','บริการการตลาดดิจิทัล','item','https://pna.co.th/services/marketing'),
      JSON_OBJECT('@type','ListItem','position',4,'name','รับยิงโฆษณาออนไลน์','item','https://pna.co.th/services/marketing/ads')
    )
  ),
  'published', 'approved', 'public', 0, 1, NOW(), NOW(), NOW()
);


-- ─────────────────────────────────────────────────────────────
-- STEP 4: INSERT service 3 — /services/marketing/content
-- ─────────────────────────────────────────────────────────────
INSERT INTO services (
  uid, partner_id, category_id, slug, title, short_description, card_title, card_description,
  seo_title, seo_description, seo_keywords, seo_focus_keyword, seo_h1, seo_canonical_url,
  og_title, og_description, og_image, og_type,
  twitter_card, twitter_title, twitter_description, twitter_image,
  schema_json, breadcrumb_json,
  status, approval_status, visibility, seo_noindex, is_featured, published_at, approved_at, seo_updated_at
)
VALUES (
  UUID(), @admin_partner_id, @marketing_cat_id, 'content',
  'บริการคอนเทนต์การตลาด ครบวงจร',
  'บริการคอนเทนต์การตลาดครบวงจรของ PNA วางแผน เขียน ออกแบบ และโปรโมตคอนเทนต์ที่ขายได้จริงสำหรับธุรกิจไทย',
  'บริการคอนเทนต์การตลาด ครบวงจร',
  'Plan → Create → Distribute คอนเทนต์ที่ขายได้',
  'บริการคอนเทนต์การตลาด วางแผน เขียน ออกแบบ โปรโมตครบวงจร | PNA Digital',
  'บริการคอนเทนต์การตลาดครบวงจร วางแผน เขียน ออกแบบ และโปรโมตคอนเทนต์ที่ขายได้จริงสำหรับธุรกิจไทย เน้นผลลัพธ์ทั้งยอด engagement และยอดขาย',
  'บริการคอนเทนต์การตลาด, รับทำ Content Marketing, รับเขียน SEO content, จัดหา content creator, รับทำ AI Content, AI copywriting ภาษาไทย',
  'บริการคอนเทนต์การตลาด',
  'บริการคอนเทนต์การตลาด วางแผน เขียน ออกแบบ และโปรโมตที่ขายได้จริง',
  '/services/marketing/content',
  'บริการคอนเทนต์การตลาดครบวงจร | PNA Digital',
  'Content marketing วางแผน เขียน ออกแบบ และโปรโมตคอนเทนต์ที่ขายได้จริงสำหรับธุรกิจไทย',
  '/assets/img/og-content-service.png',
  'website',
  'summary_large_image',
  'บริการคอนเทนต์การตลาดครบวงจร | PNA Digital',
  'Content marketing วางแผน เขียน ออกแบบ โปรโมต ครบในที่เดียว เน้นยอดขายจริง',
  '/assets/img/og-content-service.png',
  JSON_OBJECT(
    '@context', 'https://schema.org',
    '@type', 'Service',
    'name', 'บริการคอนเทนต์การตลาดครบวงจร',
    'serviceType', 'Content Marketing',
    'description', 'บริการคอนเทนต์การตลาดครบวงจร วางแผน เขียน ออกแบบ และโปรโมตคอนเทนต์ที่ขายได้จริงสำหรับธุรกิจไทยทุกขนาด',
    'areaServed', JSON_OBJECT('@type', 'Country', 'name', 'Thailand'),
    'provider', JSON_OBJECT('@type', 'Organization', 'name', 'PNA Digital', 'url', 'https://pna.co.th/')
  ),
  JSON_OBJECT(
    '@context', 'https://schema.org', '@type', 'BreadcrumbList',
    'itemListElement', JSON_ARRAY(
      JSON_OBJECT('@type','ListItem','position',1,'name','หน้าแรก','item','https://pna.co.th/'),
      JSON_OBJECT('@type','ListItem','position',2,'name','บริการทั้งหมด','item','https://pna.co.th/services/all'),
      JSON_OBJECT('@type','ListItem','position',3,'name','บริการการตลาดดิจิทัล','item','https://pna.co.th/services/marketing'),
      JSON_OBJECT('@type','ListItem','position',4,'name','บริการคอนเทนต์การตลาด','item','https://pna.co.th/services/marketing/content')
    )
  ),
  'published', 'approved', 'public', 0, 1, NOW(), NOW(), NOW()
);


-- ============================================================
-- VERIFICATION
-- ============================================================

-- 1) Check category + 3 services inserted
SELECT s.slug AS service_slug, c.slug AS category_slug, s.title, s.status, s.approval_status, s.visibility
FROM services s
LEFT JOIN service_categories c ON c.id = s.category_id
WHERE c.slug = 'marketing'
ORDER BY s.slug;
-- Expected: 3 rows (ads, content, seo) — all status='published', approval='approved', visibility='public'

-- 2) Validate JSON
SELECT slug,
  JSON_VALID(schema_json) AS schema_ok,
  JSON_VALID(breadcrumb_json) AS breadcrumb_ok
FROM services s
INNER JOIN service_categories c ON c.id = s.category_id
WHERE c.slug = 'marketing';

-- 3) Verify URLs จะ pickup โดย sitemap auto
SELECT CONCAT('/services/', c.slug, '/', s.slug) AS expected_url
FROM services s
INNER JOIN service_categories c ON c.id = s.category_id
WHERE c.slug = 'marketing'
ORDER BY s.slug;
-- Expected:
--   /services/marketing/ads
--   /services/marketing/content
--   /services/marketing/seo


-- ============================================================
-- HOW THE ROUTE WORKS (no Vue code change needed)
-- ============================================================
-- 1) Crawler hits /services/marketing/seo
-- 2) Apache -> index.php -> pna_service_from_path() matches DB row -> pna_meta_from_service() renders SEO
--    -> crawler sees full <title>, <meta>, JSON-LD พร้อม
-- 3) JS hydrates -> Vue router matches /services/:catSlug/:serviceSlug
--    -> serviceRouteGuard calls API -> route_status='coming-soon' (because slug not in DESIGNED_SERVICE_PATHS)
--    -> redirects to /services/marketing/seo/coming-soon (ServiceComingSoonView)
-- 4) ServiceComingSoonView shows "soon" UI พร้อม form ติดต่อ
-- 5) sitemap.php -> pna_db_urls() picks /services/marketing/seo ตาม WHERE status=published AND visibility=public

-- ============================================================
-- ROLLBACK (ถ้าต้องการลบ)
-- ============================================================
-- DELETE FROM services WHERE slug IN ('seo','ads','content') AND category_id =
--   (SELECT id FROM service_categories WHERE slug='marketing');
-- DELETE FROM service_categories WHERE slug='marketing';
