diff --git a/src/main/java/com/ycwl/basic/service/pc/impl/VideoServiceImpl.java b/src/main/java/com/ycwl/basic/service/pc/impl/VideoServiceImpl.java index 6d26229..78c6d65 100644 --- a/src/main/java/com/ycwl/basic/service/pc/impl/VideoServiceImpl.java +++ b/src/main/java/com/ycwl/basic/service/pc/impl/VideoServiceImpl.java @@ -5,12 +5,16 @@ import com.github.pagehelper.PageInfo; import com.ycwl.basic.mapper.VideoMapper; import com.ycwl.basic.model.pc.video.req.VideoReqQuery; import com.ycwl.basic.model.pc.video.resp.VideoRespVO; +import com.ycwl.basic.repository.ScenicRepository; import com.ycwl.basic.service.pc.VideoService; import com.ycwl.basic.utils.ApiResponse; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.stream.Collectors; /** * @Author:longbinbin @@ -21,18 +25,53 @@ public class VideoServiceImpl implements VideoService { @Autowired private VideoMapper videoMapper; + @Autowired + private ScenicRepository scenicRepository; @Override public ApiResponse> pageQuery(VideoReqQuery videoReqQuery) { PageHelper.startPage(videoReqQuery.getPageNum(), videoReqQuery.getPageSize()); List list = videoMapper.list(videoReqQuery); + + // 批量获取景区名称 + List scenicIds = list.stream() + .map(VideoRespVO::getScenicId) + .filter(Objects::nonNull) + .distinct() + .collect(Collectors.toList()); + Map scenicNames = scenicRepository.batchGetScenicNames(scenicIds); + + // 设置景区名称 + list.forEach(item -> { + if (item.getScenicId() != null) { + item.setScenicName(scenicNames.get(item.getScenicId())); + } + }); + PageInfo pageInfo = new PageInfo<>(list); return ApiResponse.success(pageInfo); } @Override public ApiResponse> list(VideoReqQuery videoReqQuery) { - return ApiResponse.success(videoMapper.list(videoReqQuery)); + List list = videoMapper.list(videoReqQuery); + + // 批量获取景区名称 + List scenicIds = list.stream() + .map(VideoRespVO::getScenicId) + .filter(Objects::nonNull) + .distinct() + .collect(Collectors.toList()); + Map scenicNames = scenicRepository.batchGetScenicNames(scenicIds); + + // 设置景区名称 + list.forEach(item -> { + if (item.getScenicId() != null) { + item.setScenicName(scenicNames.get(item.getScenicId())); + } + }); + + return ApiResponse.success(list); } @Override