package com.test.musichouduan.service.impl;

import com.github.houbb.sensitive.word.core.SensitiveWordHelper;
import com.test.musichouduan.exception.BusinessException;
import com.test.musichouduan.service.SensitiveWordService;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * 敏感词服务实现
 */
@Service
public class SensitiveWordServiceImpl implements SensitiveWordService {

    @Override
    public void validateCommentContent(String content) {
        if (content == null || content.trim().isEmpty()) {
            return;
        }

        // 使用 houbb/sensitive-word 默认内置词库进行检测。
        // 当前项目保留了 sensitive-words.txt 作为后续扩展词库参考文件，
        // 现阶段未主动加载，避免与默认词库机制产生混淆。
        if (SensitiveWordHelper.contains(content)) {
            List<String> hitWords = SensitiveWordHelper.findAll(content);
            if (!hitWords.isEmpty()) {
                throw new BusinessException("评论包含敏感词，请修改后再发布");
            }
        }
    }
}
