fix(aihr): preserve tenant context for model calls
This commit is contained in:
+2
-2
@@ -15,7 +15,7 @@ import org.dromara.aihr.domain.AihrModelDto.ProviderRequest;
|
||||
import org.dromara.aihr.domain.AihrModelDto.ProviderResponse;
|
||||
import org.dromara.aihr.domain.AihrModelDto.ProviderStatusRequest;
|
||||
import org.dromara.aihr.domain.AihrModelDto.ModelUsage;
|
||||
import org.dromara.common.satoken.utils.LoginHelper;
|
||||
import org.dromara.common.tenant.helper.TenantHelper;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.dao.DataAccessException;
|
||||
import org.springframework.jdbc.core.JdbcTemplate;
|
||||
@@ -478,7 +478,7 @@ public class AihrModelSeedService {
|
||||
}
|
||||
|
||||
private String tenantId() {
|
||||
return fallback(LoginHelper.getTenantId(), TENANT_ID);
|
||||
return fallback(TenantHelper.getTenantId(), TENANT_ID);
|
||||
}
|
||||
|
||||
private static String normalizeBaseUrl(String baseUrl) {
|
||||
|
||||
+27
@@ -0,0 +1,27 @@
|
||||
package org.dromara.aihr.service;
|
||||
|
||||
import org.junit.jupiter.api.Tag;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Path;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertFalse;
|
||||
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||
|
||||
@Tag("dev")
|
||||
class AihrModelSeedServiceTest {
|
||||
|
||||
@Test
|
||||
void modelRuntimeUsesDynamicTenantContext() throws Exception {
|
||||
Path source = Path.of("src/main/java/org/dromara/aihr/service/AihrModelSeedService.java");
|
||||
if (!Files.exists(source)) {
|
||||
source = Path.of("ruoyi-modules/ruoyi-aihr/src/main/java/org/dromara/aihr/service/AihrModelSeedService.java");
|
||||
}
|
||||
String code = Files.readString(source);
|
||||
|
||||
assertTrue(code.contains("import org.dromara.common.tenant.helper.TenantHelper;"));
|
||||
assertTrue(code.contains("fallback(TenantHelper.getTenantId(), TENANT_ID)"));
|
||||
assertFalse(code.contains("fallback(LoginHelper.getTenantId(), TENANT_ID)"));
|
||||
}
|
||||
}
|
||||
@@ -205,3 +205,4 @@
|
||||
- 2026-07-14 最新线上资源复核:生产根站与 `/h5/` 均返回 `200`,线上管理端 `index-CJZ3Ax3Z.js` SHA-256 为 `8b9278a26ccb760abce489b12a20b221748c64d4c4153613d2511777bb9677bc`,H5 `index-D4-NrEpb.js` SHA-256 为 `ab15bfd17cabe58e2f34b0ac61ee198a837128ed85dc6bb0ddf77bc3e22dcd9c`;当前 HEAD `1757dcb8` 重建后的本地入口分别为 `index-v0LFXtVo.js` SHA-256 `0fc78c86e734be76aeb8ae03a551f98df9f689db5352a92af77c781c70efccde`、`index-Byx3WtY1.js` SHA-256 `1d2a9d8f947e8a198c31f15a5cf4b66ba4220b1f549c4376c72cc1da56b1d7eb`。两端仍未发布,本轮只读核验,无静态资源同步、后端重启或业务数据写入。
|
||||
- 2026-07-14 生产迁移资产复核:`aihr_practice_audio`、`aihr_practice_calibration` 已存在于 reset SQL 和运行时懒建表定义,但 `backend/script/sql/update/` 尚无对应版本化生产迁移脚本;生产 schema 曾通过人工 `CREATE TABLE IF NOT EXISTS` 修复。当前不把 reset SQL 或懒建表当正式发布迁移,待 DBA/运维确认迁移归属和执行窗口后,再补经审阅的幂等脚本并做回滚/结构核验。
|
||||
- 2026-07-14 BRD 用户端入口复核:员工端“问师傅/练/学习中心/案例学习”均已有真实页面和业务路径;“工作上报”进入明确的建设中页,但该能力属于阶段二信息直达或阶段三北森/报事集成范围,不属于一期陪练缺口。当前不把建设中入口改成空壳功能,待对应阶段专项计划和接口契约确定后再实现。
|
||||
- 2026-07-14 BRD G3/G6 异步模型租户上下文复核:`AihrModelSeedService` 原先用 `LoginHelper.getTenantId()` 解析模型配置,异步上传队列、目录导入等 worker 虽已用 `TenantHelper.dynamic(tenantId, ...)`,进入模型/语音/RAG调用后仍可能因无登录态回退 `000000`;现统一改用动态租户优先的 `TenantHelper.getTenantId()`,普通请求仍回退登录租户,补源码契约测试。覆盖模型配置、对练/面试、语音、SOP 向量/重排/视觉和异步资料加工的共享边界;未修改数据库或生产环境。
|
||||
|
||||
Reference in New Issue
Block a user