/*
 * 文 件 名:  AuthService
 * 版    权:  华设设计集团股份有限公司
 * 描    述:  <描述>
 * 修 改 人:  lvwenbin
 * 修改时间:  2025/5/8
 * 跟踪单号:  <跟踪单号>
 * 修改单号:  <修改单号>
 * 修改内容:  <修改内容>
 */
package com.huashe.common.data.service;

import com.huashe.common.data.mapper.AdmApiAuthMapper;
import com.huashe.common.data.model.AdmApiAuth;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Service;

import java.util.Date;

/**
 * 认证服务
 * <功能详细描述>
 *
 * @author lvwenbin
 * @version [版本号, 2025/5/8]
 * @see [相关类/方法]
 * @since [产品/模块版本]
 */
@Service
public class AuthService {
    @Autowired
    private AdmApiAuthMapper apiAuthMapper;

    @Cacheable(value = "apiKeys", key = "#clientKey")
    public boolean validateKey(String clientKey) {
        AdmApiAuth apiAuthCfg = apiAuthMapper.getByKey(clientKey);
        return apiAuthCfg != null && apiAuthCfg.getStatus() == 1 && (apiAuthCfg.getExpireTime() == null
            || apiAuthCfg.getExpireTime().after(new Date()));
    }
}