测试住宿:覆盖跨计划床位时间冲突与并发分配
This commit is contained in:
1 parent
fbfec1a2ec
commit
b0917fc36f
5 files changed
+857
-2
No files matched your search
+16
-1
@@ -127,6 +127,7 @@ public class DmsConsistencyHardeningPackageA1Test {
|
||||
setPrivateField(accommodationService, "trainAccommodationMapper", createMockAccommodationMapper());
|
||||
setPrivateField(accommodationService, "trainEnrollmentMapper", createMockEnrollmentMapper());
|
||||
setPrivateField(accommodationService, "trainDormitoryInfoMapper", createMockDormitoryInfoMapper());
|
||||
setPrivateField(accommodationService, "trainClassPlanMapper", createMockClassPlanMapper());
|
||||
|
||||
orchestrator = new AccessAuthorizationOrchestrator(
|
||||
createMockEnrollmentMapper(),
|
||||
@@ -756,6 +757,20 @@ public class DmsConsistencyHardeningPackageA1Test {
|
||||
&& a.getAccommodationStatus() != null && (a.getAccommodationStatus() == 0 || a.getAccommodationStatus() == 1))
|
||||
.count();
|
||||
}
|
||||
if ("countOverlappingActiveBedReservations".equals(name)) {
|
||||
String dormId = (String) args[0];
|
||||
String bedNo = (String) args[1];
|
||||
Long excludeId = (Long) args[4];
|
||||
if (dormId == null || bedNo == null || bedNo.trim().isEmpty()) return 0;
|
||||
return (int) accommodationDb.values().stream()
|
||||
.filter(a -> (excludeId == null || !excludeId.equals(a.getAccommodationId()))
|
||||
&& dormId.equals(a.getDormId()) && bedNo.equals(a.getBedNo())
|
||||
&& a.getAccommodationStatus() != null && (a.getAccommodationStatus() == 0 || a.getAccommodationStatus() == 1))
|
||||
.count();
|
||||
}
|
||||
if ("countUnresolvedActiveBedReservations".equals(name)) {
|
||||
return 0;
|
||||
}
|
||||
if ("countActiveByDormId".equals(name)) {
|
||||
String dormId = (String) args[0];
|
||||
return (int) accommodationDb.values().stream()
|
||||
@@ -952,7 +967,7 @@ public class DmsConsistencyHardeningPackageA1Test {
|
||||
getClass().getClassLoader(),
|
||||
new Class<?>[]{TrainDormitoryInfoMapper.class},
|
||||
(proxy, method, args) -> {
|
||||
if ("selectTrainDormitoryInfoByDormId".equals(method.getName())) {
|
||||
if ("selectTrainDormitoryInfoByDormId".equals(method.getName()) || "selectTrainDormitoryInfoForUpdate".equals(method.getName())) {
|
||||
String dormId = (String) args[0];
|
||||
TrainDormitoryInfo d = new TrainDormitoryInfo();
|
||||
d.setDormId(dormId);
|
||||
|
||||
Reference in new issue
Block a user