package com.seer.teach.common.cache;

import com.seer.teach.common.dto.mq.LlmChatDTO;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;

/**
 * LlmChat 发布服务
 * 对外提供发布音频消息的接口
 */
@Slf4j
@Service
@RequiredArgsConstructor
public class LlmAudioPublisherService {

    private final LlmAudioPublisher llmAudioPublisher;

    /**
     * 发布音频消息到指定设备频道
     *
     * @param device  设备标识
     * @param message 消息对象
     */
    public void publishToDevice(String channelName, LlmChatDTO message) {
        llmAudioPublisher.publish(channelName, message);
    }

    /**
     * 发布音频消息到多个设备
     *
     * @param devices 设备列表
     * @param message 消息对象
     */
    public void publishToDevices(Iterable<String> channelNames, LlmChatDTO message) {
        for (String channelName : channelNames) {
            publishToDevice(channelName, message);
        }
    }
}
