diff --git a/src/main/java/com/qs/serve/modules/bms/controller/BmsChannelPointController.java b/src/main/java/com/qs/serve/modules/bms/controller/BmsChannelPointController.java index 20f7771f..7aa214b2 100644 --- a/src/main/java/com/qs/serve/modules/bms/controller/BmsChannelPointController.java +++ b/src/main/java/com/qs/serve/modules/bms/controller/BmsChannelPointController.java @@ -77,15 +77,27 @@ public class BmsChannelPointController { lqw.orderByDesc(BmsChannelPoint::getCreateTime); if(param.getSelectStartTime()!=null) { lqw.ge(BmsChannelPoint::getCreateTime, param.getSelectStartTime()); + lqw.isNotNull(BmsChannelPoint::getCreateBy); } if(param.getSelectEndTime()!=null) { lqw.le(BmsChannelPoint::getCreateTime, param.getSelectEndTime()); + lqw.isNotNull(BmsChannelPoint::getCreateBy); } if(CollectionUtil.isNotEmpty(param.getSelectIds())){ lqw.in(BmsChannelPoint::getId, param.getSelectIds()); } - lqw.isNotNull(BmsChannelPoint::getCreateBy); List list = bmsChannelPointService.list(lqw); + List bizRegionIds = new ArrayList<>(); + bizRegionIds.addAll(list.stream().filter(a->a.getBizRegionId()!=null).map(a->a.getBizRegionId()).collect(Collectors.toList())); + bizRegionIds = bizRegionIds.stream().distinct().collect(Collectors.toList()); + List region2List = new ArrayList<>(); + if(bizRegionIds.size()>0){ + LambdaQueryWrapper region2LambdaQueryWrapper = new LambdaQueryWrapper<>(); + region2LambdaQueryWrapper.in(BmsRegion2::getId,bizRegionIds); + region2List = bmsRegion2Service.list(region2LambdaQueryWrapper); + } + Map idToBizRegion = region2List.stream().collect(Collectors.toMap(BmsRegion2::getId, a->a)); + for (BmsChannelPoint channelPoint : list) { Long channelId = channelPoint.getChannelId(); BmsChannel channel = bmsChannelService.getById(channelId); @@ -99,6 +111,10 @@ public class BmsChannelPointController { if(bizRegions.length>0){ channelPoint.setBizRegionName(bizRegions[bizRegions.length-1]); } + BmsRegion2 region2 = idToBizRegion.get(channelPoint.getBizRegionId()); + if(region2!=null){ + channelPoint.setBizRegionCode(region2.getCode()); + } } if(StringUtils.hasText(channelPoint.getSaleRegionPath())){ String[] regions = channelPoint.getSaleRegionPath().split("_"); @@ -149,12 +165,27 @@ public class BmsChannelPointController { } PageUtil.startPage(); List list = bmsChannelPointService.selectChannelPointList(param); + List bizRegionIds = new ArrayList<>(); + bizRegionIds.addAll(list.stream().filter(a->a.getBizRegionId()!=null).map(a->a.getBizRegionId()).collect(Collectors.toList())); + bizRegionIds = bizRegionIds.stream().distinct().collect(Collectors.toList()); + List region2List = new ArrayList<>(); + if(bizRegionIds.size()>0){ + LambdaQueryWrapper region2LambdaQueryWrapper = new LambdaQueryWrapper<>(); + region2LambdaQueryWrapper.in(BmsRegion2::getId,bizRegionIds); + region2List = bmsRegion2Service.list(region2LambdaQueryWrapper); + } + Map idToBizRegion = region2List.stream().collect(Collectors.toMap(BmsRegion2::getId, a->a)); for (BmsChannelPoint channelPoint : list) { if(StringUtils.hasText(channelPoint.getBizRegionPath())){ String[] bizRegions = channelPoint.getBizRegionPath().split("_"); if(bizRegions.length>0){ channelPoint.setBizRegionName(bizRegions[bizRegions.length-1]); } + + BmsRegion2 region2 = idToBizRegion.get(channelPoint.getBizRegionId()); + if(region2!=null){ + channelPoint.setBizRegionCode(region2.getCode()); + } } if(StringUtils.hasText(channelPoint.getSaleRegionPath())){ String[] regions = channelPoint.getSaleRegionPath().split("_"); diff --git a/src/main/java/com/qs/serve/modules/bms/controller/my/BmsChannelPointMyController.java b/src/main/java/com/qs/serve/modules/bms/controller/my/BmsChannelPointMyController.java index 4f0b9a9e..92a1aee3 100644 --- a/src/main/java/com/qs/serve/modules/bms/controller/my/BmsChannelPointMyController.java +++ b/src/main/java/com/qs/serve/modules/bms/controller/my/BmsChannelPointMyController.java @@ -32,8 +32,10 @@ import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; +import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import java.util.Map; import java.util.stream.Collectors; /** @@ -92,12 +94,26 @@ public class BmsChannelPointMyController { return R.byEmptyList(); } List pageList = bmsChannelPointService.selectChannelPointMyList(param, userIds); + List bizRegionIds = new ArrayList<>(); + bizRegionIds.addAll(pageList.stream().filter(a->a.getBizRegionId()!=null).map(a->a.getBizRegionId()).collect(Collectors.toList())); + bizRegionIds = bizRegionIds.stream().distinct().collect(Collectors.toList()); + List region2List = new ArrayList<>(); + if(bizRegionIds.size()>0){ + LambdaQueryWrapper region2LambdaQueryWrapper = new LambdaQueryWrapper<>(); + region2LambdaQueryWrapper.in(BmsRegion2::getId,bizRegionIds); + region2List = bmsRegion2Service.list(region2LambdaQueryWrapper); + } + Map idToBizRegion = region2List.stream().collect(Collectors.toMap(BmsRegion2::getId, a->a)); for (BmsChannelPoint channelPoint : pageList) { if(StringUtils.hasText(channelPoint.getBizRegionPath())){ String[] bizRegions = channelPoint.getBizRegionPath().split("_"); if(bizRegions.length>0){ channelPoint.setBizRegionName(bizRegions[bizRegions.length-1]); } + BmsRegion2 region2 = idToBizRegion.get(channelPoint.getBizRegionId()); + if(region2!=null){ + channelPoint.setBizRegionCode(region2.getCode()); + } } if(StringUtils.hasText(channelPoint.getSaleRegionPath())){ String[] regions = channelPoint.getSaleRegionPath().split("_"); @@ -124,12 +140,26 @@ public class BmsChannelPointMyController { return R.byEmptyList(); } List pageList = bmsChannelPointService.selectChannelPointMyList(param, userIds); + List bizRegionIds = new ArrayList<>(); + bizRegionIds.addAll(pageList.stream().filter(a->a.getBizRegionId()!=null).map(a->a.getBizRegionId()).collect(Collectors.toList())); + bizRegionIds = bizRegionIds.stream().distinct().collect(Collectors.toList()); + List region2List = new ArrayList<>(); + if(bizRegionIds.size()>0){ + LambdaQueryWrapper region2LambdaQueryWrapper = new LambdaQueryWrapper<>(); + region2LambdaQueryWrapper.in(BmsRegion2::getId,bizRegionIds); + region2List = bmsRegion2Service.list(region2LambdaQueryWrapper); + } + Map idToBizRegion = region2List.stream().collect(Collectors.toMap(BmsRegion2::getId, a->a)); for (BmsChannelPoint channelPoint : pageList) { if(StringUtils.hasText(channelPoint.getBizRegionPath())){ String[] bizRegions = channelPoint.getBizRegionPath().split("_"); if(bizRegions.length>0){ channelPoint.setBizRegionName(bizRegions[bizRegions.length-1]); } + BmsRegion2 region2 = idToBizRegion.get(channelPoint.getBizRegionId()); + if(region2!=null){ + channelPoint.setBizRegionCode(region2.getCode()); + } } if(StringUtils.hasText(channelPoint.getSaleRegionPath())){ String[] regions = channelPoint.getSaleRegionPath().split("_"); diff --git a/src/main/java/com/qs/serve/modules/bms/entity/BmsChannelPoint.java b/src/main/java/com/qs/serve/modules/bms/entity/BmsChannelPoint.java index 23feaa9e..0b8b64bc 100644 --- a/src/main/java/com/qs/serve/modules/bms/entity/BmsChannelPoint.java +++ b/src/main/java/com/qs/serve/modules/bms/entity/BmsChannelPoint.java @@ -167,6 +167,9 @@ public class BmsChannelPoint implements Serializable { @TableField(exist = false) private String bizRegionName; + @TableField(exist = false) + private String bizRegionCode; + @TableField(exist = false) private String supplierId;