package com.zioinfo.cms.integration;

import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.HttpMethod;
import org.springframework.stereotype.Component;

import java.util.Map;

/**
 * GUARDiA CRM 연계 — 회원 = 고객 인사이트.
 *
 * <p>CMS 회원의 CRM 고객 프로필을 조회해 개인화 콘텐츠/추천 세그먼트 보조에 활용한다.
 */
@Component
@RequiredArgsConstructor
public class CrmClient {

    @Value("${guardia.crm-url:http://localhost:8004}")
    private String crmUrl;

    private final GuardiaHttpClient http;

    /** CRM 고객 인사이트 조회 (이메일 키). 실패 시 빈 Map. */
    public Map<String, Object> getCustomerInsight(String email) {
        return http.callMap(crmUrl, "/api/crm/customers/insight?email=" + email, HttpMethod.GET, null);
    }
}
