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; /** * 模型服务商配置实体。 *

* 说明: * 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; }