From 4e79209260a3c6cf44bec2f8c56698ddcb7cf14b Mon Sep 17 00:00:00 2001 From: let5sne Date: Tue, 14 Jul 2026 05:11:31 +0800 Subject: [PATCH] fix(aihr): prefer supervisor identity mapping --- .../org/dromara/aihr/controller/AihrMobileController.java | 7 +++++-- .../dromara/aihr/service/AihrPracticeSeedServiceTest.java | 3 ++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/backend/ruoyi-modules/ruoyi-aihr/src/main/java/org/dromara/aihr/controller/AihrMobileController.java b/backend/ruoyi-modules/ruoyi-aihr/src/main/java/org/dromara/aihr/controller/AihrMobileController.java index 6b3b332a..e1c64816 100644 --- a/backend/ruoyi-modules/ruoyi-aihr/src/main/java/org/dromara/aihr/controller/AihrMobileController.java +++ b/backend/ruoyi-modules/ruoyi-aihr/src/main/java/org/dromara/aihr/controller/AihrMobileController.java @@ -68,8 +68,11 @@ public class AihrMobileController { if (phone.isBlank()) { return R.ok(new IdentityResponse("user", "员工端", "", "一线")); } - var snapshot = orgSyncService.snapshot(phone, null, null, "active", 1, 1, 1); - var row = snapshot.rows().stream().findFirst(); + var snapshot = orgSyncService.snapshot(phone, null, null, "active", 1, 500, 500); + var row = snapshot.rows().stream() + .filter(person -> "主管".equals(person.positionLevel()) || "项目经理".equals(person.positionLevel())) + .findFirst() + .or(() -> snapshot.rows().stream().findFirst()); if (row.isEmpty()) { return R.ok(new IdentityResponse("user", "员工端", "", "一线")); } diff --git a/backend/ruoyi-modules/ruoyi-aihr/src/test/java/org/dromara/aihr/service/AihrPracticeSeedServiceTest.java b/backend/ruoyi-modules/ruoyi-aihr/src/test/java/org/dromara/aihr/service/AihrPracticeSeedServiceTest.java index e11048e3..0f6ced61 100644 --- a/backend/ruoyi-modules/ruoyi-aihr/src/test/java/org/dromara/aihr/service/AihrPracticeSeedServiceTest.java +++ b/backend/ruoyi-modules/ruoyi-aihr/src/test/java/org/dromara/aihr/service/AihrPracticeSeedServiceTest.java @@ -86,7 +86,7 @@ public class AihrPracticeSeedServiceTest { assertTrue(csv.contains("\"training_count\",\"1\"")); assertTrue(csv.contains("\"FORMAL-1\",\"P1\",\"session-1\"")); assertTrue(csv.contains("\"ai_score\",\"calibration_original_score\",\"human_score\"")); - assertTrue(csv.contains("\"3\",\"86\",\"86\",\"78\",\"主管甲\"")); + assertTrue(csv.contains("\"3\",\"\",\"\",\"86\",\"86\",\"78\",\"主管甲\"")); assertTrue(csv.contains("\"78\"\n")); } @@ -356,6 +356,7 @@ public class AihrPracticeSeedServiceTest { assertTrue(controllerSource.contains("mobileSeedService.markReviewed(id, request, supervisorScopeExtPartyId())")); assertTrue(controllerSource.contains("mobileSeedService.practiceAlerts(supervisorScopeExtPartyId())")); assertTrue(controllerSource.contains("mobileSeedService.createPracticeAssignment(request, supervisorScopeExtPartyId())")); + assertTrue(controllerSource.contains("orgSyncService.snapshot(phone, null, null, \"active\", 1, 500, 500)")); assertTrue(controllerSource.contains("private String supervisorScopeExtPartyId()")); assertTrue(controllerSource.contains("mobileSeedService.requireSupervisorIdentity(currentAppUsername())")); assertTrue(controllerSource.contains("UserType.SYS_USER.getUserType().equals(loginUser.getUserType())"));