fix(aihr): require assignee for practice assignments
This commit is contained in:
+5
-2
@@ -593,7 +593,7 @@ public class AihrPracticeSeedService {
|
||||
ReviewDetailResponse detail = reviewDetail(id);
|
||||
String extPartyId = reviewExtPartyId(id);
|
||||
createAssignment(new PracticeAssignmentRequest(
|
||||
firstNonBlank(extPartyId, detail == null ? "mobile-user" : detail.trainee()),
|
||||
firstNonBlank(extPartyId, ""),
|
||||
detail == null ? "待复盘员工" : detail.trainee(),
|
||||
request.nextScenarioId(),
|
||||
null,
|
||||
@@ -876,11 +876,14 @@ public class AihrPracticeSeedService {
|
||||
}
|
||||
|
||||
public PracticeAssignmentResponse createAssignment(PracticeAssignmentRequest request) {
|
||||
String extPartyId = request == null ? "" : firstNonBlank(request.extPartyId(), "");
|
||||
if (isBlank(extPartyId)) {
|
||||
throw new ServiceException("缺少员工ID,无法派发专项训练");
|
||||
}
|
||||
ensureAssignmentTable();
|
||||
LocalDateTime now = LocalDateTime.now();
|
||||
String scenarioId = firstNonBlank(request == null ? null : request.scenarioId(), "fee-parking");
|
||||
ScenarioSeed scenario = resolveScenario(scenarioId, null);
|
||||
String extPartyId = firstNonBlank(request == null ? null : request.extPartyId(), "mobile-user");
|
||||
String traineeName = firstNonBlank(request == null ? null : request.traineeName(), extPartyId);
|
||||
String source = firstNonBlank(request == null ? null : request.source(), "manual");
|
||||
String reason = firstNonBlank(request == null ? null : request.reason(), "主管派发专项训练");
|
||||
|
||||
+27
@@ -0,0 +1,27 @@
|
||||
package org.dromara.aihr.service;
|
||||
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import org.dromara.aihr.domain.AihrPracticeDto.PracticeAssignmentRequest;
|
||||
import org.dromara.common.core.exception.ServiceException;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import static org.junit.jupiter.api.Assertions.assertThrows;
|
||||
|
||||
public class AihrPracticeSeedServiceTest {
|
||||
|
||||
@Test
|
||||
public void createAssignmentRequiresExtPartyId() {
|
||||
AihrPracticeSeedService service = new AihrPracticeSeedService(new ObjectMapper(), null, null, null);
|
||||
|
||||
ServiceException error = assertThrows(ServiceException.class, () -> service.createAssignment(new PracticeAssignmentRequest(
|
||||
"",
|
||||
"测试员工",
|
||||
"fee-parking",
|
||||
null,
|
||||
"manual",
|
||||
"主管派发专项训练"
|
||||
)));
|
||||
assertEquals("缺少员工ID,无法派发专项训练", error.getMessage());
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user