package com.sino.mci.channel.wecom.archive;

import com.sino.mci.channel.wecom.archive.model.FinanceMessage;
import lombok.extern.slf4j.Slf4j;

import java.util.List;

/**
 * 企业微信会话存档 Finance SDK 原生 JNI 客户端（预留实现）。
 *
 * <p>该实现基于官方 C 库 {@code com.tencent.wework.Finance}，通过 JNI 调用：</p>
 * <ul>
 *     <li>{@code Finance.NewSdk()} / {@code Finance.DestroySdk(long)}</li>
 *     <li>{@code Finance.GetChatData(long, long, long, String, String, int, long)}</li>
 *     <li>{@code Finance.DecryptData(long, String, String, long)}</li>
 * </ul>
 *
 * <p>注意：官方 SDK 为 C 库 + JNI，不提供 Maven 坐标，也不应把 {@code .so/.dll} 二进制提交到仓库。
 * 本期仅保留骨架；接入真实 JNI 时，请在运行环境放置对应平台的动态库，并在启动参数中配置
 * {@code -Djava.library.path} 或通过 {@link System#loadLibrary(String)} 加载。</p>
 */
@Slf4j
public class NativeFinanceSdkClient implements FinanceSdkClient {

    @Override
    public boolean init(String corpId, String secret) {
        throw new UnsupportedOperationException(
                "NativeFinanceSdkClient 尚未接入 JNI；请先放置官方 .so/.dll 并完成 JNI 绑定");
    }

    @Override
    public List<FinanceMessage> getChatData(long seq, int limit) {
        throw new UnsupportedOperationException(
                "NativeFinanceSdkClient 尚未接入 JNI；请先放置官方 .so/.dll 并完成 JNI 绑定");
    }

    @Override
    public String decryptData(String encryptKey, String encryptChatMsg) {
        throw new UnsupportedOperationException(
                "NativeFinanceSdkClient 尚未接入 JNI；请先放置官方 .so/.dll 并完成 JNI 绑定");
    }
}
