fix(aihr): scope model config to tenant
This commit is contained in:
+16
-11
@@ -14,6 +14,7 @@ import org.dromara.aihr.domain.AihrModelDto.ConfigResponse;
|
||||
import org.dromara.aihr.domain.AihrModelDto.ProviderRequest;
|
||||
import org.dromara.aihr.domain.AihrModelDto.ProviderResponse;
|
||||
import org.dromara.aihr.domain.AihrModelDto.ProviderStatusRequest;
|
||||
import org.dromara.common.satoken.utils.LoginHelper;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.dao.DataAccessException;
|
||||
import org.springframework.jdbc.core.JdbcTemplate;
|
||||
@@ -117,7 +118,7 @@ public class AihrModelSeedService {
|
||||
insert into aihr_model_provider
|
||||
(tenant_id, provider_name, provider_code, provider_desc, api_host, api_key, status, sort_order, remark, create_time, update_time)
|
||||
values (?, ?, ?, ?, ?, ?, ?, ?, ?, now(), now())
|
||||
""", TENANT_ID, data.providerName(), data.providerCode(), data.providerDesc(), data.apiHost(), emptyToNull(request.apiKey()),
|
||||
""", tenantId(), data.providerName(), data.providerCode(), data.providerDesc(), data.apiHost(), emptyToNull(request.apiKey()),
|
||||
data.status(), data.sortOrder(), data.remark());
|
||||
}
|
||||
|
||||
@@ -131,7 +132,7 @@ public class AihrModelSeedService {
|
||||
status = ?, sort_order = ?, remark = ?, update_time = now()
|
||||
where tenant_id = ? and provider_code = ?
|
||||
""", data.providerName(), data.providerDesc(), data.apiHost(), emptyToNull(request.apiKey()), emptyToNull(request.apiKey()),
|
||||
data.status(), data.sortOrder(), data.remark(), TENANT_ID, code);
|
||||
data.status(), data.sortOrder(), data.remark(), tenantId(), code);
|
||||
requireUpdated(updated, "供应商不存在: " + code);
|
||||
}
|
||||
|
||||
@@ -142,7 +143,7 @@ public class AihrModelSeedService {
|
||||
update aihr_model_provider
|
||||
set status = ?, update_time = now()
|
||||
where tenant_id = ? and provider_code = ?
|
||||
""", status, TENANT_ID, code);
|
||||
""", status, tenantId(), code);
|
||||
requireUpdated(updated, "供应商不存在: " + code);
|
||||
}
|
||||
|
||||
@@ -152,7 +153,7 @@ public class AihrModelSeedService {
|
||||
insert into aihr_model_config
|
||||
(tenant_id, category, model_name, provider_code, model_describe, model_dimension, model_show, api_host, api_key, enabled, remark, create_time, update_time)
|
||||
values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, now(), now())
|
||||
""", TENANT_ID, data.category(), data.modelName(), data.providerCode(), data.modelDescribe(), data.modelDimension(),
|
||||
""", tenantId(), data.category(), data.modelName(), data.providerCode(), data.modelDescribe(), data.modelDimension(),
|
||||
data.modelShow(), data.apiHost(), emptyToNull(request.apiKey()), data.enabled(), data.remark());
|
||||
}
|
||||
|
||||
@@ -168,7 +169,7 @@ public class AihrModelSeedService {
|
||||
enabled = ?, remark = ?, update_time = now()
|
||||
where tenant_id = ? and id = ?
|
||||
""", data.category(), data.modelName(), data.providerCode(), data.modelDescribe(), data.modelDimension(), data.modelShow(),
|
||||
data.apiHost(), emptyToNull(request.apiKey()), emptyToNull(request.apiKey()), data.enabled(), data.remark(), TENANT_ID, id);
|
||||
data.apiHost(), emptyToNull(request.apiKey()), emptyToNull(request.apiKey()), data.enabled(), data.remark(), tenantId(), id);
|
||||
requireUpdated(updated, "模型不存在: " + id);
|
||||
}
|
||||
|
||||
@@ -181,7 +182,7 @@ public class AihrModelSeedService {
|
||||
update aihr_model_config
|
||||
set enabled = ?, update_time = now()
|
||||
where tenant_id = ? and id = ?
|
||||
""", enabled, TENANT_ID, id);
|
||||
""", enabled, tenantId(), id);
|
||||
requireUpdated(updated, "模型不存在: " + id);
|
||||
}
|
||||
|
||||
@@ -257,7 +258,7 @@ public class AihrModelSeedService {
|
||||
rs.getString("model_name"),
|
||||
rs.getString("resolved_api_host"),
|
||||
rs.getString("resolved_api_key")
|
||||
), TENANT_ID, category);
|
||||
), tenantId(), category);
|
||||
return rows.stream()
|
||||
.filter(model -> configured(model.baseUrl(), model.modelName(), model.apiKey()))
|
||||
.findFirst();
|
||||
@@ -315,7 +316,7 @@ public class AihrModelSeedService {
|
||||
rs.getObject("sort_order", Integer.class),
|
||||
"db",
|
||||
configured(rs.getString("api_host"), "model", rs.getString("api_key"))
|
||||
), TENANT_ID);
|
||||
), tenantId());
|
||||
} catch (DataAccessException e) {
|
||||
log.debug("aihr model provider db fallback: {}", e.getMessage());
|
||||
return List.of();
|
||||
@@ -346,7 +347,7 @@ public class AihrModelSeedService {
|
||||
rs.getInt("enabled") == 1,
|
||||
!isBlank(rs.getString("resolved_api_key")),
|
||||
configured(rs.getString("resolved_api_host"), rs.getString("model_name"), rs.getString("resolved_api_key"))
|
||||
), TENANT_ID);
|
||||
), tenantId());
|
||||
} catch (DataAccessException e) {
|
||||
log.debug("aihr model config db fallback: {}", e.getMessage());
|
||||
return List.of();
|
||||
@@ -451,8 +452,12 @@ public class AihrModelSeedService {
|
||||
""";
|
||||
}
|
||||
|
||||
private static Object[] runtimeArgs(String requestedModel) {
|
||||
return isBlank(requestedModel) ? new Object[]{TENANT_ID} : new Object[]{TENANT_ID, requestedModel};
|
||||
private Object[] runtimeArgs(String requestedModel) {
|
||||
return isBlank(requestedModel) ? new Object[]{tenantId()} : new Object[]{tenantId(), requestedModel};
|
||||
}
|
||||
|
||||
private String tenantId() {
|
||||
return fallback(LoginHelper.getTenantId(), TENANT_ID);
|
||||
}
|
||||
|
||||
private static String normalizeBaseUrl(String baseUrl) {
|
||||
|
||||
Reference in New Issue
Block a user