package com.unicorn.hgzero.ai.biz.service;

import com.unicorn.hgzero.ai.biz.domain.Term;
import com.unicorn.hgzero.ai.biz.gateway.LlmGateway;
import com.unicorn.hgzero.ai.biz.usecase.TermDetectionUseCase;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * 전문용어 감지 Service
 * LLM 기반 전문용어 자동 감지
 */
@Slf4j
@Service
@RequiredArgsConstructor
public class TermDetectionService implements TermDetectionUseCase {

    private final LlmGateway llmGateway;

    @Override
    public List<Term> detectTerms(String meetingId, String text, String organizationId) {
        log.info("Detecting terms: meetingId={}, organizationId={}", meetingId, organizationId);

        // LLM을 통한 전문용어 감지
        String llmResponse = llmGateway.detectTerms(text, organizationId);

        // TODO: JSON 파싱 및 Term 리스트 생성
        // 현재는 mock 데이터 반환
        return List.of(
            Term.builder()
                .term("MSA")
                .position(Term.TextPosition.builder().line(5).offset(42).build())
                .confidence(0.92)
                .category("기술")
                .highlight(true)
                .build()
        );
    }
}
