fix(aihr): require completed practice evidence

This commit is contained in:
2026-07-14 14:22:23 +08:00
parent 77ef3c90f6
commit 2283d13176
4 changed files with 5 additions and 2 deletions
@@ -1387,7 +1387,7 @@ public class AihrPracticeSeedService {
review_advice = CASE WHEN ? = '' THEN review_advice ELSE ? END,
incentive_point = CASE WHEN ? IS NULL THEN incentive_point ELSE ? END,
update_time = ?
WHERE tenant_id = ? AND mode = 'mobile' AND id = ? AND status = '待复盘'
WHERE tenant_id = ? AND mode = 'mobile' AND id = ? AND status = '待复盘' AND finished_time IS NOT NULL
""",
adviceText(request),
adviceText(request),
@@ -1462,7 +1462,7 @@ public class AihrPracticeSeedService {
List<SessionAnnotationSource> rows = jdbcTemplate.query("""
SELECT scenario_id, dialogue_json, annotations_json
FROM aihr_practice_session
WHERE tenant_id = ? AND session_id = ?
WHERE tenant_id = ? AND mode = 'mobile' AND session_id = ? AND finished_time IS NOT NULL
LIMIT 1
""", (rs, rowNum) -> new SessionAnnotationSource(
rs.getString("scenario_id"),
@@ -431,6 +431,7 @@ public class AihrPracticeSeedServiceTest {
assertTrue(jdbcTemplate.sessionUpdateSql.contains("mode = 'mobile'"));
assertTrue(jdbcTemplate.sessionUpdateSql.contains("id = ?"));
assertTrue(jdbcTemplate.sessionUpdateSql.contains("status = '待复盘'"));
assertTrue(jdbcTemplate.sessionUpdateSql.contains("finished_time IS NOT NULL"));
assertEquals(1, jdbcTemplate.sessionUpdateCount);
}