fix(case): align project scope query with 2026-07-16 org snapshot contract
客户反馈核验中发现:案例素材上传对所有 APP 用户报 「当前账号没有可用项目身份」——projectScopesForAppUser 查询快照表 已不存在的 project_ext_org_id 列(07-16 组织新契约更名为 project_code), DataAccessException 被兜底吞掉后 scope 恒为空。全代码库仅此一处引用 旧列名(aihr_case_record 自身列不受影响,读写走同一解析器语义一致)。 修复后生产全链路跑通:主管上传语音(TTS合成测试音频)→ ASR 转写 → organize 结构化(背景/处理/结果)→ curate 入库 → 员工 records 可见。 后端已发布(备份 ruoyi-admin.jar.bak-20260718095809,重启25s恢复)。 同轮生产验证(有奖征题闭环,零代码改动):员工发问→运营审核→ 后台发悬赏征题(rewardPoints=50+deadline)→员工回答→审核→采纳最佳 →积分0→50到账(明细正确)、重复采纳不重复发奖、员工调管理接口403、 员工端问题榜/积分页 UI 呈现全部正确。 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
+7
-5
@@ -243,16 +243,18 @@ public class AihrCaseService {
|
||||
return List.of();
|
||||
}
|
||||
try {
|
||||
// 2026-07-16 org contract renamed the snapshot project column to project_code;
|
||||
// case scopes follow it (aihr_case_record keeps its own project_ext_org_id column).
|
||||
return jdbcTemplate.query("""
|
||||
SELECT DISTINCT project_ext_org_id
|
||||
SELECT DISTINCT project_code
|
||||
FROM aihr_org_snapshot
|
||||
WHERE tenant_id = ?
|
||||
AND employment_status = 'active'
|
||||
AND project_ext_org_id IS NOT NULL
|
||||
AND project_ext_org_id <> ''
|
||||
AND project_code IS NOT NULL
|
||||
AND project_code <> ''
|
||||
AND (person_phone = ? OR ext_party_id = ?)
|
||||
ORDER BY project_ext_org_id
|
||||
""", (rs, rowNum) -> rs.getString("project_ext_org_id"), tenantId(), username, username);
|
||||
ORDER BY project_code
|
||||
""", (rs, rowNum) -> rs.getString("project_code"), tenantId(), username, username);
|
||||
} catch (DataAccessException e) {
|
||||
log.warn("resolve app user project scope failed(处理错误已隐藏)");
|
||||
return List.of();
|
||||
|
||||
Reference in New Issue
Block a user