82 lines
2.9 KiB
Java
82 lines
2.9 KiB
Java
package com.bruce.modelprovider.entity;
|
||
|
||
import com.baomidou.mybatisplus.annotation.TableField;
|
||
import com.baomidou.mybatisplus.annotation.TableName;
|
||
import com.bruce.common.domain.model.BaseEntity;
|
||
import lombok.Data;
|
||
import lombok.EqualsAndHashCode;
|
||
|
||
import java.util.Date;
|
||
|
||
/**
|
||
* 模型服务商配置实体。
|
||
* <p>
|
||
* 说明:
|
||
* 1. 数据库列名沿用英文下划线命名,便于与既有 SQL 设计保持一致;
|
||
* 2. 字段语义通过中文注释明确,减少后续维护者对英文缩写的理解成本;
|
||
* 3. 密钥类字段仅用于后端调用,不应返回明文到前端。
|
||
*/
|
||
@Data
|
||
@EqualsAndHashCode(callSuper = true)
|
||
@TableName("model_provider")
|
||
/**
|
||
* ModelProvider,负责模型平台对应层的职责。
|
||
*/
|
||
public class ModelProvider extends BaseEntity {
|
||
|
||
/** 数据库字段:provider_code(服务商编码,全局唯一,用于路由规则与配置引用)。 */
|
||
@TableField(value = "provider_code")
|
||
private String providerCode;
|
||
|
||
/** 数据库字段:provider_name(服务商展示名称)。 */
|
||
@TableField(value = "provider_name")
|
||
private String providerName;
|
||
|
||
/** 数据库字段:provider_type(服务商类型,例如 OLLAMA / SILICONFLOW / DASHSCOPE / OPENAI / CUSTOM)。 */
|
||
@TableField(value = "provider_type")
|
||
private String providerType;
|
||
|
||
/** 数据库字段:protocol_type(协议类型,首期固定为 OPENAI_COMPATIBLE)。 */
|
||
@TableField(value = "protocol_type")
|
||
private String protocolType;
|
||
|
||
/** 数据库字段:base_url(上游服务基础地址,通常包含 /v1)。 */
|
||
@TableField(value = "base_url")
|
||
private String baseUrl;
|
||
|
||
/** 数据库字段:auth_type(鉴权类型,例如 NONE / BEARER_TOKEN)。 */
|
||
@TableField(value = "auth_type")
|
||
private String authType;
|
||
|
||
/** 数据库字段:secret_ref(密钥引用名,通常是环境变量键,例如 SILICONFLOW_API_KEY)。 */
|
||
@TableField(value = "secret_ref")
|
||
private String secretRef;
|
||
|
||
/** 数据库字段:api_key_cipher(密钥密文,可选,首期不默认启用该方案)。 */
|
||
@TableField(value = "api_key_cipher")
|
||
private String apiKeyCipher;
|
||
|
||
/** 数据库字段:timeout_ms(请求超时时间,单位毫秒)。 */
|
||
@TableField(value = "timeout_ms")
|
||
private Integer timeoutMs;
|
||
|
||
/** 调度优先级,数值越小优先级越高(用于后续扩展)。 */
|
||
private Integer priority;
|
||
|
||
/** 是否启用该服务商。 */
|
||
private Boolean enabled;
|
||
|
||
/** 数据库字段:health_status(健康状态,例如 UNKNOWN / HEALTHY / UNHEALTHY)。 */
|
||
@TableField(value = "health_status")
|
||
private String healthStatus;
|
||
|
||
/** 数据库字段:last_health_check_time(最近一次健康检查时间)。 */
|
||
@TableField(value = "last_health_check_time")
|
||
private Date lastHealthCheckTime;
|
||
|
||
/** 备注信息。 */
|
||
private String remark;
|
||
}
|
||
|
||
|