Showing
1 changed file
with
11 additions
and
5 deletions
| ... | @@ -28,6 +28,7 @@ import java.util.ArrayList; | ... | @@ -28,6 +28,7 @@ import java.util.ArrayList; |
| 28 | import java.util.Collections; | 28 | import java.util.Collections; |
| 29 | import java.util.Date; | 29 | import java.util.Date; |
| 30 | import java.util.List; | 30 | import java.util.List; |
| 31 | +import java.util.Map; | ||
| 31 | import java.util.stream.Collectors; | 32 | import java.util.stream.Collectors; |
| 32 | 33 | ||
| 33 | @Slf4j | 34 | @Slf4j |
| ... | @@ -267,6 +268,7 @@ public class MealOrderServiceImpl implements MealOrderService { | ... | @@ -267,6 +268,7 @@ public class MealOrderServiceImpl implements MealOrderService { |
| 267 | 268 | ||
| 268 | // 3. 获取所有订餐人信息 | 269 | // 3. 获取所有订餐人信息 |
| 269 | var diners = mealOrderServiceRpcClient.getDinersByIds(loginInfo.getEnterpriseId(), dinerIds); | 270 | var diners = mealOrderServiceRpcClient.getDinersByIds(loginInfo.getEnterpriseId(), dinerIds); |
| 271 | + var dinerById = diners.stream().collect(Collectors.toMap(SingleDinerRpcResponse::getId, diner -> diner)); | ||
| 270 | 272 | ||
| 271 | // 4. 获取所有不重复的clientId | 273 | // 4. 获取所有不重复的clientId |
| 272 | var uniqueClientIds = diners.stream() | 274 | var uniqueClientIds = diners.stream() |
| ... | @@ -277,10 +279,10 @@ public class MealOrderServiceImpl implements MealOrderService { | ... | @@ -277,10 +279,10 @@ public class MealOrderServiceImpl implements MealOrderService { |
| 277 | // 5. 批量获取所有学校的停餐信息 | 279 | // 5. 批量获取所有学校的停餐信息 |
| 278 | var schoolSuspensionRecords = mealOrderServiceRpcClient.queryDinerMealSuspensionRecordsByCondition( | 280 | var schoolSuspensionRecords = mealOrderServiceRpcClient.queryDinerMealSuspensionRecordsByCondition( |
| 279 | loginInfo.getEnterpriseId(), | 281 | loginInfo.getEnterpriseId(), |
| 280 | - uniqueClientIds.stream().map(Long::intValue).toList(), | 282 | + null, |
| 281 | null, | 283 | null, |
| 282 | null | 284 | null |
| 283 | - ); | 285 | + ).stream().filter(r -> r.getClassId() == 0).toList(); |
| 284 | 286 | ||
| 285 | // 6. 批量获取所有学生的停餐信息 | 287 | // 6. 批量获取所有学生的停餐信息 |
| 286 | var studentSuspensionRecords = mealOrderServiceRpcClient.queryDinerMealSuspensionRecordsByCondition( | 288 | var studentSuspensionRecords = mealOrderServiceRpcClient.queryDinerMealSuspensionRecordsByCondition( |
| ... | @@ -296,7 +298,7 @@ public class MealOrderServiceImpl implements MealOrderService { | ... | @@ -296,7 +298,7 @@ public class MealOrderServiceImpl implements MealOrderService { |
| 296 | SingleDinerMealSuspensionRecordRpcResponse::getClientId, | 298 | SingleDinerMealSuspensionRecordRpcResponse::getClientId, |
| 297 | Collectors.collectingAndThen( | 299 | Collectors.collectingAndThen( |
| 298 | Collectors.maxBy((a, b) -> Long.compare(a.getCreatedAt(), b.getCreatedAt())), | 300 | Collectors.maxBy((a, b) -> Long.compare(a.getCreatedAt(), b.getCreatedAt())), |
| 299 | - opt -> opt.map(this::convertToVO).orElse(null) | 301 | + opt -> opt.map(o -> convertToVO(o, dinerById)).orElse(null) |
| 300 | ) | 302 | ) |
| 301 | )); | 303 | )); |
| 302 | 304 | ||
| ... | @@ -306,7 +308,7 @@ public class MealOrderServiceImpl implements MealOrderService { | ... | @@ -306,7 +308,7 @@ public class MealOrderServiceImpl implements MealOrderService { |
| 306 | SingleDinerMealSuspensionRecordRpcResponse::getDinerId, | 308 | SingleDinerMealSuspensionRecordRpcResponse::getDinerId, |
| 307 | Collectors.collectingAndThen( | 309 | Collectors.collectingAndThen( |
| 308 | Collectors.maxBy((a, b) -> Long.compare(a.getCreatedAt(), b.getCreatedAt())), | 310 | Collectors.maxBy((a, b) -> Long.compare(a.getCreatedAt(), b.getCreatedAt())), |
| 309 | - opt -> opt.map(this::convertToVO).orElse(null) | 311 | + opt -> opt.map(o -> convertToVO(o, dinerById)).orElse(null) |
| 310 | ) | 312 | ) |
| 311 | )); | 313 | )); |
| 312 | 314 | ||
| ... | @@ -323,13 +325,15 @@ public class MealOrderServiceImpl implements MealOrderService { | ... | @@ -323,13 +325,15 @@ public class MealOrderServiceImpl implements MealOrderService { |
| 323 | return studentSuspensionMap.get(Long.valueOf(diner.getId()).intValue()); | 325 | return studentSuspensionMap.get(Long.valueOf(diner.getId()).intValue()); |
| 324 | }) | 326 | }) |
| 325 | .filter(record -> record != null) | 327 | .filter(record -> record != null) |
| 328 | + .distinct() | ||
| 326 | .toList(); | 329 | .toList(); |
| 327 | } | 330 | } |
| 328 | 331 | ||
| 329 | /** | 332 | /** |
| 330 | * 将RPC响应转换为VO对象 | 333 | * 将RPC响应转换为VO对象 |
| 331 | */ | 334 | */ |
| 332 | - private DinerMealSuspensionRecordVO convertToVO(SingleDinerMealSuspensionRecordRpcResponse response) { | 335 | + private DinerMealSuspensionRecordVO convertToVO(SingleDinerMealSuspensionRecordRpcResponse response, |
| 336 | + Map<Integer, SingleDinerRpcResponse> dinerById) { | ||
| 333 | if (response == null) { | 337 | if (response == null) { |
| 334 | return null; | 338 | return null; |
| 335 | } | 339 | } |
| ... | @@ -340,6 +344,8 @@ public class MealOrderServiceImpl implements MealOrderService { | ... | @@ -340,6 +344,8 @@ public class MealOrderServiceImpl implements MealOrderService { |
| 340 | .clientId(Long.valueOf(response.getClientId())) | 344 | .clientId(Long.valueOf(response.getClientId())) |
| 341 | .classId(Long.valueOf(response.getClassId())) | 345 | .classId(Long.valueOf(response.getClassId())) |
| 342 | .dinerId(Long.valueOf(response.getDinerId())) | 346 | .dinerId(Long.valueOf(response.getDinerId())) |
| 347 | + .dinerName(dinerById.get(response.getDinerId()) != null ? dinerById.get(response.getDinerId()).getName() : null) | ||
| 348 | + .studentNo(dinerById.get(response.getDinerId()) != null ? dinerById.get(response.getDinerId()).getStudentNo() : null) | ||
| 343 | .startAt(new Date(response.getStartAt())) | 349 | .startAt(new Date(response.getStartAt())) |
| 344 | .endAt(new Date(response.getEndAt())) | 350 | .endAt(new Date(response.getEndAt())) |
| 345 | .comment(response.getComment()) | 351 | .comment(response.getComment()) | ... | ... |
-
Please register or login to post a comment