/**
 * 多账套配置 + 默认 K3CloudApi。
 * 配置存储结构由接入项目定义，密钥建议加密保存。
 */
package com.example.integration.kingdee;

import com.kingdee.bos.webapi.entity.IdentifyInfo;
import com.kingdee.bos.webapi.sdk.K3CloudApi;
import com.example.integration.kingdee.dto.KingdeeConfigDTO;

public class K3CloudApiServiceImpl {

    /** 从 DB 加载 status=正常的配置，构造 SDK 客户端 */
    public K3CloudApi login(KingdeeConfigDTO cfg) {
        IdentifyInfo info = new IdentifyInfo();
        info.setAppId(cfg.getAppId());
        info.setAppSecret(cfg.getAppSecret());
        info.setdCID(cfg.getDCid());
        info.setlCID(2052);
        info.setUserName(cfg.getUserName());
        info.setServerUrl(cfg.getServerUrl());
        return new K3CloudApi(info);
    }

    public K3CloudApi getDefaultK3CloudApi() {
        KingdeeConfigDTO cfg = loadActiveConfigFromDb();
        if (cfg == null) {
            return new K3CloudApi();
        }
        return login(cfg);
    }

    private KingdeeConfigDTO loadActiveConfigFromDb() {
        // TODO: 从项目的安全配置仓库加载一条已启用配置
        return null;
    }
}