package com.seer.teach.teacher.module.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.seer.teach.common.entity.BaseEntity;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import java.time.LocalDateTime;
import java.util.Date;

/**
 * <p>
 * API密钥表
 * </p>
 *
 * @author ZS
 * @since 2025-10-27
 */
@Getter
@Setter
@ToString
@TableName("ai_api_key")
public class AiApiKeyEntity extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 密钥名称
     */
    @TableField("key_name")
    private String keyName;

    /**
     * API密钥
     */
    @TableField("api_key")
    private String apiKey;

    /**
     * 身份标识
     */
    @TableField("ak")
    private String ak;

    /**
     * 请求签名
     */
    @TableField("sk")
    private String sk;

    /**
     * URL
     */
    @TableField("url")
    private String url;

    /**
     * 平台标识
     */
    @TableField("platform")
    private String platform;

    /**
     * 状态：1-启用，0-禁用
     */
    @TableField("status")
    private Integer status;

    /**
     * 速率限制(RPM)
     */
    @TableField("rate_limit")
    private Integer rateLimit;

    /**
     * 日调用限额
     */
    @TableField("daily_limit")
    private Integer dailyLimit;

    /**
     * 已使用token总数
     */
    @TableField("used_token_count")
    private Integer usedTokenCount;

    /**
     * 已使用的生成的img的总数
     */
    @TableField("used_img_count")
    private Integer usedImgCount;

    /**
     * 最后使用时间
     */
    @TableField("last_used")
    private LocalDateTime lastUsed;

    /**
     * 过期时间
     */
    @TableField("expire_time")
    private LocalDateTime expireTime;

    /**
     * 是否默认
     */
    @TableField("is_default")
    private Integer isDefault;

    /**
     * 拥有者id
     */
    @TableField("owner_id")
    private Integer ownerId;
}
