|
|
@@ -647,6 +647,31 @@ public class PtlSchemeServiceImpl extends ServiceImpl<PtlSchemeMapper, PtlScheme
|
|
|
List<SchemeResultVo.SchemeVo> schemeInsuranceInfo = ptlSchemeMapper.getSchemeInsuranceInfo(companyId, productId);
|
|
|
List<SchemeResultVo.SchemeVo> schemeDrivingInfo = ptlSchemeMapper.getSchemeDrivingInfo(companyId, productId);
|
|
|
|
|
|
+ // 过滤驾意险 ->根据座位数
|
|
|
+ if (StrUtil.isNotBlank(seatCount)) {
|
|
|
+ int seats = Integer.parseInt(seatCount);
|
|
|
+ schemeDrivingInfo.forEach(scheme -> {
|
|
|
+ scheme.getInfos().forEach(info -> {
|
|
|
+ List<SchemeResultVo.Driving> drivings = info.getDrivings();
|
|
|
+ if (drivings != null && !drivings.isEmpty()) {
|
|
|
+ List<SchemeResultVo.Driving> filteredList = drivings.stream()
|
|
|
+ .filter(driving -> {
|
|
|
+ // 如果 minSeatCount 和 maxSeatCount 都为 null,视为没有限制,不过滤
|
|
|
+ if (driving.getMinSeatCount() == null && driving.getMaxSeatCount() == null) {
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ // 检查座位数是否在范围内
|
|
|
+ int minSeat = driving.getMinSeatCount() != null ? driving.getMinSeatCount() : Integer.MIN_VALUE;
|
|
|
+ int maxSeat = driving.getMaxSeatCount() != null ? driving.getMaxSeatCount() : Integer.MAX_VALUE;
|
|
|
+ return seats >= minSeat && seats <= maxSeat;
|
|
|
+ })
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ info.setDrivings(filteredList);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
// 过滤类型
|
|
|
List<SchemeResultVo.SchemeVo> newSchemeList = schemeInsuranceInfo.stream()
|
|
|
.filter(scheme -> scheme.getVehicleType().contains(vehicleType)
|