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

import cn.nianxx.thhotel.platform.message.common.request.SourceMessageOriginalAccessRequest;
import cn.nianxx.thhotel.platform.message.common.result.SourceMessageOriginalResponse;
import java.util.Optional;

/**
 * SourceMessage 原文读取服务。Controller 负责登录、权限和酒店隔离，本服务负责原文读取和访问审计。
 */
public interface SourceMessageOriginalService {

    /**
     * 按内部 SourceMessage ID 读取原文内容，并记录成功访问审计。
     *
     * @param inboxId SourceMessage Inbox ID
     * @param request 原文读取调用方和访问场景
     * @return 存在时返回原文内容，不存在时为空
     */
    Optional<SourceMessageOriginalResponse> readOriginal(Long inboxId, SourceMessageOriginalAccessRequest request);
}
