本地 RAG 知识库
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

87 lines
2.2 KiB

package com.wok.supportbot.entity;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
/**
* API Key 实体
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@TableName("api_key")
public class ApiKey implements Serializable {
@Serial
@TableField(exist = false)
private static final long serialVersionUID = 1L;
/** 主键ID(雪花算法) */
@TableId(value = "id", type = IdType.ASSIGN_ID)
@JsonSerialize(using = ToStringSerializer.class)
private Long id;
/** API Key 值(sk_ 前缀 + UUID) */
@TableField("key_value")
private String keyValue;
/** Key 名称 */
@TableField("name")
private String name;
/** 描述 */
@TableField("description")
private String description;
/** 所属用户ID */
@TableField("user_id")
@JsonSerialize(using = ToStringSerializer.class)
private Long userId;
/** 每分钟频率限制(默认60) */
@TableField("rate_limit")
private Integer rateLimit;
/** 最大调用次数(null 表示不限制) */
@TableField("max_calls")
private Long maxCalls;
/** 已调用次数 */
@TableField("current_calls")
private Long currentCalls;
/** 绑定的客服角色 ID 列表(JSON 字符串,如 "[1,2,3]";空数组 "[]" 表示不限制) */
@TableField("role_ids")
private String roleIds;
/** 过期时间(null 表示永不过期) */
@TableField("expire_time")
private Date expireTime;
/** 是否启用 */
@TableField("enabled")
private Boolean enabled;
/** 创建时间 */
@TableField(value = "create_time", fill = FieldFill.INSERT)
private Date createTime;
/** 更新时间 */
@TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
private Date updateTime;
/** 逻辑删除标识 */
@TableField("is_delete")
@TableLogic
private boolean isDelete;
}