-- ═══════════════════════════════════════════════════════════════════════
-- DB 전체 정리 + 데이터 보강 스크립트
-- 실행 위치: Supabase SQL Editor
-- 작성일: 2026-04-07
--
-- 처리 내용:
--  1. 중복/테스트/미완성 레코드 삭제 (53건)
--  2. 병원당 최신 complete 1건만 유지 (5건)
--  3. 모든 레코드에 lead_doctor + gangnamUnni 데이터 보강
--  4. 영문 clinic_name 한글로 정규화
--  5. 추적 파라미터가 붙은 URL 클린 URL로 정규화
-- ═══════════════════════════════════════════════════════════════════════


-- ── STEP 0: 실행 전 현황 확인 ──────────────────────────────────────────
SELECT
  id, clinic_name, status,
  channel_data->'gangnamUnni'->>'rating'      AS gu_rating,
  report->'clinicInfo'->'leadDoctor'->>'name' AS lead_doctor,
  created_at::date                             AS date
FROM marketing_reports
ORDER BY created_at DESC;


-- ── STEP 1: 불필요한 레코드 삭제 ───────────────────────────────────────
-- 유지할 레코드 5건 (병원당 최신 complete 1건):
--   1b838500 → 뷰성형외과      (viewclinic.com)   ✅ 이미 완비
--   89595bef → 바노바기성형외과  (banobagi.com)
--   6c9e8bcb → 아이디병원       (idhospital.com)
--   9edb276c → 그랜드성형외과   (grandsurgery.com)
--   478d9128 → 디에이성형외과   (daprs.com)

DELETE FROM marketing_reports
WHERE id NOT IN (
  '1b838500-0bca-404c-97e6-2efbd17a2e21',
  '89595bef-a1bf-489e-aba9-348a08bd4d06',
  '6c9e8bcb-153e-4e1f-b7b2-a48acd4d7917',
  '9edb276c-b99b-4326-82fe-e6f5ed1f592b',
  '478d9128-c1d0-45a2-b852-c211ece73270'
);

-- 삭제 확인
SELECT COUNT(*) AS remaining_count FROM marketing_reports;


-- ── STEP 2: 바노바기성형외과 (89595bef) ────────────────────────────────
-- 강남언니: 평점 9.2 / 리뷰 6,843 / 대표원장 반재상·오창현 (공동)
UPDATE marketing_reports SET
  clinic_name = '바노바기성형외과',
  url = 'https://www.banobagi.com/',
  channel_data = channel_data || jsonb_build_object(
    'gangnamUnni', jsonb_build_object(
      'name', '바노바기성형외과의원',
      'rating', 9.2,
      'rawRating', 9.2,
      'ratingScale', '/10',
      'totalReviews', 6843,
      'doctors', jsonb_build_array(
        jsonb_build_object('name','반재상','specialty','성형외과 대표원장','rating',9.7,'reviews',678),
        jsonb_build_object('name','오창현','specialty','성형외과 대표원장','rating',9.7,'reviews',543),
        jsonb_build_object('name','권희연','specialty','성형외과','rating',9.6,'reviews',687),
        jsonb_build_object('name','박선재','specialty','성형외과','rating',8.9,'reviews',92)
      ),
      'procedures', jsonb_build_array('눈성형','코성형','안면윤곽/양악','가슴성형','지방성형','필러','보톡스','리프팅','모발이식'),
      'address', '서울 강남구 논현로 517',
      'badges', jsonb_build_array('마취과 전문의 상주','수술실 CCTV','여성 의사 진료','분야별 공동 진료','시술 후 관리','의료진 실명 공개','입원 시설','응급 대응 체계','야간진료'),
      'sourceUrl', 'https://www.gangnamunni.com/hospitals/23'
    )
  ),
  report = jsonb_set(
    jsonb_set(
      report,
      '{clinicInfo,leadDoctor}',
      '{"name":"반재상","specialty":"성형외과 대표원장 (공동대표)","rating":9.7,"reviewCount":678}'::jsonb
    ),
    '{clinicInfo,staffCount}', '20'::jsonb
  ),
  scrape_data = COALESCE(scrape_data, '{}'::jsonb) || jsonb_build_object(
    'source', 'registry',
    'registryData', jsonb_build_object(
      'district','강남',
      'brandGroup','프리미엄/하이타깃',
      'naverPlaceUrl','https://m.place.naver.com/hospital/21033469',
      'gangnamUnniUrl','https://www.gangnamunni.com/hospitals/23'
    )
  )
WHERE id = '89595bef-a1bf-489e-aba9-348a08bd4d06';


-- ── STEP 3: 아이디병원 (6c9e8bcb) ────────────────────────────────────
-- 강남언니: 평점 9.5 / 리뷰 14,933 / 대표원장 박상훈 (리뷰 9,058건)
UPDATE marketing_reports SET
  clinic_name = '아이디병원',
  url = 'https://www.idhospital.com/',
  channel_data = channel_data || jsonb_build_object(
    'gangnamUnni', jsonb_build_object(
      'name', '아이디병원-본원',
      'rating', 9.5,
      'rawRating', 9.5,
      'ratingScale', '/10',
      'totalReviews', 14933,
      'doctors', jsonb_build_array(
        jsonb_build_object('name','박상훈','specialty','성형외과 대표원장 (안면윤곽/양악)','rating',9.8,'reviews',9058),
        jsonb_build_object('name','이지혁','specialty','성형외과','rating',9.2,'reviews',225),
        jsonb_build_object('name','황인석','specialty','성형외과','rating',9.5,'reviews',215),
        jsonb_build_object('name','이근석','specialty','이비인후과','rating',9.1,'reviews',87)
      ),
      'procedures', jsonb_build_array('양악수술','안면윤곽','눈성형','코성형','가슴성형','리프팅','피부클리닉','치과'),
      'address', '서울 강남구 도산대로 142',
      'badges', jsonb_build_array('수술실 CCTV','마취과 전문의 상주','시술 후 관리','의료진 실명 공개','여성 의사 진료','입원 시설','전용 휴식 공간','야간진료','응급 대응 체계'),
      'sourceUrl', 'https://www.gangnamunni.com/hospitals/257'
    )
  ),
  report = jsonb_set(
    jsonb_set(
      report,
      '{clinicInfo,leadDoctor}',
      '{"name":"박상훈","specialty":"성형외과 대표원장 (안면윤곽/양악 특화)","rating":9.8,"reviewCount":9058}'::jsonb
    ),
    '{clinicInfo,staffCount}', '35'::jsonb
  ),
  scrape_data = COALESCE(scrape_data, '{}'::jsonb) || jsonb_build_object(
    'source', 'registry',
    'registryData', jsonb_build_object(
      'district','강남',
      'branches','아이디병원 별관(역삼)',
      'brandGroup','프리미엄/하이타깃',
      'naverPlaceUrl','https://m.place.naver.com/hospital/11548359',
      'gangnamUnniUrl','https://www.gangnamunni.com/hospitals/257'
    )
  )
WHERE id = '6c9e8bcb-153e-4e1f-b7b2-a48acd4d7917';


-- ── STEP 4: 그랜드성형외과 (9edb276c) ────────────────────────────────
-- 강남언니: 평점 9.8 / 리뷰 1,531 / 대표원장 이세환 (압구정)
UPDATE marketing_reports SET
  clinic_name = '그랜드성형외과',
  url = 'https://www.grandsurgery.com/',
  channel_data = channel_data || jsonb_build_object(
    'gangnamUnni', jsonb_build_object(
      'name', '그랜드성형외과의원',
      'rating', 9.8,
      'rawRating', 9.8,
      'ratingScale', '/10',
      'totalReviews', 1531,
      'doctors', jsonb_build_array(
        jsonb_build_object('name','이세환','specialty','성형외과 대표원장','rating',9.7,'reviews',562),
        jsonb_build_object('name','김주희','specialty','성형외과','rating',9.6,'reviews',108),
        jsonb_build_object('name','이승현','specialty','마취통증의학과','rating',9.0,'reviews',3)
      ),
      'procedures', jsonb_build_array('피부','코성형','눈성형','보톡스','필러','리프팅','가슴성형','지방성형'),
      'address', '서울 강남구 논현로 841 (신사동) 6층',
      'badges', jsonb_build_array('분야별 공동 진료','응급 대응 체계','시술 후 관리','전용 휴식 공간','입원 시설','마취과 전문의 상주','의료진 실명 공개','성형외과 전문의 진료','여성 의사 진료'),
      'sourceUrl', 'https://www.gangnamunni.com/hospitals/62'
    )
  ),
  report = jsonb_set(
    jsonb_set(
      report,
      '{clinicInfo,leadDoctor}',
      '{"name":"이세환","specialty":"성형외과 대표원장 (압구정 그랜드)","rating":9.7,"reviewCount":562}'::jsonb
    ),
    '{clinicInfo,staffCount}', '12'::jsonb
  ),
  scrape_data = COALESCE(scrape_data, '{}'::jsonb) || jsonb_build_object(
    'source', 'registry',
    'registryData', jsonb_build_object(
      'district','압구정/신사',
      'brandGroup','부티크/전문클리닉',
      'gangnamUnniUrl','https://www.gangnamunni.com/hospitals/62'
    )
  )
WHERE id = '9edb276c-b99b-4326-82fe-e6f5ed1f592b';


-- ── STEP 5: 디에이성형외과 (478d9128) ────────────────────────────────
-- 강남언니: 평점 9.6 / 리뷰 69,859 (최대!) / 대표원장 이상우
UPDATE marketing_reports SET
  clinic_name = '디에이성형외과',
  url = 'https://www.daprs.com/',
  channel_data = channel_data || jsonb_build_object(
    'gangnamUnni', jsonb_build_object(
      'name', '디에이성형외과의원',
      'rating', 9.6,
      'rawRating', 9.6,
      'ratingScale', '/10',
      'totalReviews', 69859,
      'doctors', jsonb_build_array(
        jsonb_build_object('name','이상우','specialty','성형외과 대표원장','rating',9.5,'reviews',1115),
        jsonb_build_object('name','양희재','specialty','성형외과','rating',9.4,'reviews',3632),
        jsonb_build_object('name','구현국','specialty','성형외과','rating',9.5,'reviews',2264),
        jsonb_build_object('name','김경회','specialty','성형외과','rating',9.7,'reviews',312)
      ),
      'procedures', jsonb_build_array('눈성형','코성형','안면윤곽','가슴성형','지방성형','필러','보톡스','리프팅','피부'),
      'address', '서울 강남구 역삼동',
      'badges', jsonb_build_array('수술실 CCTV','마취과 전문의 상주','분야별 공동 진료','시술 후 관리','의료진 실명 공개','입원 시설','응급 대응 체계'),
      'sourceUrl', 'https://www.gangnamunni.com/hospitals/250'
    )
  ),
  report = jsonb_set(
    jsonb_set(
      report,
      '{clinicInfo,leadDoctor}',
      '{"name":"이상우","specialty":"성형외과 대표원장","rating":9.5,"reviewCount":1115}'::jsonb
    ),
    '{clinicInfo,staffCount}', '18'::jsonb
  ),
  scrape_data = COALESCE(scrape_data, '{}'::jsonb) || jsonb_build_object(
    'source', 'registry',
    'registryData', jsonb_build_object(
      'district','강남/역삼',
      'brandGroup','볼륨/대중브랜드',
      'gangnamUnniUrl','https://www.gangnamunni.com/hospitals/250'
    )
  )
WHERE id = '478d9128-c1d0-45a2-b852-c211ece73270';


-- ── STEP 6: 최종 검증 ────────────────────────────────────────────────
SELECT
  id,
  clinic_name,
  url,
  status,
  channel_data->'gangnamUnni'->>'rating'       AS gu_rating,
  channel_data->'gangnamUnni'->>'totalReviews'  AS gu_reviews,
  report->'clinicInfo'->'leadDoctor'->>'name'   AS lead_doctor,
  report->'clinicInfo'->>'staffCount'           AS staff_count,
  scrape_data->>'source'                        AS source,
  scrape_data->'registryData'->>'district'      AS district
FROM marketing_reports
ORDER BY created_at DESC;
