package com.malk.service.beisen.impl;

import com.malk.server.beisen.BSConf;
import com.malk.service.beisen.BSClient;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.Map;

/**
 * 北森基础客户端实现
 * // fixme Token获取逻辑待北森文档确认后实现
 */
@Slf4j
@Service
public class BSClientImpl implements BSClient {

    @Autowired
    private BSConf bsConf;

    // ppExt Token缓存，实际项目建议使用Redis
    private String cachedToken;
    private long tokenExpireTime;

    @Override
    public String getAccessToken() {
        // fixme 待实现：根据北森文档实现Token获取逻辑
        // 示例逻辑：
        // 1. 检查缓存Token是否有效
        // 2. 若无效则调用北森Token接口获取新Token
        // 3. 缓存Token并设置过期时间
        return cachedToken;
    }

    @Override
    public Map initTokenHeader() {
        return BSConf.initTokenHeader(getAccessToken());
    }
}
