package com.cool.modules.dingtalk.service;

import com.cool.core.base.BaseService;
import com.cool.modules.dingtalk.entity.DingtalkConfigEntity;

/**
 * 钉钉配置服务接口
 */
public interface DingtalkConfigService extends BaseService<DingtalkConfigEntity> {

    /**
     * 获取钉钉配置（单例配置，只有一条记录）
     *
     * @return 钉钉配置
     */
    DingtalkConfigEntity getConfig();

    /**
     * 验证配置有效性（测试AccessToken获取）
     *
     * @param appKey    AppKey
     * @param appSecret AppSecret
     * @return 是否有效
     */
    boolean validateConfig(String appKey, String appSecret);

    /**
     * 保存或更新配置
     *
     * @param entity 配置实体
     * @return 保存后的配置
     */
    DingtalkConfigEntity saveOrUpdateConfig(DingtalkConfigEntity entity);
}
