package cn.nianxx.thhotel.platform.message.service;

import cn.nianxx.thhotel.platform.message.common.request.CaptureSourceMessageCommand;
import cn.nianxx.thhotel.platform.message.common.result.SourceMessageCaptureResult;

/**
 * 来源消息捕获服务。对外只暴露稳定捕获命令，不暴露 AgentBus DTO 或数据库 Entity。
 */
public interface SourceMessageCaptureService {

    /**
     * 捕获一条来源消息，完成幂等判断、安全摘要生成和落库状态转换。
     *
     * @param command 来源消息捕获命令
     * @return 捕获结果，包含内部 SourceMessage ID 和是否新建
     */
    SourceMessageCaptureResult capture(CaptureSourceMessageCommand command);
}
