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
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;
|
|
}
|